<snapdata remixID="10918284"><project name="Sp21 | Project 3 DANswer" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAADbRJREFUeF7tnX1UFWUex78zl8sFvOrFBSORtJfVUtZQUI9QiqkJrpbuloTrurbVphu5FSqh2Voh6kq5epLdsjTTVDxnOXU4K0ptgS+IoBhbKhRWpJlrJBL5gtyXPTPXe+X1PjPzzL0U/uYf3n7P85v5zIff3Hl5nhEcDocDtBCBTiIgkICdRJ7SygRIQBKhUwmQgJ2Kn5KTgORApxIgATsVPyUnAcmBTiXgUwEzMjLQv39/r2/wtm3bkJyc7PU8586dQ0BAAIKCgryeS0qQl5eHKVOmeD3XsmXLcPz4ca/n8flZ8OHDhxEdHe31DVuwYAFWrVrl9TynTp2C2WyGxWLxei4pwfLly5Genu71XIMGDcKxY8e8nqfTBDxTfxmT15bouoG7nh6FELNJ7pME5EPb5QWMeamQj1AHrQ8tiScBdSBLAmqESAJqBNeqGQmokSMJqBEcCagPOBJQH45UATVyJAE1gqMKqA84ElAfjlQBNXIkATWCowrYFtzUAaF4Lmmw/IfXdn6O9Ye/YdIlAZmIFAVQBQRQtiQe//2iDgZRQGR/C4a/VAjWo9skoCK/mEEkIIAAowFXrDYcWDQGoiBgeAb74jUJyHRLUQAJeBXT3rS7EehvwKjMIjTZWPUPIAEV+cUMIgGlG++Jt2NCTBimvVKMby83wUoC0sMIzH8dRoDraRgl94Jd1czV5YiMItgZA/ioAvLuIWd7qoAARKElTDv7CEyHYH38IwG1cqQKqJVcy3ZUATVyJAE1gqML0fqAIwH14UgVUCNHElAjOKqA+oAjAfXhSBVQI0cSUCO4660CftdwGYl/13dQUsEzo9CrGw1K0kPBLl8B9YDkqQ8aFcdHmATk40fDMjn5dVkBU1JSEB4ezomH3Tw/Px+JiYnsQM6I+vp6mEwmeXYEXyxFRUUYM2aM11Nt2rQJlZWVXs8jJfDp1Bw0MwLfPqWZEfj4gQTkA0gC8vFzC/in0g9RVvsdZ28tm48MCcU/R9wj/5JOQvjQdtnPgK4KOHRnDh+hDlofmZREAupAlgTUCJEE1AjuersQTRVQmyj0GVAbN3crOgTzASQB+fi5T0KoAmoDSQJq40YVkJObqzkJyAlSyyHYXxTlrFfsdmZ2OglhIlIUQGfBVzGZRBElCQ/Ko+Gi83cw4ZGATESKAkjAq5hKEx6AUTSQgFd50CFY0f9Px0FqDsGxlmCsi73XPRaYKiDNks+pH1SdBZdPSkLzocFZHxfjndMnPa4DHYK5d5HcwXV/CE4KC8f8qFgZht/Vk5C3jh/Bmi8/IwHpPSHa/8vUHIJdWXbfMwXd/Iy4qyCXmZgqIBORooDrvgIqotROEAmolVzLdiSgRo4koEZwrZqRgBo5koAawZGA+oAjAfXhSBVQI0cSUCM4qoD6gCMB9eHY5SvgsJ05zBnv1aKULlpLF6+lhcaEqKV3nZ0F8+FhtyYB2Yw8RXT5CsiHh92aBGQzIgH5GHlsTQLywe2yFTAiIsIn01jU1tYiJCSEby8oaN3U1ARRFGEwGBRE84fU1dUhODiYvyNGD9I2VVVVeT2PlICm5uDAfOrUKZjNZlgsFo5elDel5wGVs2o3kqbm4ANIAvLxcz8PmLT7MTgYL51Rm0oQBORMXN/mMow3RuC5rje2roBKXsCjdruav7CHBFRLr1W8qwJO3/UoZ0/tN9+R8AYJqAPZLnsSQgKqt4MqoHpmHbYgAdXDJAHVMyMBdWRGAuoIkyqgepgkoHpmVAF1ZEYC6ghTbQXcMiEb0uWVmQVzFT09w3MWbBREFE/8LVZXlGDrt8qGf2q5DLM8cSDGDgvD/I3l2He6gUmXBGQiUh6gRsDXxq5CsMl526nJ3oTfFcxlJuIR8GDCA/AXDdhc+TFe+cLzbSit1wFXJA7E+JgbYbU74CcKiFu+B41Wz3PekIDM3a48QI2Aq+OWIrx7XzjgwPnL5/F44QJmIq0C9jEF4t/j7pP796aA2x6JRrcAI+ZuLMd7qbFIXluCz+sve9wuEpC525UHqBEwJ2E9mh93pbsnrEWrgIcTp6Om4Qfc3KOnVwWU1t8oCjiweAxsdgdGLitibZL7LfBSIN0JYeLyHKBUQOnp5pyEN7CiJAsOhx3poxYieffjsDlsHhNoETD1loGYeXtUi36H5++A1cOtQq2HYClJ6XPOF82MyGDLJ8VRBeSUrnlzpQJKbd6Z8A8YDUa5udVuxYyCOcw10SLgvb1C5X6lk50VI8fig5MnsPCTQx5PerQKuP/Z0TAZnfMdSsvTG8qx95sf6BDM3LM6BagRUEoZYDDJnwEbbVcUrYEWAZt3HGAwoMluh43xoIRWAaNCuqG76dqzg8WnG5i5qAIq2vXKgtQKqKzXa1G8AirNp1VApf03jyMBtVDroA0JqB4mCaieWYctSED1MElA9cxIQB2ZkYA6wqQKqB4mCaieGVVAHZmRgDrCdFXAFw5l4Witvm/kjgy5A8/HpMpr23xccEz+DualDrWb6KuzYIMo4ODia29IpzshavdUq3gaFccHkATk40dvTOfkRwJyAqQKyAeQBOTjh3nz5qFv376cvbCb79y5E5MmTWIHckbU19fDZDL5ZLoRaVULCwsRHx/Pudbs5hs2bEBlpb6f0TvKSlNzsPdHhxE0NQcHvKtNO0XA7776HvnrlD2OpGwTBSSmjEZov1+0OQv+8Vgqms5VKOtGUZSA4LvelyNbC6j3jA+DQ+/AX6OdZ/bSQodgRTuo4yDXZ8B1s9/m7Kn95k+8NauNgHX7xuueK/iuD9oV0BszPrgesCABddiNJKB6iCSgemYdtiAB1cMkAdUzIwF1ZEYC6giTKqB6mCSgemZUAXVkRgLqCPNnUwEFEXB0PGCc9yxYGgCldIJOEtBXAgrAjMyp7mxbF72LaYsTERDkj22L3kPkuNsxZuYInPmiFrkZ+e3uQFWXYQQ/BMftkvM1lM+B9WI1BIMZllHvOtfBYUXd/oR2t55HwO0TX4coiDhRdwLpB5cz6ZKATETKAzxVQKkq/Hnj73G0qFrucM/mEiQvux89e5uR/cfNeGLjLBTvOILY6UNRXnAcB7aWtUmsRsDA2xbC1Dse9sazMASEybLJF5gdNjRUPIXuUa+ibv9E+efWi1YB+waE4JX4FZhXmIa18Svx0O7HYGeMwCMBlfvFjPQkYHC/XpjxwmS5j4oPKrFvSykiJw7C6Ieikf3wZvS+NRT1Z37Ao+uS8J+NJags+oxLQLmxYEBw3G5cPpmLSzXZgOgPOBzoGfMWRNMNqNs3QSqFugloEAzYNvE1Z4GFA0m7lM/2ILWhOyFMxTwHeBLQGGhEcB8LArsHYPJTY+WqN3jCHW4BBVHA3DdnouHcRWxO/Ve7idRUQMif8xzoEbUGBvMg5+HWYUXQbc/CFDYeDUfmwHrBWY31qoCSfCJEPPnRArx6Txae3/cSKn+s8QiNKiCndM2bexIwZtpQjLgvEkfyj2LYpEi56g2+95qAknyiQUTpuxWoO12P6tKvuCpgcFwBrJe+xsXKTPQY9jrq9ifCEBghf3+x6mU01ha0e/iVkmo9BLsETNu7BH8bnYEVJatQft7zTFwkoI8ElNL8OnU8wgfegA83FKO65EsMuPuXiE4cjO3PvYfkzPvda3Ly2BnsfbuES8DAm59EQLizT3vjGdSXzXSL5epY78+A/qIRb09YJ5+EqJ1yjg7BOoj407sMI02D5PxEpmbRWgFdOQQI8mdAJQtVQCWUFMb89ARUuOKtwngFVJOVBFRDixFLAqqHSQKqZ9ZhCxJQPUwSUD0zElBHZiSgjjCpAqqHSQKqZ0YVUEdmJKCOMF0V8OyXtdiXc1jHnoHRyTEI8cGgJEEQYYkrkNfd24OSIkMH4fnoZ9yc6FYcpzI0MJ0PIAnIx4+m5uDkRwLqAFB67Mrbi9VqhZ+fn7fT+Lx/m80Gg+HaJOfeWgGz2YyUlBRvdd+i33YHpmdnZ6OxsdEnK8CbJDAwEHPmsF/hwJuH2nuHQAsB169fj3HjxnklU0REBJY8PBlXGup06F/A0s3vo7a21t3Xnj17MHv2bB36pi58ScAtYFVVlfyyFm8tr//lN1g6xPNLWdTmPv2Ic4YC1yJNFNSvXz+13VB8JxJwC3jgwAH06NGjxapERkbKP3/66aew2+0YMmQIysrKIB32pk6diurqavlveXl58tO6YWFhyM3NRWxsrLuf4uJi+futz0xBepQVQvfecDSclX8n3jAA9v85n2wWet4IR/23znbSG5JsTde+SrG9boL93Nct1q9mVn6Ln8+fP4+4uLhOxEmp1RJwC1hR0XICn6NHjyIpKQmlpaWIiYmBv78/pB1ssVjkacLOnj2LAQMGICoqCunp6cjMzERNTQ3WrFmD1atXy9fIpMV1mMxZOA2LoqwQQ25B0IJC2E5W4NKrUxCU+hHE3rfix7Sb4Bc1FQHJa2H7rBCX3pwF/7FPwD8hDReW/gqOKxcR9FQBLr481r2NJ2bktdneO++8Uy0Diu9EAm4BDx061GY1JJm2bNmCgwcPYuTIkXL1k5asrCxs374dUpvhw4cjLS0NK1eulP/mOgOV5JWW+fPny19zF0+XBRQCe6Lb0k/k3zUVb4Ix9g+yfOaVX+PCi0PhuPC9/L30O2mRvrceex+ipQ/EPoPdv5f+Vvlgbpt1lv5ZaPn5EPg/heDBTYvocjQAAAAASUVORK5CYII=</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="true" 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,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</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts><script x="20" y="20"><block s="receiveInteraction"><l><option>clicked</option></l><comment w="172.49999999999997" collapsed="false">You do not need to modify or understand this script! This simply allows you to use regions of the stage to control the board movement. Connect the script below and try it on a mobile device!</comment></block><block s="doDeclareVariables"><list><l>x</l><l>y</l></list></block><block s="doSetVar"><l>x</l><block s="reportMouseX"></block></block><block s="doSetVar"><l>y</l><block s="reportMouseY"></block></block><block s="doIfElse"><block s="reportGreaterThan"><block var="x"/><block s="reportProduct"><block s="reportQuotient"><l>4</l><l>3</l></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></block></block><script><block s="doBroadcast"><l>right</l></block></script><script><block s="doIfElse"><block s="reportLessThan"><block var="x"/><block s="reportProduct"><block s="reportQuotient"><l>-4</l><l>3</l></block><block s="reportMonadic"><l><option>abs</option></l><block var="y"/></block></block></block><script><block s="doBroadcast"><l>left</l></block></script><script><block s="doIfElse"><block s="reportGreaterThan"><block var="y"/><l>0</l></block><script><block s="doBroadcast"><l>up</l></block></script><script><block s="doBroadcast"><l>down</l></block></script></block></script></block></script></block></script><script x="20" y="485"><block s="receiveKey"><l><option>right arrow</option></l><comment w="175" collapsed="false">These are simple wrappers to share to with the touch controls above.</comment></block><block s="doBroadcast"><l>right</l></block></script><script x="20" y="559"><block s="receiveKey"><l><option>down arrow</option></l></block><block s="doBroadcast"><l>down</l></block></script><script x="20" y="633"><block s="receiveKey"><l><option>up arrow</option></l></block><block s="doBroadcast"><l>up</l></block></script><script x="20" y="707"><block s="receiveKey"><l><option>left arrow</option></l></block><block s="doBroadcast"><l>left</l></block></script></scripts><sprites><sprite name="Grid" idx="3" x="0.7000000000000455" y="-0.6999999999999318" heading="90" scale="0.89" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="70.99199999999996,221.85,0,1" pen="tip" id="92"><costumes><list id="93"><item><costume name="grid" center-x="240" center-y="180" image="data:image/png;base64,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" id="94"/></item></list></costumes><sounds><list struct="atomic" id="95"></list></sounds><blocks></blocks><variables></variables><scripts><script x="18.333333333333332" y="18.333333333333353"><block s="receiveGo"><comment w="122.5" collapsed="false">This is simply a background. You don&apos;t need to do anything in this sprite.</comment></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="setScale"><l>89</l></block></script></scripts></sprite><sprite name="Game Code" idx="2" x="120" y="-120.21052631578948" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="3" color="80,80,80,1" pen="tip" id="105"><costumes><list id="106"><item><costume name="2" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAlVJREFUeF7tm0soRGEUx88Yjxp5FaXkVZSE0tSUR9GsZCHKhqIsyEIUZYfMShazkIUoysaSqFnJI0XJUEiKBTGlKI/JlMegb2rkGlffNJxb9/7vbppz557//zvf+Z3p65qqh+aT783JC1FEVWSg641oPcl/V28qdayuGU18cJ2FCSarY/XdQAsfIhUGoAKwBdAD0ARBAQM7AAwCg8AgMAgMGhgCBAqAAqAAKAAKgAIaOVCcYiHv8yudPT5rlAHxY1CIbinLIrs1XSF6xX1FC7se2rzysprBOgfU5aXSYFPRrwInXSc06fawmcBmgFj5mS6blDDH3CEtnt5IxUYaxGbAaG1BSNmrJX9x7aOGie1ItUndz2bASl8lJVqiP5M6Or+n3rn9wGdnUwkVZicpEq4Z2aCbF7+UiEiC2AzYGahW5Pm1zDusGdRRm6/4vnvKzdIQ2QyY77RRZpolIPLB90o907t0cOuj1BjzjxXQ6NxkwSObAWpl+lNvENujdXYvksqWvldTA3orsqnZnhuSLFf5iwdrZoDaTKDbOeDrMqvNBEtblzS8fCpdvn8RyF4BOfGxNN1pUyBRCBGjcL/r+C80hfUbrAaodfzgTMDB/e/usBqg1vHFQKSFeNYmqNbx1eq1bXw7MCf898VSAeH8EQoK5kIhiwHl6Qk01m4NazENb4CutoBYerENEuLMUlXgffKz7H/WJiilXIMglh6ggS7pR8IAnA3ibBBngzgblG6ZOgwEBUABUAAUAAV02NylJYECoAAoAAqAAtItU4eBeHna6K/PfwAAqECk+XlgewAAAABJRU5ErkJggg==" id="107"/></item><item><costume name="4" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAfVJREFUeF5jdJg/X+CjOPuG//+Z7BlGEGBk/HeQ/+XPAEbDbcsOjDTPw+IZFAiMBltX/B9BEY/h1dEAGE0Bo1lgtAwYLQRHa4ERHAKj1eBoNThaDY5Wg6PV4AiuBBhGa4HRWmC0FhitBUZrgdFaYASHwIBXg7VqugxBKlooUdBz/hjD0ueP6RItAxoA6pxcDCscfTE8uuTGBYbeezeHfwAsNLVl0BOVGpkB4CwozNBj6YI1lkdECthm780gyc0zMgMgQ06JIV3HFGceH9YpQJCFlWGTow8DDyvbyAwA9Grvy+9fGIExbFOAKS8fwyxbT5SYB3k2RsMAQ2xYVoPo1d7zr18YvA5uZTjvFT78AyBARIKh3gx1DUbJ8T0Me9+/HRkBgK/aw1Ua0qNJTJemcLGSOkY+J6adS4/CkOYBQEy1hyswhkUAREvKMpQYWhET4QPSJ6BLCjDi5cMZAKq8/Bitwl2P7jDsevqA4dznTwzv//wmK/CI1UTzACDkEGydInokffhKsYEeFgeNCcyxcUdpDTaeOsiw4c0LQmFHFfkBTwFU8QUFhowGwEBnAQoijypaR1PAaAoYnRscnRscnRukSnE6RA0ZrQVGa4HRWmC0FhitBYZoAU4VZ4/WAqO1wGgtMFoLjNYCVClOh6gho5unR/r2eQD9QzzWPaONjgAAAABJRU5ErkJggg==" id="108"/></item><item><costume name="8" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAnxJREFUeF5jTFhfIPCV++sGhr//7BlGEmBmOsj9lTuAMXRX6oER53lYRDMzHWQM3Z78fyRFPLpfRwNgNAWMZoHRMmC0EBytBUZwCIxWg6PV4Gg1OFoNjlaDI7gSYBitBUZrgdFaYLQWGK0FRmuBAQoBVS5psM23vz0dIBcw0L8a5GPmZAiWd2fwVPNB8fT2W1sY1j7cyfDp73e6BgZd2wEgz1ebFjIoCihh9eT9D/cYWk/30zUQ6BoAiUoBGDGPHhKglDD/3ga6pQK6BsB85wkM3Kw8BD0XtiOFoBpqKaBbAEizCzH0O3ahuLv6UD3Dy5/vGCY6tKMETOuxDoaLn+5Qy494zaFbAIDy/xzXyUQFAChg6FUz0C0AQD6fYtvCIMYtgTdGvv7+wpC4t4AusQ+yhK4B4CtlzxCrF4vXc2uvrWZY+Wjn8AsAfT4VhgLTHIKFICgFtB3vHn5ZgJjkD4t2UHug/EQbXVIBXbKAlZAuQ4FZPoqHQJ6cdH4Gw+c/37E2juhVENIlAMLl3BmCtUJRAgC5qgNlj2qrChT52edmMex+dYrmqYAuAYCt8CMUAPQqDOkSANhiGJYFQFGcZ5iB0T+gV2OILgEAagSht/bwpW1QTZB/oJIunSK6BADIs8S0AWCBsvjSYobNzw7SPP/TvSGUox7NYKfoiNdjh+7vZ5hycyldPE/3AABZCKoS/dV8MfI8qEzYeGszw7F3l+nm+QEJAGTfjcghMbpGLxGW0a0QJMItA6JkNABG5wZH5wZH5wZH5wYHpPgdJJaO1gKjtcBoLTBaC4zWAoOkQB4QZ4zWAqO1wGgtMFoLjNYCA1L8DhJLRzdPj/Tt8wCxXVKeMGsWewAAAABJRU5ErkJggg==" id="109"/></item><item><costume name="16" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAt1JREFUeF7tm09IFHEUx9+6bbUu5ZquaC6Ku2aIUCCBQmFdIi9Rp6BbdLXADiZ0qegQ0aFzHqxb16KLGv0lwSCUSljY2hUXdMXctn+62boa77CLv9nf7OzovH4M8/Y6b37z3vf9+fxmf4zrwct+f2Mg93h9Y/04OOhX4ap4PffVfdY1Nn35ldOCz+cZRXCNfOrbcFDii0JlAbgCuAV4BvAQZAo4WAHGIGOQMcgYZAw6GALAFGAKMAWYAkwBpgChAv7KcGH1TPYbrGbTJZ+2y1MNXs++gs3v1XlYy2XIPCTBIAYRqumFptqjguPZ3Aq8iFzVDQbF6gpdEa4n05PwcW7YPgLscHuhp+0meNyVUqdHpy/pBtMdHoAqb7Nw/V38HnxfidlHAFkWN3uvJ0D93iNwuOmCEGhiaRwiC4/IgseFLW+BrQiAVdMdHgTfztpCsNgu419uG86M7apjuQDY/ycO3gLMXpUvWFTSsgpoqTkFbQ2nhViiyacwkxrdbnyG91suwOYndjb3QWBPu+CEVgDZzMDsv4leJ53+eaeUC9Bef76IFugcipBMT0E8NULaBkoF8O3eD8dar5UsUxRicvY+GQmUCiBrEZkalC2hTAAjWmiFoEKiMgFkk/9D4iEs/HwP2BpdLf3CZmr57xK8jd4wnOpmDZQJoC1/bYAygZ5HBiwngzIBDjVehIbqzkLCtAIcqDsDobqTJRFqNtsye2UCBP090BE8J938yFrgR2YWJmJ3rYhZWEOZAPkdY7kRxRefwefFJ+Wal22nTAD0UFbmMs+xPSZidyzvf5KXIbNbYe0s0AqAwU8lhmD5z3zZWTVjSFoB2uD0+hj3BKFAr/DegLapX1GYSY2RZP6/vAuYyUTeFmeD0d9mW1lX7x7SCrDSUaq1WAA+GuOjMT4a46Mxqglrh3WZAkwBpgBTgClgh2lN5SNTgCnAFGAKMAWoJqwd1mUKOP7jaad/Pv8Phym/7jQwow4AAAAASUVORK5CYII=" id="110"/></item><item><costume name="32" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAA19JREFUeF7tW0toE1EUvZO0+dkktV1EayWoCFJQIxW7lKpLkdaFdFHcWDfiosWN6FoRXSgiIlp3LupKEdd+UETEYhUpYrG2KGoF0zZJ87GZRO7oDDPvzSQT89ImzM0uzHtv7jn3vHNeZoj0+V5fa2tk8X5Rdu0FB30kd+Hpwly4T5p/0fvEaeDVPiMJUvzZ/qKDGs9BJQJIAbQFyAPIBCkFHMwAxSDFIMUgxSDFoINDACgFKAUoBSgFKAUoBWrIgNsfBTkzW/EdcJ7kDirz8qn3Fc+3O6EmMehp2we+TUfB7e/U6sjNPYbszA0oLP+yrE1yBcATOQSBLUPcGDvz7YLWjxNOgHf9gCkAvGkxn4Dk2xFTRSD44I6L4G7ZVhJHcmJYqCKEEoCyDXXfLglATn2AxMRJbkxg61nwRnrLNhFJTIwfL6mksovoBgglwKz7WLDUFDLUxHbR1dwO4Z67XN1Ilpki0p9GIfd9rBKc1ttO5EmQ7SICldPTENx13eAH6Y9XIffzgVZUc7gHWrafMxS5NHkefscfgZmq8vHXkJw8XX8EoAI8a2NKYfJyEtJTf0GFYtcMnWQJMFPO/PMDGkB2ft0SwLYEu+ftHOT2dmL8mMEIUQG+Df3a9Hz2B2SmryjfMVHWdJ0xLI2JoJJbrQyEegBbjFlnM7NjkP0yaqtuJDC48zLnIer2sLVImUErTkCpKNTXisYY6r7FgRcpf7zfihOgngdKRZnVmQDJW3w1CMVCWkTzlTVqSgB20bOuHzztMS7Ost8eavucRWN2JrCrnEqZEUaAPgGwiKWpS9phBTsa3nPHIGerA5Fv4xD4owMcDtY4KwVqNV4YAcGuC9DUtlu7D2t27HXs6MLLw4a6zBxfIfPfmUAUaP06NSNAznyF1LtTigrM3Jw1M6tjdC3BC/UA/+Zh8HUc5JqEUnf5Ojg31x9nrRzfquMik0CYAuz8EFIBoTqSb05obm5FXkMRgMXaAWLm5qw/lNvrdakAtWhMA3/0CCd5vI7Rl525yeW4HeL0pNQ1AWqh+kdaRTn5X4/FyilBxHVhHiCimNVYgwgQ+UBkNTpY7T1JAaQAejlKL0fp5Wi1TtrI8ykFKAUoBSgFKAUa2cWrrZ1SgFKAUoBSwNkp4Pg/Tzv97/N/AMHVEJurmIc3AAAAAElFTkSuQmCC" id="111"/></item><item><costume name="64" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAwdJREFUeF7tm01oE0EUx98m6Tbp9iMqerGi9FQERaSIFCVSPEQPWqqIIsUiHjy0N0HxIgXxouChHsSK0IMoUkv1FBC0vfSgxYOCeJCqmFNFuzaJ+Wg3kQnuNrM7uzMLCdlk397CvN157z/z3u9thpW+3h2MRpVfs5IUiIGPrlKpOK9mtgxKKw8Oz/kteH2diQiSOhkr+WjhLaGiALgDMAWwBmARRAr4WAHEIGIQMYgYRAz6GAKAFEAKIAWQAkgBpECNFJBawhDctMt4ejGzDMXMb1ezBaM7QJIV45715c+u7ucZ1wyDAWUzdAw9AmiNbgiw+h1Szy7wfDLGI3tPg3xglLIvvL0H2Q/Tws/gGdZMgLb+MWjZfYqaP//6BuSW5nk+lcfLAp6bsdg2hAChbb2gnLhPOa8lFyCduC4UPDFSBq5BqCfemAK0x29BsLufcj7z8jKI5i9LQP1hnt8BcncfROJ3qODXPj2HvwsTwqvfcWYKAp07mfaeF4DlfOrJkHD1j/QeA/nQVVuxPC2Ak/PrSwnIvX8MmvrDNjiCzc6zTylymI09K4CI8yQYJxJE+kZA3jeyEXNetYjhWQEszjtkfHp62LITWNgjwTZEH2DHbDsNtJ8fIf1ijBo2k6P4v2nqujTn/UYo3BOD1oFxZuUnqaEcvw3BrXuo8T8Pjxi/WdjTsWkWgBCl8OWVMFJ56KlKJ8hqWVen4lBay5XnZwlU2Rc4Yc8ugGrVgroLwBKPt2pk3FMCsLaw3vyQ+tB2dJyZAqLkYAniKQGIg13Ds478rgxCfy9wanl5u8BzArDynBlEXoXUzEWjMyQiOF3mlyq9CGor34wawxPLabwqNUCfgJvPeRWyb25CIbko7HNDYLAyGvIPTnj/eQhtP2ikBGG6llyE7LtJ16vWfnKCqh/ZxBVXAvKUruoOME9Gihy5dBzynKnHeE0FqEdAbudEAfBoDI/G8GgMj8bcVs5mskcKIAWQAkgBpEAzVXW3sSAFkAJIAaQAUsBt5Wwme6SA7z+e9vvn8/8AeTPlFBLgup0AAAAASUVORK5CYII=" id="112"/></item><item><costume name="128" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAA49JREFUeF7tm1tIFGEUx8+otV6y1txVM30QMoJeisCH0i6QvURlPUiBSoUSVAZFNwiViIIuECgZZPSgQSESZUURQZkQ0QUDCQIDCzVdd7d1s2zX28YRZtpv5ptZd9adFub4JvNdzvmfy+/7Zlihq67Eagu47wMENoCp/oQOl5BeIvTVFr00n/NipIUOoa+2MGCqwMucJQEoA6gEqAdQEyQKmFgBwiBhkDBIGCQMmhgCQBQgChAFiAJEAaKAiRWYEwzOy8lnJJzo7+FKiuMsmXkQn5QCfo8DJh3fYNI1EFJ+wZIICfbcmbl+Ry+orR9yIc6AiARYsGYLpK4rg/j0PGbpoYbdjGNxqVZI33ECLPnrFSb4e16B52mjqhC4x8LiwxCXlCbNnf7jAXdbLfi/fNTjMzNHtwCJK9eCrfQi1wBH034pShi9JUdbGQfkk9ChoWsVMD06wjzS2gMHBu+jVwndAiwq3AmpxcdCCrB460FILtgT0j5f9yNwtbGCZp9u1xRuyt0Lg/UVIdfWGhB1AeROoKPeN/fAunGvoiT664okW7FfZFbdkv4f7+sC/+cXkFK4jxFl4EIxBPw+3SLoFgDrOnl5AUx4h8Fe3sAYIKYmjsk+/pB5JhrMexac0nIBfnc2ged5M6RtroCUoippzUjLQLcAogVyQ4NrU+4kRnH45pGZqdjcrNtrGHG+X9km9YEE21LIqr7LNL6J/m7NrNGTBlEVQM0gnmjB4ojzMirrYX7ualW/xt7egR+PG/X4Lc0xXACMbEbldUVzk6eyZdkqRWnx6DF4tfT/9IDZlIDcYESivfySIqoj7efg14dn/6IyC3SKg/Ec4bx9RncWGJoB9rLzihrmpTGP/67WU+D79Bp4+I2EBIYJwDsP8NiPoZQ7KY9yztlOJuLOlmrdp0JDBOBFFJues+Ukt37lAgQfeELhM9xaiLoAvI6PRiLXp32jjL0/3z2ZEYQ3B7Ng/Ot7sKzYpOghMVsCGK2sQ82ax9lgBUQSYLPMOnBDccniRTemm6Ba9NXSVOskyJujdokKpwyiUgLidTgSAdAJnG/bVcPNBIy8+8FlxQ0yHOdxbMQCiC8rxI0DvjHmbi9/WaJl4GxfpEx5nXP2UiRiAcJVPNbGkwD0ZYi+DNGXIfoyFGud2Uh7iAJEAaIAUYAoYGTXjbW9iAJEAaIAUYAoEGud2Uh7iAJEAbP/eNrsP5//C6A9TQfFdR6KAAAAAElFTkSuQmCC" id="113"/></item><item><costume name="256" center-x="32" center-y="32" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAA+dJREFUeF7tm11IFFEUx8+6rh+ltn7WKpKGED0EPvQWZD1IX5T7kglGaYFsEhUZUSG0gkVU0gelS0RFJYhPRlBBD2kQREQYQVFIPpis7aq74mZ+rnEWZpm5c2d2ZnZ9WObM2zBn7r3nd849/3N3WMtwg9OeOvG3z2JJqQITXcvL4YHF/NVOy8i+6n6zOS/EGSFYfu/fuWyiwMtcJQCUAbQFqAZQESQVMDEBkkGSQZJBkkGSQROLAJAKkAqQCpAKkAqQCpiYQNwyaNu8AdI3bYwgXPT7YWlkFBaGvFykKdkZYC0rVsUdHp+EJW9Q1QbnFF8LX38ZDqFhALgIe0MTpFVUyib/9/4lTD19InMk98RRWFVdqw4gFARvfZ2iTVbtblhTf0ryfMxVFxOa0oCGANgqHFDQdhNSsuyKC50fGoQJtxvC07NRm4K2i5BeuS1mtEZrdilm0FrPY8m8M296IXD3YcwxEwqgsOMqN/LsJOzi4gXAZlA4FIQ/rgYJZL0kdGcA7mPHsz7JPOjozMcPkHPwsATMgncYfK7jUduS568l780NvpOtd8k/xo2o1WGHdZ4eif1U920I9b7S67PEXjcA3PtF7Z3RQcROss/QSJzOLAClVOd5xGYPC9coBf0AKhxQ1PEoOh8WvMlrdyL3vCInOMmLINYJvBaHf0YyaO7jN64fPLAIYPpFD8x//mK4AOJkugEokc7YsQXyT7fLtoZQoHhOsGMhzGDXfdmeVqs5WAcCD27A7NtPhpIgIQB4zuHCfGdd0ehoAYAeiDMK73lgeZ76WpvBSD8QNwAlSZy41SqJCs8RTGObo1zmj9gZrYpjtCbEBQAVId/tlkki67xabvIACtWdpzjC2DygvpZGxS40oX2AMBhP12M1JrgVrAV5kuxguzuUx/FLV4DdNlg0/S3no74UebokGaQHvDCI4QzgVXw151l7cbRyGg9AtvNY1DFhHDXJRWNHd4+kKxy/fEZRSRKaAUqFCVOXvYRGhdfFYfVOKyuXOI/vC5FUarpCA/2QVbVddq7wHnLq7gp1Z4DWai6AEPoA3Ovi/kEpImx7m3fuJGRu3RNT4oRtE9OQMdANgHcaU5tU3O1peZeVM8wC9gDEzhfPmUA3gMy9VZDXdEEzaLbdRQjZNUdkJ0mUscC961wtxy4y19XMPUli5AOeTsPdoG4AWn7UENPhNSfoUGppMdjK1kdM577/0NTE4DaylpZAamFhzB9ftEZINwCtAyeLHQGgL0P0ZYi+DNGXoWSp2CuxTlIBUgFSAVIBUoGVqK7JMiapAKkAqQCpAKlAslTslVgnqYDpVcD0f542+9/n/wNNGEknYtQj5gAAAABJRU5ErkJggg==" id="114"/></item><item><costume name="512" center-x="32" center-y="32.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAAAXNSR0IArs4c6QAAA8xJREFUeF7tXG1IU1EYfufHUrOGoGlamuYqTUrLCsTKiixDsiAqikqjIogKoj/5RyQQ+hOESZ9gCglFooGgZZmUCImhRGmkGFmaqOjMOUvnjDPY5d6zs3vvvGsb3nf/du6578dz3vd5zt3ZpgEAKD7/IENjDMy1+FtWkPfz/aWdnWmfDjBXX7x7tlFz53Rp7syMT+l8T5qVn6+vJU9TkldmmLWATo0AaHxgTHP7VNmsGpO35YwAYAVgCyAHIAmiCqgYAZRBlEGUQZRBlEEViwCgCqAKoAqgCqAKoAqoGAHFMhiZEAnrM9eIQjg2bITmxy3cnKCQIEjelwS60GBurLdzAD6/7LCzszYzEfSp0RC1aon1Wt/XQRj8PgItlW1g/jOteOkUA7DjXDokpsVJBlKSW26dE7MhBrIvbbeb39P2E2pvNXDjfgH+cLggG0KWLmLanjROQV3JW+jv7Jf0LTZBMQBZl3dCXMoyySBsADiaTwMgB1gCwrOiWvjdPybp39EExQAcyN/LladYFM4AsDhSByeKcgTmRn+Ng2l80s5XY0Urs3XkIqIYgAuPTgp8PSmstfNtMkyAadRkHScVsGChFv5OTAkqh18BdJuQ5J8W1lh7nq4MunLkJu6ygxEagKobr6y2DQMGLmlWUITcMo6lcpf4idDX3j//CK1V7da5qQeTYUvOOuZ9ziZP5iuqAFap8oMgK1dT3MDsUTEAiN3lSVGcqR+f+qw2WP7a6r8IFMZZEBQBEBobBkcKsiR9kqqg2VoMAJZBIp1Hr++HwGCtXcsNfxuSjOG/kKBcAAhbl1+tFOi2MwAQScy+ssvlBKi4BciqxG4SfqfCODwBUQnhkLJbuDl68bAZupu6uYVwBgCWJCotfZeRoKPSSju+WQACHbBcAGjSI/7IbrC6qG7OZc+/UTEHhOvDIDohAkIidFBxrYqzHZ8eD3vOpDlkazkAsHaNJPmam69dsg1W3AL0rs62yqyepTcsUgCw+IXFJUrLQFEFsFaIBEkzNQmSbJD4bC0lg4fys5h26IQ9uhFyxM50kB3NPfDmfpNgWAwAOc8BNmMeBYAE4Uif+QHW33tn17NiAMh9wCI+PA4ACYJUwupteu65nbTBr65B6PrQK5A+fgmQ9kncupIb4n8eQAhUvzFaVnsP9Y5w22RZN1CTFHHAXBx62z0IAB6M4MEIHozgwYi3MbM740EVQBVAFUAVQBVwJ+t6my9UAVQBVAFUAVQBb2Nmd8aDKqB6FVD9b4dV/+txQjjk/wPMU34Z7iQfT/vy05obyf8H/ANtEEE/rJSJKwAAAABJRU5ErkJggg==" id="115"/></item><item><costume name="1024" center-x="32" center-y="32.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAAAXNSR0IArs4c6QAAA/RJREFUeF7tXFtIFGEUPmOmLHgXFLyRWEQmBoFmFmIaoYiIYmVGuN1ECxSpsAsYGZhSYEaoZOH6kElIJBG+SC71kNpDIRaUSKQlWahrBtuquXEmZpj5Z2Z3JDXcPfM2/Oc/1++c758dZjkAgHxjU+pvm49xAeY34L2rX57AvVnn/etxp6nUzOUVthrti1yrqwetFh/nYT/K5R1stdg5zt8tE2C3z3C5BSa7OwYvxEwJIARQC9AMoCFILODGGSAaJBokGiQaJBp0YxIAYgFiAWIBYgFiAWIBN84A0eBSaDAs1BcM3ut5vFht8zA+MauKnUB/A4SH+EJkRCBMTv6ESYsVRkannOIM9W+LDePlxj5P83ustgVd+/T4pfpuQE8CMKDiYzthR2KkTEfeoTbZPcoV7t8O6ekbFbbGRi3QcvclDA1/U6wZvD2h7FSKQv+PGRs0Nr6AgcEvmknAvU0N+eDn7y3KsH45yqCuFsjcsxlOFicp9EgNYfVqrmTJHFEz3NX1Dto6XsmWTp/YpZo0Qaiqqls1cbheVJAAOTmxDguz4glQq4Ijo7canoO57yMvgqi513xAFEekjH+dlaGhf2AM6uqfKVTGRAXB9bpsh4Vx1j+6EBC3KYTv5+TkaNgaF6qAGlsFAbrDn6YgyN8AGfu2yCqM66XlnXx/s0EcL3kI0zNWWWVR3ljSoYilsiJN0TYotOwtIFhmDQqGTM0FIvTR2YrKLj4I6cXCvPZaD9/b2DpHChNEUaw0Iqq2OgsiowL+DsRRC5RXdsn0JcaHw/kLe1ULvKoJwABu38wTHWlvfw2dTwYVjrFQ15LDjVcvZciQ1nKnD7p734s62QSxxlY1ASyEWWelzj16UCTeavU1205vhyag5kaPjA6lQxkR12sekQ3C/5qAf0FAalI0lJWniElSaydEUn1djthymHC8pCy1qglA49LKas0AtrJSJkAdOGirqzNlwV+8/FRx2FKjPbVBwOrXYgNdLOBsCLJOCYcePMkFBhggNztewfOHjfdFWKudIc5VPlGcHrVoTy04R60olV+WBLCwdMa9UuecDTQpCzg7MEntrmoCBAifPZO25JOg1ilTbbJLn0Wk67uTY2RDENEzNWNVULFaYZYFAYJigdPZZwZcx9lgMvWLJ0Bhz1ISoIUsVseKDUG9T4MoFxHqB8HBPrzPH0a+az4NYguEhfo57BpHT564UarDmSxraEkIcNbba3GdEqDn94C1WFm9PhMCCAH0ZojeDNGbIb0T0xXliAWIBYgFiAWIBVxxuuuNiViAWIBYgFiAWEDvxHRFOWIBt/922O2/Hse+xv8P8JjzSnXFHteKadFrzoz/H/AHQMs9vlzB13UAAAAASUVORK5CYII=" id="116"/></item><item><costume name="2048" center-x="32" center-y="32.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAAAXNSR0IArs4c6QAABHJJREFUeF7tXFtIVFEU3dcsw6ImfARl2ZMIP4I0S5DSCizpZflRZqZoZJqUGqiQifXRRIlUaIaGZqUS1lSWYZhFBBUpFKEh2dOepjBKiYU1sSfucM6ZO3Nu9dXMvn/jOXefs9dee61zZ5xRAAAWrUqJUH4MJQ6DMg1fu/r1UxnxaKSH56X7VytuK/OjExM9LcOVrp60Vn7DimeSsmDFFrOiWMa7IwAWi9KvhK6Mt7hj8mrOBAAxgFqANIBEkFzAjREgGyQbJBskGyQbdGMTAHIBcgFyAXIBcgFyATdGgGxQjw36jBsLc6cHgr+vD3wdHISO56+gu6dXyps5UyeD3wSD9b72Z8+h19wPfQNfpPepE6b4+4L3aC/ry8Ghb5prenuNgikT/SBo9kzrGp1v3umOjxOlDIgKC4GsjCQwGMZxgU2Xm+FYVS0Mfvtut2DwnFmQlZEMs2YE2I3hfeW1F6RAIOiNdSe4+xdGb+FeI0DGfdncOq1t7WA8XqGrQFIAsILVZUaHiGIyxpOnufH0uA2QEL/OaRXM5gFI2V3gdJO527dCzNrlDgHAypcXFWqCjCCk5zveNxvUKQMO7kmDpUvDbPMx4cgloRwbojfusFUT2bI/f5cuCiIIMUmZmgxyBDzLAGRZaXGBba2WlnvcXhNSc3W1g1MAmmpKbMmWlJ2F6itNIC6sLoQVMVUWc+AgYKbrzdbeRw3Jz0njxtWYImIlB3IhJDjIDkgWgPXLFkNO9jbrHEw+70gpsAXbd+AoNN1rlRZDygA1Qn3DDWjr7IKENVGQnhpvC6wCIFZfqz2wr2vKDtlAQBZExaVzmwyfFwRFB3M1N84CILJEZEBsYqYuHZCKILsTcXNsAiIwbGuwMcR57EZFFmF8VnxZAHDuLdMpTaC6XryFzTvzpNWXiiAbARW3vqqYC5qWWWhlBV6iXoiKrd7IUhf/xvYqCw4mf67uCsc2Nqa4npht9dlLUFJzQQqCLgaI1MWo2XlGuPu43baAqP5/ygDR9rCHx3h72/ocF1IBEIuBql9b3wCbYldz2hEZk6wpsrpdACci1Q7vzeICa4mXqAFaFXCmAbKKqpvWAkYFW9QFPU4gZYDox46opdWTKITnTNegr38A5k6banc4UmPJzhtsxQ4VlUNPbx8nlKrii0X4ZwD0HGpYERP721kDYo/HpeZYzxB6q4/xEICHTzrs9AjbQLTOf26BB41npCIioqwHNPEkyJ752QWXhy/iTpW4Vvenz9a+Ft1E3CgCdfHmHen+nbbA3wCAKzp6fsAx9OvS6vO6PFpklGiDsVGRnEuo2epNXmqD2JuyS62I1jy8H5/S8MK+ffrytfQhiI2Doulr+P3/W46eBpE9/hMMEBgwCV6/fQ+vPnz8ozWkIigD4H8fJwD0vCHyv1fZ2f6JAcQA+mSIPhmiT4ZcWeVluZELkAuQC5ALkAvIlNKVx8kFyAXIBcgFyAVcWeVluZELuP13h93+2+PYI/j7AR4wHCHrF1ca/wmet/H3A34BK5tuqv0IWXoAAAAASUVORK5CYII=" id="117"/></item><item><costume name="0" center-x="240" center-y="180" image="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==" id="118"/></item></list></costumes><sounds><list struct="atomic" id="119"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="6.666666666666667"><block s="receiveMessage"><l>start game</l><comment w="273.33333333333337" collapsed="false">You don&apos;t need to change ANYTHING in this sprite! If you correctly fill out the grey functions, the game will work.</comment></block><block s="doSetVar"><l>SIZE</l><l>4</l></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="new board of size %n"><block var="SIZE"/></custom-block></block><block s="doSetVar"><l>GAME OVER</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="ƒ add 2 or 4 to %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="ƒ add 2 or 4 to %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>SCORE</l><custom-block s="score of %l"><block var="GAME BOARD"/></custom-block></block><custom-block s="update display for %s"><block var="GAME BOARD"/></custom-block><block s="doShowVar"><l>SCORE</l></block></script><script x="10" y="494.66666666666714"><block s="receiveMessage"><l>up</l></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcastAndWait"><l>finish move</l></block></script><script x="10" y="620.6666666666672"><block s="receiveMessage"><l>right</l></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcastAndWait"><l>finish move</l></block></script><script x="10" y="850.6666666666669"><block s="receiveMessage"><l>left</l></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcastAndWait"><l>finish move</l></block></script><script x="10" y="1080.6666666666667"><block s="receiveMessage"><l>down</l></block><block s="doSetVar"><l>LAST BOARD</l><custom-block s="copy of %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="merge up %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>GAME BOARD</l><custom-block s="rotate %l clockwise"><block var="GAME BOARD"/></custom-block></block><block s="doBroadcastAndWait"><l>finish move</l></block></script><script x="11" y="244.66666666666683"><block s="receiveMessage"><l>finish move</l></block><block s="doIf"><block s="reportAnd"><block s="reportNot"><block s="reportEquals"><block var="GAME BOARD"/><block var="LAST BOARD"/></block></block><block s="reportNot"><block var="GAME OVER"/></block></block><script><block s="doSetVar"><l>GAME BOARD</l><custom-block s="ƒ add 2 or 4 to %l"><block var="GAME BOARD"/></custom-block></block><block s="doSetVar"><l>SCORE</l><custom-block s="score of %l"><block var="GAME BOARD"/></custom-block></block><custom-block s="update display for %s"><block var="GAME BOARD"/></custom-block></script></block><block s="doIf"><custom-block s="no moves left for %l ?"><block var="GAME BOARD"/><comment w="89.99999999999996" collapsed="false">extra credit: Add better visual confirmation here!</comment></custom-block><script><block s="doSetVar"><l>GAME OVER</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doShowVar"><l>GAME OVER</l></block></script></block></script><script x="319.6666666666667" y="493.77777777777754"><block s="receiveKey"><l><option>space</option></l></block><custom-block s="update display for %s"><block var="GAME BOARD"/></custom-block></script></scripts></sprite><sprite name="TESTER" idx="5" x="177.0314179707466" y="105.59949961977134" heading="168" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="140.25,0,16.830000000000016,1" pen="tip" id="318"><costumes><list struct="atomic" id="319"></list></costumes><sounds><list struct="atomic" id="320"></list></sounds><blocks></blocks><variables></variables><scripts><script x="22.818791946308767" y="10"><block s="receiveGo"><comment w="215.83333333333334" collapsed="false">This is a tester sprite! You should expand the test cases here, by adding items to the input and output lists, and attaching comments to blocks explaining your ideas.</comment></block><block s="hide"></block></script><comment x="12.751677852349" y="106.64429530201348" w="471.6666666666666" collapsed="false">==============================================&#xD;These are your graded test cases!&#xD;&#xD;For four out of five of the required blocks you must have 2 different sets of input and expected output.&#xD;Additionally, each function should have a brief comment explaining why your test cases&#xD;are good / useful.&#xD;&#xD;You are more than welcome to add as many tests as you like, for additional blocks, as long as you meet the requirements above.&#xD;&#xD;We strongly recommend that you write tests BEFORE each block!! If you&apos;re doing the testing extra credit, (see spec), your extra credit tests should go in this sprite.</comment></scripts></sprite><sprite name="2048" idx="1" x="-175.1599177693214" y="-19.292197131131047" heading="65" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="144.94199999999998,147.89999999999998,0,1" pen="tip" id="326"><costumes><list struct="atomic" id="327"></list></costumes><sounds><list struct="atomic" id="328"></list></sounds><blocks></blocks><variables></variables><scripts><script x="13.333333333333334" y="13.333333333333334"><block s="receiveGo"><comment w="90" collapsed="false">There are four grey functions to fill out to make this game work.</comment></block><block s="doBroadcast"><l>start game</l></block><block s="hide"></block></script><script x="13.333333333333334" y="101.3333333333333"><custom-block s="ƒ add 2 or 4 to %l"><l/></custom-block></script><script x="13.333333333333334" y="125.99999999999987"><custom-block s="rotate %l clockwise"><l/></custom-block></script><script x="13.333333333333334" y="150.66666666666654"><custom-block s="move column %n of %l up"><l></l><l/></custom-block></script><script x="13.333333333333334" y="178.66666666666652"><custom-block s="merge up %l"><l/></custom-block></script><script x="13.333333333333334" y="203.33333333333317"><custom-block s="no moves left for %l ?"><l/></custom-block></script></scripts></sprite><sprite name="HW3 Lab" idx="4" x="4.840082230677126" y="-3.292197131131047" heading="210" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="4.284000000000003,214.2,0,1" pen="tip" id="347"><costumes><list struct="atomic" id="348"></list></costumes><sounds><list struct="atomic" id="349"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="468.8478747203585"><block s="doDeclareVariables"><list><l>lab board</l></list><comment w="89.99999999999996" collapsed="false">This test ensures that the item of block correctly reports the items at locations (1, 4) and (1, 2)</comment></block><block s="show"></block><block s="doSetVar"><l>lab board</l><custom-block s="new board of size %n"><l>4</l></custom-block></block><custom-block s="set item %n , %n of %l to %n"><l>1</l><l>4</l><block var="lab board"/><l>2</l></custom-block><block s="doSayFor"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="item %n , %n of %l"><l></l><l></l><l/></custom-block></autolambda><list></list></block><list><l>1</l><l>4</l><block var="lab board"/></list><l>2</l></custom-block><l>2</l></block><block s="doWait"><l>0.5</l></block><block s="doSayFor"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="item %n , %n of %l"><l></l><l></l><l/></custom-block></autolambda><list></list></block><list><l>1</l><l>2</l><block var="lab board"/></list><l>0</l></custom-block><l>2</l></block><block s="hide"></block></script><comment x="54.16107382550339" y="10" w="408.1208053691275" collapsed="false">EXAMPLES:&#xD;&#xD;These tester blocks take in a reporter -- something that you want to test.&#xD;The inputs are what you would want to pass into the reporter as a test.&#xD;The output is what you expect the reporter to output when passed in the input(s).&#xD;&#xD;The block will report a Boolean based on whether your test passed.  &#xD;&#xD;&#xD;Note: You must leave the inputs to the block you are testing empty.</comment><script x="513.2214765100671" y="75.482103908277"><block s="receiveGo"></block><block s="hide"></block></script><script x="29.644295302013404" y="189.99999999999986"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><list><l>1</l><l>1</l></list><l>2</l><comment w="90" collapsed="false">For you to run!</comment></custom-block></script><script x="31.644295302013404" y="242"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><list><l>2</l><l>4</l></list><l>5</l><comment w="90" collapsed="false">For you to run! This test should fail, since 2 + 4 does not equal 5.</comment></custom-block></script><script x="27.644295302013404" y="396.99999999999983"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="size of board %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="new board of size %n"><l>10</l></custom-block></list><l>10</l><comment w="90" collapsed="false">This tests that new boards are created with the right size.</comment></custom-block></script><script x="33.644295302013404" y="322.99999999999983"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><block s="reportDifference"><l></l><l></l></block></autolambda><list></list></block><list><l>5</l><l>2</l></list><l>3</l><comment w="90" collapsed="false">This tests whether 5 - 2 = 3, which should report true.</comment></custom-block></script><comment x="30.644295302013404" y="977.677853348992" w="287" collapsed="false">From lab: fill in two of your own tests for the &quot;merge column up&quot; block. Refer to our tests of &quot;item of&quot; and &quot;+&quot; above to remember how to deal with &quot;merge column up&quot; needing multiple inputs.</comment><comment x="30.98657718120802" y="769.1263992102907" w="281" collapsed="false">From lab: Fill in what the output should be for the following test case for &quot;merge up&quot;. In HW3, you&apos;ll add more of your own &quot;merge up&quot; test cases.</comment><script x="27" y="841.6778533489919"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="merge up %l"><l/></custom-block></autolambda><list></list></block><list><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l>4</l><l>0</l><l>0</l><l>8</l><l>2</l><l>0</l><l>0</l><l>0</l><l>2</l><l>0</l><l>32</l><l>0</l><l>4</l><l>0</l><l>0</l><l>16</l></custom-block></list><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l><l></l></custom-block></custom-block></script><script x="23" y="1052.677853348992"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="merge column %n of %l up"><l></l><l/></custom-block></autolambda><list></list></block><list><l></l></list><l></l></custom-block></script><script x="21" y="1092.677853348992"><custom-block s="test %repRing w/ input(s) %mult%s expecting output %s"><block s="reifyReporter"><autolambda><custom-block s="merge column %n of %l up"><l></l><l/></custom-block></autolambda><list></list></block><list><l></l></list><l></l></custom-block></script></scripts></sprite><watcher var="GAME BOARD" style="normal" x="0" y="0.00013392019981495196" color="243,118,29" hidden="true"/><watcher var="SIZE" style="normal" x="0.00013392020127867" y="0.00013392019981495196" color="243,118,29" hidden="true"/><watcher var="GAME OVER" style="normal" x="-0.000004464004632609431" y="0.00041515264624081283" color="243,118,29" hidden="true"/><watcher var="LAST MERGE ROW" style="normal" x="-0.001666329982526804" y="0.0005356807993308621" color="243,118,29" hidden="true"/><watcher var="LAST BOARD" style="normal" x="-0.42085692780619866" y="1.083261401105844" color="243,118,29" hidden="true"/><watcher var="SCORE" style="normal" x="5.454348743773608" y="342.9303064338814" color="243,118,29"/><watcher var="LETTERS" style="normal" x="0" y="56.43564356435641" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="size of board %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999996" collapsed="false">This is a game board which is expected to be square.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="board"/></block></block></script></block-definition><block-definition s="new board of size %&apos;n&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999996" collapsed="false">This creates a new empty board of n by n tiles</comment><header></header><code></code><translations></translations><inputs><input type="%n">4</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="n"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="n"/><script><block s="doAddToList"><l>0</l><block var="row"/></block></script></custom-block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></custom-block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="item %&apos;row&apos; , %&apos;col&apos; of %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999996" collapsed="false">This is just like the ITEM OF block, but for our game board. You don&apos;t need to know how it works.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><block var="col"/><block s="reportListItem"><block var="row"/><block var="board"/></block></block></block></script></block-definition><block-definition s="set item %&apos;row&apos; , %&apos;col&apos; of %&apos;board&apos; to %&apos;value&apos;" type="command" category="lists"><comment x="0" y="0" w="89.99999999999996" collapsed="false">This is just like the REPLACE block, but for our game board. You don&apos;t need to know how it works.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReplaceInList"><block var="col"/><block s="reportListItem"><block var="row"/><block var="board"/></block><block var="value"/></block></script></block-definition><block-definition s="update display for %&apos;board&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doWarp"><script><custom-block s="tell %s %cs"><l>Game Code</l><script><block s="doDeclareVariables"><list><l>step</l><l>size of board</l></list></block><block s="doSetVar"><l>size of board</l><custom-block s="size of board %l"><block var="board"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><l>320</l><block var="size of board"/></block></block><block s="hide"></block><block s="setScale"><l>100</l></block><block s="clear"></block><block s="gotoXY"><l>-200</l><l>200</l></block><custom-block s="for %upvar = %n to %n %cs"><l>r</l><l>1</l><block var="size of board"/><script><custom-block s="for %upvar = %n to %n %cs"><l>c</l><l>1</l><block var="size of board"/><script><block s="gotoXY"><block s="reportSum"><l>-200</l><block s="reportProduct"><block var="c"/><block var="step"/></block></block><block s="reportDifference"><l>200</l><block s="reportProduct"><block var="r"/><block var="step"/></block></block></block><block s="doIf"><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board"/></custom-block><script><block s="doSwitchToCostume"><block s="reportJoinWords"><list><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board"/></custom-block></list></block></block><block s="doStamp"></block></script></block></script></custom-block></script></custom-block></script></custom-block></script></block></script></block-definition><block-definition s="merge up %&apos;board&apos;" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">For you to fill out!</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="cascade %n times %repRing %s %upvar"><custom-block s="size of board %l"><block var="board"/></custom-block><block s="reifyReporter"><autolambda><custom-block s="merge column %n of %l up"><block var="#"/><l/></custom-block></autolambda><list></list></block><block var="board"/><l>#</l></custom-block></block></script></block-definition><block-definition s="copy of %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999996" collapsed="false">This returns a new distinct copy of the input board which will help prevent you from accidentally reseting list items. </comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>size</l><l>copy</l><l>row</l></list></block><block s="doSetVar"><l>size</l><custom-block s="size of board %l"><block var="board"/></custom-block></block><block s="doSetVar"><l>copy</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="size"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><block var="size"/><script><block s="doAddToList"><custom-block s="item %n , %n of %l"><block var="i"/><block var="j"/><block var="board"/></custom-block><block var="row"/></block></script></custom-block><block s="doAddToList"><block var="row"/><block var="copy"/></block></script></custom-block><block s="doReport"><block var="copy"/></block></script></block></script></block-definition><block-definition s="no moves left for %&apos;board&apos; ?" type="predicate" category="other"><comment x="0" y="0" w="90" collapsed="false">For you to fill out!</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportEquals"><custom-block s="merge up %l"><custom-block s="cascade %n times %repRing %s %upvar"><l></l><block s="reifyReporter"><autolambda><custom-block s="rotate %l clockwise"><l/></custom-block></autolambda><list></list></block><block var="board"/><l>#</l></custom-block></custom-block><custom-block s="cascade %n times %repRing %s %upvar"><l></l><block s="reifyReporter"><autolambda><custom-block s="rotate %l clockwise"><l/></custom-block></autolambda><list></list></block><block var="board"/><l>#</l></custom-block></block></autolambda><list></list></block><block s="reportNumbers"><l>0</l><l>3</l></block></block><block s="reifyReporter"><autolambda><block s="reportAnd"><l/><l/></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="rotated row for %&apos;row&apos; , %&apos;col&apos; for size %&apos;size&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block var="col"/></block></script></block-definition><block-definition s="rotated col for %&apos;row&apos; , %&apos;col&apos; for size %&apos;size&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportSum"><block var="size"/><l>1</l></block><block var="row"/></block></block></script></block-definition><block-definition s="score of %&apos;board&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="combine with %repRing items of %l"><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="score of tile value %n"><l></l></custom-block></autolambda><list></list></block><list><l/></list><comment w="138" collapsed="false">Glad to see you&apos;re exploring! Here&apos;s a question: Why is using &quot;map&quot; here an abstraction violation?</comment></custom-block></custom-block></autolambda><list></list></block><list><block var="board"/></list></custom-block></custom-block></block></script></block-definition><block-definition s="score of tile value %&apos;value&apos;" type="reporter" category="operators"><comment x="0" y="0" w="181.66666666666666" collapsed="false">The block reports the score of an individual tile.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportProduct"><block var="value"/><block var="value"/></block></block></script></block-definition><block-definition s="ƒ empty positions of %&apos;board&apos;" type="reporter" category="lists"><comment x="0" y="0" w="89.99999999999996" collapsed="false">Returns a list of locations in board which are empty. The locations are length 2 lists as [row, col].</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="coord from (coord,#) %l"><l/></custom-block></autolambda><list></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><custom-block s="# from (coord,#) %l"><l/></custom-block><l>0</l></block></autolambda><list></list></block><custom-block s="(coord,#) list from board %l"><block var="board"/></custom-block></block></block></block></script><scripts><script x="41.666666666666664" y="312.78888888888923"><custom-block s="ƒ empty positions of %l"><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l>1</l><l>0</l><l>0</l><l>4</l><l>0</l><l>6</l><l>7</l><l>8</l><l>9</l><l>10</l><l>11</l><l>12</l><l>13</l><l>14</l><l>15</l><l>16</l></custom-block></custom-block></script><script x="483.3333333333333" y="19.416666666666668"><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>size</l><l>row</l><l>col</l></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>size</l><custom-block s="size of board %l"><block var="board"/></custom-block></block><custom-block s="for %upvar = %n to %n %cs"><l>r</l><l>1</l><block var="size"/><script><custom-block s="for %upvar = %n to %n %cs"><l>c</l><l>1</l><block var="size"/><script><block s="doIf"><block s="reportEquals"><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board"/></custom-block><l>0</l></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="r"/><block var="c"/></list></block><block var="result"/></block></script></block></script></custom-block></script></custom-block><block s="doReport"><block var="result"/></block></script></block></script></scripts></block-definition><block-definition s="ƒ add 2 or 4 to %&apos;board&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="ƒ replace coord %l of %l with %n"><block s="reportListItem"><l><option>any</option></l><custom-block s="ƒ empty positions of %l"><block var="board"/></custom-block></block><block var="board"/><block s="reportIfElse"><block s="reportEquals"><block s="reportRandom"><l>1</l><l>4</l></block><l>4</l></block><l>4</l><l>2</l></block></custom-block></block></script></block-definition><block-definition s="new board from matrix %&apos;board matrix&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>board</l><l>row</l></list></block><block s="doSetVar"><l>board</l><custom-block s="new board of size %n"><block s="reportListAttribute"><l><option>length</option></l><block var="board matrix"/></block></custom-block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="board matrix"/></block><script><block s="doSetVar"><l>row</l><block s="reportListItem"><block var="i"/><block var="board matrix"/></block></block><custom-block s="for %upvar = %n to %n %cs"><l>j</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><script><custom-block s="set item %n , %n of %l to %n"><block var="i"/><block var="j"/><block var="board"/><block s="reportListItem"><block var="j"/><block var="row"/></block></custom-block></script></custom-block></script></custom-block><block s="doReport"><block var="board"/></block></script></block-definition><block-definition s="new 4x4 board with values %&apos;A&apos; %&apos;B&apos; %&apos;C&apos; %&apos;D&apos; / %&apos;E&apos; %&apos;F&apos; %&apos;G&apos; %&apos;H&apos; / %&apos;M&apos; %&apos;N&apos; %&apos;O&apos; %&apos;P&apos; / %&apos;Q&apos; %&apos;R&apos; %&apos;S&apos; %&apos;T&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="new board from matrix %l"><block s="reportNewList"><list><block s="reportNewList"><list><block var="A"/><block var="B"/><block var="C"/><block var="D"/></list></block><block s="reportNewList"><list><block var="E"/><block var="F"/><block var="G"/><block var="H"/></list></block><block s="reportNewList"><list><block var="M"/><block var="N"/><block var="O"/><block var="P"/></list></block><block s="reportNewList"><list><block var="Q"/><block var="R"/><block var="S"/><block var="T"/></list></block></list></block></custom-block></block></script></block-definition><block-definition s="merge column %&apos;c&apos; of %&apos;board&apos; up" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="move column %n of %l up"><block var="c"/><custom-block s="join column %n of %l up"><block var="c"/><custom-block s="move column %n of %l up"><block var="c"/><block var="board"/></custom-block></custom-block></custom-block></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="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></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="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="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="tell %&apos;sprite&apos; to %&apos;commands&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="commands"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask for %&apos;reporter&apos; from %&apos;sprite&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%txt">Sprite</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="reporter"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; %&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; %&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="rotate %&apos;board&apos; clockwise" type="reporter" category="other"><comment x="0" y="0" w="90" collapsed="false">For you to fill out!</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>coord list</l></list></block><block s="doSetVar"><l>coord list</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="coord from (coord,#) %l"><l/></custom-block></autolambda><list></list></block><custom-block s="(coord,#) list from board %l"><block var="board"/></custom-block></block></block><block s="doReport"><custom-block s="cascade %n times %repRing %s %upvar"><block s="reportPower"><custom-block s="size of board %l"><block var="board"/></custom-block><l>2</l></block><block s="reifyReporter"><autolambda><custom-block s="ƒ replace coord %l of %l with %n"><custom-block s="rotated coord %l for size %n"><block s="reportListItem"><block var="#"/><block var="coord list"/></block><custom-block s="size of board %l"><block var="board"/></custom-block></custom-block><l/><custom-block s="ƒ item coord %l of %l"><block s="reportListItem"><block var="#"/><block var="coord list"/></block><block var="board"/></custom-block></custom-block></autolambda><list></list></block><block var="board"/><l>#</l></custom-block></block></script></block-definition><block-definition s="test %&apos;func&apos; w/ input(s) %&apos;input&apos; expecting output %&apos;output&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="evaluate"><block var="func"/><block var="input"/></block><block var="output"/></block></block></script></block-definition><block-definition s="move column %&apos;c&apos; of %&apos;board&apos; up" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>column with no 0s</l></list></block><block s="doSetVar"><l>column with no 0s</l><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportNotEquals"><l></l><l>0</l></block></autolambda><list></list></block><custom-block s="column %n of %l"><block var="c"/><block var="board"/></custom-block></custom-block></block><block s="doReport"><custom-block s="replace column %n of %l with %l"><block var="c"/><block var="board"/><block s="reportConcatenatedLists"><list><block var="column with no 0s"/><custom-block s="zero list size %n"><block s="reportDifference"><custom-block s="size of board %l"><block var="board"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="column with no 0s"/></block></block></custom-block></list></block></custom-block></block></script><scripts><script x="1000.0234375" y="300.8888888888891"><block var="r"/></script><script x="16.333333333333332" y="248.46666666666647"><custom-block s="move column %n of %l up"><l>1</l><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l>0</l><l>2</l><l>3</l><l>4</l><l>5</l><l>6</l><l>7</l><l>8</l><l>0</l><l>10</l><l>11</l><l>12</l><l>13</l><l>14</l><l>15</l><l>16</l></custom-block></custom-block></script></scripts></block-definition><block-definition s="join column %&apos;c&apos; of %&apos;board&apos; up" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="replace column %n of %l with %l"><block var="c"/><block var="board"/><custom-block s="join column %l up"><custom-block s="column %n of %l"><block var="c"/><block var="board"/></custom-block></custom-block></custom-block></block></script><scripts><script x="547.3333333333334" y="24.083333333333332"><block s="doDeclareVariables"><list><l>board copy</l></list></block><block s="doSetVar"><l>board copy</l><custom-block s="copy of %l"><block var="board"/></custom-block></block><block s="doFor"><l>r</l><l>1</l><block s="reportDifference"><custom-block s="size of board %l"><block var="board"/></custom-block><l>1</l></block><script><block s="doIf"><block s="reportEquals"><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board copy"/></custom-block><custom-block s="item %n , %n of %l"><block s="reportSum"><block var="r"/><l>1</l></block><block var="c"/><block var="board copy"/></custom-block></block><script><custom-block s="set item %n , %n of %l to %n"><block var="r"/><block var="c"/><block var="board copy"/><block s="reportProduct"><l>2</l><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board copy"/></custom-block></block></custom-block><custom-block s="set item %n , %n of %l to %n"><block s="reportSum"><block var="r"/><l>1</l></block><block var="c"/><block var="board copy"/><l>0</l></custom-block></script></block></script></block><block s="doReport"><block var="board copy"/></block></script></scripts></block-definition><block-definition s="column %&apos;c&apos; of %&apos;board&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="item %n , %n of %l"><l></l><block var="c"/><block var="board"/></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><custom-block s="size of board %l"><block var="board"/></custom-block></block></block></block></script></block-definition><block-definition s="replace column %&apos;new c&apos; of %&apos;board&apos; with %&apos;new column&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportEquals"><block var="new c"/><block var="old c"/></block><block var="new column"/><block var="old column"/></block></autolambda><list><l>old column</l><l>old c</l></list></block><block s="reportListAttribute"><l><option>columns</option></l><block var="board"/></block></block></block></block></script><scripts><script x="502.3333333333333" y="170.91111111111118"><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l>1</l><l>2</l><l>3</l><l>4</l><l>0</l><l>6</l><l>7</l><l>8</l><l>0</l><l>10</l><l>11</l><l>12</l><l>13</l><l>14</l><l>15</l><l>16</l></custom-block></script><script x="38.333333333333336" y="181.7999999999997"><custom-block s="replace column %n of %l with %l"><l>2</l><custom-block s="new 4x4 board with values %s %s %s %s / %s %s %s %s / %s %s %s %s / %s %s %s %s"><l>1</l><l>2</l><l>3</l><l>4</l><l>0</l><l>6</l><l>7</l><l>8</l><l>0</l><l>10</l><l>11</l><l>12</l><l>13</l><l>14</l><l>15</l><l>16</l></custom-block><block s="reportNewList"><list><l>x</l><l>y</l><l>z</l><l>w</l></list></block></custom-block></script><script x="104.66666666666667" y="260.11111111111114"><custom-block s="column %n of %l"><l>1</l><custom-block s="new board of size %n"><custom-block s="size of board %l"><block var="board"/></custom-block></custom-block></custom-block></script><script x="513.6666666666666" y="241.44444444444446"><block s="reportSum"><custom-block s="keep items such that %predRing from %l"><block s="reifyPredicate"><autolambda><block s="reportNotEquals"><l></l><l>0</l></block></autolambda><list></list></block><custom-block s="column %n of %l"><block var="c"/><block var="board"/></custom-block></custom-block><l></l></block></script></scripts></block-definition><block-definition s="replace %&apos;r new&apos; , %&apos;c new&apos; of %&apos;board&apos; with %&apos;new value&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportAnd"><block s="reportEquals"><block var="r"/><block var="r new"/></block><block s="reportEquals"><block var="c"/><block var="c new"/></block></block><block var="new value"/><block var="old value"/></block></autolambda><list><l>old value</l><l>c</l></list></block><block var="row"/></block></autolambda><list><l>row</l><l>r</l></list></block><block var="board"/></block></block></script></block-definition><block-definition s="zero list size %&apos;size&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportEquals"><block var="size"/><l>0</l></block><block s="reportNewList"><list></list></block><block s="reportProduct"><l>0</l><block s="reportNumbers"><l>1</l><block var="size"/></block></block></block></block></script></block-definition><block-definition s="sum %&apos;nums&apos;" type="reporter" category="operators"><comment x="0" y="0" w="202" collapsed="false">Takes any number of numbers as inputs (use the left and right arrowheads to adjust the number of input slots) and reports the result of adding them all, so&#xD;(SUM (4) (100) (8))&#xD;reports 112.</comment><header></header><code></code><translations>pt:a soma de _&#xD;</translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="nums"/></block><script><block s="doReport"><l>0</l></block></script></block><block s="doReport"><block s="reportSum"><block s="reportListItem"><l>1</l><block var="nums"/></block><custom-block s="sum %mult%n"><block s="reportCDR"><block var="nums"/></block></custom-block></block></block></script></block-definition><block-definition s="product %&apos;nums&apos;" type="reporter" category="operators"><comment x="0" y="0" w="205" collapsed="false">Takes any number of numbers as inputs (use the left and right arrowheads to adjust the number of input slots) and reports the result of multiplying them all, so&#xD;(PRODUCT (4) (100) (8))&#xD;reports 3200.</comment><header></header><code></code><translations>pt:o produto de _&#xD;</translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="nums"/></block><script><block s="doReport"><l>1</l></block></script></block><block s="doReport"><block s="reportProduct"><block s="reportListItem"><l>1</l><block var="nums"/></block><custom-block s="product %mult%n"><block s="reportCDR"><block var="nums"/></block></custom-block></block></block></script></block-definition><block-definition s="all of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="248" collapsed="false">Takes any number of Boolean (true/false) inputs (use the left and right arrowheads to adjust the number of input slots) and reports TRUE only if all of the inputs are TRUE, otherwise FALSE.  Like AND but for multiple inputs.</comment><header></header><code></code><translations>pt:todas as afirmações _ são verdadeiras&#xD;</translations><inputs><input type="%mult%boolUE"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="preds"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><block s="reportAnd"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="preds"/></block><list></list></block><custom-block s="all of %mult%boolUE"><block s="reportCDR"><block var="preds"/></block></custom-block></block></block></script></block-definition><block-definition s="any of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="240" collapsed="false">Takes any number of Boolean (true/false) inputs (use the left and right arrowheads to adjust the number of input slots) and reports TRUE if at least one input is TRUE, otherwise FALSE.</comment><header></header><code></code><translations>pt:alguma das afirmações _ é verdadeira&#xD;</translations><inputs><input type="%mult%boolUE"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="preds"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><block s="reportOr"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="preds"/></block><list></list></block><custom-block s="any of %mult%boolUE"><block s="reportCDR"><block var="preds"/></block></custom-block></block></block></script></block-definition><block-definition s="minimum %&apos;nums&apos;" type="reporter" category="operators"><comment x="0" y="0" w="205" collapsed="false">Takes any number of numbers as inputs (use the left and right arrowheads to adjust the number of input slots) and reports the smallest of them, so&#xD;(MINIMUM (4) (100) (8))&#xD;reports 4.</comment><header></header><code></code><translations>pt:o produto de _&#xD;</translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="nums"/></block><script><block s="doReport"><block s="reportQuotient"><l>1</l><l>0</l></block></block></script></block><block s="doReport"><block s="reportMin"><block s="reportListItem"><l>1</l><block var="nums"/></block><custom-block s="minimum %mult%n"><block s="reportCDR"><block var="nums"/></block></custom-block></block></block></script></block-definition><block-definition s="maximum %&apos;nums&apos;" type="reporter" category="operators"><comment x="0" y="0" w="205" collapsed="false">Takes any number of numbers as inputs (use the left and right arrowheads to adjust the number of input slots) and reports the largest of them, so&#xD;(MAXIMUM (4) (100) (8))&#xD;reports 100.</comment><header></header><code></code><translations>pt:o produto de _&#xD;</translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="nums"/></block><script><block s="doReport"><block s="reportQuotient"><l>-1</l><l>0</l></block></block></script></block><block s="doReport"><block s="reportMax"><block s="reportListItem"><l>1</l><block var="nums"/></block><custom-block s="maximum %mult%n"><block s="reportCDR"><block var="nums"/></block></custom-block></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</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></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;pt:lança _&#xD;</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>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;pt:captura _ _&#xD;</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>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;pt:lança _ _&#xD;</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="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><comment x="0" y="0" w="263.3333333333333" collapsed="false">This is a breakpoint block, to be used in debugging.&#xD;The Boolean input specifies the condition under which&#xD;the program should pause.  (Use True for an unconditional breakpoint.)  The intent is that the script should have&#xD;SHOW VARIABLE blocks for the process&apos;s local variables.&#xD;After the pause, this block automatically hides all temporary variables.</comment><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;pt:se _ , então _ e faz pausa em tudo $pause-1-255-220-0&#xD;</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="ignore %&apos;x&apos;" type="command" category="control"><comment x="0" y="0" w="206.66666666666666" collapsed="false">This block does nothing.&#xD;Use it when you are calling a reporter&#xD;for its side effect and don&apos;t care about&#xD;its return value.</comment><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cascade %&apos;num&apos; times %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="138" collapsed="false">Call f(f(f(...(f(x))))) n times where the three input slots are n, f, and x from left to right.  The # variable can be used inside f to represent how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado de _ invocações em cascata de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%n"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="cascade until %&apos;pred&apos; %&apos;function&apos; %&apos;init&apos; %&apos;#&apos;" type="reporter" category="control"><comment x="0" y="0" w="210.47493489583334" collapsed="false">Call f(f(f(...(f(x))))) until condition is true, where the three input slots are condition, f, and x from left to right.  The # variable can be used inside f or condition to indicate how many times f has been called.</comment><header></header><code></code><translations>pt:o resultado da invocação em cascata até que _ de _ com argumento inicial _ _&#xD;</translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%s"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><block var="init"/></block><block s="doSetVar"><l>#</l><l>0</l></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><block var="result"/></list></block><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>result</l><block s="evaluate"><block var="function"/><list><block var="result"/></list></block></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="compose %&apos;f&apos; %&apos;g&apos;" type="reporter" category="control"><comment x="0" y="0" w="151.33333333333334" collapsed="false">Returns the function x↦f(g(x)) where f and g are the two inputs.</comment><header></header><code></code><translations>pt:a composição de _ com _&#xD;</translations><inputs><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="f"/><list><block s="evaluate"><block var="g"/><list><l></l></list></block></list></block></autolambda><list></list></block></block></script></block-definition><block-definition s="repeat %&apos;action&apos; until %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="202.66666666666666" collapsed="false">Like the built-in REPEAT UNTIL block, except that the ending condition is not tested until the script has been run the first time.  So the script is run at least once.</comment><header></header><code></code><translations>pt:repete _ até que _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;action&apos; while %&apos;pred&apos;" type="command" category="control"><comment x="0" y="0" w="287.3333333333333" collapsed="false">Run the script repeatedly, as long as the given condition is true.  Runs the script at least once before testing the condition.</comment><header></header><code></code><translations>pt:repete _ enquanto _ $loop-0.7&#xD;</translations><inputs><input type="%cs"></input><input type="%boolUE"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat while %&apos;pred&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="264" collapsed="false">Runs the script repeatedly, as long as the condition is true. Tests the condition before the first time the script is run.  Like the built in REPEAT UNTIL except that in this block the condition must be true, not false.</comment><header></header><code></code><translations>pt:enquanto _ , repete _ $loop-0.7&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doUntil"><block s="reportNot"><block s="evaluate"><block var="pred"/><list></list></block></block><script><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="repeat %&apos;num&apos; %&apos;#&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="171" collapsed="false">Runs the script the specified number of times, like the built-in REPEAT block, but this one provides the # variable that can be used inside the script.  Try&#xD;REPEAT (200)&#xD;                MOVE (#) STEPS&#xD;   RIGHT 92&#xD;with the pen down.</comment><header></header><code></code><translations>pt:repete _ vezes _ _ $loop-0.7&#xD;</translations><inputs><input type="%n"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>#</l><l>0</l></block><block s="doRepeat"><block var="num"/><script><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doRun"><block var="action"/><list></list></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; step %&apos;step&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><comment x="0" y="0" w="247.33333333333334" collapsed="false">The primitive FOR block uses an implicit step of ±1 depending on which of the starting and ending values is larger.  This version allows you to provide an explicit step value.  If the sign of the step input is incompatible with the ordering of the starting and ending values, the script will not be run at all.</comment><header></header><code></code><translations>pt:para _ de _ com passo _ a _ _ $loop-0.7&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doIfElse"><block s="reportLessThan"><block var="step"/><l>0</l></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doUntil"><block s="evaluate"><block var="test"/><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="let %&apos;a&apos; be %&apos;val&apos; in %&apos;loop&apos; %&apos;body&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666666" collapsed="false">Provides LOOP as a function of one input that runs&#xD;the body of the LET with A set to the function input,&#xD;so the body can run itself recursively.&#xD;See COPY block in Variables for an example of use.</comment><header></header><code></code><translations>pt:tendo _ o valor inicial _ , executa _ definido como _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>a</l><block var="val"/></block><block s="doSetVar"><l>loop</l><block s="reifyScript"><script><block s="doSetVar"><l>a</l><block var="new value"/></block><block s="doRun"><block var="body"/><list><block var="a"/></list></block></script><list><l>new value</l></list></block></block><block s="doRun"><block var="loop"/><list><block var="a"/></list></block></script></block-definition><block-definition s="pipe %&apos;value&apos; $arrowRight %&apos;pipe&apos;" type="reporter" category="control"><comment x="0" y="0" w="339.3333333333333" collapsed="false">The inputs are a starting value and one or more monadic functions.&#xD;The first function is called with the starting value as its input.&#xD;The second function is called with the value reported by the first function as its input, and so on.  PIPE reports the value reported by the last function.  PIPE provides an alternative notation for function composition instead of the usual nesting.&#xD;&#xD;nested acronym:                                                                 &#xD;report (combine (keep items (capital-letter? ( )) from&#xD;                  (map (letter (1) of ( )) over&#xD;                                                 (sentence→list (phrase)))) using (join ( ) ( )))&#xD;&#xD;piped acronym:                                             &#xD;report (pipe (phrase) → &#xD;            (sentence→list ( ))&#xD;                              (map (letter (1) of ( )) over ( ))&#xD;                                              (keep items (capital-letter? ( )) from ( ))&#xD;                                (combine ( ) using (join ( ) ( )))&#xD;&#xD;Some people find PIPE easier to read because the functions are called in the same order in which you read them, whereas in nested composition the innermost function is called first. </comment><header></header><code></code><translations>pt:a aplicação a _ de _&#xD;</translations><inputs><input type="%s"></input><input type="%mult%repRing"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="pipe"/></block><script><block s="doReport"><block var="value"/></block></script></block><block s="doReport"><custom-block s="pipe %s $arrowRight %mult%repRing"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="pipe"/></block><list><block var="value"/></list></block><block s="reportCDR"><block var="pipe"/></block></custom-block></block></script></block-definition><block-definition s="ƒ replace coord %&apos;coord new&apos; of %&apos;board&apos; with %&apos;new value&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="board from # list %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportEquals"><block var="coord new"/><custom-block s="coord from (coord,#) %l"><l/></custom-block></block><block var="new value"/><custom-block s="# from (coord,#) %l"><l/></custom-block></block></autolambda><list></list></block><custom-block s="(coord,#) list from board %l"><block var="board"/></custom-block></block></custom-block></block></script><scripts><script x="481" y="36.166666666666664"><custom-block s="replace %n , %n of %l with %n"><block s="reportListItem"><l>1</l><block var="r new c new"/></block><block s="reportListItem"><l>2</l><block var="r new c new"/></block><block var="board"/><block var="new value"/></custom-block></script></scripts></block-definition><block-definition s="ƒ item coord %&apos;coord&apos; of %&apos;board&apos;" type="reporter" category="other"><comment x="0" y="0" w="89.99999999999996" collapsed="false">This is just like the ITEM OF block, but for our game board. You don&apos;t need to know how it works.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="item %n , %n of %l"><custom-block s="r from coord %l"><block var="coord"/></custom-block><custom-block s="c from coord %l"><block var="coord"/></custom-block><block var="board"/></custom-block></block></script></block-definition><block-definition s="rotated coord %&apos;coord&apos; for size %&apos;size&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="coord from r %n c %n"><custom-block s="rotated row for %n , %n for size %n"><custom-block s="r from coord %l"><block var="coord"/></custom-block><custom-block s="c from coord %l"><block var="coord"/></custom-block><block var="size"/></custom-block><custom-block s="rotated col for %n , %n for size %n"><custom-block s="r from coord %l"><block var="coord"/></custom-block><custom-block s="c from coord %l"><block var="coord"/></custom-block><block var="size"/></custom-block></custom-block></block></script></block-definition><block-definition s="board from # list %&apos;data&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportReshape"><block var="data"/><list><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></list></block></block></script></block-definition><block-definition s="(coord,#) list from board %&apos;board&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="(coord,#) from coord %l # %n"><custom-block s="coord from r %n c %n"><block s="reportSum"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportDifference"><block var="index"/><l>1</l></block><custom-block s="size of board %l"><block var="board"/></custom-block></block></block><l>1</l></block><block s="reportSum"><block s="reportModulus"><block s="reportDifference"><block var="index"/><l>1</l></block><custom-block s="size of board %l"><block var="board"/></custom-block></block><l>1</l></block></custom-block><block var="#"/></custom-block></autolambda><list><l>#</l><l>index</l></list></block><block s="reportListItem"><l>1</l><block s="reportReshape"><block var="board"/><list><l>1</l><block s="reportPower"><custom-block s="size of board %l"><block var="board"/></custom-block><l>2</l></block></list></block></block></block></block></script><scripts><script x="102.66666666666667" y="334.6222222222222"><custom-block s="(coord,#) list from board %l"><custom-block s="board from # list %l"><block s="reportNumbers"><l>101</l><l>116</l></block></custom-block></custom-block></script><script x="271" y="369.40000000000003"><custom-block s="board from # list %l"><block s="reportNumbers"><l>101</l><l>116</l></block></custom-block></script></scripts></block-definition><block-definition s="coord from (coord,#) %&apos;(coord,#)&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="(coord,#)"/></block></block></script></block-definition><block-definition s="# from (coord,#) %&apos;(coord,#)&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="(coord,#)"/></block></block></script></block-definition><block-definition s="(coord,#) from coord %&apos;coord&apos; # %&apos;#&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="coord"/><block var="#"/></list></block></block></script><scripts><script x="9.666666666666666" y="231.95555555555552"><custom-block s="r from coord %l"><custom-block s="board from # list %l"><block s="reportNumbers"><l>100</l><l>116</l></block></custom-block></custom-block></script><script x="143.66666666666666" y="298.73333333333335"><custom-block s="size of board %l"><l/></custom-block></script><script x="64.046875" y="291.06666666666666"><block var="board"/></script></scripts></block-definition><block-definition s="coord from r %&apos;r&apos; c %&apos;c&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="r"/><block var="c"/></list></block></block></script><scripts><script x="9.666666666666666" y="231.95555555555552"><custom-block s="coord from r %n c %n"><l></l><l></l></custom-block></script><script x="143.66666666666666" y="298.73333333333335"><custom-block s="size of board %l"><l/></custom-block></script><script x="64.046875" y="291.06666666666666"><block var="board"/></script><script x="103.02180989583333" y="176.62222222222218"><custom-block s="board from # list %l"><block s="reportNumbers"><l>100</l><l>116</l></block></custom-block></script></scripts></block-definition><block-definition s="r from coord %&apos;coord&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="coord"/></block></block></script><scripts><script x="8" y="78.62222222222219"><custom-block s="r from coord %l"><custom-block s="coord from r %n c %n"><l>2</l><l>3</l></custom-block></custom-block></script></scripts></block-definition><block-definition s="c from coord %&apos;coord&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="coord"/></block></block></script><scripts><script x="8" y="78.62222222222219"><custom-block s="c from coord %l"><custom-block s="coord from r %n c %n"><l>2</l><l>3</l></custom-block></custom-block></script></scripts></block-definition><block-definition s="join column %&apos;column&apos; up" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over %l LtoR with initialstate %s state %upvar index %upvar and stateupdater f(oldstate,item) %repRing"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block var="joined last one"/><l>0</l><block s="reportIfElse"><custom-block s="%n at %n in %l matches neighbor"><block var="item"/><block var="index"/><block var="column"/></custom-block><block s="reportProduct"><l>2</l><block var="item"/></block><block var="item"/></block></block></autolambda><list><l>item</l></list></block><block var="column"/><block s="reportBoolean"><l><bool>false</bool></l></block><l>joined last one</l><l>index</l><block s="reifyReporter"><autolambda><block s="reportAnd"><block s="reportNot"><block var="oldstate"/></block><custom-block s="%n at %n in %l matches neighbor"><block var="item"/><block var="index"/><block var="column"/></custom-block></block></autolambda><list><l>oldstate</l><l>item</l></list></block></custom-block></block></script><scripts><script x="717.3333333333334" y="28.083333333333332"><block s="doDeclareVariables"><list><l>board copy</l></list></block><block s="doSetVar"><l>board copy</l><custom-block s="copy of %l"><block var="board"/></custom-block></block><block s="doFor"><l>r</l><l>1</l><block s="reportDifference"><custom-block s="size of board %l"><block var="board"/></custom-block><l>1</l></block><script><block s="doIf"><block s="reportEquals"><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board copy"/></custom-block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportEquals"><block var="value"/><block s="reportListItem"><block s="reportSum"><block var="index"/><l>1</l></block><block var="column"/></block></block></autolambda><list><l>value</l><l>index</l></list></block><block var="column"/></block></block><script><custom-block s="set item %n , %n of %l to %n"><block var="r"/><block var="c"/><block var="board copy"/><block s="reportProduct"><l>2</l><custom-block s="item %n , %n of %l"><block var="r"/><block var="c"/><block var="board copy"/></custom-block></block></custom-block><custom-block s="set item %n , %n of %l to %n"><block s="reportSum"><block var="r"/><l>1</l></block><block var="c"/><block var="board copy"/><l>0</l></custom-block></script></block></script></block><block s="doReport"><block var="board copy"/></block></script><script x="1180.77734375" y="183.58333333333334"><custom-block s="item %n , %n of %l"><block s="reportSum"><block var="r"/><l>1</l></block><block var="c"/><block var="board copy"/></custom-block></script><script x="572.3333333333334" y="46.46666666666666"><block s="doReport"><custom-block s="map %repRing over %l LtoR with initialstate %s state %upvar index %upvar and stateupdater f(oldstate,item) %repRing"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block var="joined last one"/><l>0</l><block s="reportIfElse"><block s="reportAnd"><block s="reportNotEquals"><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="column"/></block></block><block s="reportEquals"><block var="item"/><block s="reportListItem"><block s="reportSum"><block var="index"/><l>1</l></block><block var="column"/></block></block></block><block s="reportProduct"><l>2</l><block var="item"/></block><block var="item"/></block></block></autolambda><list><l>item</l></list></block><block var="column"/><block s="reportBoolean"><l><bool>false</bool></l></block><l>joined last one</l><l>index</l><block s="reifyReporter"><autolambda><block s="reportAnd"><block s="reportNot"><block var="oldstate"/></block><block s="reportAnd"><block s="reportNotEquals"><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="column"/></block></block><block s="reportEquals"><block var="item"/><block s="reportListItem"><block s="reportSum"><block var="index"/><l>1</l></block><block var="column"/></block></block></block></block></autolambda><list><l>oldstate</l><l>item</l></list></block></custom-block></block></script><script x="27" y="341.6000000000002"><custom-block s="join column %l up"><block s="reportNewList"><list><l>2</l><l>2</l><l>2</l><l>4</l><l>4</l><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l><l>2</l></list></block></custom-block></script></scripts></block-definition><block-definition s="map %&apos;function&apos; over %&apos;data&apos; LtoR with initialstate %&apos;intialstate&apos; state %&apos;state&apos; index %&apos;index&apos; and stateupdater f(oldstate,item) %&apos;stateupdater&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input><input type="%s"></input><input type="%upvar"></input><input type="%upvar"></input><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>new data</l></list></block><block s="doSetVar"><l>new data</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>state</l><block var="intialstate"/></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doForEach"><l>item</l><block var="data"/><script><block s="doAddToList"><block s="evaluate"><block var="function"/><list><block var="item"/></list></block><block var="new data"/></block><block s="doSetVar"><l>state</l><block s="evaluate"><block var="stateupdater"/><list><block var="state"/><block var="item"/></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block var="new data"/></block></script><scripts><script x="16.333333333333332" y="286.6500000000005"><custom-block s="map %repRing over %l LtoR with initialstate %s state %upvar index %upvar and stateupdater f(oldstate,item) %repRing"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block var="state"/><block var="it"/><l>0</l></block></autolambda><list><l>it</l></list></block><block s="reportNumbers"><l>101</l><l>110</l></block><block s="reportBoolean"><l><bool>true</bool></l></block><l>state</l><l>index</l><block s="reifyReporter"><autolambda><block s="reportNot"><block var="oldstate"/></block></autolambda><list><l>oldstate</l><l>item</l></list></block></custom-block></script><script x="317.6666666666667" y="99.95555555555552"><block s="reportMap"><block s="reifyReporter"><script></script><list><l>value</l><l>index</l><l>list</l></list></block><l/></block></script><script x="226.36979166666666" y="266.6500000000005"><block var="index"/></script></scripts></block-definition><block-definition s="%&apos;item&apos; at %&apos;index&apos; in %&apos;column&apos; matches neighbor" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAnd"><block s="reportNotEquals"><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="column"/></block></block><block s="reportEquals"><block var="item"/><block s="reportListItem"><block s="reportSum"><block var="index"/><l>1</l></block><block var="column"/></block></block></block></block></script></block-definition></blocks><variables><variable name="GAME BOARD"><list id="3013"><item><list struct="atomic" id="3014">0,0,0,2</list></item><item><list struct="atomic" id="3015">0,0,0,4</list></item><item><list struct="atomic" id="3016">0,8,4,2</list></item><item><list struct="atomic" id="3017">0,512,32,8</list></item></list></variable><variable name="SIZE"><l>4</l></variable><variable name="GAME OVER"><bool>false</bool></variable><variable name="LAST MERGE ROW"><l>-1</l></variable><variable name="SCORE"><l>263336</l></variable><variable name="LAST BOARD"><list id="3018"><item><list struct="atomic" id="3019">2,0,0,0</list></item><item><list struct="atomic" id="3020">4,0,0,0</list></item><item><list struct="atomic" id="3021">8,4,2,0</list></item><item><list struct="atomic" id="3022">512,32,8,0</list></item></list></variable><variable name="LETTERS"><list struct="atomic" id="3023">a,b,c,d</list></variable></variables></project><media name="Sp21 | Project 3 DANswer" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>