<snapdata remixID="12181719"><project name="U3L1-ShoppingList_Empty to Students" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="U3L1-ShoppingList_Empty to Students"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><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;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="first %&apos;letter&apos; word in: %&apos;list&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s">letter</input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportAnd"><block s="reportAnd"><block s="reportIsA"><block var="list"/><l><option>list</option></l></block><block s="reportNot"><block s="reportListIsEmpty"><block var="list"/></block></block></block><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><block var="letter"/></block></autolambda><list></list></block><block var="list"/></block></block><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><block var="letter"/></block></autolambda><list></list></block><block var="list"/></block><l>[no string that begins with that letter]</l></block><comment w="90" collapsed="false">check if list isn&apos;t empty and if it contains a word with the letter,&#xD;&#xD;if no criteria is met,&#xD;report a failover </comment></block></script></block-definition><block-definition s="index of: %&apos;string&apos; in: %&apos;list&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s">string</input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><block var="string"/></block></autolambda><list></list></block><block var="list"/></block><block s="reportListIndex"><block var="string"/><block var="list"/></block><l>-1</l></block></block></script><scripts><comment x="10" y="115.70000000000005" w="186" collapsed="false">if any string in list equals the desired value, it will return its index, else it will return -1</comment></scripts></block-definition><block-definition s="first e-word in: %&apos;list&apos;" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportOr"><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><l>e</l></block><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><l>E</l></block></block></autolambda><list></list></block><block var="list"/></block><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportOr"><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><l>e</l></block><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><l>E</l></block></block></autolambda><list></list></block><block var="list"/></block><l>[no e words]</l></block></block></script><scripts><comment x="10" y="200.19999999999996" w="303" collapsed="false">report the first e-word in the list, if there&apos;s none, report a failover</comment></scripts></block-definition><block-definition s="%&apos;list&apos; contains: %&apos;string&apos;" type="predicate" category="motion"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">string</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportEquals"><l></l><block var="string"/></block></autolambda><list></list></block><block var="list"/></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block></script><scripts><comment x="10" y="127.2" w="347" collapsed="false">if the list contains a string that equals the desired value, it returns [true].&#xD;else it will return a [false]</comment></scripts></block-definition><block-definition s="convert %&apos;text&apos; to %&apos;type&apos;" type="reporter" category="operators"><comment x="0" y="0" w="115.00000000000003" collapsed="false">Converts text to lowercase/uppercase.&#xD;Only converts the first 1401 Unicode characters since this reporter takes a lot of time because it doesn&apos;t use JavaScript code.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">world</input><input type="%txt" readonly="true">lowercase<options>lowercase&#xD;uppercase</options></input></inputs><script><block s="doIf"><block s="reportOr"><block s="reportNot"><block s="reportOr"><block s="reportEquals"><block var="type"/><l>lowercase</l></block><block s="reportEquals"><block var="type"/><l>uppercase</l></block></block></block><block s="reportOr"><block s="reportEquals"><block var="text"/><l></l></block><block s="reportNot"><block s="reportOr"><block s="reportIsA"><block var="text"/><l><option>text</option></l></block><block s="reportOr"><block s="reportIsA"><block var="text"/><l><option>number</option></l></block><block s="reportIsA"><block var="text"/><l><option>Boolean</option></l></block></block></block></block></block></block><script><block s="doReport"><l></l><comment w="90" collapsed="false">Invalid input.&#xD;Reports nothing.</comment></block></script></block><block s="doDeclareVariables"><list><l>_text</l><l>result</l></list></block><block s="doSetVar"><l>_text</l><block s="reportIfElse"><block s="reportEquals"><block var="type"/><l>lowercase</l></block><custom-block s="convert %txt to %txt"><block var="text"/><l>uppercase</l></custom-block><block var="text"/></block></block><block s="doSetVar"><l>result</l><l></l></block><block s="doWarp"><script><block s="doFor"><l>i</l><l>1</l><block s="reportStringSize"><block var="_text"/></block><script><block s="doDeclareVariables"><list><l>j</l><l>k</l></list></block><block s="doSetVar"><l>j</l><block s="reportIfElse"><block s="reportEquals"><block var="type"/><l>lowercase</l></block><block s="reportUnicode"><block s="reportLetter"><block var="i"/><block var="_text"/></block></block><l>0</l></block><comment w="115" collapsed="false">Lowercase characters codes are greater than uppercase characters.</comment></block><block s="doSetVar"><l>k</l><block s="reportStringSize"><block var="result"/></block></block><block s="doUntil"><block s="reportOr"><block s="reportNot"><block s="reportEquals"><block s="reportStringSize"><block var="result"/></block><block var="k"/></block></block><block s="reportGreaterThan"><block var="j"/><l>1400</l></block></block><script><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="i"/><block var="_text"/></block><block s="reportUnicodeAsLetter"><block var="j"/></block><comment w="105.99999999999997" collapsed="true">() = () predicate cannot differentiate uppercase characters from the lowercase ones.</comment></block><script><block s="doIf"><block s="reportEquals"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportLessThan"><block s="reportUnicode"><block s="reportLetter"><block var="i"/><block var="_text"/></block></block><block var="j"/></block><block s="reportEquals"><block var="type"/><l>uppercase</l></block></block></block><l>1</l><comment w="95.99999999999999" collapsed="false">Lowercase characters codes are different from the uppercase ones.</comment></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportUnicodeAsLetter"><block var="j"/></block></list></block></block></script></block></script></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block><block s="doIf"><block s="reportGreaterThan"><block var="j"/><l>1400</l></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="_text"/></block></list></block></block></script><comment w="94" collapsed="false">If the character doesn&apos;t have lowercase/uppercase forms then returns the character itself.</comment></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition></blocks><stage name="Stage" width="480" height="480" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="flat" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="863"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAYAAAB91L6VAAAAAXNSR0IArs4c6QAAE1NJREFUeF7t1cEJAAAIxDDdf2m3sJ+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByj6gHhneqitAAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="864"></list></costumes><sounds><list struct="atomic" id="865"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="4"><sprite name="Add Item" idx="1" x="0.46783625730950007" y="109.53216374268996" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="870"><costumes><list id="871"><item><ref mediaID="Add Item_cst_shopping-list-button-add-item"></ref></item></list></costumes><sounds><list struct="atomic" id="872"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doStopThis"><l><option>all but this script</option></l><comment w="80" collapsed="false">stop all scripts to prevent overflow</comment></block><block s="doReport"><block s="evaluate"><block s="reifyReporter"><script><block s="doAsk"><l>What would you like to add to your list?</l></block><block s="doIfElse"><custom-block s="empty? %l"><block var="shoppinglist"/></custom-block><script><block s="doSetVar"><l>shoppinglist</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block><block var="shoppinglist"><comment w="104" collapsed="false">add item to list&#xD;&#xD;Convert to lowercase so list isn&apos;t case-sensitive (easier)</comment></block></block></script><script><block s="doAddToList"><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block><block var="shoppinglist"/></block></script></block><block s="doReport"><l>-1</l></block></script><list></list></block><list></list></block></block></script></scripts></sprite><sprite name="Delete Item" idx="4" x="0.46783625730950007" y="-40.4678362573099" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="173.4,31.211999999999993,0,1" pen="tip" id="923"><costumes><list id="924"><item><ref mediaID="Delete Item_cst_shopping-list-button-delete-item"></ref></item></list></costumes><sounds><list struct="atomic" id="925"></list></sounds><blocks></blocks><variables></variables><scripts><script x="16" y="16.00000000000003"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doStopThis"><l><option>all but this script</option></l></block><block s="doReport"><block s="evaluate"><block s="reifyReporter"><script><block s="doIfElse"><custom-block s="empty? %l"><block var="shoppinglist"/></custom-block><script><block s="doSayFor"><l>your list is empty</l><l>2</l></block></script><script><block s="doAsk"><l>what would you like to remove from your list?</l></block><block s="doIfElse"><custom-block s="%l contains: %s"><block var="shoppinglist"/><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block></custom-block><script><block s="doDeclareVariables"><list><l>count</l></list></block><block s="doSetVar"><l>count</l><l>0</l></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="shoppinglist"/><script><block s="doIf"><block s="reportEquals"><block var="item"/><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block></block><script><block s="doChangeVar"><l>count</l><l>1</l></block></script></block></script><comment w="90" collapsed="false">find if there are multiple strings of the same value</comment></custom-block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>1</l><block var="count"/><script><block s="doDeleteFromList"><custom-block s="index of: %s in: %l"><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block><block var="shoppinglist"/></custom-block><block var="shoppinglist"/></block></script><comment w="90" collapsed="false">if there are multiple strings of the same value, delete all of them</comment></custom-block></script><script><block s="doSayFor"><l>table does not contain this item</l><l>2</l><comment w="90" collapsed="false">do nothing because the list does not contain the item.</comment></block></script></block></script><comment w="90" collapsed="false">if list is empty, then return false else pass through</comment></block><block s="doReport"><l>-1</l></block></script><list></list></block><list></list></block></block></script></scripts></sprite><sprite name="Search" idx="3" x="0.46783625730950007" y="9.532163742690102" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="140.25,33.660000000000004,0,1" pen="tip" id="1017"><costumes><list id="1018"><item><ref mediaID="Search_cst_shopping-list-button-search"></ref></item></list></costumes><sounds><list struct="atomic" id="1019"></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="10"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doStopThis"><l><option>all but this script</option></l></block><block s="doReport"><block s="reportIfElse"><custom-block s="empty? %l"><block var="shoppinglist"/></custom-block><block s="evaluate"><block s="reifyReporter"><script><block s="doSayFor"><l>your list is empty</l><l>2</l></block><block s="doReport"><l>-1</l></block></script><list></list><comment w="90" collapsed="false">if list is empty, return end</comment></block><list></list></block><block s="evaluate"><block s="reifyReporter"><script><block s="doAsk"><l>what are you looking for?</l></block><block s="doIfElse"><custom-block s="%l contains: %s"><block var="shoppinglist"/><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block></custom-block><script><block s="doDeclareVariables"><list><l>temp</l></list></block><block s="doSetVar"><l>temp</l><l>0</l></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="shoppinglist"/><script><block s="doIf"><block s="reportEquals"><block var="item"/><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block></block><script><block s="doChangeVar"><l>temp</l><l>1</l></block></script></block></script><comment w="111" collapsed="false">if there are multiple of that string, return # of items with that sring</comment></custom-block><block s="doSayFor"><block s="reportJoinWords"><list><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block><l> is at: </l><custom-block s="index of: %s in: %l"><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block><block var="shoppinglist"/></custom-block></list></block><l>2</l></block><block s="doSayFor"><block s="reportJoinWords"><list><l>you have </l><block var="temp"/><l> </l><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block><l>(s) in your list</l></list></block><l>2</l></block><block s="doSetVar"><l>temp</l><l>0</l></block></script><script><block s="doSayFor"><block s="reportJoinWords"><list><l>list does not contain </l><custom-block s="convert %txt to %txt"><block s="getLastAnswer"></block><l>lowercase</l></custom-block></list></block><l>2</l><comment w="90" collapsed="false">return that&#xD;list does not contain the player&apos;s input, </comment></block></script><comment w="90" collapsed="false">find if list contains string</comment></block><block s="doReport"><l>-1</l></block></script><list></list></block><list></list></block></block></block></script></scripts></sprite><sprite name="Clear List" idx="2" x="0.46783625730950007" y="59.53216374268999" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="0,137.70000000000002,38.55600000000003,1" pen="tip" id="1151"><costumes><list id="1152"><item><ref mediaID="Clear List_cst_shopping-list-button-clear-list"></ref></item></list></costumes><sounds><list struct="atomic" id="1153"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="30"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doStopThis"><l><option>all but this script</option></l><comment w="90" collapsed="false">simple wipe</comment></block><block s="doSetVar"><l>shoppinglist</l><block s="reportNewList"><list></list></block></block><block s="doSayFor"><l>list cleared</l><l>2</l></block></script></scripts></sprite><watcher var="shoppinglist" style="normal" x="5.487804878048337" y="10.731707317073173" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="shoppinglist"><list struct="atomic" id="1172">yellow</list></variable></variables></scene></scenes></project><media name="U3L1-ShoppingList_Empty to Students" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="shopping-list-button-add-item" center-x="53" center-y="15" image="data:image/png;base64,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" mediaID="Add Item_cst_shopping-list-button-add-item"/><costume name="shopping-list-button-delete-item" center-x="53" center-y="15" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGoAAAAeCAYAAADEkotAAAAAAXNSR0IArs4c6QAABvVJREFUaEPtWmlQU1cUPoEQEiCs0gWtBoWwK2IUxK2KdRsdQSxF6wIyjLJYlwoMVGpbqQjFpVRBXBCkBYFByhShU6sdUdkUkMWUQGwQlKkCsgQSAgl07pvJG8AEHihInXf/QLj3nvud7zvn3BPeo8AIw8TERB2k0jXauvqr6Az6ik6hcGqXUMgcaR85r5wBhoaGiKGh2UmlUbmtLS03pGJxKr+h4fFwnFGUTU6bNk3f0MDwSG+PxNvYxBSWfrycYWNjDcasGWBgoA8qKqqkFmNgoK9PBh0dQmhta4NqXg2UlZRKc3/LojC1dYqeNz33EQgEFYrMKhSKPYvtrk6nXVq5eq2al9cuNStL8zFAIrcQZaCtvR0uJyT1x8fFSlVUVUIqqqqihu59RSiOHSeSSqXui4iKoi1dsojoWeS6N8BAZRUX/P18e0SdXT8+KH0QONDkIKFmW88O0NHVDUtMukJDJY4cE8+AoO4JbP3MXdLW2rKrurY2WY4AF8qUxbKla2oVJ6emqVlbWUw8QvJEnIG7+YXg6+0tFvd0z+Dz+U1oAhdqAWdB4TYPT/u9fntIyiYBAwFBwb1/3bxxoaSkxA8XisVimTM1tSrvFRRQmUytSQCThFDNq4VPXZwlL9vb9BsbG0VYRllbWYet3+gcFP79USpJ0eRhwM3NXVRWVOzBrxekY0ItWri48MugQHuXjRsmD0oSCUSfiYUrCZcSSkpKPDGh5s6xbf/laqq2hTmbpGcSMZB35x4EHTokKCwunIkJZWZiKs3Lz1d9z3DKJIJJQml4+gxWOzn1/F3DU6cYGRlpMNRoXVXV1UCnq487OxcuXYaIo99h5wSFfg3eXp7jfub/9YDubglYm5uDZrdYi8JisXRV+6GVXycg7M9uHz+4mZuDr5/vuAj8/P1hsaMDYRvfHj0GRkYfjkqosewZCdBQX9D6sMgocHdzxbauW7cejkdGwGxrq5FMjcu8CcsYZBTQG5NQdU/qYeWyZSAX9+TpnyA9JRlyfs8FPT1dQoDHQvpY9hACAwBIsOXLV+ACyfchoUIOHx5VEBI9k8i6NyoUOhA5yuFwsAxB5S3+/Hloev6v0hKniHQUAOHHI/BsRZkaHBIM2kwmFhhDR0JyCk4gspd06QK2hG1pBTs8PF8hfThihgp1NS0DDgceemWLPDiVYeVyqwftc1q7DvfnWnb2qDPzjQslJ97CwgICDhyAH06dwkhEDgUHh8BGZ5dBxCkSCpGFRlzsWewnEjwzIwNycrKxz8oyCq27dfMmhIcfA9aM6YD+BYMwpKSlYp+JjNFm1HBYEU40du7YhgUYEijpys/ANmOPqtQjG7hQloaWWhINkfARjwfq6jQiPmHkDyx9AzMK/S5vFgYa891/EA7u34v/SRHpCJSicb+sDCupyoRSdM8gO9Hn4mDdmlWEfBqtUMNhjT4Tg92/n6x0wnkaS9ke1EwgLyzYZpI/bt2iTZtqRMip4e6ogqJiOBMdDTGxMcNGsyLgW7ZugxVOTkqjDt2FQqEQjoSGYNmGAuLP27fhWmYW8HjVeCYScmLIImVCIUzyahAQGAyPqiqxDB8Oq9y31xXqRVMzLHFwkNX885iKfY9yWOAgiDhxgrV0sSMhHxV1fegukXdGA1twZBDdNXJnFUX/di9vjHx5mbyffw/Hgea+8PfFMgrN+/r4Qg33EXYPubi64qIiEjPTruL70N3g5+c74p0wUteHyqjH1i2Y3YHdrTKsKJPkFQV1j+ieQz4wmUyIOX0SCyyi5ZhXwwf3zZs7HlaW62BC2XPsE7fv8tzh57ObkFDkoolhIDMrG6IiwovzC/LtMaFMphu7zXWwT0hLTWFMDATyFCIMfBX6jSz714zIiqqqEEwo1FBQDPpbMrOzaaazZhKxQa4ZZwY6u7rA0d6hVyzssOXX13PxB4fzOfPjVqxctet4eBj5qGOcRSBiPjbuYn/ixYulRQ+KOGg9LpSxsfH7mnRG3YWERLrDAmyOHG+JAfTQ0M11U69I2LHwcX19ySChsBJoauapO8XgXGp6OuFW/S358s4e+/RZI3js9JA0v3gRVl5ZHiZ39JXXxexs7U7r6uvvORsTo25uZvrOEjIZHSsoug+HDuzv6RaLYkofPjwwEKOiFzApc23mHJb2yUJ99u6jbt+2haKlqTkZ/XpnMNXU8iE+PkF6PStT1ieV+XBreZeHOqf0leaZH83kGH5gGCcSddlscN6kYjdvnqq5GRv74slgkF3860RJe3s7PKlvgPLyCrh7J0/MrShX1dDUSmx+2RwqEAieK7KtVCj5YpPp0y1pGhqf6+jpOXWLxGZikUirt6eH7AxfQyk6gyFhaus0ymSyvNam5us0MSOX28TtHM7kfy63G9oX4niyAAAAAElFTkSuQmCC" mediaID="Delete Item_cst_shopping-list-button-delete-item"/><costume name="shopping-list-button-search" center-x="53" center-y="15" image="data:image/png;base64,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" mediaID="Search_cst_shopping-list-button-search"/><costume name="shopping-list-button-clear-list" center-x="53" center-y="15" image="data:image/png;base64,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" mediaID="Clear List_cst_shopping-list-button-clear-list"/></media></snapdata>