<snapdata remixID="10179195"><project name="shopping_list_PD_2021" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Add Item" idx="1" x="0.6201550387597763" y="49.844961240310084" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="8"><costumes><list id="9"><item><costume name="shopping-list-button-add-item" center-x="53" center-y="15" image="data:image/png;base64,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" id="10"/></item></list></costumes><sounds><list struct="atomic" id="11"></list></sounds><blocks></blocks><variables></variables><scripts><script x="36" y="33"><block s="receiveInteraction"><l><option>clicked</option></l></block><custom-block s="Add Item"></custom-block></script></scripts></sprite><sprite name="Clear List" idx="2" x="0.6201550387597763" y="-0.15503875968991565" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,137.70000000000002,38.55600000000003,1" pen="tip" id="18"><costumes><list id="19"><item><costume name="shopping-list-button-clear-list" center-x="53" center-y="15" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAAAeCAYAAADEkotAAAAGuElEQVRoQ+1ae0xTZxQ/hVr64I1Mg4gFeZSXgoIFfGyK8UE04mMMnTjQEIVqnJlAYBi3wUQcPuYmSBQF3UQwjJkhLjpcROUpIg8LhboqKokCQim0FFpYvpv0pkArtRRFc+9/zfd9v3PO73fO+U5zLwnGeOzt7Q1AJltlbGq+gkqjLusRiWb0ikRGY50j1tUzQKPTxTQ6o4dMIXM7OzpuyiSSHP6zZ4/fxBlJ3aK1tbW5pYXlwYF+abitvQMs+Wwpzd3dDWyZs8DCwhz09PQJLbRgYHBQDt3dIujs6oJGXhNUVz2QXf/rKsnI2KT8ZdvLCIFAUKsKVqVQjrMdgw2olIzlK1dP2bFj+xRXF5YWLhFHNGWgSyiE85kXh86lp8n09PXiauvrU0aeHSWU1zyvI2QyeW9ySgplyeKFmtoi9umAgbp6LuzmRPaLe3p/vv/gfrQy5DCh5rjNiTIxNU3MuniBgloc8bx7BgRPnsKWL4KlXZ0d2xubmy8pPMCFcmAyPagMw4pLOblT3Fyd372HhEWcgbslZRAZHi6R9PfN4vP5bWgBF2qB14KyraFh7D2cXQRlk4CBqJjYgX+Lbp6pqqri4EIxmUyWEcOw7l5pKdnIyHASuEm40Mhrhs/XB0pfC7vMW1tbxVhFubm6Ja5ZFxiT9GMCmaBo8jAQFBQsri6vCOW3CK5gQi30XVT2TUw0e/26tZPHS8ITOPlrGlzIzMisqqoKw4TynOsh/P1yjrEzy5GgZxIxUHznHsTs3y8oqyizw4RysneQFZeU6H9iOXUSuUm48uz5C1jp79/f0MQzIFlZWdFpUyi99Y2NQKUaTAg79kxbHJf/RDAhNnQNinyurK4GMzNTXUNrjNfXJwU3FgsYfRJDEpPJNNUfgs7xEnjsxC+QeuIY5oTltOlgZmEBhYUFuFNPnrbA8k8/hfHa0ThKFRvR/5PQLZvxFUcX12E+KhY6O7vA29PzrYUKCFgDh48kwxw31/G4OewsShg5Ccx0ItSZjPNwq6gIkpIOAXOWDVzOzYMLmecnnVAKBhChcfHxsMjPR2eEIqCJwNWpUL5sX0jPOPvGTFJXUd8nHIKLGWcwwlCGbwsNg+CgjdhvlADJCT/gZGZeysbJVbTTkB3h0NjAhcqSe1gll5aXjkn+mwjdGcGBouuFGMbI6lf2Fdlizp4N2Zd+wxIzPnr/KLu66B46E0rTlqZq38hKRK0pat8+yM7NwSpT+VHsRcQoHkRqt1AIsXGxb9Vuxsp8RYtUJlrRDv8oKFBrayzcMTNIxQZcKBdLF0MpXSx6xOOBgQFFGyzQtqKUs1fZ8MnT6RCwagVERcdCfu5ltXcKOr906TK8AjV1fiShCCckJASvVlVCKSo8Py8PmriPMFP+qwMgPe0UblbXQg0bJpAVZ0cn6Y1btyjWM6w0jXXYPjRIVFaU43eUomUpZ6SqikLneLzGYcEqgAv/vgEJBw/irQxhIpKUB5R3LZRy0KjCAlathp+OH8cF3rxlK6wLXI8lDkqyR/V1KocVTUl+1dYOi3185E3/PSZj/6N8FvgIko8eZS5Z5Kcpxqh9ylOft99C4OzejQUwctJSHPzn9m2svY2sGpSlHE4kzJwxAyI5u7G7Bz3oLkJ3GbrH0CCgPL2pym5VgajzBe1F919DQ8OwO1GBgdZcnVnYJIjsq6soZXxlDrQlldfEh+BNm7of1tWYYEKxvdhZIdvDtnEidmqLSZybAAbyrxZASnJSRUlpCRsTyt7GNsjTh52Zm5NNmwB7BKSWDHx74Dt5wZ95R2rr6+MwodBAQbIY6sgvKKA4zLbTEpY4pksGenp7wY/tMyARdXvwW1q4+ItDby/v9GXLV2w/nJRIvOrQJeNaYqWlnx3KOnv2Qfn9ci8EgQtla2s7jUGlPTmTmUX1WYCtEc97YgC9NAzauGFALOr2fdzSUjVMKKwFOjiFmU61OJ1z5YrWo/p7iu2jMfv8RSuEfhUqbX/1KrGmriZREdioz8Xmecw7YWpuvutUaqoBy8nhoyHgQwiktLwS9u/7ur9PIk598PDhPmWfVX2ASfJ0nxsvG5QfiNizlxyydTPJkMH4EOL8YH1saubDuXOZsmtX8+WDMnkEt5l3fmQwaj9ptptp52U53TJdLO51Xxu4QW/e/Pn6LCdH7P0MjUZM8ePJCqFQCE9bnkFNTS3cvVMs4dbW6NMZhlntr9sPCASCl6qw1Qql2GxvY+NCodO/NDEz8+8TS5wkYrHhQH8/MRmOQykqjSY1MjZplcvlxZ1t7dcoEtp1bhu3502Q/wOz5fTL9DcqmAAAAABJRU5ErkJggg==" id="20"/></item></list></costumes><sounds><list struct="atomic" id="21"></list></sounds><blocks></blocks><variables></variables><scripts><script x="32" y="30"><block s="receiveInteraction"><l><option>clicked</option></l></block><custom-block s="Clear List"></custom-block></script></scripts></sprite><sprite name="Delete Item" idx="3" x="1.6201550387600037" y="-50.15503875969006" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="173.4,31.211999999999993,0,1" pen="tip" id="28"><costumes><list id="29"><item><costume name="shopping-list-button-delete-item" center-x="53" center-y="15" image="data:image/png;base64,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" id="30"/></item></list></costumes><sounds><list struct="atomic" id="31"></list></sounds><blocks></blocks><variables></variables><scripts><script x="35" y="30"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doAsk"><l>What item do you want to delete?</l></block><custom-block s="delete_item %s"><block s="getLastAnswer"></block></custom-block></script></scripts></sprite><watcher var="shopping list" style="normal" x="8.0625" y="8.0625" color="243,118,29" extX="80" extY="70"/><watcher scope="Stage" s="getLastAnswer" style="normal" x="8.0625" y="141.90000322499998" color="4,148,220" hidden="true"/><watcher var="isDeleted" style="normal" x="167.0625" y="7.550001612500068" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><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="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="map %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>mapone</l><l>mapmany</l></list></block><block s="doSetVar"><l>mapone</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="evaluate"><block var="mapone"/><list><block s="reportCDR"><block var="data"/></block></list></block></block></block></script><list><l>data</l></list></block></block><block s="doSetVar"><l>mapmany</l><block s="reifyScript"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportListItem"><l>1</l><block var="data lists"/></block></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="function"/><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></block><block s="evaluate"><block var="mapmany"/><list><custom-block s="map %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><list><block var="data lists"/></list></custom-block></list></block></block></block></script><list><l>data lists</l></list></block></block><block s="doIfElse"><custom-block s="empty? %l"><block s="reportCDR"><block var="lists"/></block></custom-block><script><block s="doReport"><block s="evaluate"><block var="mapone"/><list><block s="reportListItem"><l>1</l><block var="lists"/></block></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="mapmany"/><list><block var="lists"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="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="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="ask %&apos;sprite&apos; for %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block var="expression"/><block var="sprite"/></block><list></list></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="Add Item" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>item</l></list></block><block s="doAsk"><l>Enter the item you would like to add to the shopping list.</l></block><block s="doSetVar"><l>item</l><block s="getLastAnswer"></block></block><block s="doIfElse"><block s="reportListContainsItem"><block var="shopping list"/><block var="item"/></block><script><block s="doSayFor"><block s="reportJoinWords"><list><l>The item "</l><block var="item"/><l>" is already in the list."</l></list></block><l>2</l></block></script><script><block s="doInsertInList"><block var="item"/><l><option>last</option></l><block var="shopping list"/><comment w="90" collapsed="false">Alternatively, use the add block.</comment></block><block s="doSayFor"><block s="reportJoinWords"><list><block var="item"/><l> added.</l></list></block><l>2</l></block></script></block></script></block-definition><block-definition s="Clear List" type="command" category="lists"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>answer</l></list></block><block s="doAsk"><l>Are you sure you want to clear the list?</l></block><block s="doSetVar"><l>answer</l><block s="getLastAnswer"></block></block><block s="doIfElse"><block s="reportEquals"><block var="answer"/><l>yes</l></block><script><block s="doSetVar"><l>shopping list</l><block s="reportNewList"><list></list></block></block><block s="doSayFor"><l>List cleared.</l><l>2</l></block></script><script><block s="doSayFor"><l>List is unchanged.</l><l>2</l></block></script></block></script></block-definition><block-definition s="delete_item %&apos;item_to_be_deleted&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>isDeleted</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="shopping list"/></block><script><block s="doIf"><block s="reportEquals"><block var="item_to_be_deleted"/><block s="reportListItem"><block var="i"/><block var="shopping list"/></block></block><script><block s="doDeleteFromList"><block var="i"/><block var="shopping list"/></block><block s="doSetVar"><l>isDeleted</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doIfElse"><block s="reportEquals"><block var="isDeleted"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="item_to_be_deleted"/><l> has been deleted</l></list></block><l>2</l></block></script><script><block s="doSayFor"><l>This item was not in the list.</l><l>2</l></block></script></block></script></block-definition></blocks><variables><variable name="shopping list"><list struct="atomic" id="743"></list></variable><variable name="isDeleted"><bool>true</bool></variable></variables></project><media name="shopping_list_PD_2021" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>