<snapdata remixID="12254251"><project name="Random Shape Generator" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Random Shape Generator" colormodel="hsl"><notes></notes><palette><category name="1. SciSnap! globals" color="0,170,170,1"/><category name="5. PlotPad for data plots" color="150,175,80,1"/><category name="4. SQL tools" color="255,150,0,1"/><category name="7. GraphPad for graph operations" color="210,160,0,1"/><category name="8. NNPad for neural networks" color="200,100,0,1"/><category name="3. Data tools" color="220,50,0,1"/><category name="0. My own blocks" color="179,120,0,1"/><category name="2. Math tools" color="0,180,50,1"/><category name="6. ImagePad for image operations" color="200,170,50,1"/><category name="Music" color="195,0,204,1"/><category name="MQTT" color="143,0,100,1"/></palette><hidden> reportPipe receiveUserEdit getPosition reportMousePosition doDefineBlock doSetBlockAttribute doDeleteBlock reportBlockAttribute reportThisContext reportJSFunction</hidden><headers></headers><code></code><blocks><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="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="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;ca:en cascada _ vegades _ _ _&#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.47493489583331" 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;ca:en cascada fins _ _ _ _&#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;ca:composa _ _&#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;ca:repeteix _ fins _&#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;ca:repeteix _ mentre _&#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;ca:repeteix _ _ _&#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;ca:per _ = _ incrementant _ fins _ _&#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="reportVariadicLessThan"><list><block var="step"/><l>0</l></list></block><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>test</l><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></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.66666666666669" 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;ca:fes que _ sigui _ al _ _&#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="$flash remove duplicates from %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="209" collapsed="false">Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations>ca:elimina els duplicats de _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportApplyExtension"><l>dta_analyze(list)</l><list><block var="data"/></list></block></block></block></block></script></block-definition><block-definition s="$flash assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations>ca:associació _ _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block><block var="a-list"/></block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><comment x="0" y="0" w="228.57142857142858" collapsed="false">This block carries out the given script for each item of the given list, like the primitive FOR EACH.&#xD;&#xD;What&apos;s different is that it provides the # variable, which will contain the item number in the list of each item in turn, 1 while processing item 1, and so on.</comment><header></header><code></code><translations>ca:_ per cada _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%ca"></input></inputs><script><block s="doForEach"><l>inner item</l><block var="data"/><script><block s="doSetVar"><l>item</l><block var="inner item"/></block><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="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="191.99999999999997" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="$brush set pen %&apos;dimension&apos; to %&apos;value&apos; %&apos;more value&apos;" type="command" category="pen"><comment x="0" y="0" w="265.3333333333333" collapsed="false">This block allows you to set the pen&apos;s color, transparency (on a scale from 0=opaque to 100=invisible), or size (in pixels).  The color can be set in many ways, including RGB values, HSV values, HSL values, fair HSV or HSL (based on a modified spectrum that gives each spectral color equal space and promotes brown to a color), color number, crayon, or X11/W3C color name.&#xD;&#xD;See Appendix A in the Snap! Reference Manual for details.</comment><header></header><code></code><translations>ca:$brush fixa el _ del llapis a _ _&#xD;</translations><inputs><input type="%s" readonly="true"><options>color&#xD;color number&#xD;crayon&#xD;fair hue&#xD;&#126;1&#xD;size&#xD;transparency&#xD;X11/W3C name&#xD;&#126;2&#xD;(3D color spaces)={&#xD;fair HSL={&#xD;fair hue&#xD;fair saturation (HSL)&#xD;fair lightness&#xD;fair HSL vector&#xD;}&#xD;fair HSV={&#xD;fair hue&#xD;fair saturation (HSV)&#xD;fair value (brightness)&#xD;fair HSV vector&#xD;}&#xD;HSL={&#xD;hue&#xD;saturation (HSL)&#xD;lightness&#xD;HSL vector&#xD;}&#xD;HSV={&#xD;hue&#xD;saturation (HSV)&#xD;value (brightness)&#xD;HSV vector&#xD;}&#xD;RGB (0-255)={&#xD;red&#xD;green&#xD;blue&#xD;RGB(A) vector&#xD;RGB(A) hex&#xD;}&#xD;}</options></input><input type="%s"><options>§_ext_clr_numbers</options></input><input type="%mult%s"></input></inputs><script><custom-block s="✐ initialize variables"></custom-block><block s="doRun"><block s="reportAttributeOf"><block s="reportListItem"><block s="reportListIndex"><block var="dimension"/><block var="✐ dimension names"/></block><block var="✐ dimension dispatch"/></block><block s="reportGet"><l><option>self</option></l></block></block><list><block var="value"/><block var="more value"/></list></block></script><scripts><comment x="460.08886718749994" y="4175.599999999967" w="251.33333333333334" collapsed="false">Note to myself:  When the user sets a fair dimension, say fair HSL, variable HSL contains the corresponding &quot;unfair&quot; values, and &quot;raw HSL&quot; contains the numbers the user actually gave.  It has to be this way because in the case of HSV, there is no &quot;HSV&quot; variable; rather, we use the pen&apos;s actual remembered-by-Javascript color&apos;s HSV coordinates.  So our HSL variable has to be analogous to that.  In both cases &quot;raw&quot; means the numbers the user gave us.</comment></scripts></block-definition><block-definition s="mmap %&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="doIf"><block s="reportListIsEmpty"><block s="reportListItem"><l>1</l><block var="lists"/></block></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"/><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="lists"/></block></block><custom-block s="mmap %repRing over %mult%l"><block var="function"/><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportCDR"><l/></block></autolambda><list></list></block><block var="lists"/></block></custom-block></block></block></script></block-definition><block-definition s="✐ update HSL" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>L</l></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block></block><script><block s="doSetVar"><l>✐ HSL</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l>100</l></list></block></autolambda><list></list></block><block s="evaluate"><block s="reifyReporter"><script><block s="doSetVar"><l>L</l><block s="reportDifference"><block var="V"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="V"/><block var="S"/></list></block><l>2</l></block></block></block><block s="doReport"><block s="reportNewList"><list><block var="H"/><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="L"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="L"/><l>1</l></list></block></list></block><l>0</l><block s="reportQuotient"><block s="reportDifference"><block var="V"/><block var="L"/></block><block s="reportVariadicMin"><list><block var="L"/><block s="reportDifference"><l>1</l><block var="L"/></block></list></block></block></block><block var="L"/></list></block></block></script><list><l>H</l><l>S</l><l>V</l></list></block><custom-block s="HSV color"></custom-block></block></block></block><block s="doSetVar"><l>✐ raw HSL</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l>100</l></list></block></autolambda><list></list></block><block s="evaluate"><block s="reifyReporter"><script><block s="doSetVar"><l>L</l><block s="reportDifference"><block var="V"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="V"/><block var="S"/></list></block><l>2</l></block></block></block><block s="doReport"><block s="reportNewList"><list><block var="H"/><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="L"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="L"/><l>1</l></list></block></list></block><l>0</l><block s="reportQuotient"><block s="reportDifference"><block var="V"/><block var="L"/></block><block s="reportVariadicMin"><list><block var="L"/><block s="reportDifference"><l>1</l><block var="L"/></block></list></block></block></block><block var="L"/></list></block></block></script><list><l>H</l><l>S</l><l>V</l></list></block><block s="reportIfElse"><block var="✐ fair?"/><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l>100</l></block></autolambda><list></list></block><block var="✐ raw HSV"/></block><custom-block s="HSV color"></custom-block></block></block></block></block></script></block></script></block-definition><block-definition s="✐ update HSV" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>V</l><l>L</l><l>HSL 0-1</l><l>raw HSL 0-1</l></list></block><block s="doSetVar"><l>HSL 0-1</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l>100</l></block></autolambda><list></list></block><block var="✐ HSL"/></block></block><block s="doSetVar"><l>L</l><block s="reportListItem"><l>3</l><block var="HSL 0-1"/></block></block><block s="doSetVar"><l>V</l><block s="reportVariadicSum"><list><block var="L"/><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="HSL 0-1"/></block><block s="reportVariadicMin"><list><block var="L"/><block s="reportDifference"><l>1</l><block var="L"/></block></list></block></list></block></list></block></block><custom-block s="set pen color to h: %n s: %n v: %n"><block s="reportListItem"><l>1</l><block var="HSL 0-1"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="V"/><l>0</l></list></block><l>0</l><block s="reportDifference"><l>2</l><block s="reportVariadicProduct"><list><l>2</l><block s="reportQuotient"><block var="L"/><block var="V"/></block></list></block></block></block><block var="V"/></custom-block><block s="doIfElse"><block var="✐ fair?"/><script><block s="doSetVar"><l>raw HSL 0-1</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><l>100</l></block></autolambda><list></list></block><block var="✐ raw HSL"/></block></block><block s="doSetVar"><l>L</l><block s="reportListItem"><l>3</l><block var="raw HSL 0-1"/></block></block><block s="doSetVar"><l>V</l><block s="reportVariadicSum"><list><block var="L"/><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="raw HSL 0-1"/></block><block s="reportVariadicMin"><list><block var="L"/><block s="reportDifference"><l>1</l><block var="L"/></block></list></block></list></block></list></block></block><block s="doSetVar"><l>✐ raw HSV</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l>100</l></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="raw HSL 0-1"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="V"/><l>0</l></list></block><l>0</l><block s="reportDifference"><l>2</l><block s="reportVariadicProduct"><list><l>2</l><block s="reportQuotient"><block var="L"/><block var="V"/></block></list></block></block></block><block var="V"/></list></block></block></block></script><script><block s="doSetVar"><l>✐ raw HSV</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l>100</l></list></block></autolambda><list></list></block><custom-block s="HSV color"></custom-block></block></block></script></block></script></block-definition><block-definition s="$brush pen %&apos;dimension&apos;" type="reporter" category="pen"><comment x="0" y="0" w="380.66666666666663" collapsed="false">This block reports the pen size, color, or transparency, in all the same ways that the SET PEN block allows you to set those pen properties. (It will also report the current crayon number, if the pen color was most recently set with SET PEN TO CRAYON.)&#xD;&#xD;See Appendix A of the Snap! Reference Manual for details. </comment><header></header><code></code><translations>ca:$brush _ del llapis&#xD;</translations><inputs><input type="%s" readonly="true"><options>color&#xD;color number&#xD;crayon&#xD;fair hue&#xD;&#126;1&#xD;size&#xD;transparency&#xD;X11/W3C name&#xD;&#126;2&#xD;(3D color spaces)={&#xD;fair HSL={&#xD;fair hue&#xD;fair saturation (HSL)&#xD;fair lightness&#xD;fair HSL vector&#xD;}&#xD;fair HSV={&#xD;fair hue&#xD;fair saturation (HSV)&#xD;fair value (brightness)&#xD;fair HSV vector&#xD;}&#xD;HSL={&#xD;hue&#xD;saturation (HSL)&#xD;lightness&#xD;HSL vector&#xD;}&#xD;HSV={&#xD;hue&#xD;saturation (HSV)&#xD;value (brightness)&#xD;HSV vector&#xD;}&#xD;RGB (0-255)={&#xD;red&#xD;green&#xD;blue&#xD;RGB vector&#xD;RGBA vector&#xD;RGB(A) hex&#xD;}&#xD;}</options></input></inputs><script><custom-block s="✐ initialize variables"></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>size</l></list></block><script><block s="doReport"><block s="getPenAttribute"><l><option>size</option></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>hue</l></list></block><script><block s="doReport"><block s="getPenAttribute"><l><option>hue</option></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>saturation (HSV)</l></list></block><script><block s="doReport"><block s="getPenAttribute"><l><option>saturation</option></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>value (brightness)</l></list></block><script><block s="doReport"><block s="getPenAttribute"><l><option>brightness</option></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>transparency</l></list></block><script><block s="doReport"><block s="getPenAttribute"><l><option>transparency</option></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>RGB vector</l></list></block><script><block s="doReport"><custom-block s="RGB color"></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>RGBA vector</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><custom-block s="RGB color"></custom-block><block s="reportNewList"><list><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><block s="getPenAttribute"><l><option>transparency</option></l></block></block><l>255</l></list></block><l>100</l></block></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>red</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="RGB color"></custom-block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>green</l></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="RGB color"></custom-block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>blue</l></list></block><script><block s="doReport"><block s="reportListItem"><l>3</l><custom-block s="RGB color"></custom-block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>RGB(A) hex</l></list></block><script><block s="doDeclareVariables"><list><l>rgb</l></list></block><block s="doSetVar"><l>rgb</l><custom-block s="RGB color"></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="getPenAttribute"><l><option>transparency</option></l></block><l>0</l></list></block><script><block s="doAddToList"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><block s="getPenAttribute"><l><option>transparency</option></l></block></block><l>255</l></list></block><l>100</l></block><block var="rgb"/></block></script></block><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><custom-block s="✐ hexchar %s"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><l></l><l>16</l></block></block></custom-block><custom-block s="✐ hexchar %s"><block s="reportModulus"><l></l><l>16</l></block></custom-block></list></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRound"><l></l></block></autolambda><list></list></block><block var="rgb"/></block></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>HSV vector</l></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l>100</l><l></l></list></block></autolambda><list></list></block><custom-block s="HSV color"></custom-block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>HSL vector</l></list></block><script><custom-block s="✐ update HSL"></custom-block><block s="doReport"><block var="✐ HSL"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>saturation (HSL)</l></list></block><script><custom-block s="✐ update HSL"></custom-block><block s="doReport"><block s="reportListItem"><l>2</l><block var="✐ HSL"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>lightness</l></list></block><script><custom-block s="✐ update HSL"></custom-block><block s="doReport"><block s="reportListItem"><l>3</l><block var="✐ HSL"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>color number</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>color</l></list></block><block var="✐ color scale"/><l>not set</l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>color</l></list></block><script><block s="doReport"><custom-block s="✐ current pen color"></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair hue</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="✐ raw HSL"/></block></block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="✐ raw HSV"/></block></block></script></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair saturation (HSL)</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><custom-block s="✐ update HSL"></custom-block><block s="doReport"><block s="reportListItem"><l>2</l><block var="✐ raw HSL"/></block></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair lightness</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><custom-block s="✐ update HSL"></custom-block><block s="doReport"><block s="reportListItem"><l>3</l><block var="✐ raw HSL"/></block></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair HSL vector</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><custom-block s="✐ update HSL"></custom-block><block s="doReport"><block var="✐ raw HSL"/></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair saturation (HSV)</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><custom-block s="✐ update HSV"></custom-block></script></block><block s="doReport"><block s="reportListItem"><l>2</l><block var="✐ raw HSV"/></block></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair value (brightness)</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><custom-block s="✐ update HSV"></custom-block></script></block><block s="doReport"><block s="reportListItem"><l>3</l><block var="✐ raw HSV"/></block></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair HSV vector</l></list></block><script><block s="doIf"><block var="✐ fair?"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><custom-block s="✐ update HSV"></custom-block></script></block><block s="doReport"><block var="✐ raw HSV"/></block></script></block><block s="doReport"><l>not set</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>crayon</l></list></block><script><block s="doReport"><custom-block s="✐ crayon number of color %s"><custom-block s="✐ current pen color"></custom-block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>X11/W3C name</l></list></block><script><block s="doReport"><custom-block s="✐ X11 name of color %s"><custom-block s="✐ current pen color"></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="$brush change pen %&apos;dimension&apos; by %&apos;amount&apos;" type="command" category="pen"><comment x="0" y="0" w="334" collapsed="false">Changes any pen property by the specified amount.  Some color scales can&apos;t be adjusted this way unless the color was first SET using that scale.&#xD;Vectors (e.g., RGB color as a list of three numbers) can be incremented&#xD;by a vector as the amount. X11/W3C names can&apos;t be incremented.</comment><header></header><code></code><translations>ca:$brush augmenta _ del llapis en _&#xD;</translations><inputs><input type="%s" readonly="true"><options>color number&#xD;crayon&#xD;fair hue&#xD;&#126;1&#xD;size&#xD;transparency&#xD;&#126;2&#xD;(3D color spaces)={&#xD;fair HSL={&#xD;fair hue&#xD;fair saturation (HSL)&#xD;fair lightness&#xD;fair HSL vector&#xD;}&#xD;fair HSV={&#xD;fair hue&#xD;fair saturation (HSV)&#xD;fair value (brightness)&#xD;fair HSV vector&#xD;}&#xD;HSL={&#xD;hue&#xD;saturation (HSL)&#xD;lightness&#xD;HSL vector&#xD;}&#xD;HSV={&#xD;hue&#xD;saturation (HSV)&#xD;value (brightness)&#xD;HSV vector&#xD;}&#xD;RGB (0-255)={&#xD;red&#xD;green&#xD;blue&#xD;RGB vector&#xD;RGBA vector&#xD;}&#xD;}</options></input><input type="%n"></input></inputs><script><custom-block s="✐ initialize variables"></custom-block><block s="doDeclareVariables"><list><l>old</l></list></block><block s="doSetVar"><l>old</l><custom-block s="$brush pen %s"><block var="dimension"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="old"/><l>not set</l></list></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Dimension </l><block var="dimension"/><l> not set.</l></list></block></custom-block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>crayon</l></list></block><script><custom-block s="✐ set pen to crayon %s %l"><block s="reportVariadicSum"><list><block var="old"/><block var="amount"/></list></block><l/></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>RGB hex</l></list></block><script><custom-block s="error %txt"><l>Sorry, I don&apos;t know how to add in hexadecimal.</l></custom-block></script></block><block s="doIf"><block s="reportIsA"><block var="amount"/><l><option>number</option></l></block><script><custom-block s="$brush set pen %s to %s %mult%s"><block var="dimension"/><block s="reportVariadicSum"><list><block var="old"/><block var="amount"/></list></block><list><l></l></list></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportIsA"><block var="amount"/><l><option>list</option></l></block><script><custom-block s="$brush set pen %s to %s %mult%s"><block var="dimension"/><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block><list><block var="old"/><block var="amount"/></list></custom-block><list><l></l></list></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="error %txt"><block s="reportJoinWords"><list><l>I don&apos;t know how to handle </l><block var="dimension"/></list></block></custom-block></script></block-definition><block-definition s="✐ make integer RGB" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reifyScript"><script><custom-block s="set pen color to r: %n g: %n b: %n"><l></l><l></l><l></l></custom-block></script><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRound"><l></l></block></autolambda><list></list></block><custom-block s="RGB color"></custom-block></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><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="✐ no spaces %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportTextSplit"><block var="text"/><l> </l></block></block></block></script></block-definition><block-definition s="$brush color %&apos;newcolor&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%clr"></input></inputs><script><block s="doReport"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><block s="reportTextSplit"><custom-block s="substring of %txt before %txt"><custom-block s="substring of %txt after %txt"><block s="reportJoinWords"><list><block var="newcolor"/></list></block><l>(</l></custom-block><l>)</l></custom-block><l><option>csv</option></l></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>255</l></list></block></list></block></list></block><l>1</l><l>1</l></block></block></script></block-definition><block-definition s="$brush mix colors %&apos;weighted colors&apos; using %&apos;flavor&apos; rules" type="reporter" category="pen"><comment x="0" y="0" w="304" collapsed="false">combines any number of colors, reporting the result of mixing them, either additively (like colored light beams) or subtractively (like paints).  If the result is too bright (additive) or too dark (subtractive), try the &quot;averaged&quot; versions, which will make the brightness more like the brightnesses of the input colors.</comment><header></header><code></code><translations>ca:$brush barreja colors _ amb criteri _&#xD;</translations><inputs><input type="%mult%obj"></input><input type="%s" readonly="true"><options>additive (light)&#xD;additive (averaged)&#xD;subtractive (ideal)&#xD;subtractive (averaged)&#xD;simulated paint&#xD;paint (sRGB corrected)</options></input></inputs><script><custom-block s="✐ initialize variables"></custom-block><block s="doDeclareVariables"><list><l>new</l><l>max</l><l>colors</l><l>weights</l></list></block><block s="doSetVar"><l>colors</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportListItem"><l>1</l><l/></block><l></l></block></autolambda><list></list></block><block var="weighted colors"/></block></block><block s="doSetVar"><l>weights</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportListItem"><l>2</l><l/></block><l>1</l></block></autolambda><list></list></block><block var="weighted colors"/></block></block><block s="doIf"><custom-block s="text %txt contains %txt"><block var="flavor"/><l>paint</l></custom-block><script><block s="doDeclareVariables"><list><l>rho-r</l><l>rho-g</l><l>rho-b</l><l>waveforms</l></list><comment w="152.66666666666666" collapsed="true">convert RGB to waveform</comment></block><block s="doSetVar"><l>rho-r</l><block s="reportTextSplit"><l>0.021592459, 0.020293111, 0.021807906, 0.023803297, 0.025208132, 0.025414957, 0.024621282, 0.020973705, 0.015752802, 0.01116804, 0.008578277, 0.006581877, 0.005171723, 0.004545205, 0.00414512, 0.004343112, 0.005238155, 0.007251939, 0.012543656, 0.028067132, 0.091342277, 0.484081092, 0.870378324, 0.939513128, 0.960926994, 0.968623763, 0.971263883, 0.972285819, 0.971898742, 0.972691859, 0.971734812, 0.97234454, 0.97150339, 0.970857997, 0.970553866, 0.969671404</l><l>, </l></block></block><block s="doSetVar"><l>rho-g</l><block s="reportTextSplit"><l>0.010542406, 0.010878976, 0.011063512, 0.010736566, 0.011681813, 0.012434719, 0.014986907, 0.020100392, 0.030356263, 0.063388962, 0.173423837, 0.568321142, 0.827791998, 0.916560468, 0.952002841, 0.964096452, 0.970590861, 0.972502542, 0.969148203, 0.955344651, 0.892637233, 0.5003641, 0.116236717, 0.047951391, 0.027873526, 0.020057963, 0.017382174, 0.015429109, 0.01543808, 0.014546826, 0.015197773, 0.014285896, 0.015069123, 0.015506263, 0.015545797, 0.016302839</l><l>, </l></block></block><block s="doSetVar"><l>rho-b</l><block s="reportTextSplit"><l>0.967865135, 0.968827912, 0.967128582, 0.965460137, 0.963110055, 0.962150324, 0.960391811, 0.958925903, 0.953890935, 0.925442998, 0.817997886, 0.42509696, 0.167036273, 0.078894327, 0.043852038, 0.031560435, 0.024170984, 0.020245519, 0.01830814, 0.016588218, 0.01602049, 0.015554808, 0.013384959, 0.012535491, 0.011199484, 0.011318274, 0.011353953, 0.012285073, 0.012663188, 0.012761325, 0.013067426, 0.013369566, 0.013427487, 0.01363574, 0.013893597, 0.014025757</l><l>, </l></block></block><block s="doSetVar"><l>waveforms</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><custom-block s="✐ RGB from color %s"><l></l></custom-block><l>255</l></block></autolambda><list></list></block><block var="colors"/></block></block><block s="doIf"><custom-block s="text %txt contains %txt"><block var="flavor"/><l>sRGB</l></custom-block><script><block s="doSetVar"><l>waveforms</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>0.04045</l></list></block><block s="reportQuotient"><l></l><l>12.92</l></block><block s="reportPower"><block s="reportQuotient"><block s="reportVariadicSum"><list><l></l><l>0.055</l></list></block><l>1.055</l></block><l>2.4</l></block></block></autolambda><list></list></block><l/></block></autolambda><list></list></block><block var="waveforms"/></block></block></script></block><block s="doSetVar"><l>waveforms</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCombine"><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block><list><l/><block s="reportNewList"><list><block var="rho-r"/><block var="rho-g"/><block var="rho-b"/></list></block></list></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></autolambda><list></list></block><block var="waveforms"/></block></block><block s="doDeclareVariables"><list><l>sum of weights</l><l>combined waveform</l></list><comment w="214.00000000000003" collapsed="true">weighted geometric mean of waveforms</comment></block><block s="doSetVar"><l>sum of weights</l><block s="reportCombine"><block var="weights"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>combined waveform</l><block s="reportCombine"><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportPower"><l></l><block s="reportQuotient"><l></l><block var="sum of weights"/></block></block></autolambda><list></list></block><list><block var="waveforms"/><block var="weights"/></list></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doDeclareVariables"><list><l>T</l></list><comment w="90" collapsed="true">back to RGB</comment></block><block s="doSetVar"><l>T</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportTextSplit"><l></l><l><option>word</option></l></block></autolambda><list></list></block><block s="reportNewList"><list><l>5.47813E-05	0.000184722	0.000935514	0.003096265	0.009507714	0.017351596	0.022073595	0.016353161	0.002002407	-0.016177731	-0.033929391	-0.046158952	-0.06381706	-0.083911194	-0.091832385	-0.08258148	-0.052950086	-0.012727224	0.037413037	0.091701812	0.147964686	0.181542886	0.210684154	0.210058081	0.181312094	0.132064724	0.093723787	0.057159281	0.033469657	0.018235464	0.009298756	0.004023687	0.002068643	0.00109484	0.000454231	0.000255925</l><l>-4.65552E-05	-0.000157894	-0.000806935	-0.002707449	-0.008477628	-0.016058258	-0.02200529	-0.020027434	-0.011137726	0.003784809	0.022138944	0.038965605	0.063361718	0.095981626	0.126280277	0.148575844	0.149044804	0.14239936	0.122084916	0.09544734	0.067421931	0.035691251	0.01313278	-0.002384996	-0.009409573	-0.009888983	-0.008379513	-0.005606153	-0.003444663	-0.001921041	-0.000995333	-0.000435322	-0.000224537	-0.000118838	-4.93038E-05	-2.77789E-05</l><l>0.00032594	0.001107914	0.005677477	0.01918448	0.060978641	0.121348231	0.184875618	0.208804428	0.197318551	0.147233899	0.091819086	0.046485543	0.022982618	0.00665036	-0.005816014	-0.012450334	-0.015524259	-0.016712927	-0.01570093	-0.013647887	-0.011317812	-0.008077223	-0.005863171	-0.003943485	-0.002490472	-0.001440876	-0.000852895	-0.000458929	-0.000248389	-0.000129773	-6.41985E-05	-2.71982E-05	-1.38913E-05	-7.35203E-06	-3.05024E-06	-1.71858E-06</l></list></block></block></block><block s="doSetVar"><l>new</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="combined waveform"/><l></l></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></autolambda><list></list></block><block var="T"/></block></block><block s="doIf"><custom-block s="text %txt contains %txt"><block var="flavor"/><l>sRGB</l></custom-block><script><block s="doSetVar"><l>new</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>0.0031308</l></list></block><block s="reportVariadicProduct"><list><l>12.92</l><l></l></list></block><block s="reportDifference"><block s="reportVariadicProduct"><list><l>1.055</l><block s="reportPower"><l></l><block s="reportQuotient"><l>1</l><l>2.4</l></block></block></list></block><l>0.055</l></block></block></autolambda><list></list></block><block var="new"/></block></block></script></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportVariadicProduct"><list><l>255</l><block var="new"/></list></block><list><l></l></list></custom-block></block></script></block><block s="doIfElse"><custom-block s="text %txt contains %txt"><block var="flavor"/><l>add</l></custom-block><script><block s="doSetVar"><l>new</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCombine"><l/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></autolambda><list></list></block><block s="reportListAttribute"><l><option>columns</option></l><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><custom-block s="✐ RGB from color %s"><l></l></custom-block><l></l></list></block></autolambda><list></list></block><list><block var="colors"/><block var="weights"/></list></custom-block></block></block></block><block s="doIf"><custom-block s="text %txt contains %txt"><block var="flavor"/><l>aver</l></custom-block><script><block s="doSetVar"><l>new</l><block s="reportQuotient"><block var="new"/><block s="reportCombine"><block var="weights"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></block></script></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="new"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="max"/><l>255</l></list></block><script><block s="doSetVar"><l>new</l><block s="reportVariadicProduct"><list><block var="new"/><block s="reportQuotient"><l>255</l><block var="max"/></block></list></block></block></script></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block var="new"/><list><l></l></list></custom-block></block></script><script><block s="doSetVar"><l>new</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCombine"><l/><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block></autolambda><list></list></block><block s="reportListAttribute"><l><option>columns</option></l><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><custom-block s="✐ RGB from color %s"><l></l></custom-block><block s="reportQuotient"><l></l><l>255</l></block></list></block></autolambda><list></list></block><list><block var="colors"/><block var="weights"/></list></custom-block></block></block></block><block s="doIfElse"><custom-block s="text %txt contains %txt"><block var="flavor"/><l>aver</l></custom-block><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportVariadicProduct"><list><block s="reportPower"><block var="new"/><block s="reportQuotient"><l>1</l><block s="reportCombine"><block var="weights"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></block><l>255</l></list></block><list><l></l></list></custom-block></block></script><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportVariadicProduct"><list><block var="new"/><l>255</l></list></block><list><l></l></list></custom-block></block></script></block></script></block></script><scripts><script x="512" y="1525.7777777777785"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block s="reportQuotient"><custom-block s="✐ RGB from color %s"><l></l></custom-block><l>255</l></block><block s="reportQuotient"><block s="reportDifference"><l>100</l><custom-block s="$brush %s from color %obj"><l>transparency</l><l/></custom-block></block><l>100</l></block></list></block></autolambda><list></list></block><block var="colors"/></block></script></scripts></block-definition><block-definition s="$brush color from %&apos;kind&apos; %&apos;value&apos; %&apos;more value&apos;" type="reporter" category="pen"><comment x="0" y="0" w="265.3333333333333" collapsed="false">This block reports a color.  The color can be set in many ways, including RGB values, HSV values, HSL values, fair HSV or HSL (based on a modified spectrum that gives each spectral color equal space and promotes brown to a color), color number, crayon, or X11/W3C color name.&#xD;&#xD;See Appendix A in the Snap! Reference Manual for details.</comment><header></header><code></code><translations>ca:$brush color amb _ _ _&#xD;</translations><inputs><input type="%s" readonly="true"><options>color&#xD;color number&#xD;crayon&#xD;fair hue&#xD;X11/W3C name&#xD;&#126;&#xD;fair HSL=fair HSL vector&#xD;fair HSV=fair HSV vector&#xD;HSL=HSL vector&#xD;HSV=HSV vector&#xD;RGB (0-255)=RGB vector&#xD;RGB hex</options></input><input type="%s"><options>§_ext_clr_numbers</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l><l>index</l><l>scale</l><l>transparency</l></list></block><custom-block s="✐ initialize variables"></custom-block><block s="doSetVar"><l>value</l><block s="reportCONS"><block var="value"/><block var="more value"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doSetVar"><l>value</l><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="value"/></block><l>100</l><l>50</l><block s="reportListItem"><l>2</l><block var="value"/></block></list></block></block><block s="doSetVar"><l>kind</l><l>fair HSL vector</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>color number</l></list></block><script><block s="doSetVar"><l>color</l><block s="reportModulus"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="value"/></block><l>3</l></list></block><l>300</l></block></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="color"/><l>42</l></list><comment w="77.33333333333333" collapsed="true">grayscale</comment></block><script><block s="doSetVar"><l>color</l><block s="reportModulus"><block s="reportVariadicProduct"><list><block var="color"/><block s="reportQuotient"><l>15</l><l>14</l></block></list></block><l>300</l></block></block><block s="doSetVar"><l>index</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="color"/><l>15</l></block></block></block><block s="doSetVar"><l>scale</l><block s="reportDifference"><block var="color"/><block s="reportVariadicProduct"><list><block var="index"/><l>15</l></list></block></block></block></script><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="color"/><l>60</l></list><comment w="96.66666666666669" collapsed="true">spread out pink</comment></block><script><block s="doSetVar"><l>color</l><block s="reportVariadicSum"><list><l>45</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="color"/><l>42</l></block><block s="reportQuotient"><l>15</l><l>18</l></block></list></block></list></block></block></script></block><block s="doSetVar"><l>color</l><block s="reportModulus"><block var="color"/><l>300</l></block></block><block s="doSetVar"><l>index</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="color"/><l>15</l></block></block></block><block s="doSetVar"><l>scale</l><block s="reportDifference"><block var="color"/><block s="reportVariadicProduct"><list><block var="index"/><l>15</l></list></block></block></block></script></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><block s="reportRound"><block s="reportVariadicSum"><list><block var="from"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="to"/><block var="from"/></block><block s="reportQuotient"><block var="scale"/><l>15</l></block></list></block></list></block></block><l>255</l></list></block></autolambda><list><l>from</l><l>to</l></list></block><list><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ colors"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>2</l></list></block><block var="✐ colors"/></block></list></custom-block><block s="reportListItem"><l>2</l><block var="value"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>crayon</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="value"/></block><l><option>text</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><l/></block><block s="reportListItem"><l>1</l><block var="value"/></block></list></block></autolambda><list></list></block><block var="✐ crayon colors"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="color"/><l></l></list></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>No such crayon: </l><block s="reportListItem"><l>1</l><block var="value"/></block></list></block></custom-block></script></block></script><script><block s="doSetVar"><l>color</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="value"/></block><l>100</l></block><l>1</l></list></block><block var="✐ crayon colors"/></block></block></script></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><block var="color"/></block><block s="reportListItem"><l>2</l><block var="value"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>X11/W3C name</l></list></block><script><block s="doReport"><custom-block s="✐ color from X11 name %s"><block var="value"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>RGB hex</l></list></block><script><block s="doReport"><custom-block s="✐ color from RGB hex %s"><block var="value"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>color</l></list></block><script><block s="doReplaceInList"><l>1</l><block var="value"/><custom-block s="✐ RGB from color %s"><block s="reportListItem"><l>1</l><block var="value"/></block></custom-block></block><block s="doSetVar"><l>kind</l><l>RGB vector</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>RGB vector</l></list></block><script><block s="doSetVar"><l>color</l><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><custom-block s="✐ extract rgba values %l %upvar"><block var="value"/><l>transparency</l></custom-block><l>0</l></list></block><l>255</l></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="value"/></block><l><option>number</option></l></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="value"/></block></block><l>3</l></list></block></list></block><script><block s="doIf"><block s="reportIsA"><block var="transparency"/><l><option>number</option></l></block><script><block s="doSetVar"><l>transparency</l><block s="reportDifference"><l>100</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="transparency"/><l>100</l></list></block><l>255</l></block></block></block></script></block></script></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block var="color"/><block var="transparency"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>HSV vector</l></list></block><script><block s="doSetVar"><l>color</l><custom-block s="✐ RGB from HSV %l"><custom-block s="✐ extract rgba values %l %upvar"><block var="value"/><l>transparency</l></custom-block></custom-block></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block var="color"/><block var="transparency"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>HSL vector</l></list></block><script><block s="doSetVar"><l>color</l><custom-block s="✐ RGB from HSL %l"><custom-block s="✐ extract rgba values %l %upvar"><block var="value"/><l>transparency</l></custom-block></custom-block></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block var="color"/><block var="transparency"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSV vector</l></list></block><script><block s="doSetVar"><l>color</l><custom-block s="✐ limits %l"><custom-block s="✐ extract rgba values %l %upvar"><block var="value"/><l>transparency</l></custom-block></custom-block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><l>1</l><block var="color"/></block></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block><block var="value"/></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doChangeVar"><l>index</l><l>-1</l></block><block s="doSetVar"><l>scale</l><block s="reportQuotient"><block s="reportDifference"><block var="value"/><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block></block><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ pivots"/></block><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block></block></block></block><block s="doSetVar"><l>index</l><block s="reportVariadicSum"><list><block s="reportListItem"><block var="index"/><block var="✐ HSV brights"/></block><block s="reportVariadicProduct"><list><block var="scale"/><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ HSV brights"/></block><block s="reportListItem"><block var="index"/><block var="✐ HSV brights"/></block></block></list></block></list></block></block><block s="doSetVar"><l>color</l><custom-block s="✐ RGB from HSV %l"><block s="reportVariadicProduct"><list><block s="reportCONS"><l>100</l><block s="reportCDR"><block var="color"/></block></block><block var="index"/></list></block></custom-block></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block var="color"/><block var="transparency"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSL vector</l></list></block><script><block s="doSetVar"><l>color</l><custom-block s="✐ limits %l"><custom-block s="✐ extract rgba values %l %upvar"><block var="value"/><l>transparency</l></custom-block></custom-block></block><block s="doSetVar"><l>value</l><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="color"/></block><l>100</l></block></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block><block var="value"/></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doChangeVar"><l>index</l><l>-1</l></block><block s="doSetVar"><l>scale</l><block s="reportQuotient"><block s="reportDifference"><block var="value"/><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block></block><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ pivots"/></block><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block></block></block></block><block s="doSetVar"><l>index</l><block s="reportVariadicSum"><list><block s="reportListItem"><block var="index"/><block var="✐ HSL brights"/></block><block s="reportVariadicProduct"><list><block var="scale"/><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ HSL brights"/></block><block s="reportListItem"><block var="index"/><block var="✐ HSL brights"/></block></block></list></block></list></block></block><block s="doSetVar"><l>color</l><custom-block s="✐ RGB from HSL %l"><block s="reportVariadicProduct"><list><block s="reportCONS"><l>1</l><block s="reportQuotient"><block s="reportCDR"><block var="color"/></block><block s="reportNewList"><list><l>100</l><l>50</l></list></block></block></block><block var="index"/></list></block></custom-block></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block var="color"/><block var="transparency"/></custom-block></block></script></block></script></block-definition><block-definition s="$brush %&apos;kind&apos; from color %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations>ca:$brush _ del color _&#xD;</translations><inputs><input type="%s" readonly="true"><options>nearest color number&#xD;crayon number&#xD;fair hue&#xD;&#126;1&#xD;transparency&#xD;X11/W3C name&#xD;&#126;2&#xD;(3D color spaces)={&#xD;fair HSL={&#xD;fair hue&#xD;fair saturation (HSL)&#xD;fair lightness&#xD;fair HSL vector&#xD;}&#xD;fair HSV={&#xD;fair hue&#xD;fair saturation (HSV)&#xD;fair value (brightness)&#xD;fair HSV vector&#xD;}&#xD;HSL={&#xD;hue&#xD;saturation (HSL)&#xD;lightness&#xD;HSL vector&#xD;}&#xD;HSV={&#xD;hue&#xD;saturation (HSV)&#xD;value (brightness)&#xD;HSV vector&#xD;}&#xD;RGB (0-255)={&#xD;red&#xD;green&#xD;blue&#xD;RGB vector&#xD;RGBA vector&#xD;RGB hex&#xD;}&#xD;}</options></input><input type="%obj"></input></inputs><script><custom-block s="✐ initialize variables"></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>crayon number</l></list></block><script><block s="doReport"><custom-block s="✐ crayon number of color %s"><block var="color"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>X11/W3C name</l></list></block><script><block s="doReport"><custom-block s="✐ X11 name of color %s"><block var="color"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>nearest color number</l></list></block><script><block s="doReport"><custom-block s="✐ color number near color %s"><block var="color"/></custom-block></block></script></block><block s="doDeclareVariables"><list><l>rgb</l><l>hsl</l><l>hsv</l></list></block><block s="doSetVar"><l>rgb</l><custom-block s="✐ extract rgba values %l %upvar"><block var="color"/><l>transparency</l></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>transparency</l></list></block><script><block s="doReport"><block s="reportDifference"><l>100</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="transparency"/><l>100</l></list></block><l>255</l></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>RGB vector</l></list></block><script><block s="doReport"><block var="rgb"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>RGBA vector</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="rgb"/><block s="reportNewList"><list><block var="transparency"/></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>RGB hex</l></list></block><script><block s="doReport"><block s="reportJoinWords"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="✐ byte to hex %n"><l></l></custom-block></autolambda><list></list></block><block var="rgb"/></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>red</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="rgb"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>green</l></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="rgb"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>blue</l></list></block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="rgb"/></block></block></script></block><block s="doSetVar"><l>hsv</l><custom-block s="✐ HSL/HSV (hsl? %b ) from RGB %s"><l><bool>false</bool></l><block var="rgb"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>HSV vector</l></list></block><script><block s="doReport"><block var="hsv"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>hue</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="hsv"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>saturation (HSV)</l></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="hsv"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>value (brightness)</l></list></block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="hsv"/></block></block></script></block><block s="doSetVar"><l>hsl</l><custom-block s="✐ HSL/HSV (hsl? %b ) from RGB %s"><l><bool>true</bool></l><block var="rgb"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>HSL vector</l></list></block><script><block s="doReport"><block var="hsl"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>saturation (HSL)</l></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="hsl"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>lightness</l></list></block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="hsl"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><custom-block s="text %txt contains %txt"><block var="kind"/><l>HSL</l></custom-block><custom-block s="text %txt contains %txt"><block var="kind"/><l>lightness</l></custom-block></list></block><script><block s="doDeclareVariables"><list><l>fair hue</l><l>fair lightness</l><l>fair saturation (HSL)</l></list><comment w="53.33333333333334" collapsed="true">HSL</comment></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>3</l><block var="hsl"/></block><l>34</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="hsl"/></block><l>1.96</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="hsl"/></block><l>8.82353</l></list></block></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="hsl"/></block><l>6.94444445</l></list></block><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>12.5</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>5.8</l><l>12.5</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doReport"><block var="fair hue"/></block></script></block><block s="doSetVar"><l>fair lightness</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="hsl"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>30.98</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>33.3333333</l><l>30.98</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair lightness</l></list></block><script><block s="doReport"><block var="fair lightness"/></block></script></block><block s="doSetVar"><l>fair saturation (HSL)</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="hsl"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>75.94936</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><l>75.94936</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair saturation (HSL)</l></list></block><script><block s="doReport"><block var="fair saturation (HSL)"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSL vector</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="fair hue"/><block var="fair saturation (HSL)"/><block var="fair lightness"/></list></block></block></script></block></script><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>12.5</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>18</l><l>12.5</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>6.94444445</l><l>8.823529</l></block></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doReport"><block var="fair hue"/></block></script></block><block s="doSetVar"><l>fair lightness</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="hsl"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>30.98</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>33.3333333</l><l>30.98</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>6.94444445</l><l>8.823529</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair lightness</l></list></block><script><block s="doReport"><block var="fair lightness"/></block></script></block><block s="doSetVar"><l>fair saturation (HSL)</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="hsl"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>75.94936</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><l>75.94936</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>6.94444445</l><l>8.823529</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair saturation (HSL)</l></list></block><script><block s="doReport"><block var="fair saturation (HSL)"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSL vector</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="fair hue"/><block var="fair saturation (HSL)"/><block var="fair lightness"/></list></block></block></script></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="hsl"/></block><l>5.5</l></list><comment w="53.33333333333334" collapsed="true">reds</comment></block><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>0</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>5.8</l><l>0</l></block><block s="reportQuotient"><block s="reportDifference"><l>5.5</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="reportDifference"><l>5.5</l><l>0</l></block></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="hsl"/></block><l>8.3</l></list><comment w="90" collapsed="true">early orange</comment></block><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>18</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>25</l><l>18</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="hsl"/></block><l>5.5</l></block><block s="reportDifference"><l>8.3</l><l>5.5</l></block></block></list></block></list></block></block></script><script><block s="doDeclareVariables"><list><l>index</l></list><comment w="144.66666666666666" collapsed="true">center orange and up</comment></block><block s="doSetVar"><l>index</l><l>6</l></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="hsl"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="index"/><block var="✐ HSL brights"/></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="✐ pivots"/></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="✐ pivots"/></block></block><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="hsl"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="✐ HSL brights"/></block></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="index"/><block var="✐ HSL brights"/></block></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="✐ HSL brights"/></block></block></block></block></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doReport"><block var="fair hue"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair saturation (HSL)</l></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="hsl"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair lightness</l></list></block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="hsl"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSL vector</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="fair hue"/><block s="reportListItem"><l>2</l><block var="hsl"/></block><block s="reportListItem"><l>3</l><block var="hsl"/></block></list></block></block></script></block></script><comment w="53.33333333333334" collapsed="true">brown</comment></block></script><script><block s="doDeclareVariables"><list><l>fair hue</l><l>fair saturation (HSV)</l><l>fair value (brightness)</l><l>scaled HSV brights</l></list><comment w="53.33333333333334" collapsed="true">HSV</comment></block><block s="doSetVar"><l>scaled HSV brights</l><block s="reportVariadicProduct"><list><l>100</l><block var="✐ HSV brights"/></list></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>3</l><block var="hsv"/></block><l>67</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="hsv"/></block><l>1.96</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="hsv"/></block><l>8.82353</l></list></block></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="hsv"/></block><l>6.94444445</l></list><comment w="90" collapsed="true">early brown</comment></block><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>12.5</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>5.8</l><l>12.5</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doReport"><block var="fair hue"/></block></script></block><block s="doSetVar"><l>fair value (brightness)</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="hsv"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>54.51</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>66.666666667</l><l>54.51</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair value (brightness)</l></list></block><script><block s="doReport"><block var="fair value (brightness)"/></block></script></block><block s="doSetVar"><l>fair saturation (HSV)</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="hsv"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>86.33</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><l>86.33</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair saturation (HSV)</l></list></block><script><block s="doReport"><block var="fair saturation (HSV)"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSV vector</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="fair hue"/><block var="fair saturation (HSV)"/><block var="fair value (brightness)"/></list></block></block></script></block></script><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>12.5</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>18</l><l>12.5</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>6.94444445</l><l>8.823529</l></block></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doReport"><block var="fair hue"/></block></script></block><block s="doSetVar"><l>fair value (brightness)</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="hsv"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>54.51</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>66.666666667</l><l>54.51</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair value (brightness)</l></list></block><script><block s="doReport"><block var="fair value (brightness)"/></block></script></block><block s="doSetVar"><l>fair saturation (HSV)</l><block s="reportVariadicMin"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="hsv"/></block><block s="reportQuotient"><l>100</l><block s="reportVariadicSum"><list><l>86.33</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><l>86.33</l></block><block s="reportQuotient"><block s="reportDifference"><l>6.94444445</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>6.94444445</l><l>1.96</l></block></block></list></block></list></block></block></list></block><l>100</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair saturation (HSV)</l></list></block><script><block s="doReport"><block var="fair saturation (HSV)"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSV vector</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="fair hue"/><block var="fair saturation (HSV)"/><block var="fair value (brightness)"/></list></block></block></script></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="hsv"/></block><l>5.5</l></list><comment w="53.33333333333334" collapsed="true">reds</comment></block><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>0</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>5.8</l><l>0</l></block><block s="reportQuotient"><block s="reportDifference"><l>5.5</l><block s="reportListItem"><l>1</l><block var="hsv"/></block></block><block s="reportDifference"><l>5.5</l><l>0</l></block></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="hsv"/></block><l>8.3</l></list><comment w="53.33333333333334" collapsed="true">orange</comment></block><script><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><l>18</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>25</l><l>18</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="hsv"/></block><l>5.5</l></block><block s="reportDifference"><l>8.3</l><l>5.5</l></block></block></list></block></list></block></block></script><script><block s="doDeclareVariables"><list><l>index</l></list><comment w="144.66666666666666" collapsed="true">center orange and up</comment></block><block s="doSetVar"><l>index</l><l>6</l></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="hsv"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="index"/><block var="scaled HSV brights"/></block></block></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doSetVar"><l>fair hue</l><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="✐ pivots"/></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="✐ pivots"/></block></block><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="hsv"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="scaled HSV brights"/></block></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="index"/><block var="scaled HSV brights"/></block></block><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportDifference"><block var="index"/><l>1</l></block><block var="scaled HSV brights"/></block></block></block></block></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair hue</l></list></block><script><block s="doReport"><block var="fair hue"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair saturation (HSV)</l></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="hsv"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair value (brightness)</l></list></block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="hsv"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="kind"/><l>fair HSV vector</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="fair hue"/><block s="reportListItem"><l>2</l><block var="hsv"/></block><block s="reportListItem"><l>3</l><block var="hsv"/></block></list></block></block></script></block></script><comment w="53.33333333333334" collapsed="true">brown</comment></block></script><comment w="98.66666666666667" collapsed="true">fair something</comment></block><custom-block s="error %txt"><l>Can&apos;t get here -- please post project and screenshot to forum.</l></custom-block></script></block-definition><block-definition s="✐ current pen color" type="reporter" category="pen"><comment x="0" y="0" w="172.66666666666666" collapsed="false">This block reports the pen color&#xD;(as a color, not as a list of numbers).</comment><header></header><code></code><translations>ca:✐ color de llapis actual&#xD;</translations><inputs></inputs><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><custom-block s="RGB color"></custom-block><list><l></l></list></custom-block></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="%repRing"></input></inputs><script><block s="doReport"><block s="reportCallCC"><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></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="✐ set pen to crayon %&apos;which&apos; %&apos;more&apos;" type="command" category="pen"><comment x="0" y="0" w="297.3333333333333" collapsed="false">Sets the pen color &#xD;to one of 100 preselected colors, like a box of 100 crayons.&#xD;The colors have names that are meant to be evocative.&#xD;They are organized in families, more or less corresponding&#xD;to spectral (rainbow) colors; the input slot has a two-level menu&#xD;in which you can hover over a family name to see the colors&#xD;of that family, each including a crayon number and an RGB value. &#xD;See Appendix A of the Snap! Reference Manual for more details.</comment><header></header><code></code><translations>ca:✐ fixa el llapis de color _ _&#xD;</translations><inputs><input type="%s"><options>grays={&#xD;0 black #000000=0&#xD;1 gray7 #121212=1&#xD;2 gray14 #242424=2&#xD;3 gray21 #363636=3&#xD;4 gray28 #484848=4&#xD;5 gray36 #5c5c5c=5&#xD;6 gray43 #6d6d6d=6&#xD;7 gray50 #7f7f7f=7&#xD;8 gray57 #919191=8&#xD;9 gray64 #a3a3a3=9&#xD;10 gray71 #b5b5b5=10&#xD;11 gray78 #c8c8c8=11&#xD;12 gray85 #dadada=12&#xD;13 gray92 #ececec=13&#xD;14 white #ffffff=14&#xD;}&#xD;pinks={&#xD;15 deep pink #ff1493=15&#xD;16 hot pink #ff69b4=16&#xD;17 bright pink #ff007f=17&#xD;18 raspberry #e30b5d=18&#xD;19 amaranth #e52b50=19&#xD;}&#xD;reds={&#xD;20 red #ff0000=20&#xD;21 burgundy #900020=21&#xD;22 cherry #990000=22&#xD;23 dark candy apple red #a40000=23&#xD;24 sanguine #c00000=24&#xD;25 maroon #800000=25&#xD;26 crimson #c90016=26&#xD;27 Lists #d94d11=27&#xD;28 candy apple red #ff0800=28&#xD;29 coquelicot #ff3800=29&#xD;}&#xD;browns={&#xD;30 saddle brown #8b4513=30&#xD;31 chocolate #7b3f00=31&#xD;32 kobicha #6b4423=32&#xD;33 sepia #704214=33&#xD;34 chestnut #954535=34&#xD;35 dark brown #654321=35&#xD;36 brown #964b00=36&#xD;37 golden brown #996515=37&#xD;38 cinnamon #b87333=38&#xD;39 copper #d2691e=39&#xD;}&#xD;oranges={&#xD;40 orange #ff7f00=40&#xD;41 Pantone orange #ff5800=41&#xD;42 pumpkin #ff7518=42&#xD;43 Variables #f3761d=43&#xD;44 Spanish orange #e86100=44&#xD;45 burnt orange #cc5500=45&#xD;46 sinopia #cb410b=46&#xD;47 ochre #cc7722=47&#xD;48 carrot #ed9121=48&#xD;49 tangerine #f28500=49&#xD;}&#xD;yellows={&#xD;50 yellow #ffff00=50&#xD;51 Control #e6a822=51&#xD;52 dark goldenrod #b8860b=52&#xD;53 goldenrod #daa520=53&#xD;54 saffron #f4c430=54&#xD;55 sandstorm #ecd540=55&#xD;56 mustard #ffdb58=56&#xD;57 gold #ffd700=57&#xD;58 egg yolk #fee33e=58&#xD;59 rubber duck #fbe108=59&#xD;}&#xD;greens={&#xD;60 lime #00ff00=60&#xD;61 apple green #8db600=61&#xD;62 Operators #62c213=62&#xD;63 forest green #228b22=63&#xD;64 green #008000=64&#xD;65 dark green #006400=65&#xD;66 dark pastel green #03c03c=66&#xD;67 emerald #50c878=67&#xD;68 mint #3eb489=68&#xD;69 Pen #00a178=69&#xD;}&#xD;cyans={&#xD;70 aqua (cyan) #00ffff=70&#xD;71 dark cyan #008b8b=71&#xD;72 cerulean #007ba7=72&#xD;73 iceberg #71a6d2=73&#xD;74 Sensing #0494dc=74&#xD;75 teal #008080=75&#xD;76 light sky blue #87cefa=76&#xD;77 deep sky blue #00bfff=77&#xD;78 dodger blue #1e90ff=78&#xD;79 azure #007fff=79&#xD;}&#xD;blues={&#xD;80 blue #0000ff=80&#xD;81 midnight blue #191970=81&#xD;82 dark powder blue #003399=82&#xD;83 cobalt #0047ab=83&#xD;84 denim #1560bd=84&#xD;85 navy blue #000080=85&#xD;86 steel blue #4682b4=86&#xD;87 Motion #4a6cd4=87&#xD;88 cornflower #6495ed=88&#xD;89 slate blue #6a5acd=89&#xD;}&#xD;purples={&#xD;90 violet #8000ff=90&#xD;91 Looks #8f56e3=91&#xD;92 grape #6f2da8=92&#xD;93 indigo #4b0082=93&#xD;94 x11 purple #a020f0=94&#xD;95 magenta (fuchia) #ff00ff=95&#xD;96 dark orchid #9932cc=96&#xD;97 Sound #cf4ad9=97&#xD;98 purple #7f007f=98&#xD;99 dark magenta #8b008b=99&#xD;}</options></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l></list></block><custom-block s="✐ initialize variables"></custom-block><block s="doIfElse"><block s="reportIsA"><block var="which"/><l><option>text</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><l/></block><block var="which"/></list></block></autolambda><list></list></block><block var="✐ crayon colors"/></block></block><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="color"/><l></l></list></block><script><block s="doSetVar"><l>✐ last crayon</l><block s="reportListItem"><l>5</l><block var="color"/></block></block></script><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>No such crayon: </l><block var="which"/></list></block></custom-block></script></block></script><script><block s="doSetVar"><l>color</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="which"/><l>100</l></block><l>1</l></list></block><block var="✐ crayon colors"/></block></block><block s="doSetVar"><l>✐ last crayon</l><block var="which"/></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>crayon</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="set pen color to r: %n g: %n b: %n"><block s="reportListItem"><l>1</l><block var="color"/></block><block s="reportListItem"><l>2</l><block var="color"/></block><block s="reportListItem"><l>3</l><block var="color"/></block></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="set pen color to h: %&apos;h&apos; s: %&apos;s&apos; v: %&apos;v&apos;" type="command" category="pen"><comment x="0" y="0" w="283.3333333333333" collapsed="false">Takes three inputs for hue, saturation, and value (&quot;brightness&quot;)&#xD;values, each between 0 and 1.  0,0,0 is black; 0,0,1 is white.  0.15,1,1 is yellow, and so on.&#xD;&#xD;The SET PEN block in this library lets you set individual hue, saturation, or value without changing the others, lets you provide a list of three HSV color components, and lets you&#xD;use the very much superior HSL (hue, saturation, lightness)&#xD;color space.&#xD;&#xD;See Appendix A of the Snap! Reference Manual for details.</comment><header></header><code></code><translations>pt:altera a cor da caneta para matiz _ , saturação _ e brilho _ (0 a 1)&#xD;ca:fixa el llapis al color h: _ s: _ v: _&#xD;</translations><inputs><input type="%n">0.3</input><input type="%n">0.7</input><input type="%n">0.6</input></inputs><script><block s="doApplyExtension"><l>clr_setpen(clr)</l><list><block s="reportApplyExtension"><l>clr_hsv(h, s, v)</l><list><block var="h"/><block var="s"/><block var="v"/></list></block></list></block></script></block-definition><block-definition s="RGB color" type="reporter" category="pen"><comment x="0" y="0" w="266" collapsed="false">Reports the current pen color as a list of three RGB values in the range 0-255.  The PEN block in this library provides a large set of ways to examine the color.&#xD;&#xD;See Appendix A in the Snap! Reference Manual for details.</comment><header></header><code></code><translations>pt:a cor da caneta em RGB (vermelho, verde e azul; 0 a 255)&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>clr_channel(clr, rgba)</l><list><block s="reportApplyExtension"><l>clr_pen</l><list></list></block><l></l></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>r</l><l>g</l><l>b</l></list></block></block></block></script></block-definition><block-definition s="HSV color" type="reporter" category="pen"><comment x="0" y="0" w="312" collapsed="false">Reports the current pen color as a list of three HSV values&#xD;in the range 0-1.&#xD;&#xD;See Appendix A in the Snap! Reference Manual for details.</comment><header></header><code></code><translations>pt:a cor da caneta em HSV (matiz, saturação e brilho, 0 a 1)&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>clr_hsv(clr)</l><list><block s="reportApplyExtension"><l>clr_pen</l><list></list></block></list></block></block></script></block-definition><block-definition s="✐ hexchar %&apos;nybble&apos;" type="reporter" category="pen"><comment x="0" y="0" w="245.33333333333334" collapsed="false">Takes a value from 0 to 15 and reports&#xD;the corresponding hexadecimal digit.&#xD;&#xD;For internal use of the color library.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="nybble"/><l>10</l></list></block><block var="nybble"/><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><block s="reportUnicode"><l>a</l></block><block s="reportDifference"><block var="nybble"/><l>10</l></block></list></block></block></block></block></script></block-definition><block-definition s="✐ subset %&apos;pred&apos; %&apos;data&apos; %&apos;catchtag&apos; %&apos;result&apos; %&apos;set pen?&apos;" type="predicate" category="pen"><comment x="0" y="0" w="227.99999999999997" collapsed="false">Don&apos;t ask.&#xD;Only for internal use by the SET PEN block.</comment><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input><input type="%cmdRing"></input><input type="%upvar"></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>best match</l></list></block><block s="doSetVar"><l>result</l><block s="reportKeep"><block var="pred"/><block var="data"/></block></block><block s="doIf"><block s="reportListIsEmpty"><block var="result"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="result"/></block></block><script><block s="doSetVar"><l>best match</l><block s="reportListItem"><l>1</l><block var="result"/></block></block><block s="doIfElse"><block var="set pen?"/><script><custom-block s="$brush set pen %s to %s %mult%s"><l>red</l><block s="reportListItem"><l>1</l><block var="best match"/></block><list><l></l></list></custom-block><custom-block s="$brush set pen %s to %s %mult%s"><l>green</l><block s="reportListItem"><l>2</l><block var="best match"/></block><list><l></l></list></custom-block><custom-block s="$brush set pen %s to %s %mult%s"><l>blue</l><block s="reportListItem"><l>3</l><block var="best match"/></block><list><l></l></list></custom-block><block s="doSetVar"><l>✐ last X11</l><block s="reportListItem"><l>4</l><block var="best match"/></block></block><block s="doSetVar"><l>✐ last set as</l><l>X11</l></block><custom-block s="throw %s"><block var="catchtag"/></custom-block></script><script><block s="doSetVar"><l>✐ X11 catch</l><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><block var="best match"/></block></block><custom-block s="throw %s"><block var="catchtag"/></custom-block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="✐ crayon number of color %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>table entry</l></list></block><block s="doSetVar"><l>table entry</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="color"/><l><option>costume</option></l></block><block s="reportVariadicEquals"><list><custom-block s="✐ RGB from color %s"><block var="color"/></custom-block><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><l/></block></list></block></list></block><block s="reportVariadicEquals"><list><block var="color"/><block s="reportListItem"><l>4</l><l/></block></list></block></list></block></autolambda><list></list></block><block var="✐ crayon colors"/></block></block><block s="doIf"><block s="reportIsA"><block var="table entry"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportListItem"><l>5</l><block var="table entry"/></block></block></script></block><block s="doReport"><l>not a crayon</l></block></script></block-definition><block-definition s="✐ RGB from color %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doReport"><block var="color"/></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><block s="reportListItem"><l>1</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="color"/></block></block></block></block></script></block></script></block-definition><block-definition s="✐ X11 name of color %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>table entry</l></list></block><block s="doSetVar"><l>table entry</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="color"/><l><option>costume</option></l></block><block s="reportVariadicEquals"><list><custom-block s="✐ RGB from color %s"><block var="color"/></custom-block><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><l/></block></list></block></list></block><block s="reportVariadicEquals"><list><block var="color"/><block s="reportListItem"><l>4</l><l/></block></list></block></list></block></autolambda><list></list></block><block var="✐ X11"/></block></block><block s="doIf"><block s="reportIsA"><block var="table entry"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block var="table entry"/></block></block></script></block><block s="doReport"><l>not an X11 color</l></block></script></block-definition><block-definition s="✐ make fair hue table" type="command" category="pen"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>hues</l><l>fair hues</l><l>hue table index</l><l>fair hue ceiling</l><l>bottom hue</l></list></block><block s="doSetVar"><l>hues</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block></list></block></block><block s="doFor"><l>fairhue10</l><l>1</l><l>1000</l><script><custom-block s="$brush set pen %s to %s %mult%s"><l>fair hue</l><block s="reportQuotient"><block var="fairhue10"/><l>10</l></block><list><l></l></list></custom-block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicProduct"><list><l>10</l><block s="getPenAttribute"><l><option>hue</option></l></block></list></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="hues"/></block></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicProduct"><list><l>10</l><block s="getPenAttribute"><l><option>hue</option></l></block></list></block><block var="fairhue10"/></list></block><block var="hues"/></block></script></block></script></block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="hues"/></block><l>1000</l></block><block s="doSetVar"><l>hues</l><block s="reportListAttribute"><l><option>columns</option></l><block s="reportCONS"><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="hues"/></block></block><block s="reportListAttribute"><l><option>columns</option></l><block var="hues"/></block></block></block></block><block s="doSetVar"><l>fair hues</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block></list></block></block><block s="doFor"><l>hue10</l><l>1</l><l>1000</l><script><block s="doSetVar"><l>fair hue ceiling</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><l/></block><block var="hue10"/></list></block></autolambda><list></list></block><block var="hues"/></block></block><block s="doSetVar"><l>bottom hue</l><block s="reportListItem"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="fair hue ceiling"/></block><l>1</l></block><block var="hues"/></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="hue10"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>3</l><block var="bottom hue"/></block><block s="reportQuotient"><block s="reportDifference"><block var="hue10"/><block s="reportListItem"><l>2</l><block var="bottom hue"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="fair hue ceiling"/></block><block s="reportListItem"><l>2</l><block var="bottom hue"/></block></block></block></list></block></list></block><block var="fair hues"/></block></script></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l><option>last</option></l><block var="fair hues"/></block><l>1000</l></block><block s="doSetVar"><l>✐ fair hue table</l><block s="reportQuotient"><block var="fair hues"/><l>10</l></block></block></script></block-definition><block-definition s="✐ include transparency %&apos;rgb&apos; %&apos;transparency&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="transparency"/><l><option>number</option></l></block><script><block s="doSetVar"><l>transparency</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><l>100</l><block var="transparency"/></block><l>255</l></list></block><l>100</l></block></block></script><script><block s="doSetVar"><l>transparency</l><l>255</l></block></script></block><block s="doReport"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportConcatenatedLists"><list><block var="rgb"/><block s="reportNewList"><list><block var="transparency"/></list></block></list></block></list></block><l>1</l><l>1</l></block></block></script></block-definition><block-definition s="✐ extract rgba values %&apos;value&apos; %&apos;transparency&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%upvar"></input></inputs><script><block s="doDeclareVariables"><list><l>red</l><l>green</l><l>blue</l></list></block><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>costume</option></l></block><script><block s="doSetVar"><l>value</l><block s="reportListItem"><l>1</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="value"/></block></block></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="value"/></block><l><option>number</option></l></block><script><block s="doSetVar"><l>red</l><block s="reportListItem"><l>1</l><block var="value"/></block></block><block s="doSetVar"><l>green</l><block s="reportListItem"><l>2</l><block var="value"/></block></block><block s="doSetVar"><l>blue</l><block s="reportListItem"><l>3</l><block var="value"/></block></block><block s="doSetVar"><l>transparency</l><block s="reportListItem"><l>4</l><block var="value"/></block></block></script><script><block s="doSetVar"><l>red</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="value"/></block></block></block><block s="doSetVar"><l>green</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="value"/></block></block></block><block s="doSetVar"><l>blue</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>1</l><block var="value"/></block></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="value"/></block></block><l>3</l></list></block><script><block s="doSetVar"><l>transparency</l><block s="reportListItem"><l>4</l><block s="reportListItem"><l>1</l><block var="value"/></block></block></block></script><script><block s="doSetVar"><l>transparency</l><block s="reportListItem"><l>2</l><block var="value"/></block></block></script></block></script></block><block s="doReport"><block s="reportNewList"><list><block var="red"/><block var="green"/><block var="blue"/></list></block></block></script></block-definition><block-definition s="✐ RGB from HSV %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>hue</l><l>saturation</l><l>value</l><l>chroma</l><l>hue prime</l><l>2nd largest component</l><l>red</l><l>green</l><l>blue</l><l>smallest component</l><l>rgb</l></list></block><block s="doSetVar"><l>hue</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="color"/></block><l>100</l></block><l>360</l></list></block><l>100</l></block></block><block s="doSetVar"><l>saturation</l><block s="reportQuotient"><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportListItem"><l>2</l><block var="color"/></block><l>0</l></list></block><l>100</l></list></block><l>100</l></block></block><block s="doSetVar"><l>value</l><block s="reportQuotient"><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportListItem"><l>3</l><block var="color"/></block><l>0</l></list></block><l>100</l></list></block><l>100</l></block></block><block s="doSetVar"><l>chroma</l><block s="reportVariadicProduct"><list><block var="value"/><block var="saturation"/></list></block></block><block s="doSetVar"><l>hue prime</l><block s="reportQuotient"><block var="hue"/><l>60</l></block></block><block s="doSetVar"><l>2nd largest component</l><block s="reportVariadicProduct"><list><block var="chroma"/><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportModulus"><block var="hue prime"/><l>2</l></block><l>1</l></block></block></block></list></block></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>1</l></list></block><script><block s="doSetVar"><l>red</l><block var="chroma"/></block><block s="doSetVar"><l>green</l><block var="2nd largest component"/></block><block s="doSetVar"><l>blue</l><l>0</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>2</l></list></block><script><block s="doSetVar"><l>red</l><block var="2nd largest component"/></block><block s="doSetVar"><l>green</l><block var="chroma"/></block><block s="doSetVar"><l>blue</l><l>0</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>3</l></list></block><script><block s="doSetVar"><l>red</l><l>0</l></block><block s="doSetVar"><l>green</l><block var="chroma"/></block><block s="doSetVar"><l>blue</l><block var="2nd largest component"/></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>4</l></list></block><script><block s="doSetVar"><l>red</l><l>0</l></block><block s="doSetVar"><l>green</l><block var="2nd largest component"/></block><block s="doSetVar"><l>blue</l><block var="chroma"/></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>5</l></list></block><script><block s="doSetVar"><l>red</l><block var="2nd largest component"/></block><block s="doSetVar"><l>green</l><l>0</l></block><block s="doSetVar"><l>blue</l><block var="chroma"/></block></script><script><block s="doSetVar"><l>red</l><block var="chroma"/></block><block s="doSetVar"><l>green</l><l>0</l></block><block s="doSetVar"><l>blue</l><block var="2nd largest component"/></block></script></block></script></block></script></block></script></block></script></block><block s="doSetVar"><l>smallest component</l><block s="reportDifference"><block var="value"/><block var="chroma"/></block></block><block s="doSetVar"><l>rgb</l><block s="reportVariadicSum"><list><block s="reportNewList"><list><block var="red"/><block var="green"/><block var="blue"/></list></block><block var="smallest component"/></list></block></block><block s="doReport"><block s="reportVariadicProduct"><list><block var="rgb"/><l>255</l></list></block></block></script></block-definition><block-definition s="✐ RGB from HSL %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>hue</l><l>saturation</l><l>lightness</l><l>chroma</l><l>hue prime</l><l>2nd largest component</l><l>red</l><l>green</l><l>blue</l><l>smallest component</l><l>rgb</l></list></block><block s="doSetVar"><l>hue</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="color"/></block><l>100</l></block><l>360</l></list></block><l>100</l></block></block><block s="doSetVar"><l>saturation</l><block s="reportQuotient"><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportListItem"><l>2</l><block var="color"/></block><l>0</l></list></block><l>100</l></list></block><l>100</l></block></block><block s="doSetVar"><l>lightness</l><block s="reportQuotient"><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportListItem"><l>3</l><block var="color"/></block><l>0</l></list></block><l>100</l></list></block><l>100</l></block></block><block s="doSetVar"><l>chroma</l><block s="reportVariadicProduct"><list><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><block var="lightness"/></list></block><l>1</l></block></block></block><block var="saturation"/></list></block></block><block s="doSetVar"><l>hue prime</l><block s="reportQuotient"><block var="hue"/><l>60</l></block></block><block s="doSetVar"><l>2nd largest component</l><block s="reportVariadicProduct"><list><block var="chroma"/><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportModulus"><block var="hue prime"/><l>2</l></block><l>1</l></block></block></block></list></block></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>1</l></list></block><script><block s="doSetVar"><l>red</l><block var="chroma"/></block><block s="doSetVar"><l>green</l><block var="2nd largest component"/></block><block s="doSetVar"><l>blue</l><l>0</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>2</l></list></block><script><block s="doSetVar"><l>red</l><block var="2nd largest component"/></block><block s="doSetVar"><l>green</l><block var="chroma"/></block><block s="doSetVar"><l>blue</l><l>0</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>3</l></list></block><script><block s="doSetVar"><l>red</l><l>0</l></block><block s="doSetVar"><l>green</l><block var="chroma"/></block><block s="doSetVar"><l>blue</l><block var="2nd largest component"/></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>4</l></list></block><script><block s="doSetVar"><l>red</l><l>0</l></block><block s="doSetVar"><l>green</l><block var="2nd largest component"/></block><block s="doSetVar"><l>blue</l><block var="chroma"/></block></script><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="hue prime"/><l>5</l></list></block><script><block s="doSetVar"><l>red</l><block var="2nd largest component"/></block><block s="doSetVar"><l>green</l><l>0</l></block><block s="doSetVar"><l>blue</l><block var="chroma"/></block></script><script><block s="doSetVar"><l>red</l><block var="chroma"/></block><block s="doSetVar"><l>green</l><l>0</l></block><block s="doSetVar"><l>blue</l><block var="2nd largest component"/></block></script></block></script></block></script></block></script></block></script></block><block s="doSetVar"><l>smallest component</l><block s="reportDifference"><block var="lightness"/><block s="reportQuotient"><block var="chroma"/><l>2</l></block></block></block><block s="doSetVar"><l>rgb</l><block s="reportVariadicSum"><list><block s="reportNewList"><list><block var="red"/><block var="green"/><block var="blue"/></list></block><block var="smallest component"/></list></block></block><block s="doReport"><block s="reportVariadicProduct"><list><block var="rgb"/><l>255</l></list></block></block></script></block-definition><block-definition s="✐ color number near color %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>hue</l><l>saturation</l><l>lightness</l><l>hsl</l></list></block><block s="doSetVar"><l>color</l><custom-block s="✐ extract rgba values %l %upvar"><block var="color"/><l>transparency</l></custom-block></block><block s="doSetVar"><l>hsl</l><custom-block s="✐ HSL/HSV (hsl? %b ) from RGB %s"><l><bool>true</bool></l><block var="color"/></custom-block></block><block s="doSetVar"><l>hue</l><block s="reportListItem"><l>1</l><block var="hsl"/></block></block><block s="doSetVar"><l>saturation</l><block s="reportListItem"><l>2</l><block var="hsl"/></block></block><block s="doSetVar"><l>lightness</l><block s="reportListItem"><l>3</l><block var="hsl"/></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="saturation"/><l>25</l></list><comment w="107.33333333333333" collapsed="true">Nearly grayscale.</comment></block><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="lightness"/><l>50</l></list></block><script><block s="doReport"><block s="reportQuotient"><block var="lightness"/><l>10</l></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><l>5</l><block s="reportQuotient"><block s="reportDifference"><block var="lightness"/><l>50</l></block><l>5</l></block></list></block><block s="reportQuotient"><l>14</l><l>15</l></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>2</l></list><comment w="70.66666666666667" collapsed="true">Red family</comment></block><script><block s="doIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block var="lightness"/><l>50</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><l>14</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><l>100</l><block var="lightness"/></block><block s="reportDifference"><l>100</l><l>50</l></block></block><l>6</l></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block var="lightness"/><l>16.6</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><l>20</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><l>50</l><block var="lightness"/></block><block s="reportDifference"><l>50</l><l>16.6</l></block></block><l>5</l></list></block></list></block></block></script><script><block s="doReport"><l>25</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>8.7</l></list><comment w="137.33333333333334" collapsed="true">Brown/orange family</comment></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportDifference"><block var="lightness"/><block s="reportDifference"><l>100</l><block var="saturation"/></block></block><l>15</l></list><comment w="61.99999999999999" collapsed="true">brown</comment></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="hue"/><l>0.9</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><l>25</l><block s="reportQuotient"><block s="reportDifference"><l>100</l><block var="saturation"/></block><l>5.75</l></block></list></block></block></script><script><block s="doReport"><block s="reportDifference"><l>35</l><block s="reportQuotient"><block s="reportDifference"><l>100</l><block var="saturation"/></block><l>5.75</l></block></block></block></script></block></script><script><block s="doReport"><custom-block s="✐ color number in %n family, from H: %n S: %n L: %n %br rising hue: %n %br rising min lightness: %n falling min lightness: %n"><l>40</l><block var="hue"/><block var="saturation"/><block var="lightness"/><l>7</l><l>14</l><l>28</l></custom-block></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>17</l></list><comment w="75.33333333333333" collapsed="true">yellow</comment></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportCombine"><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="color"/><block s="reportNewList"><list><l>114</l><l>93</l><l>0</l></list></block></block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><l>45</l></list></block><script><block s="doReport"><l>54.7</l></block></script></block><block s="doReport"><custom-block s="✐ color number in %n family, from H: %n S: %n L: %n %br rising hue: %n %br rising min lightness: %n falling min lightness: %n"><l>50</l><block var="hue"/><block var="saturation"/><block var="lightness"/><l>14</l><l>27.75</l><l>22.3</l></custom-block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>34</l></list><comment w="75.33333333333333" collapsed="true">green</comment></block><script><block s="doReport"><custom-block s="✐ color number in %n family, from H: %n S: %n L: %n %br rising hue: %n %br rising min lightness: %n falling min lightness: %n"><l>60</l><block var="hue"/><block var="saturation"/><block var="lightness"/><l>32</l><l>20</l><l>6</l></custom-block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>52</l></list></block><script><block s="doReport"><custom-block s="✐ color number in %n family, from H: %n S: %n L: %n %br rising hue: %n %br rising min lightness: %n falling min lightness: %n"><l>70</l><block var="hue"/><block var="saturation"/><block var="lightness"/><l>49</l><l>6</l><l>10</l></custom-block></block></script><comment w="75.33333333333333" collapsed="true">cyan</comment></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>67</l></list><comment w="74" collapsed="true">blue</comment></block><script><block s="doReport"><custom-block s="✐ color number in %n family, from H: %n S: %n L: %n %br rising hue: %n %br rising min lightness: %n falling min lightness: %n"><l>80</l><block var="hue"/><block var="saturation"/><block var="lightness"/><l>64</l><l>10</l><l>13</l></custom-block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hue"/><l>83.33333333</l></list><comment w="74" collapsed="true">purple</comment></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="hue"/><l>81.5</l></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="hue"/><l>82</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><l>85</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block var="hue"/><l>66.666</l></block><block s="reportDifference"><l>81.48</l><l>66.666</l></block></block><l>5</l></list></block></list></block></block></script><script><block s="doReport"><l>90</l></block></script></block></script><script><block s="doReport"><block s="reportDifference"><l>95</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><l>50</l><block var="lightness"/></block><block s="reportDifference"><l>50</l><l>17.6</l></block></block><l>5</l></list></block></block></block></script></block></script></block><block s="doReport"><block s="reportVariadicSum"><list><l>95</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><l>50</l><block var="lightness"/></block><l>50</l></block><l>5</l></list></block></list><comment w="90" collapsed="true">left of black</comment></block></block></script></block-definition><block-definition s="✐ HSL/HSV (hsl? %&apos;HSL?&apos; ) from RGB %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%b">false</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>red</l><l>green</l><l>blue</l><l>max</l><l>min</l><l>chroma</l><l>hue</l><l>value</l><l>lightness</l><l>saturation</l></list></block><block s="doSetVar"><l>red</l><block s="reportQuotient"><block s="reportListItem"><l>1</l><block var="color"/></block><l>255</l></block></block><block s="doSetVar"><l>green</l><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="color"/></block><l>255</l></block></block><block s="doSetVar"><l>blue</l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="color"/></block><l>255</l></block></block><block s="doSetVar"><l>color</l><block s="reportNewList"><list><block var="red"/><block var="green"/><block var="blue"/></list></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="color"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="color"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>chroma</l><block s="reportDifference"><block var="max"/><block var="min"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="chroma"/><l>0</l></list></block><script><block s="doSetVar"><l>hue</l><l>0</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="max"/><block var="red"/></list></block><script><block s="doSetVar"><l>hue</l><block s="reportModulus"><block s="reportQuotient"><block s="reportDifference"><block var="green"/><block var="blue"/></block><block var="chroma"/></block><l>6</l></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="max"/><block var="green"/></list></block><script><block s="doSetVar"><l>hue</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportDifference"><block var="blue"/><block var="red"/></block><block var="chroma"/></block><l>2</l></list></block></block></script><script><block s="doSetVar"><l>hue</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportDifference"><block var="red"/><block var="green"/></block><block var="chroma"/></block><l>4</l></list></block></block></script></block></script></block></script></block><block s="doSetVar"><l>hue</l><block s="reportVariadicProduct"><list><l>60</l><block var="hue"/></list></block></block><block s="doIfElse"><block var="HSL?"/><script><block s="doSetVar"><l>lightness</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="max"/><block var="min"/></list></block><l>2</l></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="lightness"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="lightness"/><l>1</l></list></block></list></block><script><block s="doSetVar"><l>saturation</l><l>0</l></block></script><script><block s="doSetVar"><l>saturation</l><block s="reportQuotient"><block var="chroma"/><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><block var="lightness"/></list></block><l>1</l></block></block></block></block></block></script></block><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block var="hue"/><l>3.6</l></block><block s="reportVariadicProduct"><list><l>100</l><block var="saturation"/></list></block><block s="reportVariadicProduct"><list><l>100</l><block var="lightness"/></list></block></list></block></block></script><script><block s="doSetVar"><l>value</l><block var="max"/></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="value"/><l>0</l></list></block><script><block s="doSetVar"><l>saturation</l><l>0</l></block></script><script><block s="doSetVar"><l>saturation</l><block s="reportQuotient"><block var="chroma"/><block var="value"/></block></block></script></block><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block var="hue"/><l>3.6</l></block><block s="reportVariadicProduct"><list><l>100</l><block var="saturation"/></list></block><block s="reportVariadicProduct"><list><l>100</l><block var="value"/></list></block></list></block></block></script></block></script></block-definition><block-definition s="✐ color number in %&apos;family&apos; family, from H: %&apos;hue&apos; S: %&apos;saturation&apos; L: %&apos;lightness&apos; $nl rising hue: %&apos;max hue&apos; $nl rising min lightness: %&apos;rise&apos; falling min lightness: %&apos;fall&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="hue"/><block var="max hue"/></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="lightness"/><block var="rise"/></list></block><script><block s="doReport"><block s="reportDifference"><block var="family"/><l>5</l></block></block></script><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportDifference"><block var="family"/><l>5</l></block><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block var="lightness"/><block var="rise"/></block><block s="reportDifference"><l>50</l><block var="rise"/></block></block><l>5</l></list></block></list></block></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="lightness"/><block var="fall"/></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="family"/><l>5</l></list></block></block></script><script><block s="doReport"><block s="reportDifference"><block s="reportVariadicSum"><list><block var="family"/><l>5</l></list></block><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportDifference"><block var="lightness"/><block var="fall"/></block><block s="reportDifference"><l>50</l><block var="fall"/></block></block><l>5</l></list></block></block></block></script></block></script></block></script></block-definition><block-definition s="✐ byte to hex %&apos;byte&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><custom-block s="✐ nybble to hex %n"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="byte"/><l>16</l></block></block></custom-block><custom-block s="✐ nybble to hex %n"><block s="reportModulus"><block var="byte"/><l>16</l></block></custom-block></list></block></block></script></block-definition><block-definition s="✐ nybble to hex %&apos;nybble&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="nybble"/><l>10</l></list></block><script><block s="doReport"><block var="nybble"/></block></script><script><block s="doReport"><block s="reportUnicodeAsLetter"><block s="reportVariadicSum"><list><block s="reportDifference"><block var="nybble"/><l>10</l></block><block s="reportUnicode"><l>a</l></block></list></block></block></block></script></block></script></block-definition><block-definition s="✐ limits %&apos;color&apos;" type="reporter" category="pen"><comment x="0" y="0" w="90" collapsed="false">hue mod 100, other components cut off at [0, 100]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCONS"><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="color"/></block><l>100</l></block><block s="reportVariadicMin"><list><block s="reportVariadicMax"><list><block s="reportCDR"><block var="color"/></block><l>0</l></list></block><l>100</l></list></block></block></block></script></block-definition><block-definition s="✐ set pen to fair hue %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l><l>old value temp</l><l>index</l><l>scale</l><l>oldHSV</l><l>newHSV</l><l>trans</l></list></block><block s="doSetVar"><l>oldHSV</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l>100</l><l></l></list></block></autolambda><list></list></block><custom-block s="HSV color"></custom-block></block></block><block s="doSetVar"><l>trans</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><block s="reportListItem"><l>1</l><block var="more"/></block><block s="getPenAttribute"><l><option>transparency</option></l></block></block></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportNewList"><list><l>HSL</l><l>HSV</l></list></block><block var="✐ last set as"/></block></block><script><block s="doSetVar"><l>✐ raw HSV</l><block s="reportNewList"><list><l>0</l><l>100</l><l>100</l></list></block></block><block s="doSetVar"><l>oldHSV</l><block s="reportNewList"><list><l>0</l><l>100</l><l>100</l></list></block></block></script></block><block s="doSetVar"><l>value</l><block s="reportModulus"><block var="value"/><l>100</l></block></block><block s="doSetVar"><l>color</l><block s="reportVariadicProduct"><list><block var="value"/><l>3.6</l></list></block></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block><block var="value"/></list></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doChangeVar"><l>index</l><l>-1</l></block><block s="doSetVar"><l>scale</l><block s="reportQuotient"><block s="reportDifference"><block var="value"/><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block></block><block s="reportDifference"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ pivots"/></block><block s="reportListItem"><block var="index"/><block var="✐ pivots"/></block></block></block></block><block s="doRun"><block s="reifyScript"><script><custom-block s="set pen color to r: %n g: %n b: %n"><l></l><l></l><l></l></custom-block></script><list></list></block><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><block s="reportRound"><block s="reportVariadicSum"><list><block var="from"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="to"/><block var="from"/></block><block var="scale"/></list></block></list></block></block><l>255</l></list></block></autolambda><list><l>from</l><l>to</l></list></block><list><block s="reportListItem"><block var="index"/><block var="✐ brights"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ brights"/></block></list></custom-block></block><block s="doSetVar"><l>newHSV</l><custom-block s="HSV color"></custom-block></block><block s="doIfElse"><block var="✐ fair?"/><script><custom-block s="set pen color to h: %n s: %n v: %n"><block s="reportListItem"><l>1</l><block var="newHSV"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="newHSV"/></block><block s="reportListItem"><l>2</l><block var="✐ raw HSV"/></block></list></block><l>100</l></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="newHSV"/></block><block s="reportListItem"><l>3</l><block var="✐ raw HSV"/></block></list></block><l>100</l></block></custom-block><block s="doSetVar"><l>✐ raw HSV</l><block s="reportNewList"><list><block var="value"/><block s="reportListItem"><l>2</l><block var="✐ raw HSV"/></block><block s="reportListItem"><l>3</l><block var="✐ raw HSV"/></block></list></block></block></script><script><custom-block s="set pen color to h: %n s: %n v: %n"><block s="reportListItem"><l>1</l><block var="newHSV"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="newHSV"/></block><block s="reportListItem"><l>2</l><block var="oldHSV"/></block></list></block><l>100</l></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="newHSV"/></block><block s="reportListItem"><l>3</l><block var="oldHSV"/></block></list></block><l>100</l></block></custom-block><block s="doSetVar"><l>✐ raw HSV</l><block s="reportNewList"><list><block var="value"/><block s="reportListItem"><l>2</l><block var="oldHSV"/></block><block s="reportListItem"><l>3</l><block var="oldHSV"/></block></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><custom-block s="✐ update HSL"></custom-block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block></script><script><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block></script></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="setPenColorDimension"><l><option>transparency</option></l><block var="trans"/></block><custom-block s="✐ make integer RGB"></custom-block></script></block-definition><block-definition s="✐ set pen to color number %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>colors</l><l>brights</l><l>index</l><l>scale</l><l>oldHSV</l><l>newHSV</l><l>color</l><l>pivots</l><l>old value temp</l></list></block><block s="doSetVar"><l>✐ color scale</l><block s="reportModulus"><block var="value"/><l>100</l></block></block><block s="doSetVar"><l>color</l><block s="reportVariadicProduct"><list><block var="value"/><l>3</l></list></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="color"/><l>42</l></list></block></block><script><block s="doSetVar"><l>color</l><block s="reportModulus"><block s="reportVariadicProduct"><list><block var="color"/><block s="reportQuotient"><l>15</l><l>14</l></block></list></block><l>300</l></block></block><block s="doSetVar"><l>index</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="color"/><l>15</l></block></block></block><block s="doSetVar"><l>scale</l><block s="reportDifference"><block var="color"/><block s="reportVariadicProduct"><list><block var="index"/><l>15</l></list></block></block></block></script><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="color"/><l>60</l></list><comment w="96.66666666666669" collapsed="true">spread out pink</comment></block><script><block s="doSetVar"><l>color</l><block s="reportVariadicSum"><list><l>45</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="color"/><l>42</l></block><block s="reportQuotient"><l>15</l><l>18</l></block></list></block></list></block></block></script></block><block s="doSetVar"><l>color</l><block s="reportModulus"><block var="color"/><l>300</l></block></block><block s="doSetVar"><l>index</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="color"/><l>15</l></block></block></block><block s="doSetVar"><l>scale</l><block s="reportDifference"><block var="color"/><block s="reportVariadicProduct"><list><block var="index"/><l>15</l></list></block></block></block></script><comment w="77.33333333333333" collapsed="true">grayscale</comment></block><block s="doRun"><block s="reifyScript"><script><custom-block s="set pen color to r: %n g: %n b: %n"><l></l><l></l><l></l></custom-block></script><list></list></block><custom-block s="mmap %repRing over %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><block s="reportRound"><block s="reportVariadicSum"><list><block var="from"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="to"/><block var="from"/></block><block s="reportQuotient"><block var="scale"/><l>15</l></block></list></block></list></block></block><l>255</l></list></block></autolambda><list><l>from</l><l>to</l></list></block><list><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="✐ colors"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>2</l></list></block><block var="✐ colors"/></block></list></custom-block></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>color number</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>✐ raw HSL</l><block s="reportNewList"><list><block s="getPenAttribute"><l><option>hue</option></l></block><l>100</l><l>50</l></list></block></block><block s="doSetVar"><l>✐ raw HSV</l><block s="reportNewList"><list><block s="getPenAttribute"><l><option>hue</option></l></block><l>100</l><l>100</l></list></block></block></script></block-definition><block-definition s="✐ set pen to RGB hex %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>value</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>number</option></l></block><l></l><block s="reportVariadicSum"><list><l>10</l><block s="reportDifference"><block s="reportUnicode"><l></l></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>a</l></list></block><block s="reportUnicode"><l>A</l></block><block s="reportUnicode"><l>a</l></block></block></block></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="value"/><l><option>letter</option></l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>3</l></list></block><script><block s="doSetVar"><l>value</l><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l></l></list></block></autolambda><list></list></block><block var="value"/></block></block></block></script></block><block s="doIf"><block s="reportIsA"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><l></l><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><l></l><l>15</l></list></block></list></block></autolambda><list></list></block><block var="value"/></block><l><option>number</option></l></block><script><custom-block s="error %txt"><l>Badly formed hex color.</l></custom-block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>8</l></list></block><script><custom-block s="error %txt"><l>More than eight hex digits.</l></custom-block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>6</l></list></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportDifference"><l>100</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>7</l><block var="value"/></block></list></block><block s="reportListItem"><l>8</l><block var="value"/></block></list></block><l>100</l></list></block><l>255</l></block></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>6</l></block><block var="value"/></block></block></script></block><block s="doRepeat"><block s="reportDifference"><l>6</l><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block></block><script><block s="doSetVar"><l>value</l><block s="reportCONS"><l>0</l><block var="value"/></block></block></script></block><custom-block s="set pen color to r: %n g: %n b: %n"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>1</l><block var="value"/></block></list></block><block s="reportListItem"><l>2</l><block var="value"/></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>3</l><block var="value"/></block></list></block><block s="reportListItem"><l>4</l><block var="value"/></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>5</l><block var="value"/></block></list></block><block s="reportListItem"><l>6</l><block var="value"/></block></list></block></custom-block><block s="doSetVar"><l>✐ last set as</l><l>RGB</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to X11 name %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>value</l><custom-block s="✐ no spaces %s"><block var="value"/></custom-block></block><custom-block s="use case-independent comparisons %b"><l><bool>true</bool></l></custom-block><custom-block s="catch %upvar %cs"><l>x11w3c</l><script><block s="doIf"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="value"/><block s="reportListItem"><l>4</l><l/></block></list></block></autolambda><list></list></block><block var="✐ X11"/><block var="x11w3c"/><l>exact matches</l><l><bool>true</bool></l></custom-block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>?? multiple exact matches for </l><block var="value"/></list></block></custom-block></script></block><block s="doIf"><block s="reportNot"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><l/></block><custom-block s="substring of %txt before %txt"><block s="reportListItem"><l>4</l><l/></block><block var="value"/></custom-block></list></block></block></autolambda><list></list></block><block var="✐ X11"/><block var="x11w3c"/><l>partial matches</l><l><bool>true</bool></l></custom-block></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Color name </l><block var="value"/><l> not found.</l></list></block></custom-block></script></block><block s="doIfElse"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="substring of %txt before %txt"><block s="reportListItem"><l>4</l><block var="match"/></block><block var="value"/></custom-block><l></l></list></block></autolambda><list><l>match</l></list></block><block var="partial matches"/><block var="x11w3c"/><l>head matches</l><l><bool>true</bool></l></custom-block><script><block s="doIfElse"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><block s="reportLetter"><l><option>last</option></l><block s="reportListItem"><l>4</l><l/></block></block><l><option>number</option></l></block></block></autolambda><list></list></block><block var="head matches"/><block var="x11w3c"/><l>non-numbered matches</l><l><bool>true</bool></l></custom-block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="value"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="non-numbered matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="value"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="head matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script></block></script><script><block s="doIfElse"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><block s="reportLetter"><l><option>last</option></l><block s="reportListItem"><l>4</l><l/></block></block><l><option>number</option></l></block></block></autolambda><list></list></block><block var="partial matches"/><block var="x11w3c"/><l>non-numbered matches</l><l><bool>true</bool></l></custom-block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="value"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="non-numbered matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="value"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="partial matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script></block></script></block></script><comment w="294.6666666666667" collapsed="true">SUBSET throws here if it handles a unique match</comment></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ color from X11 name %&apos;value&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l><l>index</l><l>scale</l><l>transparency</l></list></block><block s="doSetVar"><l>color</l><custom-block s="✐ no spaces %s"><block s="reportListItem"><l>1</l><block var="value"/></block></custom-block></block><custom-block s="use case-independent comparisons %b"><l><bool>true</bool></l></custom-block><custom-block s="catch %upvar %cs"><l>x11w3c</l><script><block s="doIf"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block var="color"/><block s="reportListItem"><l>4</l><l/></block></list></block></autolambda><list></list></block><block var="✐ X11"/><block var="x11w3c"/><l>exact matches</l><l><bool>false</bool></l></custom-block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>?? multiple exact matches for </l><block var="color"/></list></block></custom-block></script></block><block s="doIf"><block s="reportNot"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><l/></block><custom-block s="substring of %txt before %txt"><block s="reportListItem"><l>4</l><l/></block><block var="color"/></custom-block></list></block></block></autolambda><list></list></block><block var="✐ X11"/><block var="x11w3c"/><l>partial matches</l><l><bool>false</bool></l></custom-block></block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Color name </l><block var="color"/><l> not found.</l></list></block></custom-block></script></block><block s="doIfElse"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="substring of %txt before %txt"><block s="reportListItem"><l>4</l><block var="match"/></block><block var="color"/></custom-block><l></l></list></block></autolambda><list><l>match</l></list></block><block var="partial matches"/><block var="x11w3c"/><l>head matches</l><l><bool>false</bool></l></custom-block><script><block s="doIfElse"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><block s="reportLetter"><l><option>last</option></l><block s="reportListItem"><l>4</l><l/></block></block><l><option>number</option></l></block></block></autolambda><list></list></block><block var="head matches"/><block var="x11w3c"/><l>non-numbered matches</l><l><bool>false</bool></l></custom-block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="color"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="non-numbered matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="color"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="head matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script></block></script><script><block s="doIfElse"><custom-block s="✐ subset %predRing %l %cmdRing %upvar %b"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><block s="reportLetter"><l><option>last</option></l><block s="reportListItem"><l>4</l><l/></block></block><l><option>number</option></l></block></block></autolambda><list></list></block><block var="partial matches"/><block var="x11w3c"/><l>non-numbered matches</l><l><bool>false</bool></l></custom-block><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="color"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="non-numbered matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Multiple partial matches for </l><block var="color"/><l>: </l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>4</l><l/></block></autolambda><list></list></block><block var="partial matches"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> , </l><l></l></list></block></autolambda><list></list></block></block></list></block></custom-block></script></block></script></block></script><comment w="294.6666666666667" collapsed="true">SUBSET throws here if it handles a unique match</comment></custom-block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block var="✐ X11 catch"/><block s="reportListItem"><l>2</l><block var="value"/></block></custom-block></block></script></block-definition><block-definition s="✐ color from RGB hex %&apos;value&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l><l>index</l><l>scale</l><l>transparency</l></list></block><block s="doSetVar"><l>transparency</l><block s="reportListItem"><l>2</l><block var="value"/></block></block><block s="doSetVar"><l>value</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>number</option></l></block><l></l><block s="reportVariadicSum"><list><l>10</l><block s="reportDifference"><block s="reportUnicode"><l></l></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>a</l></list></block><block s="reportUnicode"><l>A</l></block><block s="reportUnicode"><l>a</l></block></block></block></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block s="reportListItem"><l>1</l><block var="value"/></block><l><option>letter</option></l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>3</l></list></block><script><block s="doSetVar"><l>value</l><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l></l></list></block></autolambda><list></list></block><block var="value"/></block></block></block></script></block><block s="doIf"><block s="reportIsA"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><l></l><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><l></l><l>15</l></list></block></list></block></autolambda><list></list></block><block var="value"/></block><l><option>number</option></l></block><script><custom-block s="error %txt"><l>Badly formed hex color.</l></custom-block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>8</l></list></block><script><custom-block s="error %txt"><l>More than eight hex digits.</l></custom-block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>6</l></list></block><script><block s="doSetVar"><l>transparency</l><block s="reportDifference"><l>100</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>7</l><block var="value"/></block></list></block><block s="reportListItem"><l>8</l><block var="value"/></block></list></block><l>100</l></list></block><l>255</l></block></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>6</l></block><block var="value"/></block></block></script></block><block s="doRepeat"><block s="reportDifference"><l>6</l><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block></block><script><block s="doSetVar"><l>value</l><block s="reportCONS"><l>0</l><block var="value"/></block></block></script></block><block s="doReport"><custom-block s="✐ include transparency %l %s"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>1</l><block var="value"/></block></list></block><block s="reportListItem"><l>2</l><block var="value"/></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>3</l><block var="value"/></block></list></block><block s="reportListItem"><l>4</l><block var="value"/></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>16</l><block s="reportListItem"><l>5</l><block var="value"/></block></list></block><block s="reportListItem"><l>6</l><block var="value"/></block></list></block></list></block><block var="transparency"/></custom-block></block></script></block-definition><block-definition s="✐ CMYK from RGB %&apos;rgb&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>cmy</l><l>k</l></list></block><block s="doSetVar"><l>rgb</l><block s="reportQuotient"><block var="rgb"/><l>255</l></block></block><block s="doSetVar"><l>k</l><block s="reportCombine"><block var="rgb"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>cmy</l><block s="reportQuotient"><block s="reportDifference"><block var="k"/><block var="rgb"/></block><block var="k"/></block></block><block s="doReport"><block s="reportConcatenatedLists"><list><block var="cmy"/><block s="reportNewList"><list><block s="reportDifference"><l>1</l><block var="k"/></block></list></block></list></block></block></script></block-definition><block-definition s="✐ RGB from CMYK %&apos;cmyk&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doSetVar"><l>cmyk</l><block s="reportDifference"><l>1</l><block var="cmyk"/></block></block><block s="doReport"><block s="reportVariadicProduct"><list><l>255</l><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><block var="cmyk"/></block><block s="reportListItem"><l>4</l><block var="cmyk"/></block></list></block></list></block></block></script></block-definition><block-definition s="lighten %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportVariadicSum"><list><l>50</l><custom-block s="$brush %s from color %obj"><l>RGB vector</l><block var="color"/></custom-block></list></block><list><l></l></list></custom-block></block></script></block-definition><block-definition s="darken %&apos;color&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportDifference"><custom-block s="$brush %s from color %obj"><l>RGB vector</l><block var="color"/></custom-block><l>100</l></block><list><l></l></list></custom-block></block></script><scripts><script x="191" y="20.28888888888893"><block s="reportCombine"><l/><block s="reifyReporter"><script></script><list></list></block></block></script><script x="101.9951171875" y="193.40000000000003"><block s="reportNewList"><list><l>-75</l><l>-75</l><l>-100</l></list></block></script><script x="39.666666666666664" y="116.77777777777779"><block s="reportCombine"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l>0</l></list></block></autolambda><list></list></block><custom-block s="$brush %s from color %obj"><l>RGB vector</l><block var="color"/></custom-block></block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></script></scripts></block-definition><block-definition s="$brush color %&apos;color&apos; at weight %&apos;weight&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="color"/><block var="weight"/></list></block></block></script></block-definition><block-definition s="plot %&apos;waveform&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="up"></block><block s="gotoXY"><l>-72</l><block s="reportDifference"><block s="reportVariadicProduct"><list><l>100</l><block s="reportListItem"><l>1</l><block var="waveform"/></block></list></block><l>50</l></block></block><block s="down"></block><block s="doFor"><l>i</l><l>1</l><l>36</l><script><block s="gotoXY"><block s="reportVariadicSum"><list><l>-72</l><block s="reportVariadicProduct"><list><l>4</l><block var="i"/></list></block></list></block><block s="reportDifference"><block s="reportVariadicProduct"><list><l>200</l><block s="reportListItem"><block var="i"/><block var="waveform"/></block></list></block><l>50</l></block></block></script></block></script><scripts><script x="426" y="41.55555555555558"><block s="clear"></block><block s="up"></block><block s="gotoXY"><l>-72</l><l>-50</l></block><block s="down"></block><block s="gotoXY"><l>72</l><l>-50</l></block><block s="up"></block><block s="gotoXY"><l>-72</l><l>-50</l></block><block s="down"></block><block s="gotoXY"><l>-72</l><l>150</l></block></script></scripts></block-definition><block-definition s="$brush color from %&apos;color&apos; and %&apos;dimension&apos; %&apos;value&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%s" readonly="true"><options>fair hue&#xD;transparency&#xD;&#126;2&#xD;(3D color spaces)={&#xD;fair HSL={&#xD;fair hue&#xD;fair saturation (HSL)&#xD;fair lightness&#xD;}&#xD;fair HSV={&#xD;fair hue&#xD;fair saturation (HSV)&#xD;fair value (brightness)&#xD;}&#xD;HSL={&#xD;hue&#xD;saturation (HSL)&#xD;lightness&#xD;}&#xD;HSV={&#xD;hue&#xD;saturation (HSV)&#xD;value (brightness)&#xD;}&#xD;RGB (0-255)={&#xD;red&#xD;green&#xD;blue&#xD;}&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>old</l><l>transp</l></list></block><block s="doSetVar"><l>transp</l><custom-block s="$brush %s from color %obj"><l>transparency</l><block var="color"/></custom-block></block><block s="doIfElse"><block s="reportListContainsItem"><block s="reportNewList"><list><l>color number</l><l>hue</l><l>fair hue</l></list></block><block var="dimension"/></block><script><block s="doSetVar"><l>value</l><block s="reportModulus"><block var="value"/><l>100</l></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block s="reportNewList"><list><l>red</l><l>green</l><l>blue</l></list></block><block var="dimension"/></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="value"/><l>0</l></list></block><script><block s="doSetVar"><l>value</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="value"/><l>255</l></list></block><script><block s="doSetVar"><l>value</l><l>255</l></block></script></block></script><script><block s="doIf"><block s="reportListContainsItem"><block s="reportNewList"><list><l>saturation (HSV)</l><l>saturation (HSL)</l><l>value (brightness)</l><l>lightness</l><l>fair saturation (HSV)</l><l>fair saturation (HSL)</l><l>fair value (brightness)</l><l>fair lightness</l><l>transparency</l></list></block><block var="dimension"/></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="value"/><l>0</l></list></block><script><block s="doSetVar"><l>value</l><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="value"/><l>100</l></list></block><script><block s="doSetVar"><l>value</l><l>100</l></block></script></block></script><comment w="164.66666666666666" collapsed="false">We have to do this last test to rule out the vector options, which aren&apos;t numbers; their code makes three recursive calls and we catch range issues then.</comment></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>hue</l></list></block><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>HSV vector</l><block s="reportCONS"><block var="value"/><block s="reportCDR"><custom-block s="$brush %s from color %obj"><l>HSV vector</l><block var="color"/></custom-block></block></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>saturation (HSV)</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>HSV vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>HSV vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>value (brightness)</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>HSV vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>HSV vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>saturation (HSL)</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>HSL vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>HSL vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>lightness</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>HSL vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>HSL vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>transparency</l></list></block><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>color</l><block var="color"/><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>red</l></list></block><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportCONS"><block var="value"/><block s="reportCDR"><custom-block s="$brush %s from color %obj"><l>RGBA vector</l><block var="color"/></custom-block></block></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>green</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>RGBA vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>blue</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>RGBA vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>RGB vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair hue</l></list></block><script><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>fair HSV vector</l><block s="reportCONS"><block var="value"/><block s="reportCDR"><custom-block s="$brush %s from color %obj"><l>fair HSV vector</l><block var="color"/></custom-block></block></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair saturation (HSV)</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>fair HSV vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>fair HSV vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair value (brightness)</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>fair HSV vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>fair HSV vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair saturation (HSL)</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>fair HSL vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>fair HSL vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimension"/><l>fair lightness</l></list></block><script><block s="doSetVar"><l>old</l><custom-block s="$brush %s from color %obj"><l>fair HSL vector</l><block var="color"/></custom-block></block><block s="doReport"><custom-block s="$brush color from %s %s %mult%s"><l>fair HSL vector</l><block s="reportListItem"><l>1</l><block var="old"/></block><list><l></l></list></custom-block></block></script></block></script></block-definition><block-definition s="✐ set pen to lightness %&apos;value&apos; %&apos;more value&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><custom-block s="✐ update HSL"></custom-block><block s="doIf"><block var="✐ fair?"/><script><block s="doSetVar"><l>✐ HSL</l><block var="✐ raw HSL"/></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block><block s="doReplaceInList"><l>3</l><block var="✐ HSL"/><block var="value"/></block><block s="doReplaceInList"><l>3</l><block var="✐ raw HSL"/><block var="value"/></block><custom-block s="✐ update HSV"></custom-block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more value"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more value"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to color %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%l"></input></inputs><script><block s="doApplyExtension"><l>clr_setpen(clr)</l><list><block s="reportApplyExtension"><l>clr_rgba(r, g, b, a)</l><block s="reportQuotient"><block s="reportListItem"><l>1</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="value"/></block></block><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l><l>255</l></list></block></block></block></list></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>RGB</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="✐ set pen size to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="setSize"><block var="value"/></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen transparency to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="setPenColorDimension"><l><option>transparency</option></l><block var="value"/></block></script></block-definition><block-definition s="✐ set pen red to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>old rgb</l></list></block><block s="doSetVar"><l>old rgb</l><custom-block s="RGB color"></custom-block></block><custom-block s="set pen color to r: %n g: %n b: %n"><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>255</l></custom-block><block s="reportListItem"><l>2</l><block var="old rgb"/></block><block s="reportListItem"><l>3</l><block var="old rgb"/></block></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>RGB</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="✐ set pen green to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>old rgb</l></list></block><block s="doSetVar"><l>old rgb</l><custom-block s="RGB color"></custom-block></block><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>255</l></custom-block></block><custom-block s="set pen color to r: %n g: %n b: %n"><block s="reportListItem"><l>1</l><block var="old rgb"/></block><block var="value"/><block s="reportListItem"><l>3</l><block var="old rgb"/></block></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>RGB</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="✐ set pen blue to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>old rgb</l></list></block><block s="doSetVar"><l>old rgb</l><custom-block s="RGB color"></custom-block></block><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>255</l></custom-block></block><custom-block s="set pen color to r: %n g: %n b: %n"><block s="reportListItem"><l>1</l><block var="old rgb"/></block><block s="reportListItem"><l>2</l><block var="old rgb"/></block><block var="value"/></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>RGB</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="✐ constrain %&apos;value&apos; %&apos;low&apos; %&apos;high&apos;" type="reporter" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="value"/><block var="low"/></list></block><script><block s="doReport"><block var="low"/></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="value"/><block var="high"/></list></block><script><block s="doReport"><block var="high"/></block></script></block><block s="doReport"><block s="reportVariadicSum"><list><block var="value"/><l>0</l></list></block></block></script></block-definition><block-definition s="✐ set pen to RGB vector %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block><script><block s="doSetVar"><l>value</l><block s="reportCONS"><block var="value"/><block var="more"/></block></block><block s="doSetVar"><l>more</l><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>4</l><block var="value"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportDifference"><l>100</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>4</l><block var="value"/></block><l>100</l></list></block><l>255</l></block></block></block></script></block><block s="doSetVar"><l>value</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="✐ constrain %s %s %s"><l></l><l>0</l><l>255</l></custom-block></autolambda><list></list></block><block var="value"/></block></block><block s="doRun"><block s="reifyScript"><script><custom-block s="set pen color to r: %n g: %n b: %n"><l></l><l></l><l></l></custom-block></script><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><block var="value"/></block></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>RGB</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block-definition><block-definition s="✐ set pen to HSL saturation %&apos;value&apos; %&apos;more value&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><custom-block s="✐ update HSL"></custom-block><block s="doIf"><block var="✐ fair?"/><script><block s="doSetVar"><l>✐ HSL</l><block var="✐ raw HSL"/></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block><block s="doReplaceInList"><l>2</l><block var="✐ HSL"/><block var="value"/></block><block s="doReplaceInList"><l>2</l><block var="✐ raw HSL"/><block var="value"/></block><custom-block s="✐ update HSV"></custom-block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more value"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more value"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to HSL vector %&apos;value&apos; %&apos;more value&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block><script><block s="doSetVar"><l>value</l><block s="reportNewList"><list><block var="value"/><block s="reportListItem"><l>1</l><block var="more value"/></block><block s="reportListItem"><l>2</l><block var="more value"/></block></list></block></block><block s="doSetVar"><l>more value</l><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="more value"/></block></list></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block><block s="doSetVar"><l>✐ HSL</l><block s="reportCONS"><block s="reportModulus"><block s="reportListItem"><l>1</l><block var="value"/></block><l>100</l></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="✐ constrain %s %s %s"><l></l><l>0</l><l>100</l></custom-block></autolambda><list></list></block><block s="reportCDR"><block var="value"/></block></block></block></block><block s="doSetVar"><l>✐ raw HSL</l><block var="✐ HSL"/></block><custom-block s="✐ update HSV"></custom-block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more value"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more value"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen saturation (HSV) to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="setPenColorDimension"><l><option>saturation</option></l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><block s="doReplaceInList"><l>2</l><block var="✐ raw HSV"/><block s="getPenAttribute"><l><option>saturation</option></l></block></block><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen value (brightness) to %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="setPenColorDimension"><l><option>brightness</option></l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><block s="doReplaceInList"><l>3</l><block var="✐ raw HSV"/><block s="getPenAttribute"><l><option>brightness</option></l></block></block><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to HSV vector %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block><script><block s="doSetVar"><l>value</l><block s="reportNewList"><list><block var="value"/><block s="reportListItem"><l>1</l><block var="more"/></block><block s="reportListItem"><l>2</l><block var="more"/></block></list></block></block><block s="doSetVar"><l>more value</l><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="more"/></block></list></block></block></script></block><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>✐ raw HSV</l><block s="reportListItem"><block s="reportNumbers"><l>1</l><l>3</l></block><block var="value"/></block></block><block s="doRun"><block s="reifyScript"><script><custom-block s="set pen color to h: %n s: %n v: %n"><l></l><l></l><l></l></custom-block></script><list></list></block><block s="reportQuotient"><block var="✐ raw HSV"/><l>100</l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>3</l></list></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>4</l><block var="value"/></block></block></script></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to hue %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportNewList"><list><l>HSL</l><l>HSV</l></list></block><block var="✐ last set as"/></block></block><script><block s="doSetVar"><l>✐ raw HSV</l><block s="reportNewList"><list><l>0</l><l>100</l><l>100</l></list></block></block></script></block><block s="setPenColorDimension"><l><option>hue</option></l><block s="reportModulus"><block var="value"/><l>100</l></block></block><block s="doIf"><block var="✐ fair?"><comment w="118" collapsed="true">if USED TO BE fair</comment></block><script><custom-block s="set pen color to h: %n s: %n v: %n"><block s="reportQuotient"><block s="reportModulus"><block var="value"/><l>100</l></block><l>100</l></block><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="✐ raw HSV"/></block><l>100</l></block><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="✐ raw HSV"/></block><l>100</l></block></custom-block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><custom-block s="✐ update HSL"></custom-block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block></script><script><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block></script></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block><custom-block s="✐ make integer RGB"></custom-block></script></block-definition><block-definition s="✐ set pen to fair saturation (HSL) %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l><l>newHSV</l><l>index</l><l>scale</l><l>oldHSV</l></list></block><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block></block><script><custom-block s="✐ update HSL"></custom-block></script></block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block><block s="doReplaceInList"><l>2</l><block var="✐ HSL"/><block s="reportIfElse"><block var="✐ fair?"/><block s="reportVariadicProduct"><list><block var="value"/><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="✐ HSL"/></block><block s="reportListItem"><l>2</l><block var="✐ raw HSL"/></block></block></list></block><block var="value"/></block></block><block s="doReplaceInList"><l>2</l><block var="✐ raw HSL"/><block var="value"/></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="✐ update HSV"></custom-block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to fair lightness %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>color</l><l>newHSV</l><l>index</l><l>scale</l><l>oldHSV</l></list></block><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block></block><script><custom-block s="✐ update HSL"></custom-block></script></block><block s="doSetVar"><l>✐ last set as</l><l>HSL</l></block><block s="doReplaceInList"><l>3</l><block var="✐ HSL"/><block s="reportIfElse"><block var="✐ fair?"/><block s="reportVariadicProduct"><list><block var="value"/><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="✐ HSL"/></block><block s="reportListItem"><l>3</l><block var="✐ raw HSL"/></block></block></list></block><block var="value"/></block></block><block s="doReplaceInList"><l>3</l><block var="✐ raw HSL"/><block var="value"/></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="✐ update HSV"></custom-block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to fair HSL vector %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block><script><block s="doSetVar"><l>value</l><block s="reportNewList"><list><block var="value"/><block s="reportListItem"><l>1</l><block var="more"/></block><block s="reportListItem"><l>2</l><block var="more"/></block></list></block></block><block s="doSetVar"><l>more</l><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="more"/></block></list></block></block></script></block><custom-block s="✐ set pen to fair saturation (HSL) %s %l"><block s="reportListItem"><l>2</l><block var="value"/></block><block s="reportNewList"><list></list></block></custom-block><custom-block s="✐ set pen to fair lightness %s %l"><block s="reportListItem"><l>3</l><block var="value"/></block><block s="reportNewList"><list></list></block></custom-block><custom-block s="✐ set pen to fair hue %s %l"><block s="reportListItem"><l>1</l><block var="value"/></block><block s="reportNewList"><list></list></block></custom-block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>3</l></list></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>4</l><block var="value"/></block></block></script><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block></script></block-definition><block-definition s="✐ set pen to fair saturation (HSV) %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><custom-block s="✐ update HSV"></custom-block></script></block><block s="setPenColorDimension"><l><option>saturation</option></l><block s="reportIfElse"><block var="✐ fair?"/><block s="reportVariadicProduct"><list><block var="value"/><block s="reportQuotient"><block s="getPenAttribute"><l><option>saturation</option></l></block><block s="reportListItem"><l>2</l><block var="✐ raw HSV"/></block></block></list></block><block var="value"/></block></block><block s="doReplaceInList"><l>2</l><block var="✐ raw HSV"/><block var="value"/></block><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to fair value (brightness) %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doSetVar"><l>value</l><custom-block s="✐ constrain %s %s %s"><block var="value"/><l>0</l><l>100</l></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="✐ last set as"/><l>HSL</l></list></block><script><custom-block s="✐ update HSV"></custom-block></script></block><block s="setPenColorDimension"><l><option>brightness</option></l><block s="reportIfElse"><block var="✐ fair?"/><block s="reportVariadicProduct"><list><block var="value"/><block s="reportQuotient"><block s="getPenAttribute"><l><option>brightness</option></l></block><block s="reportListItem"><l>3</l><block var="✐ raw HSV"/></block></block></list></block><block var="value"/></block></block><block s="doReplaceInList"><l>3</l><block var="✐ raw HSV"/><block var="value"/></block><block s="doSetVar"><l>✐ last set as</l><l>HSV</l></block><block s="doSetVar"><l>✐ fair?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="✐ make integer RGB"></custom-block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="✐ set pen to fair HSV vector %&apos;value&apos; %&apos;more&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block><script><block s="doSetVar"><l>value</l><block s="reportNewList"><list><block var="value"/><block s="reportListItem"><l>1</l><block var="more"/></block><block s="reportListItem"><l>2</l><block var="more"/></block></list></block></block><block s="doSetVar"><l>more</l><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="more"/></block></list></block></block></script></block><custom-block s="✐ set pen to fair saturation (HSV) %s %l"><block s="reportListItem"><l>2</l><block var="value"/></block><block s="reportNewList"><list></list></block></custom-block><custom-block s="✐ set pen to fair value (brightness) %s %l"><block s="reportListItem"><l>3</l><block var="value"/></block><block s="reportNewList"><list></list></block></custom-block><custom-block s="✐ set pen to fair hue %s %l"><block s="reportListItem"><l>1</l><block var="value"/></block><block s="reportNewList"><list></list></block></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>3</l></list></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>4</l><block var="value"/></block></block></script></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="more"/></block><l><option>number</option></l></block><script><block s="setPenColorDimension"><l><option>transparency</option></l><block s="reportListItem"><l>1</l><block var="more"/></block></block></script></block></script></block-definition><block-definition s="set pen to crayon %&apos;which&apos;" type="command" category="pen"><comment x="0" y="0" w="297.3333333333333" collapsed="false">Sets the pen color &#xD;to one of 100 preselected colors, like a box of 100 crayons.&#xD;The colors have names that are meant to be evocative.&#xD;They are organized in families, more or less corresponding&#xD;to spectral (rainbow) colors; the input slot has a two-level menu&#xD;in which you can hover over a family name to see the colors&#xD;of that family, each including a crayon number and an RGB value. &#xD;See Appendix A of the Snap! Reference Manual for more details.</comment><header></header><code></code><translations>ca:fixa el llapis de color _&#xD;</translations><inputs><input type="%s"><options>grays={&#xD;0 black #000000=0&#xD;1 gray7 #121212=1&#xD;2 gray14 #242424=2&#xD;3 gray21 #363636=3&#xD;4 gray28 #484848=4&#xD;5 gray36 #5c5c5c=5&#xD;6 gray43 #6d6d6d=6&#xD;7 gray50 #7f7f7f=7&#xD;8 gray57 #919191=8&#xD;9 gray64 #a3a3a3=9&#xD;10 gray71 #b5b5b5=10&#xD;11 gray78 #c8c8c8=11&#xD;12 gray85 #dadada=12&#xD;13 gray92 #ececec=13&#xD;14 white #ffffff=14&#xD;}&#xD;pinks={&#xD;15 deep pink #ff1493=15&#xD;16 hot pink #ff69b4=16&#xD;17 bright pink #ff007f=17&#xD;18 raspberry #e30b5d=18&#xD;19 amaranth #e52b50=19&#xD;}&#xD;reds={&#xD;20 red #ff0000=20&#xD;21 burgundy #900020=21&#xD;22 cherry #990000=22&#xD;23 dark candy apple red #a40000=23&#xD;24 sanguine #c00000=24&#xD;25 maroon #800000=25&#xD;26 crimson #c90016=26&#xD;27 Lists #d94d11=27&#xD;28 candy apple red #ff0800=28&#xD;29 coquelicot #ff3800=29&#xD;}&#xD;browns={&#xD;30 saddle brown #8b4513=30&#xD;31 chocolate #7b3f00=31&#xD;32 kobicha #6b4423=32&#xD;33 sepia #704214=33&#xD;34 chestnut #954535=34&#xD;35 dark brown #654321=35&#xD;36 brown #964b00=36&#xD;37 golden brown #996515=37&#xD;38 cinnamon #b87333=38&#xD;39 copper #d2691e=39&#xD;}&#xD;oranges={&#xD;40 orange #ff7f00=40&#xD;41 Pantone orange #ff5800=41&#xD;42 pumpkin #ff7518=42&#xD;43 Variables #f3761d=43&#xD;44 Spanish orange #e86100=44&#xD;45 burnt orange #cc5500=45&#xD;46 sinopia #cb410b=46&#xD;47 ochre #cc7722=47&#xD;48 carrot #ed9121=48&#xD;49 tangerine #f28500=49&#xD;}&#xD;yellows={&#xD;50 yellow #ffff00=50&#xD;51 Control #e6a822=51&#xD;52 dark goldenrod #b8860b=52&#xD;53 goldenrod #daa520=53&#xD;54 saffron #f4c430=54&#xD;55 sandstorm #ecd540=55&#xD;56 mustard #ffdb58=56&#xD;57 gold #ffd700=57&#xD;58 egg yolk #fee33e=58&#xD;59 rubber duck #fbe108=59&#xD;}&#xD;greens={&#xD;60 lime #00ff00=60&#xD;61 apple green #8db600=61&#xD;62 Operators #62c213=62&#xD;63 forest green #228b22=63&#xD;64 green #008000=64&#xD;65 dark green #006400=65&#xD;66 dark pastel green #03c03c=66&#xD;67 emerald #50c878=67&#xD;68 mint #3eb489=68&#xD;69 Pen #00a178=69&#xD;}&#xD;cyans={&#xD;70 aqua (cyan) #00ffff=70&#xD;71 dark cyan #008b8b=71&#xD;72 cerulean #007ba7=72&#xD;73 iceberg #71a6d2=73&#xD;74 Sensing #0494dc=74&#xD;75 teal #008080=75&#xD;76 light sky blue #87cefa=76&#xD;77 deep sky blue #00bfff=77&#xD;78 dodger blue #1e90ff=78&#xD;79 azure #007fff=79&#xD;}&#xD;blues={&#xD;80 blue #0000ff=80&#xD;81 midnight blue #191970=81&#xD;82 dark powder blue #003399=82&#xD;83 cobalt #0047ab=83&#xD;84 denim #1560bd=84&#xD;85 navy blue #000080=85&#xD;86 steel blue #4682b4=86&#xD;87 Motion #4a6cd4=87&#xD;88 cornflower #6495ed=88&#xD;89 slate blue #6a5acd=89&#xD;}&#xD;purples={&#xD;90 violet #8000ff=90&#xD;91 Looks #8f56e3=91&#xD;92 grape #6f2da8=92&#xD;93 indigo #4b0082=93&#xD;94 x11 purple #a020f0=94&#xD;95 magenta (fuchia) #ff00ff=95&#xD;96 dark orchid #9932cc=96&#xD;97 Sound #cf4ad9=97&#xD;98 purple #7f007f=98&#xD;99 dark magenta #8b008b=99&#xD;}</options></input></inputs><script><block s="doDeclareVariables"><list><l>color</l></list></block><custom-block s="✐ initialize variables"></custom-block><block s="doIfElse"><block s="reportIsA"><block var="which"/><l><option>text</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><l/></block><block var="which"/></list></block></autolambda><list></list></block><block var="✐ crayon colors"/></block></block><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="color"/><l></l></list></block><script><block s="doSetVar"><l>✐ last crayon</l><block s="reportListItem"><l>5</l><block var="color"/></block></block></script><script><custom-block s="error %txt"><block s="reportJoinWords"><list><l>No such crayon: </l><block var="which"/></list></block></custom-block></script></block></script><script><block s="doSetVar"><l>color</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="which"/><l>100</l></block><l>1</l></list></block><block var="✐ crayon colors"/></block></block><block s="doSetVar"><l>✐ last crayon</l><block s="reportModulus"><block var="which"/><l>100</l></block></block></script></block><custom-block s="set pen color to r: %n g: %n b: %n"><block s="reportListItem"><l>1</l><block var="color"/></block><block s="reportListItem"><l>2</l><block var="color"/></block><block s="reportListItem"><l>3</l><block var="color"/></block></custom-block></script></block-definition><block-definition s="set pen color to r: %&apos;r&apos; g: %&apos;g&apos; b: %&apos;b&apos;" type="command" category="pen" helper="true"><comment x="0" y="0" w="220.66666666666663" collapsed="false">Takes three inputs for red, green, and blue&#xD;values, each between 0 and 255.  0,0,0 is black; 255,255,255 is white.  255,255,0 is yellow, and so on.&#xD;&#xD;The SET PEN block in this library lets you set individual red, green, or blue without changing the others, lets you provide a list of three RGB color components, and lets you provide a six-digit hexadecimal number, the form in which RGB color values are usually found online.&#xD;&#xD;See Appendix A of the Snap! Reference Manual for details.</comment><header></header><code></code><translations>pt:altera a cor da tua caneta para vermelho _ , verde _ e azul _ (0 a 255)&#xD;</translations><inputs><input type="%n">255</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doApplyExtension"><l>clr_setpen(clr)</l><list><block s="reportApplyExtension"><l>clr_rgba(r, g, b, a)</l><list><block var="r"/><block var="g"/><block var="b"/><block s="reportApplyExtension"><l>clr_channel(clr, rgba)</l><list><block s="reportApplyExtension"><l>clr_pen</l><list></list></block><l>a</l></list></block></list></block></list></block></script></block-definition><block-definition s="✐ initialize variables" type="command" category="pen" helper="true"><comment x="0" y="0" w="180" collapsed="false">Creates a bunch of global variables.&#xD;For internal use by Color library.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><custom-block s="does var %s exist?"><l>✐ last crayon</l></custom-block><script><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="create %s var %mult%txt"><l>global</l><list><l>✐ last crayon</l><l>✐ crayon colors</l></list></custom-block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="✐ crayon colors"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>✐ crayon colors</l><block s="reportTextSplit"><custom-block s="multiline %mlt"><l>0,0,0,black,0&#xD;18,18,18,gray7,1&#xD;36,36,36,gray14,2&#xD;54,54,54,gray21,3&#xD;72,72,72,gray28,4&#xD;92,92,92,gray36,5&#xD;109,109,109,gray43,6&#xD;127,127,127,gray50,7&#xD;145,145,145,gray57,8&#xD;163,163,163,gray64,9&#xD;181,181,181,gray71,10&#xD;200,200,200,gray78,11&#xD;218,218,218,gray85,12&#xD;236,236,236,gray92,13&#xD;255,255,255,white,14&#xD;255,20,147,deep pink,15&#xD;255,105,180,hot pink,16&#xD;255,0,127,bright pink,17&#xD;227,11,93,raspberry,18&#xD;229,43,80,amaranth,19&#xD;255,0,0,red,20&#xD;144,0,32,burgundy,21&#xD;153,0,0,cherry,22&#xD;164,0,0,dark candy apple red,23&#xD;192,0,0,sanguine,24&#xD;128,0,0,maroon,25&#xD;201,0,22,crimson,26&#xD;217,77,17,Lists,27&#xD;255,8,0,candy apple red,28&#xD;255,56,0,coquelicot,29&#xD;139,69,19,saddle brown,30&#xD;123,63,0,chocolate,31&#xD;107,68,35,kobicha,32&#xD;112,66,20,sepia,33&#xD;149,69,53,chestnut,34&#xD;101,67,33,dark brown,35&#xD;150,75,0,brown,36&#xD;153,101,21,golden brown,37&#xD;184,115,51,cinnamon,38&#xD;210,105,30,copper,39&#xD;255,127,0,orange,40&#xD;255,88,0,Pantone orange,41&#xD;255,117,24,pumpkin,42&#xD;243,118,29,Variables,43&#xD;232,97,0,Spanish orange,44&#xD;204,85,0,burnt orange,45&#xD;203,65,11,sinopia,46&#xD;204,119,34,ochre,47&#xD;237,145,33,carrot,48&#xD;242,133,0,tangerine,49&#xD;255,255,0,yellow,50&#xD;230,168,34,Control,51&#xD;184,134,11,dark goldenrod,52&#xD;218,165,32,goldenrod,53&#xD;244,196,48,saffron,54&#xD;236,213,64,sandstorm,55&#xD;255,219,88,mustard,56&#xD;255,215,0,gold,57&#xD;254,227,62,egg yolk,58&#xD;251,225,8,rubber duck,59&#xD;0,255,0,lime,60&#xD;141,182,0,apple green,61&#xD;98,194,19,Operators,62&#xD;34,139,34,forest green,63&#xD;0,128,0,green,64&#xD;0,100,0,dark green,65&#xD;3,192,60,dark pastel green,66&#xD;80,200,120,emerald,67&#xD;62,180,137,mint,68&#xD;0,161,120,Pen,69&#xD;0,255,255,aqua,70&#xD;0,139,139,dark cyan,71&#xD;0,123,167,cerulean,72&#xD;113,166,210,iceberg,73&#xD;4,148,220,Sensing,74&#xD;0,128,128,teal,75&#xD;135,206,250,light sky blue,76&#xD;0,191,255,deep sky blue,77&#xD;30,144,255,dodger blue,78&#xD;0,127,255,azure,79&#xD;0,0,255,blue,80&#xD;25,25,112,midnight blue,81&#xD;0,51,153,dark powder blue,82&#xD;0,71,171,cobalt,83&#xD;21,96,189,denim,84&#xD;0,0,128,navy blue,85&#xD;70,130,180,steel blue,86&#xD;74,108,212,Motion,87&#xD;100,149,237,cornflower,88&#xD;106,90,205,slate blue,89&#xD;128,0,255,violet,90&#xD;143,86,227,Looks,91&#xD;111,45,168,grape,92&#xD;75,0,130,indigo,93&#xD;160,32,240,x11 purple,94&#xD;255,0,255,magenta,95&#xD;153,50,204,dark orchid,96&#xD;207,74,217,Sound,97&#xD;127,0,127,purple,98&#xD;139,0,139,dark magenta,99&#xD;0,255,255,cyan,100&#xD;255,0,255,fuchia,101&#xD;18,18,18,grey7,102&#xD;36,36,36,grey14,103&#xD;54,54,54,grey21,104&#xD;72,72,72,grey28,105&#xD;92,92,92,grey36,106&#xD;109,109,109,grey43,107&#xD;127,127,127,grey50,108&#xD;145,145,145,grey57,109&#xD;163,163,163,grey64,110&#xD;181,181,181,grey71,111&#xD;200,200,200,grey78,112&#xD;218,218,218,grey85,113&#xD;236,236,236,grey92,114</l></custom-block><l><option>csv</option></l></block></block></script></block></script></block-definition><block-definition s="change crayon by %&apos;amount&apos;" type="command" category="pen"><header></header><code></code><translations>ca:canvia de llapis de color saltant _&#xD;</translations><inputs><input type="%n"></input></inputs><script><custom-block s="set pen to crayon %s"><block s="reportVariadicSum"><list><block var="✐ last crayon"/><block var="amount"/></list></block></custom-block></script></block-definition><block-definition s="pen crayon" type="reporter" category="pen"><header></header><code></code><translations>ca:llapis de color&#xD;</translations><inputs></inputs><script><custom-block s="✐ initialize variables"></custom-block><block s="doReport"><block var="✐ last crayon"/></block></script></block-definition><block-definition s="USE BIGNUMS %&apos;bool&apos;" type="command" category="operators"><comment x="0" y="0" w="303.3333333333333" collapsed="false">call with True to turn on the entire Scheme numeric tower, including infinite-precision integers, exact rationals, and complex numbers; call with False to restore native JavaScript arithmetic.</comment><header></header><code></code><translations>pt:altera utilização de aritmética do Scheme para _&#xD;ca:sistema numèric d&apos;Scheme _&#xD;</translations><inputs><input type="%b"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/biginteger.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/schemeNumber.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/bignums.js</l></list></block><block s="doApplyExtension"><l>big_switch(bool)</l><list><block var="bool"/></list></block></script></block-definition><block-definition s="Scheme number %&apos;function&apos; of %&apos;number&apos;" type="reporter" category="operators"><comment x="0" y="0" w="300" collapsed="true">Provides Scheme arithmetic functions not in JavaScript</comment><header></header><code></code><translations>pt:_ de _&#xD;ca:Scheme _ de _&#xD;</translations><inputs><input type="%s" readonly="true"><options>number?&#xD;complex?&#xD;real?&#xD;rational?&#xD;integer?&#xD;exact?&#xD;inexact?&#xD;exact&#xD;inexact&#xD;finite?&#xD;infinite?&#xD;nan?&#xD;numerator&#xD;denominator&#xD;real-part&#xD;imag-part&#xD;magnitude&#xD;angle</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>big_scheme(fn, num)</l><list><block var="function"/><block var="number"/></list></block></block></script></block-definition><block-definition s="cases: if %&apos;test&apos; then %&apos;result&apos; %&apos;more&apos;" type="command" category="control"><comment x="0" y="0" w="262" collapsed="false">Multi-branched conditional.&#xD;&#xD;If the first (Boolean) input is True, then the script in&#xD;the second (C-slot) input is run, and this block stops.&#xD;&#xD;Additional tests can be added by putting one or more&#xD;ELSE IF blocks in the third (variadic) Boolean slot.&#xD;Use the arrowheads to get the number of Boolean&#xD;slots you need.  Each ELSE IF block provides a Boolean&#xD;slot for a condition to test and a script slot for what to do&#xD;if the condition is True.  You can put an ELSE block in&#xD;the last Boolean input to CASES for a script to run if&#xD;all the tests turn out False.&#xD;&#xD;As soon as a condition is True, no further tests are done&#xD;and no further scripts are run.</comment><header></header><code></code><translations>pt:se _ , então _ _&#xD;ca:casos: si _ llavors _ _&#xD;</translations><inputs><input type="%b"></input><input type="%cs"></input><input type="%mult%boolUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doRun"><block var="result"/><list></list></block></script><script><custom-block s="catch %upvar %cs"><l>tag</l><script><block s="doForEach"><l>item</l><block var="more"/><script><block s="doIf"><block s="evaluate"><block var="item"/><list></list></block><script><custom-block s="throw %s"><block var="tag"/></custom-block></script></block></script></block></script></custom-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>pt:captura _ _&#xD;ca:agafa _ _&#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>pt:lança _&#xD;ca:llanç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="else if %&apos;test&apos; then %&apos;action&apos;" type="predicate" category="control"><comment x="0" y="0" w="176" collapsed="false">For use with the CASES block.&#xD;See its help message.</comment><header></header><code></code><translations>pt:senão, se _ , então _&#xD;ca:altrament si _ llavors _&#xD;</translations><inputs><input type="%b"></input><input type="%cs"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doRun"><block var="action"/><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="else %&apos;action&apos;" type="predicate" category="control"><comment x="0" y="0" w="176" collapsed="false">For use with the CASES block.&#xD;See its help message.</comment><header></header><code></code><translations>pt:senão, _&#xD;ca:si no _&#xD;</translations><inputs><input type="%cs"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control"><comment x="0" y="0" w="276" collapsed="false">Catch errors.&#xD;&#xD;Runs the first script.  If it succeeds, nothing else happens.&#xD;But if it has an error (something that would otherwise result&#xD;in a red halo around the block), then the second script is run,&#xD;with the text of the error message that would have been shown in the variable ERROR.</comment><header></header><code></code><translations>pt:tenta executar _ e, em caso de erro _ , executa _&#xD;ca:prova de forma segura _ i si _ _&#xD;</translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block var="action"/><block var="handler"/><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="safely try reporting %&apos;this&apos; then if %&apos;error&apos; report %&apos;that&apos;" type="reporter" category="control"><comment x="0" y="0" w="316.6666666666667" collapsed="false">Catch errors in a reporter.&#xD;&#xD;Evaluates its first input.  If that expression successfully reports a value, this block reports that value.  If the expression causes a Snap! error,&#xD;then the final input slot is evaluated with the text of what would have&#xD;been the error message in variable ERROR.  SAFELY TRY then reports the value of that final expression.&#xD;&#xD;Sometimes you&apos;ll want to throw an error in the final expression.  You&#xD;can put an ERROR block inside a CALL block to do that.</comment><header></header><code></code><translations>ca:prova de forma segura reportant _ i si _ reportant _&#xD;</translations><inputs><input type="%anyUE"></input><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>value</l><block s="evaluate"><block var="this"/><list></list></block></block></script><l>err</l><script><block s="doSetVar"><l>error</l><block var="err"/></block><block s="doSetVar"><l>value</l><block s="evaluate"><block var="that"/><list></list></block></block></script></custom-block><block s="doReport"><block var="value"/></block></script></block-definition><block-definition s="do in parallel %&apos;actions&apos; and wait" type="command" category="control"><comment x="0" y="0" w="238.66666666666669" collapsed="false">Accepts any number of scripts as inputs.  Launches a separate thread for each of them, so they are done in parallel, then waits for them all to complete.&#xD;&#xD;This doesn&apos;t change how the Snap! scheduler works; the threads are not truly asynchronous. And there is no increase in speed.  Rather, the point of this block is to allow starting synchronized but independent scripts.</comment><header></header><code></code><translations>pt:executa _ em paralelo e espera&#xD;ca:executa en paral·lel _ i espera&#xD;</translations><inputs><input type="%mult%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>threads</l></list></block><block s="doSetVar"><l>threads</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>is running?</l></list></block><block s="doSetVar"><l>is running?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="fork"><block s="reifyScript"><script><block s="doRun"><block var="each script"/><list></list></block><block s="doSetVar"><l>is running?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list></list></block><block s="doReport"><block s="reifyScript"><script><block s="doReport"><block var="is running?"/></block></script><list></list></block></block></script><list></list></block><list></list></block></autolambda><list><l>each script</l></list></block><block var="actions"/></block></block><block s="doWaitUntil"><block s="reportListIsEmpty"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="evaluate"><block var="test"/><list></list></block></autolambda><list><l>test</l></list></block><block var="threads"/></block></block></block></script></block-definition><block-definition s="do in parallel %&apos;actions&apos;" type="command" category="control"><comment x="0" y="0" w="238.66666666666669" collapsed="false">Accepts any number of scripts as inputs.  Launches a separate thread for each of them, so they are done in parallel, then continues with the current script while they all run.&#xD;&#xD;This doesn&apos;t change how the Snap! scheduler works; the threads are not truly asynchronous. And there is no increase in speed.  Rather, the point of this block is to allow starting synchronized but independent scripts.</comment><header></header><code></code><translations>pt:executa _ em paralelo&#xD;ca:executa en paral·lel _&#xD;</translations><inputs><input type="%mult%cs"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="actions"/></block><l>0</l></list></block><script><block s="fork"><block s="reportListItem"><l>1</l><block var="actions"/></block><list></list></block><custom-block s="do in parallel %mult%cs"><block s="reportCDR"><block var="actions"/></block></custom-block></script></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;ca:paràmetre _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return !!this.scripts.focus;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        return Process.prototype.enableHyperOps;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for Boolean (checkbox) settings; use&#xD;SET VALUE for numeric or text values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;ca:fixa el paràmetre _ a _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Presentation mode&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph),&#xD;        thisObj = this;&#xD;&#xD;if (tf != !!tf) return;&#xD;&#xD;try{&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        break;&#xD;    case &apos;Retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        break;&#xD;    case &apos;Long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        break;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        break;&#xD;    case &apos;Input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        break;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        break;&#xD;    case &apos;Clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        break;&#xD;    case &apos;Turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        break;&#xD;    case &apos;Flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) break;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        break;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        if (thisObj.scripts.focus &amp;&amp; !tf) {&#xD;            thisObj.scripts.focus.stopEditing();&#xD;        } else if (tf &amp;&amp; !thisObj.scripts.focus) {&#xD;            thisObj.scripts.toggleKeyboardEntry();&#xD;        };&#xD;        break;&#xD;    case &apos;Visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        break;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        break;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        break;&#xD;    case &apos;Flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        break;&#xD;    case &apos;Codification support&apos;:&#xD;        if (tf != StageMorph.prototype.enableCodeMapping) {&#xD;            StageMorph.prototype.enableCodeMapping = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Inheritance support&apos;:&#xD;        if (tf != StageMorph.prototype.enableInheritance) {&#xD;            StageMorph.prototype.enableInheritance = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        Process.prototype.enableHyperOps = tf;&#xD;        break;&#xD;};&#xD;}&#xD;finally {&#xD;ide.savingPreferences = false;&#xD;};&#xD;</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;ca:fixa el valor de _ a _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Visible palette</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;try {&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        break;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        break;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        break;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        break;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        break;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        break;&#xD;    case &apos;Visible palette&apos;:&#xD;        ide.currentCategory = value.toLowerCase();&#xD;        ide.categories.children.forEach(function (each) {&#xD;                each.refresh();&#xD;        });&#xD;        ide.refreshPalette(true);&#xD;        break;&#xD;};&#xD;}&#xD;finally {ide.savingPreferences = true;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition><block-definition s="zip %&apos;fun&apos; inputs: $nl %&apos;a&apos; leaf-rank %&apos;a-rank&apos; $nl %&apos;b&apos; leaf-rank %&apos;b-rank&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%s"></input><input type="%n">0</input><input type="%s"></input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>rank</option></l><block var="a"/></block><block var="a-rank"/></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>rank</option></l><block var="b"/></block><block var="b-rank"/></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="zip %repRing inputs: %br %s leaf-rank %n %br %s leaf-rank %n"><block var="fun"/><block s="reportListItem"><l></l><block var="a"/></block><block var="a-rank"/><block s="reportListItem"><l></l><block var="b"/></block><block var="b-rank"/></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportVariadicMin"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="zip %repRing inputs: %br %s leaf-rank %n %br %s leaf-rank %n"><block var="fun"/><l></l><block var="a-rank"/><block var="b"/><block var="b-rank"/></custom-block></autolambda><list></list></block><block var="a"/></block></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>rank</option></l><block var="b"/></block><block var="b-rank"/></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="zip %repRing inputs: %br %s leaf-rank %n %br %s leaf-rank %n"><block var="fun"/><block var="a"/><block var="a-rank"/><l></l><block var="b-rank"/></custom-block></autolambda><list></list></block><block var="b"/></block><block s="evaluate"><block var="fun"/><list><block var="a"/><block var="b"/></list></block></block></block></block></script></block-definition><block-definition s="$globe show current location" type="command" category="other"><header></header><code></code><translations>de:$globe zeige aktuellen Standort&#xD;pt:mostra a localização corrente do dispositivo no $globe&#xD;ca:$globe centra a la meva ubicació&#xD;</translations><inputs></inputs><script><custom-block s="set $globe to lon: %n lat: %n"><custom-block s="$globe current longitude"></custom-block><custom-block s="$globe current latitude"></custom-block></custom-block></script></block-definition><block-definition s="$globe zoom" type="reporter" category="other"><header></header><code></code><translations>de:$globe Zoom&#xD;pt:o zoom do $globe&#xD;ca:$globe zoom&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>map_zoom</l><list></list></block></block></script></block-definition><block-definition s="set $globe zoom to %&apos;n&apos;" type="command" category="other"><header></header><code></code><translations>de:setze $globe Zoom auf _&#xD;pt:altera o zoom do $globe para _&#xD;ca:$globe fixa el zoom a _&#xD;</translations><inputs><input type="%n">10</input></inputs><script><block s="doApplyExtension"><l>map_zoom(n)</l><list><block var="n"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="$globe longitude of x %&apos;x&apos;" type="reporter" category="other"><header></header><code></code><translations>de:$globe Längengrad von x _&#xD;pt:a longitude no $globe da coordenada x _&#xD;ca:$globe longitud per a x _&#xD;</translations><inputs><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>map_lon(x)</l><list><block var="x"/></list></block></block></script></block-definition><block-definition s="$globe latitude of y %&apos;y&apos;" type="reporter" category="other"><header></header><code></code><translations>de:$globe Breitengrad von y _&#xD;pt:a latitude no $globe da coordenada y _&#xD;ca:$globe latitud per a y _&#xD;</translations><inputs><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>map_lat(y)</l><list><block var="y"/></list></block></block></script></block-definition><block-definition s="set $globe to lon: %&apos;lon&apos; lat: %&apos;lat&apos;" type="command" category="other"><header></header><code></code><translations>de:setze $globe auf Länge: _ Breite: _&#xD;pt:altera a posição no $globe para (longitude: _ , latitude: _ )&#xD;ca:$globe centra a longitud: _ latitud: _&#xD;</translations><inputs><input type="%n">-122.257852</input><input type="%n">37.872099</input></inputs><script><block s="doApplyExtension"><l>map_view(lon, lat)</l><list><block var="lon"/><block var="lat"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="y of $globe latitude %&apos;lat&apos;" type="reporter" category="other"><header></header><code></code><translations>de:y von $globe Breitengrad _&#xD;pt:a coordenada y da latitude _ no $globe&#xD;ca:$globe y per a latitud _&#xD;</translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>map_y(lat)</l><list><block var="lat"/></list></block></block></script></block-definition><block-definition s="x of $globe longitude %&apos;lon&apos;" type="reporter" category="other"><header></header><code></code><translations>de:x von $globe Längengrad _&#xD;pt:a coordenada x da longidude _ no $globe&#xD;ca:$globe x per a longitud _&#xD;</translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>map_x(lon)</l><list><block var="lon"/></list></block></block></script></block-definition><block-definition s="change $globe by x: %&apos;x&apos; y: %&apos;y&apos; pixels" type="command" category="other"><header></header><code></code><translations>de:ändere $globe um x: _ y: _ Pixel&#xD;pt:desloca a posição do mapa de (x: _ , y: _ )&#xD;ca:$globe canvia la ubicació en x: _ y: _ píxels&#xD;</translations><inputs><input type="%n">10</input><input type="%n">10</input></inputs><script><block s="doApplyExtension"><l>map_pan(x, y)</l><list><block var="x"/><block var="y"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="$globe distance in km to %&apos;target&apos;" type="reporter" category="other"><header></header><code></code><translations>de:$globe Entfernung in km zu _&#xD;pt:a tua distância em km a _ no $globo&#xD;ca:$globe distància en km fins a _&#xD;</translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>trg</l></list></block><block s="doSetVar"><l>trg</l><block s="reportObject"><block var="target"/></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportGet"><l><option>self</option></l></block><l><option>sprite</option></l></block><block s="reportIsA"><block var="trg"/><l><option>sprite</option></l></block></list></block></block><script><block s="doReport"><l>-1</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>map_dist(lat1, lon1, lat2, lon2)</l><list><custom-block s="$globe latitude of y %n"><block s="yPosition"></block></custom-block><custom-block s="$globe longitude of x %n"><block s="xPosition"></block></custom-block><custom-block s="$globe latitude of y %n"><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></custom-block><custom-block s="$globe longitude of x %n"><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></custom-block></list></block></block></script></block-definition><block-definition s="$globe current location" type="reporter" category="other"><header></header><code></code><translations>de:$globe aktuelle Position&#xD;pt:a localização corrente do dispositivo no $globe&#xD;ca:$globe ubicació actual&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>geo_location(acc?)</l><list><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block><block s="doWaitUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="evaluate"><block var="callback"/><list></list></block></block><l>2</l></list></block></block><block s="doReport"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="$globe current latitude" type="reporter" category="other"><header></header><code></code><translations>de:$globe aktueller Breitengrad&#xD;pt:a latitude corrente do dispositivo no $globe&#xD;ca:$globe latitud actual&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="$globe current location"></custom-block></block></block></script></block-definition><block-definition s="$globe current longitude" type="reporter" category="other"><header></header><code></code><translations>de:$globe aktueller Längengrad&#xD;pt:a longitude corrente do dispositivo no $globe&#xD;ca:$globe longitud actual&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="$globe current location"></custom-block></block></block></script></block-definition><block-definition s="update $globe" type="command" category="other"><header></header><code></code><translations>de:aktualisiere $globe&#xD;pt:actualiza o $globe&#xD;ca:$globe força refresc&#xD;</translations><inputs></inputs><script><block s="doApplyExtension"><l>map_update</l><list></list></block><block s="doTellTo"><block s="reportGet"><l><option>stage</option></l></block><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="$globe as costume"></custom-block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="$globe as costume" type="reporter" category="other"><header></header><code></code><translations>de:$globe als Kostüm&#xD;pt:a parte visível do $globe na forma de traje&#xD;ca:$globe vestit del mapa actual&#xD;</translations><inputs></inputs><script><block s="doWaitUntil"><block s="reportApplyExtension"><l>map_loaded</l><list></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>map_costume</l><list></list></block></block></script></block-definition><block-definition s="set $globe style to %&apos;name&apos;" type="command" category="other"><header></header><code></code><translations>de:setze $globe Stil auf _&#xD;pt:altera o estilo do $globe para _&#xD;ca:$globe fixa l&apos;estil de mapa a _&#xD;</translations><inputs><input type="%s" readonly="true">OpenStreetMap<options>OpenStreetMap&#xD;Wikimedia&#xD;Watercolor&#xD;Toner&#xD;Terrain&#xD;Topographic&#xD;Satellite&#xD;Streets&#xD;Shading&#xD;Mapbox (experimental)</options></input></inputs><script><block s="doApplyExtension"><l>map_style(name)</l><list><block var="name"/></list></block><custom-block s="update $globe"></custom-block></script></block-definition><block-definition s="ask %&apos;question&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">what&apos;s your name?</input></inputs><script><block s="doAsk"><block var="question"/></block><block s="doReport"><block s="getLastAnswer"></block></block></script></block-definition><block-definition s="notify %&apos;message&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">Alert!</input></inputs><script><block s="doTellTo"><block s="reportGet"><l><option>stage</option></l></block><block s="reifyScript"><script><block s="doAsk"><block s="reportNewList"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><block var="message"/></list></block><block s="reportNewList"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><l>Ok</l></list></block></list></block></list></block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="prompt %&apos;title&apos; options %&apos;options&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">choose!</input><input type="%mult%s"></input></inputs><script><block s="doReport"><custom-block s="ask %s"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="title"/><l></l></list></block><block var="options"/><block s="reportNewList"><list><block s="reportApplyExtension"><l>ide_translate(text)</l><list><block var="title"/></list></block><block var="options"/></list></block></block></custom-block></block></script></block-definition><block-definition s="submenu %&apos;title&apos; items %&apos;items&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">title</input><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="title"/><l></l></list></block><l>menu</l><block s="reportApplyExtension"><l>ide_translate(text)</l><list><block var="title"/></list></block></block><block var="items"/></list></block></block></script></block-definition><block-definition s="divider" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="menu item icon %&apos;icon&apos; label %&apos;text&apos; value %&apos;value&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_objectsMenu</options></input><input type="%s">option</input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="icon"/><l></l></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="text"/><l></l></list></block><block var="value"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="value"/><l></l></list></block><block var="text"/><block s="reportNewList"><list><block var="text"/><block var="value"/></list></block></block></block><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="text"/><l></l></list></block><block s="reportIfElse"><block s="reportIsA"><block var="icon"/><l><option>text</option></l></block><block s="reportObject"><block var="icon"/></block><block var="icon"/></block><block s="reportNewList"><list><block s="reportIfElse"><block s="reportIsA"><block var="icon"/><l><option>text</option></l></block><block s="reportObject"><block var="icon"/></block><block var="icon"/></block><block var="text"/></list></block></block><block var="value"/></list></block></block></block></script></block-definition><block-definition s="menu item speech ballon %&apos;orientation&apos; message %&apos;message&apos; value %&apos;value&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">left<options>left&#xD;right</options></input><input type="%s">hey!</input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="value"/><l></l></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="orientation"/><l>right</l></list></block><block s="reportNewList"><list><l></l><block var="message"/></list></block><block s="reportNewList"><list><block var="message"/></list></block></block><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="orientation"/><l>right</l></list></block><block s="reportNewList"><list><l></l><block var="message"/></list></block><block s="reportNewList"><list><block var="message"/></list></block></block><block var="value"/></list></block></block></block></script></block-definition><block-definition s="menu examples" type="command" category="sensing"><comment x="0" y="0" w="211.99999999999997" collapsed="false">open my definition to look at examples how to use the menu blocks</comment><header></header><code></code><translations></translations><inputs></inputs><scripts><script x="10" y="79.00000000000001"><block s="doAsk"><l>what&apos;s your name?</l></block></script><script x="10" y="118.00000000000001"><custom-block s="ask %s"><l>what&apos;s your name?</l></custom-block></script><script x="10" y="151"><custom-block s="notify %s"><l>Alert!</l></custom-block></script><script x="10" y="190"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><l>foo</l><l>bar</l><l>baz</l></list></custom-block></script><script x="10" y="222.99999999999997"><custom-block s="prompt %s options %mult%s"><l>choose!</l><block s="reportGet"><l><option>costumes</option></l></block></custom-block></script><script x="10" y="261"><custom-block s="submenu %s items %mult%s"><l>more</l><list><l>frob</l><l>quux</l><l>garply</l></list></custom-block></script><script x="10" y="294"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><l>foo</l><l>bar</l><custom-block s="divider"></custom-block><custom-block s="submenu %s items %mult%s"><l>more</l><list><l>frob</l><custom-block s="submenu %s items %mult%s"><l></l><list><l>fred</l><l>test</l></list></custom-block><custom-block s="divider"></custom-block><l>quux</l><l>garply</l></list></custom-block><l>baz</l></list></custom-block></script><script x="10" y="377.8333333333335"><custom-block s="menu item icon %s label %s value %s"><l></l><l>option</l><l></l></custom-block></script><script x="10" y="411.83333333333337"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><custom-block s="menu item icon %s label %s value %s"><l>monkey</l><l>monkey</l><block s="reportObject"><l>monkey</l></block></custom-block><custom-block s="menu item icon %s label %s value %s"><l>Octo</l><l></l><l>42</l></custom-block><custom-block s="menu item icon %s label %s value %s"><l></l><l>choice</l><l>yay!</l></custom-block><custom-block s="divider"></custom-block><custom-block s="submenu %s items %mult%s"><l>more</l><list><custom-block s="menu item icon %s label %s value %s"><l>Alonzo</l><l>Alonzo</l><block s="reportObject"><l>Alonzo</l></block></custom-block><custom-block s="menu item icon %s label %s value %s"><l></l><l>foo</l><l>bar</l></custom-block></list></custom-block></list></custom-block></script><script x="10" y="565.8333333333335"><custom-block s="menu item speech ballon %s message %s value %s"><l>left</l><l>hey!</l><l></l></custom-block></script><script x="10" y="599.8333333333335"><custom-block s="prompt %s options %mult%s"><l>choose!</l><list><custom-block s="menu item speech ballon %s message %s value %s"><l>left</l><l>hey!</l><l></l></custom-block><custom-block s="menu item speech ballon %s message %s value %s"><l>right</l><l>wassup?</l><l></l></custom-block><custom-block s="menu item speech ballon %s message %s value %s"><l>left</l><block s="reportObject"><l>Alonzo</l></block><l></l></custom-block><custom-block s="menu item speech ballon %s message %s value %s"><l>right</l><l>so?</l><block s="reportGet"><l><option>costumes</option></l></block></custom-block></list></custom-block></script></scripts></block-definition><block-definition s="costume from text %&apos;text&apos; size %&apos;size&apos;" type="reporter" category="looks"><header></header><code></code><translations>de:Kostüm aus Text _ Größe _&#xD;pt:um traje com o texto _ de tamanho _&#xD;ca:vestit amb el text _ i mida _&#xD;</translations><inputs><input type="%s">A</input><input type="%n">72</input></inputs><script><block s="doDeclareVariables"><list><l>costume</l><l>x</l><l>y</l><l>dir</l><l>cst</l><l>trails</l><l>pen state</l></list></block><block s="doSetVar"><l>x</l><block s="xPosition"></block></block><block s="doSetVar"><l>y</l><block s="yPosition"></block></block><block s="doSetVar"><l>dir</l><block s="direction"></block></block><block s="doSetVar"><l>cst</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><block s="write"><block var="text"/><block var="size"/></block><block s="gotoXY"><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block><l>0</l></block><block s="doSetVar"><l>costume</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block s="reportJoinWords"><list><block var="text"/></list></block></list></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="doIf"><block var="pen state"/><script><block s="down"></block></script></block><block s="doReport"><block var="costume"/></block></script></block-definition><block-definition s="costume %&apos;cst&apos; with background RGBA %&apos;rgb&apos; padding %&apos;padding&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%n">200</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>old</l><l>clr</l><l>new</l><l>x</l><l>y</l><l>dir</l><l>trails</l><l>flat</l><l>old size</l><l>old pen state</l></list></block><block s="doSetVar"><l>x</l><block s="xPosition"></block></block><block s="doSetVar"><l>y</l><block s="yPosition"></block></block><block s="doSetVar"><l>dir</l><block s="direction"></block></block><block s="doSetVar"><l>old</l><block s="reportGet"><l><option>costume</option></l></block></block><block s="doSetVar"><l>clr</l><block s="getPenAttribute"><l><option>r-g-b-a</option></l></block></block><block s="doSetVar"><l>flat</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetVar"><l>old size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="doSetVar"><l>old pen state</l><block s="getPenDown"></block></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSetVar"><l>trails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="gotoXY"><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportGetImageAttribute"><l><option>width</option></l><block var="cst"/></block><l>2</l></block><block var="padding"/></list></block></block><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><block s="reportVariadicSum"><list><block s="reportGetImageAttribute"><l><option>height</option></l><block var="cst"/></block><block s="reportVariadicProduct"><list><block var="padding"/><l>2</l></list></block></list></block></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block var="rgb"/></block><block s="down"></block><block s="setXPosition"><block s="reportMonadic"><l><option>neg</option></l><block s="xPosition"></block></block></block><block s="up"></block><block s="doSwitchToCostume"><block var="cst"/></block><block s="doGotoObject"><l><option>center</option></l></block><block s="gotoXY"><block s="reportMonadic"><l><option>neg</option></l><block s="reportGet"><l><option>center x</option></l></block></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportGet"><l><option>center y</option></l></block></block></block><block s="doStamp"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSetVar"><l>new</l><block s="reportPenTrailsAsCostume"></block></block><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="new"/><block s="reportIfElse"><block s="reportListContainsItem"><block s="reportTextSplit"><block s="reportAttributeOf"><l><option>costume name</option></l><l>Sprite</l></block><l><option>word</option></l></block><l>button</l></block><block s="reportAttributeOf"><l><option>costume name</option></l><l>Sprite</l></block><block s="reportJoinWords"><list><block s="reportAttributeOf"><l><option>costume name</option></l><l>Sprite</l></block><l> button</l></list></block></block></list></block><block s="clear"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="doSwitchToCostume"><block var="trails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><block var="old"/></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="setHeading"><block var="dir"/></block><block s="setPenColorDimension"><l><option>r-g-b(-a)</option></l><block var="clr"/></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat"/></block><block s="setSize"><block var="old size"/></block><block s="doIf"><block var="old pen state"/><script><block s="down"></block></script></block><block s="doReport"><block var="new"/></block></script><scripts><script x="255.00000000000003" y="186.2"><custom-block s="costume %s with background RGBA %n padding %n"><custom-block s="costume %s with background RGBA %n padding %n"><custom-block s="costume from text %s size %n"><l>Snap!</l><l>36</l></custom-block><l>200</l><l>10</l></custom-block><l>100</l><l>2</l></custom-block></script><comment x="248.685546875" y="121.03333333333337" w="105.99999999999999" collapsed="false">Use this block to make &quot;clickable&quot; buttons:</comment></scripts></block-definition><block-definition s="speak %&apos;text&apos; with %&apos;lang&apos; accent $nl and pitch %&apos;pitch&apos; rate %&apos;rate&apos;" type="command" category="sound"><header></header><code></code><translations>de:sprich _ mit _ Aussprache _ und Höhe _ Geschwindigkeit _&#xD;pt:fala _ na língua _ _ com tom _ e velocidade _&#xD;ca:digues _ amb accent _ _ to _ i velocitat _&#xD;</translations><inputs><input type="%s">Hello, World!</input><input type="%txt">en-US<options>العربية=ar&#xD;Български=bg&#xD;বাংলা=bn&#xD;Català=ca&#xD;Català - Valencià=ca-VA&#xD;Česky=cs&#xD;Deutsch=de&#xD;Dansk=dk&#xD;Ελληνικά=el&#xD;English-American=en-US&#xD;English-British=en-GB&#xD;Esperanto=eo&#xD;Español=es&#xD;Eesti=et&#xD;Euskara=eu&#xD;suomi=fi&#xD;Français=fr&#xD;Galego=gl&#xD;Hrvatski=hr&#xD;Magyar=hu&#xD;Interlingua=ia&#xD;Bahasa Indonesia=id&#xD;Italiano=it&#xD;日本語=ja&#xD;にほんご=ja-HIRA&#xD;ಕನ್ನಡ=kn&#xD;한국어=ko&#xD;Malayalam=ml&#xD;Nederlands=nl&#xD;Norsk=no&#xD;Polski=pl&#xD;Português=pt&#xD;Português do Brasil=pt-BR&#xD;Român=ro&#xD;Русский=ru&#xD;Slovenščina=si&#xD;svenska=sv&#xD;Tamil=ta&#xD;Telagu=te&#xD;Türkçe=tr&#xD;Українська=ua&#xD;简体中文=zh-CN&#xD;繁體中文=zh-TW</options></input><input type="%n">1</input><input type="%n">1</input></inputs><script><block s="doApplyExtension"><l>tts_speak(txt, lang, pitch, rate)</l><list><block var="text"/><block var="lang"/><block var="pitch"/><block var="rate"/></list></block></script></block-definition><block-definition s="speak %&apos;text&apos; with %&apos;lang&apos; accent $nl and pitch %&apos;pitch&apos; rate %&apos;rate&apos; and wait" type="command" category="sound"><header></header><code></code><translations>de:sprich _ mit _ Aussprache _ und Höhe _ Geschwindigkeit _ und warte&#xD;pt:fala _ na língua _ _ com tom _ e velocidade _ , e espera&#xD;ca:digues _ amb accent _ _ to _ velocitat _ i espera&#xD;</translations><inputs><input type="%s">Hello, World!</input><input type="%txt">en-US<options>العربية=ar&#xD;Български=bg&#xD;বাংলা=bn&#xD;Català=ca&#xD;Català - Valencià=ca-VA&#xD;Česky=cs&#xD;Deutsch=de&#xD;Dansk=dk&#xD;Ελληνικά=el&#xD;English-American=en-US&#xD;English-British=en-GB&#xD;Esperanto=eo&#xD;Español=es&#xD;Eesti=et&#xD;Euskara=eu&#xD;suomi=fi&#xD;Français=fr&#xD;Galego=gl&#xD;Hrvatski=hr&#xD;Magyar=hu&#xD;Interlingua=ia&#xD;Bahasa Indonesia=id&#xD;Italiano=it&#xD;日本語=ja&#xD;にほんご=ja-HIRA&#xD;ಕನ್ನಡ=kn&#xD;한국어=ko&#xD;Malayalam=ml&#xD;Nederlands=nl&#xD;Norsk=no&#xD;Polski=pl&#xD;Português=pt&#xD;Português do Brasil=pt-BR&#xD;Român=ro&#xD;Русский=ru&#xD;Slovenščina=si&#xD;svenska=sv&#xD;Tamil=ta&#xD;Telagu=te&#xD;Türkçe=tr&#xD;Українська=ua&#xD;简体中文=zh-CN&#xD;繁體中文=zh-TW</options></input><input type="%n">1</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>tts_speak(txt, lang, pitch, rate)</l><list><block var="text"/><block var="lang"/><block var="pitch"/><block var="rate"/></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="-- %&apos;n&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%anyUE" readonly="true"></input></inputs><script><block s="doRun"><block s="reifyScript"><script><block s="doChangeVar"><l></l><l>-1</l></block></script><list></list></block><list><block var="n"/></list></block><block s="doReport"><block s="evaluate"><block var="n"/><list></list></block></block></script></block-definition><block-definition s="animate setter %&apos;setter&apos; getter %&apos;getter&apos; delta %&apos;delta&apos; over %&apos;duration&apos; secs easing %&apos;easing&apos;" type="command" category="control"><header></header><code></code><translations>de:animiere Setter _ Getter _ Delta _ über _ Sek. beschleunigt _&#xD;ca:modifica setter _ i getter _ amb delta _ en _ segons de forma _&#xD;pt:anima com modificador _ e inspector _ de _ em _ s de forma _&#xD;</translations><inputs><input type="%cmdRing"></input><input type="%repRing"></input><input type="%n">50</input><input type="%n">1</input><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>end time</l><l>destination</l></list></block><block s="doSetVar"><l>end time</l><block s="reportVariadicSum"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></list></block></block><block s="doSetVar"><l>destination</l><block s="reportVariadicSum"><list><block s="evaluate"><block var="getter"/><list></list></block><block var="delta"/></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="end time"/></list></block><script><block s="doRun"><block var="setter"/><list><block s="reportDifference"><block var="destination"/><block s="reportVariadicProduct"><list><block var="delta"/><block s="evaluate"><block var="easing"/><list><block s="reportQuotient"><block s="reportDifference"><block var="end time"/><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></block></list></block></list></block></block></list></block></script></block><block s="doRun"><block var="setter"/><list><block var="destination"/></list></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations>de:Fehler _&#xD;pt:assinala o erro _&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="glide %&apos;steps&apos; in %&apos;duration&apos; secs easing %&apos;easing&apos;" type="command" category="motion"><header></header><code></code><translations>de:gleite _ in _ Sek. beschleunigt: _&#xD;ca:llisca _ en _ segons de forma _&#xD;fr:glisser _ en _ sec. accélérer _&#xD;pt:desliza _ em _ s de forma _&#xD;</translations><inputs><input type="%n">50</input><input type="%n">1</input><input type="%s" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doDeclareVariables"><list><l>destX</l><l>destY</l><l>end time</l><l>deltaX</l><l>deltaY</l><l>func</l><l>pendown?</l></list></block><block s="doSetVar"><l>pendown?</l><block s="getPenDown"></block></block><block s="up"></block><block s="forward"><block var="steps"/></block><block s="doSetVar"><l>destX</l><block s="xPosition"></block></block><block s="doSetVar"><l>destY</l><block s="yPosition"></block></block><block s="forward"><block s="reportVariadicProduct"><list><block var="steps"/><l>-1</l></list></block></block><block s="doIf"><block var="pendown?"/><script><block s="down"></block></script></block><block s="doSetVar"><l>end time</l><block s="reportVariadicSum"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></list></block></block><block s="doSetVar"><l>deltaX</l><block s="reportDifference"><block var="destX"/><block s="xPosition"></block></block></block><block s="doSetVar"><l>deltaY</l><block s="reportDifference"><block var="destY"/><block s="yPosition"></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="easing"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>func</l><block var="easing"/></block></script><script><block s="doSetVar"><l>func</l><custom-block s="easing %txt"><block var="easing"/></custom-block></block></script></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="end time"/></list></block><script><block s="setXPosition"><block s="reportDifference"><block var="destX"/><block s="reportVariadicProduct"><list><block var="deltaX"/><block s="evaluate"><block var="func"/><list><block s="reportQuotient"><block s="reportDifference"><block var="end time"/><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></block></list></block></list></block></block></block><block s="setYPosition"><block s="reportDifference"><block var="destY"/><block s="reportVariadicProduct"><list><block var="deltaY"/><block s="evaluate"><block var="func"/><list><block s="reportQuotient"><block s="reportDifference"><block var="end time"/><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="reportVariadicProduct"><list><block var="duration"/><l>1000</l></list></block></block></list></block></list></block></block></block></script></block><block s="gotoXY"><block var="destX"/><block var="destY"/></block></script></block-definition><block-definition s="animate %&apos;attribute&apos; by %&apos;delta&apos; in %&apos;duration&apos; secs easing %&apos;easing&apos;" type="command" category="motion"><header></header><code></code><translations>de:animiere _ um _ in _ Sek. beschleunigt: _&#xD;ca:modifica _ amb _ en _ segons de forma _&#xD;pt:anima _ de _ em _ s de forma _&#xD;</translations><inputs><input type="%s" readonly="true">x position<options>x position&#xD;y position&#xD;direction&#xD;size&#xD;ghost effect&#xD;color effect&#xD;saturation effect&#xD;brightness effect&#xD;fisheye effect&#xD;whirl effect&#xD;pixelate effect&#xD;mosaic effect&#xD;negative effect&#xD;tempo&#xD;volume&#xD;balance</options></input><input type="%n">50</input><input type="%n">1</input><input type="%s" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doDeclareVariables"><list><l>accessors</l><l>func</l></list></block><block s="doSetVar"><l>accessors</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>x position</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setXPosition"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="xPosition"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>y position</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setYPosition"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="yPosition"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>direction</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setHeading"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="direction"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>size</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setScale"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getScale"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>tempo</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="doSetTempo"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getTempo"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>volume</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setVolume"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getVolume"></block></autolambda><list></list></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="attribute"/><l>balance</l></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setPan"><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getPan"></block></autolambda><list></list></block></list></block><block s="reportNewList"><list><block s="reifyScript"><script><block s="setEffect"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="attribute"/><l> </l></block></block><l></l></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="getEffect"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="attribute"/><l> </l></block></block></block></autolambda><list></list></block></list></block></block></block></block></block></block></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="easing"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>func</l><block var="easing"/></block></script><script><block s="doSetVar"><l>func</l><custom-block s="easing %txt"><block var="easing"/></custom-block></block></script></block><custom-block s="animate setter %cmdRing getter %repRing delta %n over %n secs easing %repRing"><block s="reportListItem"><l>1</l><block var="accessors"/></block><block s="reportListItem"><l>2</l><block var="accessors"/></block><block var="delta"/><block var="duration"/><block var="func"/></custom-block></script></block-definition><block-definition s="easing %&apos;choice&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Beschleunigung _&#xD;ca:de forma _&#xD;pt:a forma _&#xD;</translations><inputs><input type="%txt" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>linear</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>id</option></l><l></l></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quadratic-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quadratic-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportDifference"><l>2</l><l></l></block></list></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quadratic-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>.5</l></list></block><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportDifference"><l>4</l><block s="reportVariadicProduct"><list><l>2</l><l></l></list></block></block><l></l></list></block><l>1</l></block></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>cubic-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>cubic-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><custom-block s="-- %anyUE"><block var="t"/></custom-block><block var="t"/></list></block><block var="t"/></list></block><l>1</l></list></block></autolambda><list><l>t</l></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>cubic-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>.5</l></list></block><block s="reportVariadicProduct"><list><l>4</l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><l></l><l>1</l></block><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><l></l></list></block><l>2</l></block></list></block><block s="reportDifference"><block s="reportVariadicProduct"><list><l>2</l><l></l></list></block><l>2</l></block></list></block><l>1</l></list></block></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quart-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></list></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quart-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportDifference"><l>1</l><block s="reportVariadicProduct"><list><custom-block s="-- %anyUE"><block var="t"/></custom-block><block s="reportVariadicProduct"><list><block var="t"/><block s="reportVariadicProduct"><list><block var="t"/><block var="t"/></list></block></list></block></list></block></block></autolambda><list><l>t</l></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>quart-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><l></l><l>.5</l></list></block><block s="reportVariadicProduct"><list><l>8</l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><block s="reportVariadicProduct"><list><l></l><l></l></list></block></list></block></list></block></list></block><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportDifference"><l>1</l><block s="reportVariadicProduct"><list><l>8</l><block s="reportVariadicProduct"><list><custom-block s="-- %anyUE"><block var="t"/></custom-block><block s="reportVariadicProduct"><list><block var="t"/><block s="reportVariadicProduct"><list><block var="t"/><block var="t"/></list></block></list></block></list></block></list></block></block></autolambda><list><l>t</l></list></block><list><l></l></list></block></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sine-in</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>sin</option></l><block s="reportVariadicSum"><list><l>90</l><block s="reportVariadicProduct"><list><l></l><l>90</l></list></block></list></block></block></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sine-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>sin</option></l><block s="reportVariadicProduct"><list><l></l><l>90</l></list></block></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sine-in-out</l></list></block><script><block s="doReport"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportDifference"><l>1</l><block s="reportMonadic"><l><option>cos</option></l><block s="reportVariadicProduct"><list><l></l><l>180</l></list></block></block></block><l>2</l></block></autolambda><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>elastic</l></list></block><script><block s="doReport"><block s="reifyScript"><script><block s="doDeclareVariables"><list><l>p</l></list></block><block s="doSetVar"><l>p</l><l>0.3</l></block><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportPower"><l>2</l><block s="reportVariadicProduct"><list><l>-10</l><l></l></list></block></block><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><block s="reportDifference"><l></l><block s="reportQuotient"><block var="p"/><l>4</l></block></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>2</l><custom-block s="PI"></custom-block></list></block><block var="p"/></block></list></block></custom-block></block></list></block><l>1</l></list></block></block></script><list></list></block></block></script></block><custom-block s="error %s"><block s="reportJoinWords"><list><l>unknown easing function "</l><block var="choice"/><l>"</l></list></block></custom-block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; $nl in %&apos;time&apos; secs easing %&apos;easing&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _ in _ Sek. beschleunigt: _ _&#xD;ca:per _ = _ fins _ _ en _ segons de forma _ _&#xD;pt:para _ de _ a _ _ em _ s de forma _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">0</input><input type="%n">100</input><input type="%n">1</input><input type="%txt" readonly="true">linear<options>linear&#xD;quadratic={&#xD;quadratic-in&#xD;quadratic-out&#xD;quadratic-in-out&#xD;}&#xD;cubic={&#xD;cubic-in&#xD;cubic-out&#xD;cubic-in-out&#xD;}&#xD;quart={&#xD;quart-in&#xD;quart-out&#xD;quart-in-out&#xD;}&#xD;sinusoidal={&#xD;sine-in&#xD;sine-out&#xD;sine-in-out&#xD;}&#xD;elastic</options></input><input type="%ca"></input></inputs><script><block s="doSetVar"><l>i</l><block var="start"/></block><custom-block s="animate setter %cmdRing getter %repRing delta %n over %n secs easing %repRing"><block s="reifyScript"><script><block s="doSetVar"><l>i</l><l></l></block><block s="doRun"><block var="action"/><list></list></block></script><list></list></block><block s="reifyReporter"><autolambda><block var="i"/></autolambda><list></list></block><block s="reportDifference"><block var="end"/><block var="start"/></block><block var="time"/><block s="reportIfElse"><block s="reportIsA"><block var="easing"/><l><option>reporter</option></l></block><block var="easing"/><custom-block s="easing %txt"><block var="easing"/></custom-block></block></custom-block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations>pt:executa no modo turbo _&#xD;</translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations>pt:as amostras de som com _ Hz de _ s amostrado a _ Hz&#xD;ca:_ Hz durant _ segons amb mostreig de _ Hz&#xD;</translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><block s="reportVariadicProduct"><list><block var="frequency"/><block var="time"/></list></block></list></block></list></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations>pt:π&#xD;</translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:_ radianos em graus&#xD;ca:graus de _ radiants&#xD;</translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:o som _&#xD;ca:so de nom _&#xD;</translations><inputs><input type="%s"><options>§_soundsMenu</options></input></inputs><script><block s="doReport"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetSoundAttribute"><l><option>name</option></l><l></l></block><block var="name"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>sounds</option></l></block></block></block></script></block-definition><block-definition s="plot sound %&apos;name&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations>pt:desenha o gráfico do som _&#xD;ca:dibuixa el so _&#xD;</translations><inputs><input type="%s" readonly="true"><options>§_soundsMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>sound</l></list></block><block s="doSetVar"><l>sound</l><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="name"/><l><option>list</option></l></block><block s="reportIsA"><block var="name"/><l><option>sound</option></l></block></list></block><block var="name"/><custom-block s="sound named %s"><block var="name"/></custom-block></block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><block s="reportGetSoundAttribute"><l><option>samples</option></l><block var="sound"/></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportGetSoundAttribute"><l><option>length</option></l><block var="sound"/></block><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>4</l></block></block><block s="doForEach"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>-2</l></block></block></script></block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><block s="reportAttributeOf"><l><option>width</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block s="reportGet"><l><option>stage</option></l></block></block><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="191.99999999999997" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations>pt:$circleSolid-1-255-0-0 uma nova gravação&#xD;ca:$circleSolid-1-255-0-0 enregistra&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>mda_record</l><list></list></block></block><block s="doWaitUntil"><block s="reportVariadicNotEquals"><list><block s="evaluate"><block var="callback"/><list></list></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block><block s="doReport"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="note from %&apos;pitch&apos; hz" type="reporter" category="sound"><header></header><code></code><translations>pt:a nota com _ Hz&#xD;ca:nota de _ Hz&#xD;</translations><inputs><input type="%n">440</input></inputs><script><block s="doReport"><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>12</l><block s="reportQuotient"><block s="reportMonadic"><l><option>log</option></l><block s="reportQuotient"><block var="pitch"/><l>440</l></block></block><block s="reportMonadic"><l><option>log</option></l><l>2</l></block></block></list></block><l>69</l></list></block></block></block></script></block-definition><block-definition s="hz from note %&apos;note&apos;" type="reporter" category="sound"><header></header><code></code><translations>pt:a frequência da nota _&#xD;ca:freqüència (hz) de la nota _&#xD;</translations><inputs><input type="%n">69</input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><l>440</l><block s="reportPower"><l>2</l><block s="reportQuotient"><block s="reportDifference"><block var="note"/><l>69</l></block><l>12</l></block></block></list></block></block></script></block-definition><block-definition s="name of note %&apos;note&apos;" type="reporter" category="sound"><header></header><code></code><translations>pt:o nome da nota _&#xD;ca:nom de la nota _&#xD;</translations><inputs><input type="%n">69</input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="reportDifference"><block var="note"/><l>69</l></block><l>12</l></block><l>1</l></list></block><block s="reportNewList"><list><l>A</l><l>Bb</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l></list></block></block></block></script></block-definition><block-definition s="$flash analyze %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="149" collapsed="false">returns a frequency analysis of the argument list, represented as a two-column table, where the first column contains the unique values and the second column their occurrences</comment><header></header><code></code><translations>pt:$flash as frequências dos itens de _&#xD;ca:$flash analitza _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_analyze(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash group %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o agrupamento dos itens de _ de acordo com _&#xD;ca:$flash agrupa _ per _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_group(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:uma ordenação de _ com critério _&#xD;ca:$flash ordena _ per _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="histogram of %&apos;data&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o histograma de _ entre _ e _ com intervalo _&#xD;ca:histograma de _ des de: _ fins: _ interval: _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%n"></input><input type="%n">1</input></inputs><script><block s="doReport"><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><custom-block s="$flash sort %l by %predRing"><custom-block s="$flash analyze %l"><block var="data"/></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></custom-block><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="floor"/><block var="ceiling"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><block var="interval"/></list></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l>0</l></list></block></autolambda><list></list></block></custom-block></block></script></block-definition><block-definition s="histogram of %&apos;data&apos; grouped by: %&apos;key&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o histograma de _ agrupado de acordo com _ entre _ e _ com passo _&#xD;ca:histograma de _ agrupat per: _ des de: _ fins: _ interval: _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%n"></input><input type="%n"></input><input type="%repRing"></input></inputs><script><block s="doReport"><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><custom-block s="$flash sort %l by %predRing"><custom-block s="$flash group %l by %repRing"><block var="data"/><block var="key"/></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></custom-block><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="floor"/><block var="ceiling"/><block var="interval"/><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l>0</l><block s="reportNewList"><list></list></block></list></block></autolambda><list></list></block></custom-block></block></script></block-definition><block-definition s="fill %&apos;data&apos; key: %&apos;key&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos; with: %&apos;generator&apos;" type="reporter" category="lists"><comment x="0" y="0" w="103" collapsed="false">add missing entries to a sorted list. Used for histograms</comment><header></header><code></code><translations>pt:os itens de _ com a chave _ entre _ e _ com passo _ completados por _&#xD;ca:omple _ clau: _ des de: _ fins: _ interval: _ amplada: _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%n"></input><input type="%n"></input><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="floor"/><block var="ceiling"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></list></block><script><block s="doReport"><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block var="floor"/><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block-definition><block-definition s="%&apos;text&apos; $arrowRight lower case" type="reporter" category="operators"><header></header><code></code><translations>pt:_ em minúsculas&#xD;ca:_ $arrowRight minúscules&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>txt_lowercase(txt)</l><list><block var="text"/></list></block></block></script></block-definition><block-definition s="plot %&apos;data&apos; %&apos;style&apos; at x: %&apos;left&apos; y: %&apos;bottom&apos; width: %&apos;width&apos; height: %&apos;height&apos;" type="command" category="pen"><header></header><code></code><translations>pt:desenha gráfico de barras de _ em (x: _ , y: _ ) com largura _ e altura _&#xD;ca:dibuixa _ _ a x: _ y: _ i ample: _ alçada: _&#xD;</translations><inputs><input type="%l"></input><input type="%s" readonly="true">bars<options>bars&#xD;lines&#xD;pie chart</options></input><input type="%n">-200</input><input type="%n">-100</input><input type="%n">400</input><input type="%n">200</input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="style"/><l>pie chart</l></list></block><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>r</l><l>total</l><l>start</l><l>end</l><l>state</l><l>pen size</l><l>heading</l></list></block><block s="doSetVar"><l>r</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="height"/><block var="width"/></list></block><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportQuotient"><block var="width"/><l>2</l></block></block></block><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block var="left"/><block var="r"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block var="bottom"/><block var="r"/></list></block></block><block s="doSetVar"><l>total</l><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>state</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="getPenAttribute"><l></l></block></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>hue</l><l>saturation</l><l>brightness</l></list></block></block></block><block s="doSetVar"><l>pen size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="doSetVar"><l>heading</l><block s="direction"></block></block><block s="setPenColorDimension"><l><option>hue</option></l><l>0</l></block><block s="setPenColorDimension"><l><option>brightness</option></l><l>80</l></block><block s="setPenColorDimension"><l><option>saturation</option></l><l>80</l></block><block s="setSize"><l>1</l></block><block s="doWarp"><script><block s="doForEach"><l>slice</l><block var="data"/><script><block s="doChangeVar"><l>end</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="slice"/><block var="total"/></block><l>360</l></list></block></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="down"></block><block s="doFor"><l>i</l><block var="start"/><block var="end"/><script><block s="gotoXY"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block var="r"/><block s="reportMonadic"><l><option>sin</option></l><block var="i"/></block></list></block></list></block><block s="reportVariadicSum"><list><block var="y"/><block s="reportVariadicProduct"><list><block var="r"/><block s="reportMonadic"><l><option>cos</option></l><block var="i"/></block></list></block></list></block></block></script></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="up"></block><block s="setHeading"><block var="start"/></block><block s="turn"><block s="reportQuotient"><block s="reportDifference"><block var="end"/><block var="start"/></block><l>2</l></block></block><block s="forward"><block s="reportQuotient"><block var="r"/><l>2</l></block></block><block s="floodFill"></block><block s="changePenColorDimension"><l><option>hue</option></l><block s="reportQuotient"><l>100</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doSetVar"><l>start</l><block var="end"/></block></script></block><block s="doForEach"><l>setting</l><block var="state"/><script><block s="setPenColorDimension"><block s="reportListItem"><l>1</l><block var="setting"/></block><block s="reportListItem"><l>2</l><block var="setting"/></block></block></script></block></script></block><block s="setSize"><block var="pen size"/></block><block s="setHeading"><block var="heading"/></block></script><script><block s="doDeclareVariables"><list><l>ratio</l><l>step</l><l>flat line ends</l><l>col</l><l>sorted</l><l>min</l></list></block><block s="doSetVar"><l>sorted</l><custom-block s="$flash sort %l by %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block><l>0</l></list></block><script><block s="doSetVar"><l>min</l><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block></block></script><script><block s="doSetVar"><l>min</l><l>0</l></block></script></block><block s="doSetVar"><l>ratio</l><block s="reportQuotient"><block var="height"/><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="sorted"/></block><block var="min"/></block></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="step"/><l>2</l></list></block><script><block s="doSetVar"><l>col</l><block s="reportDifference"><block var="step"/><l>1</l></block></block></script><script><block s="doSetVar"><l>col</l><block s="reportVariadicProduct"><list><block var="step"/><l>0.8</l></list></block></block></script></block><block s="gotoXY"><block var="left"/><block var="bottom"/></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="style"/><l>lines</l></list></block><script><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>-2</l></block></block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><block var="step"/></list></block><block s="reportVariadicSum"><list><block var="bottom"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="min"/></block><block var="ratio"/></list></block></list></block></block><block s="down"></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block></script><script><block s="doSetVar"><l>flat line ends</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>0.5</l></block><block s="down"></block><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>2</l></block></block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="setSize"><block var="col"/></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="min"/></block><block var="ratio"/></list></block></block><block s="setYPosition"><block var="bottom"/></block><block s="setSize"><l>0.5</l></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="changeXPosition"><block var="step"/></block></script><script><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>2</l></block></block></script></block></script></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat line ends"/></block></script></block><block s="up"></block></script></block></script></block-definition><block-definition s="store key: %&apos;key&apos; value: %&apos;value&apos; in browser" type="command" category="other"><header></header><code></code><translations>ca:desa clau: _ amb valor: _ al navegador&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>db_store(key, val)</l><list><block var="key"/><block var="value"/></list></block></script></block-definition><block-definition s="stored data in browser" type="reporter" category="other"><header></header><code></code><translations>ca:dades desades al navegador&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>db_getall</l><list></list></block></block></script></block-definition><block-definition s="remove key: %&apos;key&apos; in browser" type="command" category="other"><header></header><code></code><translations>ca:esborra clau: _ del navegador&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>db_remove(key)</l><list><block var="key"/></list></block></script></block-definition><block-definition s="clear data in browser" type="command" category="other"><header></header><code></code><translations>ca:esborra dades del navegador&#xD;</translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>item</l><custom-block s="stored data in browser"></custom-block><script><custom-block s="remove key: %s in browser"><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block></script></block></script></block></script></block-definition><block-definition s="get value from key: %&apos;key&apos; in browser" type="reporter" category="other"><comment x="0" y="0" w="199.33333333333334" collapsed="false">Reports the value previously stored under&#xD;the input key in the browser&apos;s local storage.&#xD;Reports False if the key is not found.</comment><header></header><code></code><translations>ca:obté valor de clau: _ al navegador&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>db_get(key)</l><list><block var="key"/></list></block></block></script></block-definition><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations>pt:_ sem o primeiro caractere&#xD;ca:_ sense la primera lletra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doReport"><block s="reportJoinWords"><block s="reportCDR"><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></script></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.00000100000003" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE➞LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a primeira palavra&#xD;ca:_ sense la primera paraula&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but first of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportCDR"><block var="sentence"/></block></block></script></block></script></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportCDR"><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but first of empty sentence.</l></custom-block></block></custom-block></block></script></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;ca:_ sense la darrera lletra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block><l><option>letter</option></l></block></block></block></block></block></block></script></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a última palavra&#xD;ca:_ sense la darrera paraula&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><block var="sentence"/></block></block></block></block></script></block></script></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportCDR"><block s="reportListAttribute"><l><option>reverse</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but last of empty sentence.</l></custom-block></block></block></block></custom-block></block></script></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;ca:primera paraula de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="sentence"/></block></block></script></block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>First of empty sentence.</l></custom-block></block></block></script></block></script></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;ca:primera lletra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportStringSize"><block var="word"/></block><l>0</l></list></block><script><custom-block s="error %txt"><l>Last of empty word.</l></custom-block></script></block><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a última palavra de _&#xD;ca:darrera paraula de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>Last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><block var="sentence"/></block></block></script></block></script></block><block s="doReport"><block s="reportListItem"><l><option>last</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>Last of empty sentence.</l></custom-block></block></block></script></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;ca:paraula buida? _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="empty word? %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportStringSize"><block var="word"/></block><l>0</l></list></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations>pt:a frase _ está vazia&#xD;ca:frase buida? _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportListIsEmpty"><block var="sentence"/></block></block></script></block><block s="doReport"><block s="reportListIsEmpty"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block></block></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666666" collapsed="false">Like JOIN, takes any number of words (text strings) and reports a sentence with its inputs concatenated, but inserts a blank space between the inputs.&#xD;Consider using SENTENCE (Lists palette) instead.</comment><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;pt:uma frase com as palavras _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="words"/></block><script><block s="doReport"><l></l></block></script></block><block s="doDeclareVariables"><list><l>first</l><l>bf</l></list></block><block s="doSetVar"><l>first</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="words"/></block><l><option>list</option></l></block><custom-block s="join words %mult%txt"><block s="reportListItem"><l>1</l><block var="words"/></block></custom-block><block s="reportListItem"><l>1</l><block var="words"/></block></block></block><block s="doSetVar"><l>bf</l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="bf"/></custom-block><script><block s="doReport"><block var="first"/></block></script></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="first"/></custom-block><script><block s="doReport"><block var="bf"/></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="first"/><l> </l><block var="bf"/></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><comment x="0" y="0" w="165.33333333333334" collapsed="false">Takes a sentence in list form and reports the sentence as a text string.</comment><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;pt:uma frase com as palavras em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportStringSize"><l></l></block><l>0</l></list></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>word</option></l></block></block></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="146.42857142857144" collapsed="false">report a list in which each item is one letter from the input word</comment><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;pt:uma lista com os caracteres da palavra _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="word $arrowRight list %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><comment x="0" y="0" w="158.57142857142858" collapsed="false">join all the items of the input list&#xD;into a single word, and report it</comment><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;pt:uma palavra com os caracteres em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="list"/></block><script><block s="doReport"><block var="list"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="list"/></block><l></l></list></block><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportNewList"><list><custom-block s="list $arrowRight word %l"><l/></custom-block></list></block><l></l></block></autolambda><list></list></block><block var="list"/></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations>ca:frase _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="require nonempty %&apos;text&apos; %&apos;message&apos;" type="reporter" category="operators" helper="true"><comment x="0" y="0" w="220" collapsed="false">Helper function for word/sentence library.&#xD;Reports its first input, unless that input is empty, in which case it gives its second input as an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIfElse"><block s="reportIsA"><block var="text"/><l><option>list</option></l></block><block s="reportListIsEmpty"><block var="text"/></block><block s="reportVariadicEquals"><list><block s="reportStringSize"><block var="text"/></block><l>0</l></list></block></block><script><custom-block s="error %txt"><block var="message"/></custom-block></script><script><block s="doReport"><block var="text"/></block></script></block></script></block-definition><block-definition s="first letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the first character in the string.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;ca:primera lletra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><script><block s="doReport"><block s="reportLetter"><l>1</l><custom-block s="require nonempty %s %s"><block var="word"/><l>First of empty word.</l></custom-block></block></block></script></block></script></block-definition><block-definition s="multiline %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o texto multilinha _&#xD;ca:multilínia _&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block var="text"/></block></script></block-definition><block-definition s="substring of %&apos;string&apos; before %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="175.33333333333334" collapsed="false">Reports the part of the first string up to the first instance of the second string inside it.  If the second string isn&apos;t found, reports the entire first string.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:part del text _ anterior a _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><block var="string"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>1</l></list></block><l></l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="string"/><l>1</l><block s="reportDifference"><block var="index"/><l>1</l></block></custom-block></block></block></block></script></block-definition><block-definition s="substring of %&apos;string&apos; after %&apos;marker&apos;" type="reporter" category="operators"><comment x="0" y="0" w="203.33333333333337" collapsed="false">Reports the portion of the first input string starting after the first occurrence of the second string.  If the second string isn&apos;t found in the first string, reports an empty string.</comment><header></header><code></code><translations>pt:o texto de _ depois de _&#xD;ca:part del text _ posterior a _&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l><l>end</l></list></block><block s="doSetVar"><l>index</l><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block></block><block s="doSetVar"><l>end</l><block s="reportVariadicSum"><list><block var="index"/><block s="reportStringSize"><block var="marker"/></block></list></block></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="index"/><l>0</l></list></block><l></l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="end"/><block s="reportStringSize"><block var="string"/></block></list></block><l></l><custom-block s="substring of %txt from position %n to position %n inclusive"><block var="string"/><block var="end"/><l></l></custom-block></block></block></block></script></block-definition><block-definition s="position of %&apos;small&apos; in %&apos;large&apos;" type="reporter" category="operators"><comment x="0" y="0" w="294" collapsed="false">Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.&#xD;If it&apos;s not found, reports 0.</comment><header></header><code></code><translations>pt:a posição de _ em _&#xD;ca:posició de _ en _&#xD;</translations><inputs><input type="%s"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="use case-independent comparison"></custom-block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><custom-block s="to lower case %txt"><block var="small"/></custom-block><custom-block s="to lower case %txt"><block var="large"/></custom-block></list></block><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="small"/><block var="large"/></list></block></block></block></script></block-definition><block-definition s="use case-independent comparisons %&apos;tf&apos;" type="command" category="operators"><comment x="0" y="0" w="225.33333333333334" collapsed="false">If input is TRUE, comparisons made by functions in the string library will be case-independent (so &quot;FOO&quot; = &quot;foo&quot;).  This is the default.&#xD;If input is FALSE, comparisons will be exact.</comment><header></header><code></code><translations>pt:altera comparações ignorando distinção minúsculas/maiúsculas para _&#xD;ca:ignora la diferenciació de majúscules _&#xD;</translations><inputs><input type="%b"></input></inputs><script><block s="doIfElse"><block s="reportNot"><block var="tf"/></block><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>_case indepent</l></list></block><block s="doApplyExtension"><l>var_set(name, val)</l><list><l>_case indepent</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></script><script><block s="doApplyExtension"><l>var_delete(name)</l><list><l>_case indepent</l></list></block></script></block></script></block-definition><block-definition s="substring of %&apos;str&apos; from position %&apos;start&apos; to position %&apos;end&apos; inclusive" type="reporter" category="operators"><comment x="0" y="0" w="297.3333333333333" collapsed="false">Reports the portion of the first input (string) starting at the position given by the second input (counting from 1, like LETTER n OF) and ending at the position given by the third input (also counting from 1).  If the third input is empty, reports the portion from the first position to the end of the string.&#xD;If a position number is negative, counts from the end backward, so -1 is the last character, -2 is the next to last, etc.</comment><header></header><code></code><translations>pt:o texto de _ entre as posições _ e _ , inclusive&#xD;ca:part del text _ des de la posició _ fins _&#xD;</translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportLetter"><block s="reportNumbers"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="start"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="start"/><l>1</l></list></block><block s="reportStringSize"><block var="str"/></block></list></block><block var="start"/></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="end"/><l>0</l></list></block><block s="reportStringSize"><block var="str"/></block><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="end"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="end"/><l>1</l></list></block><block s="reportStringSize"><block var="str"/></block></list></block><block var="end"/></block></block></block><block var="str"/></block></block></block></script></block-definition><block-definition s="text %&apos;string&apos; contains %&apos;marker&apos;" type="predicate" category="operators"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Reports True if the first input string contains the second input string, otherwise false.&#xD;&#xD;Comparison is case-independent by default; use USE CASE-INDEPENDENT COMPARISONS to change that.</comment><header></header><code></code><translations>pt:o texto de _ antes de _&#xD;ca:text _ conté _ ?&#xD;</translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><custom-block s="position of %s in %txt"><block var="marker"/><block var="string"/></custom-block><l>0</l></list></block></block></script></block-definition><block-definition s="to lower case %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="275.3333333333333" collapsed="false">Reports the input text with lower case letters instead of capital letters in the input.  Uses the user&apos;s locale&apos;s rules for case conversion.</comment><header></header><code></code><translations>pt:em minúsculas _&#xD;ca:_ a minúscules&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>txt_lowercase(txt)</l><list><block s="reportJoinWords"><list><block var="text"/></list></block></list></block></block></script></block-definition><block-definition s="use case-independent comparison" type="predicate" category="sensing"><header></header><code></code><translations>ca:comparacions ignorant majúscules?&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>var_get(name)</l><list><l>_case indepent</l></list></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="reshape as %&apos;shape&apos; $⍴-1-255-255-0 items of %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="180" collapsed="false">The first input is a shape list as in&#xD;SHAPE OF.  The output is an array with those dimensions containing  the atomic items of the second input,&#xD;repeating values if more are needed.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportReshape"><block var="data"/><block var="shape"/></block></block></script></block-definition><block-definition s="shape of $⍴-1-255-255-0 %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="310" collapsed="false">Reports a flat list of the maximum size of the input array along&#xD;each dimension: number of rows, number of columns, etc.&#xD;&quot;Maximum&quot; because it works even if the array isn&apos;t uniformly shaped.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>dimensions</option></l><block var="data"/></block></block></script></block-definition><block-definition s="max %&apos;a&apos; $⌈-1-255-255-0 %&apos;b&apos;" type="reporter" category="operators"><comment x="0" y="0" w="150.66666666666666" collapsed="false">Reports the greater of its two inputs. Works on strings too.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicMax"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="flatten (ravel) $,-1-255-255-0 %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="216" collapsed="false">Reports a flat list of all the atomic elements &#xD;of sublists of the input list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>flatten</option></l><block var="data"/></block></block></script></block-definition><block-definition s="rank of $⍴⍴-1-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="240.00000000000003" collapsed="true">Reports the number of dimensions of the input.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>rank</option></l><block var="array"/></block></block></script></block-definition><block-definition s="inner product helper with %&apos;plus&apos; . %&apos;times&apos; %&apos;a&apos; $nl transposed %&apos;tb&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%repRing"></input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="a"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="a"/></block></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportCONS"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="generalized dotproduct %l %l with sum %repRing product %repRing"><block s="reportListItem"><l>1</l><block var="a"/></block><l/><block var="plus"/><block var="times"/></custom-block></autolambda><list></list></block><block var="tb"/></block><custom-block s="inner product helper with %repRing . %repRing %l %br transposed %l"><block var="plus"/><block var="times"/><block s="reportCDR"><block var="a"/></block><block var="tb"/></custom-block></block></block></script></block><block s="doReport"><block s="reportCONS"><custom-block s="inner product helper with %repRing . %repRing %l %br transposed %l"><block var="plus"/><block var="times"/><block s="reportListItem"><l>1</l><block var="a"/></block><block var="tb"/></custom-block><custom-block s="inner product helper with %repRing . %repRing %l %br transposed %l"><block var="plus"/><block var="times"/><block s="reportCDR"><block var="a"/></block><block var="tb"/></custom-block></block></block></script></block-definition><block-definition s="transpose $⍉-1.5-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="168" collapsed="false">Takes a multidimensional array, and&#xD;reports an array whose dimensions&#xD;are reversed (as reported by&#xD;SHAPE OF).  In the case of a&#xD;two-dimensional array, does the usual transposition of rows and columns.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_transpose(list)</l><list><block var="array"/></list></block></block></script></block-definition><block-definition s="reverse row order (column contents) $⦵-1.5-255-255-0 %&apos;list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="286" collapsed="false">Reverses the order of the (toplevel) items of the input.&#xD;&#xD;If the input is a matrix, this means it reverses the order of the rows, which is a reflection through a horizontal axis, as the ⦵ symbol suggests.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>reverse</option></l><block var="list"/></block></block></script></block-definition><block-definition s="multimap %&apos;function&apos; %&apos;data&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="215.33333333333331" collapsed="false">Like MAP, but can take any number of lists&#xD;as inputs.  The lists must all be the same size.&#xD;The function input must take a number of inputs&#xD;equal to the number of lists.  MULTIMAP calls&#xD;the function with all the first items, then all the&#xD;second items, and so on.</comment><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>lengths</l><l>cols</l></list></block><block s="doSetVar"><l>lengths</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>length</option></l><l/></block></autolambda><list></list></block><block var="data"/></block></block><block s="doFor"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="lengths"/></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="lengths"/></block><block s="reportListItem"><block var="i"/><block var="lengths"/></block></list></block></block><script><custom-block s="error %txt"><l>Non-conforming shapes.</l></custom-block></script></block></script></block><block s="doSetVar"><l>cols</l><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><block var="cols"/></block></block></script></block></script></block-definition><block-definition s="generalized dotproduct %&apos;a&apos; %&apos;b&apos; with sum %&apos;sum&apos; product %&apos;product&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportCombine"><custom-block s="multimap %repRing %mult%l"><block var="product"/><list><block var="a"/><block var="b"/></list></custom-block><block var="sum"/></block></block></script></block-definition><block-definition s="inner product %&apos;a&apos; %&apos;plus&apos; $.-1-255-255-0 %&apos;times&apos; %&apos;b&apos;" type="reporter" category="lists"><comment x="0" y="0" w="252.66666666666666" collapsed="false">Computes a generalized matrix multiplication.&#xD;&#xD;In normal matrix multiplication, each cell of the result&#xD;is computed by multiplying individual numbers within&#xD;a row of the left input and a column of the right input,&#xD;and then adding those products.  In APL terms this is&#xD;+.× (&quot;plus dot times&quot;)&#xD;Any dyadic functions can replace addition and multiplication in this algorithm; a common case is&#xD;∨.∧ (&quot;or dot and&quot;)</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="a"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>a</l><block s="reportNewList"><list><block var="a"/></list></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>b</l><block s="reportNewList"><list><block var="b"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="a"/></custom-block></block><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="b"/></custom-block></block><l>1</l></list></block></list></block><script><block s="doDeclareVariables"><list><l>ta</l></list></block><block s="doSetVar"><l>ta</l><custom-block s="transpose $⍉-1.5-255-255-0 %l"><block var="a"/></custom-block></block><block s="doSetVar"><l>a</l><custom-block s="transpose $⍉-1.5-255-255-0 %l"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block var="ta"/></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportListItem"><l>1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="b"/></custom-block></block></block></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l><option>last</option></l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="a"/></custom-block></block><l>1</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="b"/></custom-block></block><l>1</l></list></block></list></block><script><block s="doSetVar"><l>b</l><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block var="b"/></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportListItem"><l><option>last</option></l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="a"/></custom-block></block></block></block></block></script></block><block s="doReport"><custom-block s="inner product helper with %repRing . %repRing %l %br transposed %l"><block var="plus"/><block var="times"/><block var="a"/><custom-block s="transpose $⍉-1.5-255-255-0 %l"><block var="b"/></custom-block></custom-block></block></script></block-definition><block-definition s="min %&apos;a&apos; $⌊-1.2-255-255-0 %&apos;b&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.33333333333334" collapsed="true">Reports the smaller of its two inputs.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicMin"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="combine in rows (reduce by column vectors) %&apos;func&apos; $/-1-255-255-0 %&apos;stuff&apos;" type="reporter" category="lists"><comment x="0" y="0" w="288.6666666666667" collapsed="false">This function has two names because there are two ways&#xD;to understand it.&#xD;&#xD;Lisp way:  A matrix is a list of rows.  This block combines the numbers in each row, producing one value for the entire row.&#xD;&#xD;APL way:  A matrix is made of vectors.  This block takes each column as a vector, and does vector arithmetic on the columns, producing one column as the result.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="stuff"/></custom-block><l>1</l></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="combine in rows (reduce by column vectors) %repRing $/-1-255-255-0 %l"><block var="func"/><l/></custom-block></autolambda><list></list></block><block var="stuff"/></block></block></script><script><block s="doReport"><block s="reportCombine"><block var="stuff"/><block var="func"/></block></block></script></block></script></block-definition><block-definition s="%&apos;howmany&apos; deal helper %&apos;data&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="howmany"/><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doDeclareVariables"><list><l>choices</l><l>index</l></list></block><block s="doSetVar"><l>choices</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="howmany"/><script><block s="doSetVar"><l>index</l><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doAddToList"><block s="reportListItem"><block var="index"/><block var="data"/></block><block var="choices"/></block><block s="doDeleteFromList"><block var="index"/><block var="data"/></block></script></block><block s="doReport"><block var="choices"/></block></script></block></script></block-definition><block-definition s="signum $×-1-255-255-0 %&apos;num&apos;" type="reporter" category="operators"><comment x="0" y="0" w="159.99999999999997" collapsed="false">Reports 1 if the input is positive,&#xD;0 if the input is zero,&#xD;or -1 if the input is negative.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="num"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="signum $×-1-255-255-0 %n"><l></l></custom-block></autolambda><list></list></block><block var="num"/></block></block></script></block><block s="doIf"><block s="reportListContainsItem"><block s="reportNewList"><list><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block var="num"/></block><script><block s="doReport"><l>0</l></block></script></block><block s="doReport"><block s="reportQuotient"><block var="num"/><block s="reportMonadic"><l><option>abs</option></l><block var="num"/></block></block></block></script></block-definition><block-definition s="reciprocal $÷-1-255-255-0 %&apos;num&apos;" type="reporter" category="operators"><comment x="0" y="0" w="102.66666666666666" collapsed="false">reports 1 divided&#xD;by its input.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><l>1</l><block var="num"/></block></block></script></block-definition><block-definition s="roll $?-1-255-255-0 %&apos;num&apos;" type="reporter" category="operators"><comment x="0" y="0" w="180.66666666666666" collapsed="false">This block reports a random integer between 1 and its input.  To roll more than one die, use (for three dice)&#xD;roll (reshape as 3 items of 6)&#xD;APL:  ?3⍴6&#xD;Don&apos;t use reshape as 3 items of (roll 6), because that would roll one die and report 3 copies of the same random roll. </comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportRandom"><l>1</l><block var="num"/></block></block></script></block-definition><block-definition s="scalar? %&apos;x&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="199.33333333333334" collapsed="false">Reports True if the input is an APL scalar,&#xD;i.e., either an atomic (non-list) value, or&#xD;an array (list of lists) of any depth with only&#xD;one atomic item, e.g., (list (list (list (3)))).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportAtomicCombine"><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="x"/></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block><l>1</l></list></block></block></script></block-definition><block-definition s="scalar-value helper %&apos;x&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="200.66666666666663" collapsed="false">The input must be a value for which SCALAR? reports true, i.e., either an atom or a list of any depth but only one scalar item of item of... etc.  This function returns the underlying scalar (number, etc.).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="x"/></block></script></block><block s="doReport"><custom-block s="scalar-value helper %s"><block s="reportListItem"><l>1</l><block var="x"/></block></custom-block></block></script></block-definition><block-definition s="NAND %&apos;a&apos; $⍲-1.4-255-255-0 %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="198.66666666666669" collapsed="false">Reports the not-and of its inputs, in the form&#xD;0 for false, 1 for true.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="NOT $&#126;-1-255-255-0 %s"><custom-block s="LCM (and) %n $∧-1.2-255-255-0 %n"><block var="a"/><block var="b"/></custom-block></custom-block></block></script></block-definition><block-definition s="NOR %&apos;a&apos; $⍱-1.4-255-255-0 %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="198.66666666666669" collapsed="false">Reports the not-and of its inputs, in the form&#xD;0 for false, 1 for true.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="NOT $&#126;-1-255-255-0 %s"><custom-block s="GCD (or) %n $∨-1.2-255-255-0 %n"><block var="a"/><block var="b"/></custom-block></custom-block></block></script></block-definition><block-definition s="%&apos;a&apos; ≤ %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="151.33333333333334" collapsed="true">Reports True if the left input is&#xD;less than or equal to the right input.&#xD;&#xD;Reports a Snap! Boolean, not an integer 0 or 1.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicLessThanOrEquals"><list><block var="a"/><block var="b"/></list></block><comment w="176.66666666666666" collapsed="true">This is the primitive version.</comment></block></script></block-definition><block-definition s="%&apos;a&apos; ≥ %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="152.66666666666666" collapsed="false">Reports True if the left input is&#xD;greater than than or equal to&#xD;the right input.&#xD;&#xD;Reports a Snap! Boolean, not an integer 0 or 1.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicGreaterThanOrEquals"><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="XOR %&apos;a&apos; $≠-1-255-255-0 %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="190" collapsed="false">Reports False if its inputs are equal;&#xD;reports True if its inputs are not equal.&#xD;The inputs can have any non-list values.&#xD;(Lists are hyperized.)  If the inputs are&#xD;Booleans (True/False or 1/0), this is&#xD;also the exclusive-or function.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="%s scalar %s %s"><block var="a"/><l>≠</l><block var="b"/></custom-block></block></script></block-definition><block-definition s="zero? %&apos;n&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="202.66666666666666" collapsed="true">reports True iff the input is 0 or False.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><block s="reportNewList"><list><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block var="n"/></block></block></script></block-definition><block-definition s="truth %&apos;n&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="198.66666666666669" collapsed="false">Reports a Snap! Boolean False if the input&#xD;is False or 0; reports True otherwise.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="truth %s"><l></l></custom-block></autolambda><list></list></block><block var="n"/></block></block></script></block><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="n"/><l><option>Boolean</option></l></block><block var="n"/><block s="reportNot"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block></block></block></block></script></block-definition><block-definition s="make scalar %&apos;value&apos;" type="reporter" category="operators" helper="true"><comment x="0" y="0" w="242.66666666666666" collapsed="false">Turns list of list of ... a single scalar (e.g., ((((x)))) ) into just the scalar.  Error if called with anything else.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="scalar? %s"><block var="value"/></custom-block><script><block s="doReport"><custom-block s="scalar-value helper %s"><block var="value"/></custom-block></block></script></block><custom-block s="error %txt"><block s="reportJoinWords"><list><l>Make scalar called with non-singleton input </l><block var="value"/></list></block></custom-block></script></block-definition><block-definition s="$⍳-1.5-255-255-0 %&apos;n&apos;" type="reporter" category="lists"><comment x="0" y="0" w="290.6666666666667" collapsed="false">If the input is a positive integer, reports a list of the numbers&#xD;from 1 to that input.  (If the input is 0, reports an empty list.)&#xD;&#xD;If the input is a list of positive integers, reports an array with&#xD;the shape specified by the input (as in ⍴ reshape) in which&#xD;each item is a list of the indices of that item in the array&#xD;(so technically the shape has one more dimension&#xD;than the input, whose size is the size of the input).&#xD;&#xD;If the input is a list that includes 0, the result is an array whose shape is the part of the input list before the 0, in which every element is empty.  If you&apos;d like some other value in every element, MD-MAP a constant function over the result.&#xD;&#xD;For list inputs, the size of the result grows very quickly, more or less the factorial of the size of the input.  Snap! will not attempt to compute a result bigger than a few million atomic items.&#xD;⍳(⍳ 9) will work (≈ 3 million atoms) but ⍳(⍳ 10) will give an error.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="n"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="n"/></custom-block><l>1</l></list></block><script><block s="doIfElse"><block s="reportListContainsItem"><block var="n"/><l>0</l></block><script><block s="doReport"><block s="reportReshape"><block s="reportNewList"><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><block s="reportDifference"><block s="reportListIndex"><l>0</l><block var="n"/></block><l>1</l></block></block><block var="n"/></block></block></block></script><script><block s="doReport"><block s="reportReshape"><custom-block s="crossproduct %mult%l"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportNumbers"><l>1</l><l></l></block></autolambda><list></list></block><block var="n"/></block></custom-block><block s="reportConcatenatedLists"><list><block var="n"/><block s="reportNewList"><list><block s="reportListAttribute"><l><option>length</option></l><block var="n"/></block></list></block></list></block></block></block></script></block></script><script><custom-block s="error %txt"><l>Input to ⍳ can&apos;t be a list of lists.</l></custom-block></script></block></script><script><block s="doReport"><block s="reportIfElse"><custom-block s="zero? %n"><block var="n"/></custom-block><block s="reportNewList"><list></list></block><block s="reportNumbers"><l>1</l><block var="n"/></block></block></block></script></block></script></block-definition><block-definition s="where in %&apos;vector&apos; is $⍳-1.5-255-255-0 %&apos;items&apos;" type="reporter" category="lists"><comment x="0" y="0" w="334.6666666666667" collapsed="false">If the rank of the left input is one more than the rank of the right input,&#xD;reports the index of the right input in the left input, or if not found,&#xD;reports one more than the length of the left input.&#xD;&#xD;If the rank of the left input is equal to the rank of the right input,&#xD;reports a vector of the indices of the items of the right input&#xD;in the left input (mapping this function over the right input).&#xD;&#xD;If the rank of the left input is more than that of the right input by 2 or more,&#xD;reports a vector, the location of the right input in the left in each dimension.&#xD;&#xD;It is an error if the rank of the left input is less than that of the right input.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="vector"/></custom-block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="items"/></custom-block></list></block><script><custom-block s="error %txt"><l>Left input to ⍳ must have greater or equal rank to right input.</l></custom-block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="vector"/></custom-block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="items"/></custom-block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="where in %l is $⍳-1.5-255-255-0 %s"><block var="vector"/><l></l></custom-block></autolambda><list></list></block><block var="items"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="vector"/></custom-block><block s="reportVariadicSum"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="items"/></custom-block><l>1</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListIndex"><block var="items"/><block var="vector"/></block></block><block s="doReport"><block s="reportIfElse"><custom-block s="zero? %n"><block var="result"/></custom-block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="vector"/></block><l>1</l></list></block><block var="result"/></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><custom-block s="%l deep contains %s"><l/><block var="items"/></custom-block></autolambda><list></list></block><block var="vector"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="result"/><l></l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="vector"/></custom-block><l>1</l></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListIndex"><block var="result"/><block var="vector"/></block><custom-block s="flatten (ravel) $,-1-255-255-0 %l"><custom-block s="where in %l is $⍳-1.5-255-255-0 %s"><block var="result"/><block var="items"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="crossproduct %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="305.3333333333333" collapsed="false">This isn&apos;t an APL function, although it&apos;s related to the outer product.&#xD;&#xD;It takes any number of lists, and reports a list of all possible tuples with one item from each of the lists.  The length of the result is the product of the lengths of the inputs.&#xD;&#xD;The result gets very big very quickly.  Snap! will refuse to do this computation if the result would be more than a few million atomic items.  (crossproduct (⍳(⍳9))) makes about 3 million atomic items; (crossproduct (⍳(⍳10))) gives an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_crossproduct(list)</l><list><block var="lists"/></list></block></block></script></block-definition><block-definition s="%&apos;array&apos; deep contains %&apos;value&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="array"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportListContainsItem"><block var="array"/><block var="value"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><custom-block s="combine in rows (reduce by column vectors) %repRing $/-1-255-255-0 %l"><block s="reifyReporter"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%l deep contains %s"><l/><block var="value"/></custom-block></autolambda><list></list></block><block var="array"/></block></custom-block></block></script></block-definition><block-definition s="which of %&apos;items&apos; $ϵ-1-255-255-0 contained in %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="214.66666666666666" collapsed="false">Reports an array of Booleans the same shape&#xD;as the left input, indicating which of the atoms&#xD;in the left input appear anywhere in the right&#xD;input.  &#xD;(The structure of the right input doesn&apos;t matter.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="items"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><custom-block s="which of %s $ϵ-1-255-255-0 contained in %l"><l></l><custom-block s="flatten (ravel) $,-1-255-255-0 %l"><block var="array"/></custom-block></custom-block></autolambda><list></list></block><block var="items"/></block></block></script><script><block s="doReport"><block s="reportListContainsItem"><custom-block s="flatten (ravel) $,-1-255-255-0 %l"><block var="array"/></custom-block><block var="items"/></block></block></script></block></script></block-definition><block-definition s="catenate %&apos;left&apos; $,-1-255-255-0 %&apos;right&apos;" type="reporter" category="lists"><comment x="0" y="0" w="190.66666666666663" collapsed="false">Like append, but:&#xD;&#xD;A scalar input is treated as an array the same shape as the other input except that the last item of the shape is 1.&#xD;&#xD;If the two inputs are of different ranks,&#xD;the function is mapped over the larger ranked input.&#xD;&#xD;Catenate adds new columns, by appending to each row.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="left"/><l><option>list</option></l></block></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="right"/></custom-block><l>1</l></list></block><script><block s="doSetVar"><l>left</l><custom-block s="reshape as %l $⍴-1-255-255-0 items of %l"><block s="reportConcatenatedLists"><list><custom-block s="drop %n $↓-1-255-255-0 from %l"><l>-1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="right"/></custom-block></custom-block><block s="reportNewList"><list><l>1</l></list></block></list></block><block s="reportNewList"><list><block var="left"/></list></block></custom-block></block></script><script><block s="doSetVar"><l>left</l><block s="reportNewList"><list><block var="left"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="right"/><l><option>list</option></l></block></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><l>1</l></list></block><script><block s="doSetVar"><l>right</l><custom-block s="reshape as %l $⍴-1-255-255-0 items of %l"><block s="reportConcatenatedLists"><list><custom-block s="drop %n $↓-1-255-255-0 from %l"><l>-1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="left"/></custom-block></custom-block><block s="reportNewList"><list><l>1</l></list></block></list></block><block s="reportNewList"><list><block var="right"/></list></block></custom-block></block></script><script><block s="doSetVar"><l>right</l><block s="reportNewList"><list><block var="right"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="right"/></custom-block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><l>1</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="left"/><block var="right"/></list></block></block></script><script><block s="doReport"><custom-block s="multimap %repRing %mult%l"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><l></l><l></l></custom-block></autolambda><list></list></block><list><block var="left"/><block var="right"/></list></custom-block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="right"/></custom-block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><block var="left"/><l></l></custom-block></autolambda><list></list></block><block var="right"/></block></block></script><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><l></l><block var="right"/></custom-block></autolambda><list></list></block><block var="left"/></block></block></script></block></script></block-definition><block-definition s="scalar value %&apos;value&apos;" type="reporter" category="lists"><comment x="0" y="0" w="221.33333333333334" collapsed="false">If the input is a nesting of length=1 lists, which&#xD;APL treats as a scalar (the innermost item)&#xD;for many purposes, report that innermost scalar.&#xD;Otherwise, report the input as is.&#xD;&#xD;Exposing this block for users is important because Snap! /does not/ treat such a nesting&#xD;as a scalar, so you might need to use this in&#xD;translating an APL program to Snap!.&#xD;(But the functions in the APL library already use&#xD;this block as needed.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="scalar? %s"><block var="value"/></custom-block><custom-block s="scalar-value helper %s"><block var="value"/></custom-block><block var="value"/></block></block></script></block-definition><block-definition s="grade up $⍋-1.5-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="190.66666666666663" collapsed="false">Reports a vector of indices of the items of the input, in order of the values of the items, so that&#xD;&#xD;item (grade up (foo)) of (foo)&#xD;&#xD;reports the items in sorted order, smallest to largest.  For a matrix, sorts the rows based on their first items, or if those are equal, based on their second items, etc.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l><option>last</option></l><l/></block></autolambda><list></list></block><custom-block s="$flash sort %l ordering with %predRing"><custom-block s="multimap %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><l></l><l></l></custom-block></autolambda><list></list></block><list><block var="array"/><custom-block s="$⍳-1.5-255-255-0 %n"><block s="reportListAttribute"><l><option>length</option></l><block var="array"/></block></custom-block></list></custom-block><block s="reifyPredicate"><autolambda><custom-block s="sort helper %l %l"><l/><l/></custom-block></autolambda><list></list></block></custom-block></block></block></script></block-definition><block-definition s="sort helper %&apos;rowA&apos; %&apos;rowB&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="166" collapsed="false">Compares two vectors for sorting.&#xD;Compare first items; if those are equal compare second items; etc.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="rowA"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block var="rowB"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="rowA"/></block><block s="reportListItem"><l>1</l><block var="rowB"/></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="rowA"/></block><block s="reportListItem"><l>1</l><block var="rowB"/></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><custom-block s="sort helper %l %l"><block s="reportCDR"><block var="rowA"/></block><block s="reportCDR"><block var="rowB"/></block></custom-block></block></script></block-definition><block-definition s="grade down $⍒-1.5-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="190.66666666666663" collapsed="false">Reports a vector of indices of the items of the input, in order of the values of the items, so that&#xD;&#xD;item (grade down (foo)) of (foo)&#xD;&#xD;reports the items in sorted order, largest to smallest.  For a matrix, sorts the rows based on their first items, or if those are equal, based on their second items, etc.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l><option>last</option></l><l/></block></autolambda><list></list></block><custom-block s="$flash sort %l ordering with %predRing"><custom-block s="multimap %repRing over %mult%l"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><l></l><l></l></custom-block></autolambda><list></list></block><list><block var="array"/><custom-block s="$⍳-1.5-255-255-0 %n"><block s="reportListAttribute"><l><option>length</option></l><block var="array"/></block></custom-block></list></custom-block><block s="reifyPredicate"><autolambda><custom-block s="NOT $&#126;-1-255-255-0 %s"><custom-block s="sort helper %l %l"><l/><l/></custom-block></custom-block></autolambda><list></list></block></custom-block></block></block></script></block-definition><block-definition s="select rows (compress columns) %&apos;Booleans&apos; $/-1-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="210.66666666666663" collapsed="false">The left input must be a vector of Booleans&#xD;(either Snap! form or APL form); the right input must be an array whose first dimension is equal to the length of the left input.  The block reports an array of the same rank as the right input, containing only those items (rows, for a matrix) for which the corresponding Boolean is True (or 1).</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="rowize vector %l"><block s="reportAtomicKeep"><block s="reifyPredicate"><autolambda><custom-block s="truth %s"><block s="reportListItem"><block var="index"/><block var="Booleans"/></block></custom-block></autolambda><list><l>value</l><l>index</l></list></block><block var="array"/></block></custom-block></block></script></block-definition><block-definition s="rowize vector %&apos;vec&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="vec"/></custom-block><l>2</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="vec"/></custom-block></block><l>1</l></list></block></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="vec"/></block><block var="vec"/></block></block></script></block-definition><block-definition s="select columns (compress rows) %&apos;bool&apos; $⌿-1.5-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="219.33333333333334" collapsed="false">The left input must be a vector of Booleans&#xD;(either Snap! form or APL form); the right input must be an array whose last dimension is equal to the length of the left input.  The block reports an array of the same rank as the right input, containing only those items (columns, for a matrix) for which the corresponding Boolean is True (or 1).</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="columnwise %repRing %l"><block s="reifyReporter"><autolambda><custom-block s="select rows (compress columns) %l $/-1-255-255-0 %l"><block var="bool"/><l/></custom-block></autolambda><list></list></block><block var="array"/></custom-block></block></script></block-definition><block-definition s="reverse column order (row contents) $⏀-1-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="206" collapsed="false">Reverses the order of the columns of the input, which is a reflection through a vertical axis, as the ⏀ symbol suggests.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="columnwise %repRing %l"><block s="reifyReporter"><autolambda><custom-block s="reverse row order (column contents) $⦵-1.5-255-255-0 %l"><l/></custom-block></autolambda><list></list></block><block var="array"/></custom-block></block></script></block-definition><block-definition s="combine in columns (reduce by row vectors) %&apos;function&apos; $⌿-1.5-255-255-0 %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="285.3333333333333" collapsed="false">This function has two names because there are two ways&#xD;to understand it.&#xD;&#xD;Lisp way:  A matrix is a list of rows.  This block turns it into a list of columns, and combines the numbers in each column, producing one value for the entire column.&#xD;&#xD;APL way:  A matrix is made of vectors.  This block takes each row as a vector, and does vector arithmetic on the rows, producing one row as the result.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="columnwise %repRing %l"><block s="reifyReporter"><autolambda><custom-block s="combine in rows (reduce by column vectors) %repRing $/-1-255-255-0 %l"><block var="function"/><l/></custom-block></autolambda><list></list></block><block var="array"/></custom-block></block></script></block-definition><block-definition s="catenate vertically %&apos;left&apos; $⍪-1.5-255-255-0 %&apos;right&apos;" type="reporter" category="lists"><comment x="0" y="0" w="190.66666666666663" collapsed="false">Like append, but:&#xD;&#xD;A scalar input is treated as a vector&#xD;of length 1.&#xD;&#xD;If the two inputs are of different ranks,&#xD;the function is mapped over the larger ranked input.&#xD;&#xD;Catenate vertically adds new rows, by appending to each column.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="left"/><l><option>list</option></l></block></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="right"/></custom-block><l>1</l></list></block><script><block s="doSetVar"><l>left</l><custom-block s="reshape as %l $⍴-1-255-255-0 items of %l"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><l>1</l></list></block><custom-block s="drop %n $↓-1-255-255-0 from %l"><l>1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="right"/></custom-block></custom-block></list></block><block s="reportNewList"><list><block var="left"/></list></block></custom-block></block></script><script><block s="doSetVar"><l>left</l><block s="reportNewList"><list><block var="left"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="right"/><l><option>list</option></l></block></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><l>1</l></list></block><script><block s="doSetVar"><l>right</l><custom-block s="reshape as %l $⍴-1-255-255-0 items of %l"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><l>1</l></list></block><custom-block s="drop %n $↓-1-255-255-0 from %l"><l>1</l><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="left"/></custom-block></custom-block></list></block><block s="reportNewList"><list><block var="right"/></list></block></custom-block></block></script><script><block s="doSetVar"><l>right</l><block s="reportNewList"><list><block var="right"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="right"/></custom-block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><l>1</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="left"/><block var="right"/></list></block></block></script><script><block s="doReport"><custom-block s="transpose $⍉-1.5-255-255-0 %l"><custom-block s="catenate %s $,-1-255-255-0 %s"><custom-block s="transpose $⍉-1.5-255-255-0 %l"><block var="left"/></custom-block><custom-block s="transpose $⍉-1.5-255-255-0 %l"><block var="right"/></custom-block></custom-block></custom-block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="left"/></custom-block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="right"/></custom-block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><block var="left"/><l></l></custom-block></autolambda><list></list></block><block var="right"/></block></block></script><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="catenate %s $,-1-255-255-0 %s"><l></l><block var="right"/></custom-block></autolambda><list></list></block><block var="left"/></block></block></script></block></script><scripts><script x="254.00000000000003" y="497.7777777777773"><custom-block s="multimap %repRing %mult%l"><block s="reifyReporter"><script></script><list></list></block><list><l/><l/></list></custom-block></script></scripts></block-definition><block-definition s="%&apos;a&apos; scalar join %&apos;b&apos;" type="reporter" category="operators"><comment x="0" y="0" w="219.33333333333334" collapsed="false">A hyperblock version of JOIN.  The regular JOIN isn&apos;t hyperized because it can accept a list as input, representing it as text.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="take %&apos;howmany&apos; $↑-1-255-255-0 from %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="272" collapsed="false">A positive left input selects the first n items of the right input.&#xD;A negative left input selects the last abs(n) items&#xD;of the right input.&#xD;&#xD;If the right input is a matrix, a numeric left input selects rows;&#xD;the left input may also be a two-item vector, in which case&#xD;the first number is applied to the rows&#xD;and the second number is applied to the columns.&#xD;Similarly for higher-dimension arrays. </comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="howmany"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="howmany"/><l>0</l></list></block><block s="reportListItem"><block s="reportVariadicSum"><list><custom-block s="$⍳-1.5-255-255-0 %n"><block s="reportMonadic"><l><option>abs</option></l><block var="howmany"/></block></custom-block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="array"/></block><block var="howmany"/></list></block></list></block><block var="array"/></block><block s="reportListItem"><custom-block s="$⍳-1.5-255-255-0 %n"><block var="howmany"/></custom-block><block var="array"/></block></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="howmany"/></custom-block><l>1</l></list></block><script><custom-block s="error %txt"><l>Left input to take can&apos;t be a matrix.</l></custom-block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="howmany"/></block><custom-block s="rank of $⍴⍴-1-255-255-0 %l"><block var="array"/></custom-block></list></block><script><custom-block s="error %txt"><l>Length of item vector &gt; rank of array in take.</l></custom-block></script></block><block s="doReport"><block s="reportListItem"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="value"/><l>0</l></list></block><block s="reportVariadicSum"><list><custom-block s="$⍳-1.5-255-255-0 %n"><block s="reportMonadic"><l><option>abs</option></l><block var="value"/></block></custom-block><block s="reportVariadicSum"><list><block s="reportListItem"><block var="index"/><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="array"/></custom-block></block><block var="value"/></list></block></list></block><custom-block s="$⍳-1.5-255-255-0 %n"><block var="value"/></custom-block></block></autolambda><list><l>value</l><l>index</l></list></block><block var="howmany"/></block><block var="array"/></block></block></script></block-definition><block-definition s="drop %&apos;howmany&apos; $↓-1-255-255-0 from %&apos;array&apos;" type="reporter" category="lists"><comment x="0" y="0" w="306" collapsed="false">A positive left input selects all but the first n items of the right input.&#xD;A negative left input selects all but the last abs(n) items&#xD;of the right input.&#xD;&#xD;If the right input is a matrix, a numeric left input selects rows;&#xD;the left input may also be a two-item vector, in which case&#xD;the first number is applied to the rows&#xD;and the second number is applied to the columns.&#xD;Similarly for higher-dimension arrays. </comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="howmany"/><l><option>number</option></l></block><script><block s="doReport"><custom-block s="take %n $↑-1-255-255-0 from %l"><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>neg</option></l><custom-block s="signum $×-1-255-255-0 %n"><block var="howmany"/></custom-block></block><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="array"/></block><block s="reportMonadic"><l><option>abs</option></l><block var="howmany"/></block></block></list></block><block var="array"/></custom-block></block></script></block><block s="doReport"><custom-block s="take %n $↑-1-255-255-0 from %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="value"/><l>0</l></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><block var="index"/><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="array"/></custom-block></block><block var="value"/></list></block><block s="reportDifference"><block var="value"/><block s="reportListItem"><block var="index"/><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="array"/></custom-block></block></block></block></autolambda><list><l>value</l><l>index</l></list></block><block var="howmany"/></block><block var="array"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="simple log base %&apos;b&apos; of %&apos;n&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportMonadic"><l><option>ln</option></l><block var="n"/></block><block s="reportMonadic"><l><option>ln</option></l><block var="b"/></block></block></block></script></block-definition><block-definition s="simple permutations of %&apos;r&apos; items out of %&apos;n&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="r"/><l>0</l></list></block><l>1</l><block s="reportAtomicCombine"><block s="reportNumbers"><block s="reportVariadicSum"><list><block s="reportDifference"><block var="n"/><block var="r"/></block><l>1</l></list></block><block var="n"/></block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></block></script></block-definition><block-definition s="simple combs %&apos;r&apos; out of %&apos;n&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><custom-block s="simple permutations of %n items out of %n"><block var="r"/><block var="n"/></custom-block><custom-block s="factorial $!-1-255-255-0 %n"><block var="r"/></custom-block></block></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos; ascending" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple numbers from %n to %n ascending"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><block var="from"/><block var="to"/></list></block></block></script></block-definition><block-definition s="simple gcd %&apos;a&apos; %&apos;b&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="b"/><l>0</l></list></block><script><block s="doReport"><block var="a"/></block></script></block><block s="doReport"><custom-block s="simple gcd %n %n"><block var="b"/><block s="reportModulus"><block var="a"/><block var="b"/></block></custom-block></block></script></block-definition><block-definition s="de-boolean %&apos;n&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="n"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="de-boolean %s"><l></l></custom-block></autolambda><list></list></block><block var="n"/></block></block></script><script><block s="doReport"><block s="reportIfElse"><custom-block s="zero? %n"><block var="n"/></custom-block><l>0</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="n"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><l>1</l><block var="n"/></block></block></block></script></block></script></block-definition><block-definition s="simple lcm %&apos;a&apos; %&apos;b&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="b"/><l>0</l></list></block><script><block s="doReport"><block var="b"/></block></script></block><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block s="reportQuotient"><block var="b"/><custom-block s="simple gcd %n %n"><block var="a"/><block var="b"/></custom-block></block></list></block></block></script></block-definition><block-definition s="simple numbers from %&apos;from&apos; to %&apos;to&apos; ascending" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><block s="reportNewList"><list></list></block><block s="reportNumbers"><block var="from"/><block var="to"/></block></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="function"/></list></block></block></script><scripts><script x="11.999999999999998" y="147.55555555555554"><block s="doDeclareVariables"><list><l>even items</l><l>odd items</l><l>merge</l><l>split</l><l>copy of data</l><l>id</l></list></block><block s="doSetVar"><l>id</l><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block></block><block s="doSetVar"><l>copy of data</l><block s="reportMap"><block var="id"/><block var="data"/></block></block><block s="doSetVar"><l>split</l><block s="reifyScript"><script><block s="doSetVar"><l>even items</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>odd items</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportListIsEmpty"><block var="copy of data"/></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="copy of data"/></block><block var="odd items"/></block><block s="doDeleteFromList"><l>1</l><block var="copy of data"/></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="copy of data"/></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="copy of data"/></block><block var="even items"/></block><block s="doDeleteFromList"><l>1</l><block var="copy of data"/></block></script></block></script></block></script><list></list></block></block><block s="doSetVar"><l>merge</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="#1"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="#2"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="#2"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="#1"/></block></script></block><block s="doIfElse"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="reportListItem"><l>1</l><block var="#2"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="evaluate"><block var="merge"/><list><block s="reportCDR"><block var="#1"/></block><block var="#2"/></list></block></block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#2"/></block><block s="evaluate"><block var="merge"/><list><block var="#1"/><block s="reportCDR"><block var="#2"/></block></list></block></block></block></script></block></script><list><l>#1</l><l>#2</l></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportCDR"><block var="data"/></block><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doRun"><block var="split"/><list></list></block><block s="doReport"><block s="evaluate"><block var="merge"/><list><custom-block s="$flash sort %l ordering with %predRing"><block var="odd items"/><block var="function"/></custom-block><custom-block s="$flash sort %l ordering with %predRing"><block var="even items"/><block var="function"/></custom-block></list></block></block></script></scripts></block-definition><block-definition s="☠︎ linked? %&apos;data&apos;" type="predicate" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_linked(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="☠︎ link %&apos;data&apos;" type="reporter" category="lists" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportCDR"><block var="data"/></block></block></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666669" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).&#xD;&#xD;Will not work on circular lists.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportAtomicCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333331" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></block></script></block-definition><block-definition s="log base %&apos;b&apos; $⍟-1.5-255-255-0 %&apos;x&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Computes logarithms in any base.&#xD;&#xD;The base is the left input.  It&apos;s usual in APL that if there&apos;s a main data input and some sort of control input, the latter comes on the left.  This is because APL syntax, unless you use parentheses, groups computations from right to left.&#xD;&#xD;APL has a monadic version of this function that computes natural logs (log to the base e).</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple log base %n of %n"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><block var="b"/><block var="x"/></list></block></block></script></block-definition><block-definition s="combs %&apos;r&apos; at a time $!-1-255-255-0 of %&apos;n&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218.66666666666669" collapsed="false">Computes the number of combinations of right-input things taken left-input at a time, otherwise known as the elements of Pascal&apos;s triangle.  This block shares the ! symbol with the monadic factorial function, because the formula for computing this function uses factorials.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple combs %n out of %n"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><block var="r"/><block var="n"/></list></block></block></script></block-definition><block-definition s="factorial $!-1-255-255-0 %&apos;n&apos;" type="reporter" category="operators"><comment x="0" y="0" w="172.66666666666666" collapsed="false">The factorial of a positive integer n is the product of the integers from 1 to n.&#xD;&#xD;In real APL, the domain of this function is extended beyond integers to compute the gamma function.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="n"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="factorial $!-1-255-255-0 %n"><l></l></custom-block></autolambda><list></list></block><block var="n"/></block></block></script><script><block s="doReport"><block s="reportIfElse"><custom-block s="zero? %n"><block var="n"/></custom-block><l>1</l><block s="reportAtomicCombine"><block s="reportNumbers"><l>1</l><block var="n"/></block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; scalar %&apos;pred&apos; %&apos;b&apos;" type="predicate" category="operators"><comment x="0" y="0" w="190" collapsed="false">Acts just like the function selected from&#xD;the pulldown menu, but hyperized, so&#xD;comparing two equal-sized lists reports&#xD;a list of the same length as the inputs,&#xD;with the results of item-by-item comparisons.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">﹦<options>﹦&#xD;≠&#xD;identical to&#xD;and&#xD;or&#xD;is _ a _?</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reportListItem"><block s="reportListIndex"><block var="pred"/><block s="reportNewList"><list><l>﹦</l><l>≠</l><l>identical to</l><l>and</l><l>or</l><l>is _ a _?</l></list></block></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicIsIdentical"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l></l></block></autolambda><list></list></block></list></block></block></custom-block><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="GCD (or) %&apos;a&apos; $∨-1.2-255-255-0 %&apos;b&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666666" collapsed="false">Reports the greatest common divisor of its inputs.&#xD;If the inputs are values in {0,1} then this is equivalent to the logical OR of the values, with 0=False, 1=True.  Hence the APL symbol ∨.&#xD;Also accepts Snap! Booleans as inputs.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple gcd %n %n"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><custom-block s="de-boolean %s"><block var="a"/></custom-block><custom-block s="de-boolean %s"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="LCM (and) %&apos;a&apos; $∧-1.2-255-255-0 %&apos;b&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666666" collapsed="false">Reports the least common multiple of its inputs.&#xD;If the inputs are values in {0,1} then this is equivalent to the logical AND of the values, with 0=False, 1=True.  Hence the APL symbol ∧.&#xD;Also accepts Snap! Booleans as inputs.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple lcm %n %n"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><custom-block s="de-boolean %s"><block var="a"/></custom-block><custom-block s="de-boolean %s"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="NOT $&#126;-1-255-255-0 %&apos;p&apos;" type="reporter" category="operators"><comment x="0" y="0" w="167.33333333333334" collapsed="false">Reports 1 if the input is False or 0;&#xD;otherwise reports 0.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportDifference"><l>1</l><custom-block s="signum $×-1-255-255-0 %n"><block s="reportMonadic"><l><option>abs</option></l><block var="p"/></block></custom-block></block></block></script></block-definition><block-definition s="permutations of %&apos;r&apos; items out of %&apos;n&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple permutations of %n items out of %n"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><block var="r"/><block var="n"/></list></block></block></script></block-definition><block-definition s="identity $+-1-255-255-0 %&apos;x&apos;" type="reporter" category="operators"><comment x="0" y="0" w="210" collapsed="false">Reports its input.&#xD;This is useful to fit a value into a different-type input slot, e.g., number into list slot.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>id</option></l><block var="x"/></block></block></script></block-definition><block-definition s="deep map %&apos;function&apos; over %&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="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="deep map %repRing over %l"><block var="function"/><l/></custom-block></autolambda><list></list></block><block var="data"/></block></block></script><script><block s="doReport"><block s="evaluate"><block var="function"/><list><block var="data"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;howmany&apos; deal $?-1-255-255-0 %&apos;range&apos;" type="reporter" category="operators"><comment x="0" y="0" w="177.33333333333334" collapsed="false">Report a list with left-input random integers in the range 1 to right-input.&#xD;No number appears more than once&#xD;in the result.  The left input must be less than or equal to the right input.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="%n deal helper %l"><l></l><block s="reportNumbers"><l>1</l><l></l></block></custom-block></autolambda><list></list></block></custom-block><list><block var="howmany"/><block var="range"/></list></block></block></script></block-definition><block-definition s="outer product %&apos;a&apos; $○.-1-255-255-0 %&apos;function&apos; %&apos;b&apos;" type="reporter" category="lists"><comment x="0" y="0" w="297.99999999999994" collapsed="false">Given two arrays A and B, reports an array whose dimensions are&#xD;APPEND(SHAPE OF (A), SHAPE OF (B))&#xD;in which each atomic item of the result is computed by applying the dyadic function input to an item of A and an item of B.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="a"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportListIsEmpty"><block var="a"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><custom-block s="outer product %l $○.-1-255-255-0 %repRing %l"><block s="reportListItem"><l>1</l><block var="a"/></block><block var="function"/><block var="b"/></custom-block><custom-block s="outer product %l $○.-1-255-255-0 %repRing %l"><block s="reportCDR"><block var="a"/></block><block var="function"/><block var="b"/></custom-block></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="b"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportListIsEmpty"><block var="b"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><custom-block s="outer product %l $○.-1-255-255-0 %repRing %l"><block var="a"/><block var="function"/><block s="reportListItem"><l>1</l><block var="b"/></block></custom-block><custom-block s="outer product %l $○.-1-255-255-0 %repRing %l"><block var="a"/><block var="function"/><block s="reportCDR"><block var="b"/></block></custom-block></block></block></script><script><block s="doReport"><block s="evaluate"><block var="function"/><list><block var="a"/><block var="b"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="%&apos;head&apos; in front of stream %&apos;tail&apos;" type="reporter" category="lists"><comment x="0" y="0" w="418.6106770833333" collapsed="false">The stream version of IN FRONT OF.&#xD;&#xD;Streams, also called lazy lists, are like lists except that&#xD;items are not computed until they&apos;re needed.  This allows&#xD;for more efficient handling of large computed lists, and&#xD;even infinite lists.  The only piece of magic is here in &#xD;IN FRONT OF STREAM, whose second input is of type &#xD;Unevaluated, which means that it&apos;s a procedure, with &#xD;a sort of invisible gray ring. So HEAD OF STREAM is just &#xD;ITEM 1 OF, but TAIL OF STREAM has a CALL block &#xD;to make the computation happen.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:a prefixação de _ ao canal _&#xD;</translations><inputs><input type="%s"></input><input type="%anyUE"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="head"/><block var="tail"/><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></script></block-definition><block-definition s="head of stream %&apos;stream&apos;" type="reporter" category="lists"><comment x="0" y="0" w="418.6106770833333" collapsed="false">The stream version of ITEM 1 OF.&#xD;&#xD;Streams, also called lazy lists, are like lists except that&#xD;items are not computed until they&apos;re needed.  This allows&#xD;for more efficient handling of large computed lists, and&#xD;even infinite lists.  The only piece of magic is in &#xD;IN FRONT OF STREAM, whose second input is of type &#xD;Unevaluated, which means that it&apos;s a procedure, with &#xD;a sort of invisible gray ring. So HEAD OF STREAM is just &#xD;ITEM 1 OF, but TAIL OF STREAM has a CALL block &#xD;to make the computation happen.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:o primeiro item do canal _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="stream"/></block></block></script></block-definition><block-definition s="tail of stream %&apos;stream&apos;" type="reporter" category="lists"><comment x="0" y="0" w="418.6106770833333" collapsed="false">The stream version of ALL BUT FIRST OF.&#xD;&#xD;Streams, also called lazy lists, are like lists except that&#xD;items are not computed until they&apos;re needed.  This allows&#xD;for more efficient handling of large computed lists, and&#xD;even infinite lists.  The only piece of magic is in &#xD;IN FRONT OF STREAM, whose second input is of type &#xD;Unevaluated, which means that it&apos;s a procedure, with &#xD;a sort of invisible gray ring. So HEAD OF STREAM is just &#xD;ITEM 1 OF, but TAIL OF STREAM has a CALL block &#xD;to make the computation happen.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:um canal com todos os itens de _ menos o primeiro&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListItem"><l>3</l><block var="stream"/></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block var="stream"/></block></block></script></block><block s="doReplaceInList"><l>4</l><block var="stream"/><block s="evaluate"><block s="reportListItem"><l>2</l><block var="stream"/></block><list></list></block></block><block s="doReplaceInList"><l>3</l><block var="stream"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReport"><block s="reportListItem"><l>4</l><block var="stream"/></block></block></script></block></script></block-definition><block-definition s="map %&apos;function&apos; over stream %&apos;stream&apos;" type="reporter" category="lists"><comment x="0" y="0" w="418.6106770833333" collapsed="false">The stream version of variadic MAP (any number of input lists, like&#xD;MULTIMAP in the list utilities library).&#xD;&#xD;Streams, also called lazy lists, are like lists except that&#xD;items are not computed until they&apos;re needed.  This allows&#xD;for more efficient handling of large computed lists, and&#xD;even infinite lists.  The only piece of magic is in &#xD;IN FRONT OF STREAM, whose second input is of type &#xD;Unevaluated, which means that it&apos;s a procedure, with &#xD;a sort of invisible gray ring. So HEAD OF STREAM is just &#xD;ITEM 1 OF, but TAIL OF STREAM has a CALL block &#xD;to make the computation happen.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:a aplicação de _ aos itens dos canais _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="stream"/></block><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="evaluate"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="head of stream %l"><l/></custom-block></autolambda><list></list></block><block var="stream"/></block></block><custom-block s="map %repRing over stream %mult%l"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="tail of stream %l"><l/></custom-block></autolambda><list></list></block><block var="stream"/></block></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from stream %&apos;stream&apos;" type="reporter" category="lists"><comment x="0" y="0" w="418.6106770833333" collapsed="false">The stream version of KEEP.&#xD;&#xD;Streams, also called lazy lists, are like lists except that&#xD;items are not computed until they&apos;re needed.  This allows&#xD;for more efficient handling of large computed lists, and&#xD;even infinite lists.  The only piece of magic is in &#xD;IN FRONT OF STREAM, whose second input is of type &#xD;Unevaluated, which means that it&apos;s a procedure, with &#xD;a sort of invisible gray ring. So HEAD OF STREAM is just &#xD;ITEM 1 OF, but TAIL OF STREAM has a CALL block &#xD;to make the computation happen.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:os itens tais que _ do canal _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="stream"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="keep items such that %predRing from stream %l"><block var="pred"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from stream %l"><block var="pred"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="show stream %&apos;stream&apos; %&apos;number&apos;" type="reporter" category="lists"><comment x="0" y="0" w="364" collapsed="false">The inputs are a stream and a positive integer.  SHOW STREAM reports a&#xD;regular finite list of length less than (for short finite streams) or equal to the&#xD;second input.  It&apos;s useful because an infinite stream can&apos;t be displayed in a&#xD;finite amount of time.</comment><header></header><code></code><translations>pt:uma lista com os itens do canal _ até ao _ º&#xD;</translations><inputs><input type="%l"></input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="stream"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="number"/><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="show stream %l %n"><custom-block s="tail of stream %l"><block var="stream"/></custom-block><block s="reportDifference"><block var="number"/><l>1</l></block></custom-block></block></block></script></block-definition><block-definition s="stream %&apos;items&apos;" type="reporter" category="lists"><comment x="0" y="0" w="343.3333333333333" collapsed="false">Make a stream from a finite collection of items, like the LIST primitive.&#xD;Since this block is typically used for small amounts of data, it does not&#xD;delay computation of its inputs.</comment><header></header><code></code><translations>pt:um canal com _&#xD;</translations><inputs><input type="%mult%s"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="items"/></block><script><block s="doReport"><block var="items"/></block></script></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="reportListItem"><l>1</l><block var="items"/></block><custom-block s="stream %mult%s"><block s="reportCDR"><block var="items"/></block></custom-block></custom-block></block></script></block-definition><block-definition s="sieve %&apos;stream&apos;" type="reporter" category="lists"><comment x="0" y="0" w="478.00000000000006" collapsed="false">Call this block with STREAM WITH NUMBERS FROM 2&#xD;as its input to get the infinite stream of all the prime numbers.&#xD;&#xD;It&apos;s called SIEVE because the algorithm it uses is the Sieve of&#xD;Eratosthenes (clickable link):&#xD;https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&#xD;&#xD;Look inside; it&apos;s a beautifully elegant algorithm.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:a crivagem do canal _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="sieve %l"><custom-block s="keep items such that %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportModulus"><l></l><custom-block s="head of stream %l"><block var="stream"/></custom-block></block><l>0</l></list></block></autolambda><list></list></block><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="stream with numbers from %&apos;start&apos;" type="reporter" category="lists"><comment x="0" y="0" w="418.6106770833333" collapsed="false">The stream version of NUMBERS FROM 1 TO, with no&#xD;ending number because it reports the infinite stream of all&#xD;the integers greater than or equal to its input.&#xD;&#xD;Read the code!  It&apos;s deceptively simple.&#xD;&#xD;Streams, also called lazy lists, are like lists except that&#xD;items are not computed until they&apos;re needed.  This allows&#xD;for more efficient handling of large computed lists, and&#xD;even infinite lists.  The only piece of magic is in &#xD;IN FRONT OF STREAM, whose second input is of type &#xD;Unevaluated, which means that it&apos;s a procedure, with &#xD;a sort of invisible gray ring. So HEAD OF STREAM is just &#xD;ITEM 1 OF, but TAIL OF STREAM has a CALL block &#xD;to make the computation happen.&#xD;&#xD;For a tutorial introduction to streams, read SICP 3.5:&#xD;https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5&#xD;or Brian&apos;s lecture notes (start on page 74):&#xD;https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;The above are clickable links!</comment><header></header><code></code><translations>pt:um canal com os números a partir de _&#xD;</translations><inputs><input type="%n">1</input></inputs><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="start"/><custom-block s="stream with numbers from %n"><block s="reportVariadicSum"><list><block var="start"/><l>1</l></list></block></custom-block></custom-block></block></script></block-definition><block-definition s="stream demo" type="command" category="lists"><comment x="0" y="0" w="174.66666666666666" collapsed="true">Read the code while running it, </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ones</l><l>ints</l><l>primes</l></list></block><block s="doSetVar"><l>ones</l><custom-block s="%s in front of stream %anyUE"><l>1</l><block var="ones"/></custom-block></block><block s="doSetVar"><l>ints</l><custom-block s="%s in front of stream %anyUE"><l>1</l><custom-block s="map %repRing over stream %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block><list><block var="ones"/><block var="ints"/></list></custom-block></custom-block></block><block s="doSetVar"><l>primes</l><custom-block s="sieve %l"><custom-block s="stream with numbers from %n"><l>2</l></custom-block></custom-block></block><block s="doSayFor"><custom-block s="show stream %l %n"><block var="ones"/><l>10</l></custom-block><l>2</l></block><block s="doSayFor"><custom-block s="show stream %l %n"><block var="ints"/><l>10</l></custom-block><l>2</l></block><block s="doSayFor"><custom-block s="show stream %l %n"><block var="primes"/><l>10</l></custom-block><l>2</l></block></script></block-definition><block-definition s="bar chart of table %&apos;data&apos; grouped by field: %&apos;field&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos;" type="reporter" category="lists"><comment x="0" y="0" w="344.6666666666667" collapsed="false">Takes a table (typically from a CSV data set) as input and reports a summary of the table grouped by the field in the specified column number.  The remaining three inputs are used only if the field values are numbers, in which case they can be grouped into buckets (e.g., decades, centuries, etc.).  Those three inputs specify the smallest and largest values of interest and, most importantly, the width of a bucket (10 for decades, 100 for centuries).  If the field isn&apos;t numeric, leave these three inputs empty or set them to zero.  In that case, each string value of the field is its own bucket, and they appear sorted alphabetically.&#xD;&#xD;The block reports a new table with three columns.  The first column contains the bucket name or smallest number.  The second column contains a nonnegative integer that says how many records in the input table fall into this bucket.  The third column is a subtable containing the actual records from the original table that fall into the bucket.&#xD;&#xD;If your buckets aren&apos;t of constant width, or you want to group by some function of more than one field, load the &quot;Frequency Distribution Analysis&quot; library instead. </comment><header></header><code></code><translations>ca:gràfica de la taula _ agrupada pel camp: _ des de: _ fins: _ interval: _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>sorted</l></list></block><block s="doSetVar"><l>sorted</l><custom-block s="sort table %l on field %n in %s order"><custom-block s="group table %l by field %n by intervals of: %n"><block var="data"/><block var="field"/><block var="interval"/></custom-block><l>1</l><l>ascending</l></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="interval"/><l>0</l></list></block><script><block s="doReport"><block var="sorted"/></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportCONS"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><l/></block><block var="interval"/></list></block><block s="reportCDR"><l/></block></block></autolambda><list></list></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="sorted"/><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="floor"/><block var="interval"/></block></block><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="ceiling"/><block var="interval"/></block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l>1</l></list></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l>0</l><block s="reportNewList"><list></list></block></list></block></autolambda><list></list></block></custom-block></block></block></script></block-definition><block-definition s="bar chart helper function to fill %&apos;data&apos; key: %&apos;key&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos; with: %&apos;generator&apos;" type="reporter" category="lists"><comment x="0" y="0" w="103" collapsed="false">add missing entries to a sorted list. Used for histograms</comment><header></header><code></code><translations>pt:os itens de _ com a chave _ entre _ e _ com passo _ completados por _&#xD;ca:gràfica omplint _ amb clau: _ des de: _ fins: _ interval: _ amb _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%n"></input><input type="%n"></input><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="floor"/><block var="ceiling"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></list></block><script><block s="doReport"><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block var="floor"/><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="bar chart helper function to fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block-definition><block-definition s="plot bar chart %&apos;data&apos; bars at x: %&apos;left&apos; y: %&apos;bottom&apos; width: %&apos;width&apos; height: %&apos;height&apos;" type="command" category="pen"><header></header><code></code><translations>pt:desenha gráfico de barras de _ em (x: _ , y: _ ) com largura _ e altura _&#xD;ca:dibuixa gràfic _ a x: _ y: _ amplada: _ alçada: _&#xD;</translations><inputs><input type="%l"></input><input type="%n">-200</input><input type="%n">-100</input><input type="%n">400</input><input type="%n">200</input></inputs><script><block s="doDeclareVariables"><list><l>ratio</l><l>step</l><l>flat line ends</l><l>col</l><l>sorted</l><l>min</l><l>digit12</l><l>saved pentrails</l><l>digit10</l><l>x label width</l><l>saved position</l><l>label delta y</l><l>max y</l></list></block><block s="doSetVar"><l>flat line ends</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="doSetVar"><l>saved pentrails</l><block s="reportPenTrailsAsCostume"></block></block><block s="clear"></block><block s="up"><comment w="105.33333333333331" collapsed="false">find out how wide a digit is at two sizes</comment></block><block s="doGotoObject"><l><option>center</option></l></block><block s="write"><l>1234567890</l><l>12</l></block><block s="doSetVar"><l>digit12</l><block s="reportQuotient"><block s="xPosition"></block><l>10</l></block></block><block s="clear"></block><block s="up"></block><block s="doGotoObject"><l><option>center</option></l></block><block s="write"><l>1234567890</l><l>10</l></block><block s="doSetVar"><l>digit10</l><block s="reportQuotient"><block s="xPosition"></block><l>10</l></block></block><block s="clear"></block><block s="doSwitchToCostume"><block var="saved pentrails"/></block><block s="doStamp"></block><block s="doSwitchToCostume"><l><option>Turtle</option></l></block><block s="doSetVar"><l>x label width</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></block></block></block><block s="doSetVar"><l>sorted</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>2</l><l/></block></autolambda><list></list></block><custom-block s="sort table %l on field %n in %s order"><block var="data"/><l>2</l><l>descending</l></custom-block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block><l>0</l></list></block><script><block s="doSetVar"><l>min</l><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block></block></script><script><block s="doSetVar"><l>min</l><l>0</l></block></script><comment w="142" collapsed="false">If smallest value &lt; 0, the x axis isn&apos;t at the bottom.&#xD;Note that sort is by &gt; not by &lt;.&#xD;Not clear this can happen in a&#xD;histogram!</comment></block><block s="doSetVar"><l>max y</l><block s="reportListItem"><l>1</l><block var="sorted"/></block></block><block s="doSetVar"><l>ratio</l><block s="reportQuotient"><block var="height"/><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="sorted"/></block><block var="min"/></block></block></block><block s="doSetVar"><l>label delta y</l><block s="reportVariadicProduct"><list><block s="reportRound"><block s="reportQuotient"><block var="max y"/><l>50</l></block></block><l>10</l></list></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="step"/><l>2</l></list></block><script><block s="doSetVar"><l>col</l><block s="reportDifference"><block var="step"/><l>1</l></block></block></script><script><block s="doSetVar"><l>col</l><block s="reportVariadicProduct"><list><block var="step"/><l>0.8</l></list></block></block></script></block><block s="gotoXY"><block var="left"/><block s="reportDifference"><block var="bottom"/><block s="reportVariadicProduct"><list><block var="min"/><block var="ratio"/></list></block></block></block><block s="setSize"><l>1</l></block><block s="down"></block><block s="setHeading"><l>90</l></block><block s="forward"><block var="width"/><comment w="110.66666666666667" collapsed="true">draw x axis at y=0</comment></block><block s="up"></block><block s="gotoXY"><block var="left"/><block var="bottom"/></block><block s="setHeading"><l>0</l></block><block s="down"></block><block s="forward"><block var="height"/><comment w="74.66666666666667" collapsed="true">draw y axis</comment></block><block s="up"></block><block s="setHeading"><l>90</l></block><block s="gotoXY"><block s="reportDifference"><block var="left"/><block s="reportVariadicSum"><list><block var="digit12"/><l>2</l></list></block></block><block s="reportDifference"><block var="bottom"/><block s="reportVariadicProduct"><list><block var="min"/><block var="ratio"/></list></block></block></block><block s="write"><l>0</l><l>12</l></block><block s="doFor"><l>i</l><l>1</l><l>5</l><script><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="label delta y"/><block var="min"/></block><block var="ratio"/></list></block></block><block s="setXPosition"><block s="reportDifference"><block var="left"/><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="digit12"/><block s="reportStringSize"><block s="reportVariadicProduct"><list><block var="label delta y"/><block var="i"/></list></block></block></list></block><l>2</l></list></block></block></block><block s="write"><block s="reportVariadicProduct"><list><block var="label delta y"/><block var="i"/></list></block><l>12</l></block></script></block><block s="gotoXY"><block var="left"/><block var="bottom"/><comment w="112.00000000000001" collapsed="true">Ready to draw bars.</comment></block><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>2</l></block></block><block s="setSize"><block var="col"/></block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="down"></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block var="min"/></block><block var="ratio"/></list></block></block><block s="up"></block><block s="setYPosition"><block var="bottom"/></block><block s="doSetVar"><l>saved position</l><block s="reportNewList"><list><block s="xPosition"></block><block s="yPosition"></block></list></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="col"/><l>15</l></list><comment w="319.3333333333333" collapsed="true">Choose label format depending on label width vs. bar width.</comment></block><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>2</l></block></block><block s="changeXPosition"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><l>8</l></block></block><block s="setHeading"><l>180</l></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>10</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="col"/><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block var="digit10"/><block var="x label width"/></list></block><l>2.5</l></list></block></list></block><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>2</l></block></block><block s="changeXPosition"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><l>10</l></block></block><block s="setHeading"><l>180</l></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>12</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="col"/><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><block var="digit12"/><block var="x label width"/></list></block><l>2.5</l></list></block></list></block><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>10</l></block></block><block s="setHeading"><l>90</l></block><block s="forward"><block s="reportDifference"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><block s="reportVariadicProduct"><list><block var="digit10"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></list></block></block><l>2</l></block></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>10</l></block></script><script><block s="setYPosition"><block s="reportDifference"><block var="bottom"/><l>12</l></block></block><block s="setHeading"><l>90</l></block><block s="forward"><block s="reportDifference"><block s="reportDifference"><block s="reportQuotient"><block var="step"/><l>2</l></block><block s="reportVariadicProduct"><list><block var="digit12"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></list></block></block><l>2</l></block></block><block s="write"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>12</l></block></script></block></script></block></script></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block><block s="setHeading"><l>90</l></block><block s="doGotoObject"><block var="saved position"/></block><block s="changeXPosition"><block var="step"/></block></script></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat line ends"/></block></script></block-definition><block-definition s="sort table %&apos;data&apos; on field %&apos;field number&apos; in %&apos;order&apos; order" type="reporter" category="lists"><header></header><code></code><translations>ca:ordena taula _ pel camp _ en ordre _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%s" readonly="true"><options>ascending&#xD;descending</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="order"/><l>ascending</l></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="field number"/><l/></block><block s="reportListItem"><block var="field number"/><l/></block></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="field number"/><l/></block><block s="reportListItem"><block var="field number"/><l/></block></list></block></autolambda><list></list></block></block></list></block></block></script></block-definition><block-definition s="group table %&apos;data&apos; by field %&apos;number&apos; by intervals of: %&apos;interval&apos;" type="reporter" category="lists"><header></header><code></code><translations>ca:agrupa taula _ pel camp _ per intervals de _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_group(list, fn)</l><list><block var="data"/><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="interval"/><l>0</l></list></block><block s="reifyReporter"><autolambda><block s="reportListItem"><block var="number"/><l/></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportListItem"><block var="number"/><l/></block><block var="interval"/></block></block></autolambda><list></list></block></block></list></block></block></script></block-definition><block-definition s="listify %&apos;jsonString&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:os dados JSON _ em formato de lista&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="jsonString"/><l><option>json</option></l></block></block></script></block-definition><block-definition s="value at key %&apos;key&apos; of %&apos;lst&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o valor com chave _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>each item</l><block var="lst"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="each item"/></block><block var="key"/></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="each item"/></block></block></script></block></script></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="%&apos;method&apos; url: %&apos;url&apos; send: %&apos;payload&apos; headers: %&apos;headers&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:a resposta a _ de _ enviando _ e cabeçalhos _&#xD;</translations><inputs><input type="%s" readonly="true">GET<options>GET&#xD;POST&#xD;PUT&#xD;DELETE</options></input><input type="%s">https://snap.berkeley.edu</input><input type="%s"></input><input type="%mult%l" readonly="true"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>xhr_request(mth, url, dta, hdrs)</l><list><block var="method"/><block var="url"/><block var="payload"/><block var="headers"/></list></block></block></script></block-definition><block-definition s="key: %&apos;key&apos; value: %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:um par (chave: _ , valor: _ )&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block></block></script></block-definition><block-definition s="current location" type="reporter" category="sensing"><comment x="0" y="0" w="200" collapsed="false">Reports a three-item list containing the latitude and longitude of the user, and the precision of the measurements.  Works only if the user allows snap.berkeley.edu access to location data.  Some browsers also require an HTTPS connection to Snap!.</comment><header></header><code></code><translations>pt:a localização actual do dispositivo&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>geo_location(acc?)</l><list><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></block><block s="doWaitUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="evaluate"><block var="callback"/><list></list></block></block><l>3</l></list></block></block><block s="doReport"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="create %&apos;_scope&apos; var %&apos;_names&apos;" type="command" category="variables"><comment x="0" y="0" w="146" collapsed="false">This block creates  new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in &apos;names&apos; list).&#xD;&#xD;If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="_scope"/><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="delete var %&apos;_names&apos;" type="command" category="variables"><comment x="0" y="0" w="216.99999999999997" collapsed="false">This block deletes all the variables with the names given (inside input list).&#xD;&#xD;Each name will make only one variable deletion, and this will be the variable found following the scope order: &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;If we have a &quot;testing&quot; sprite variable and also a &quot;testing&quot; global one, deleting &quot;testing&quot; will delete only the sprite one (Yes! we can also do &quot;delete var (testing, testing)&quot; to delete both.&#xD;&#xD;If one variable does not exists (in any scope) an error happens, stopping block action in that point. You can check it before with the &quot;does var (name) exists?&quot;block. </comment><header></header><code></code><translations>pt:remove as variáveis _&#xD;ca:esborra les variables _&#xD;es:borrar variables _&#xD;de:löschen var _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>err_ignore</l><list><custom-block s="var %s"><block var="_item"/></custom-block></list></block><block s="doApplyExtension"><l>var_delete(name)</l><list><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="set var %&apos;_name&apos; to %&apos;_value&apos;" type="command" category="variables"><comment x="0" y="0" w="240.49316406250003" collapsed="false">This block sets the given value (last input) to the variable named with the name givent (var input).&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>ca:assigna a _ el valor _&#xD;es:asignar a _ el valor _&#xD;pt:altera _ para _&#xD;de:setze var _ auf _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="_name"/><block var="_value"/></list></block></script></block-definition><block-definition s="var %&apos;_name&apos;" type="reporter" category="variables"><comment x="0" y="0" w="178.00000000000003" collapsed="false">This block reports the value of the variable with the name given.&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>pt:o valor de _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></block></script></block-definition><block-definition s="does var %&apos;_name&apos; exist?" type="predicate" category="variables"><comment x="0" y="0" w="146" collapsed="false">This block reports &quot;true&quot; if there is a variable with this given name (input slot) in that context.&#xD;&#xD;It can be a global, sprite or script variable.&#xD;&#xD;Otherwise it reports &quot;false&quot;.</comment><header></header><code></code><translations>pt:a variável _ existe&#xD;ca:existeix la variable _ ?&#xD;es:existe la variable _ ?&#xD;de:existiert var _ ?&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doApplyExtension"><l>err_ignore</l><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="reifyScript"><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="show var %&apos;_name&apos;" type="command" category="variables"><comment x="0" y="0" w="181" collapsed="false">This block turns on (show) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:mostra la variable _&#xD;es:mostrar variable _&#xD;pt:mostra a variável _&#xD;de:zeige var _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_show(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="hide var %&apos;_name&apos;" type="command" category="variables"><comment x="0" y="0" w="181" collapsed="false">This block turns off (hide) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:amaga la variable _&#xD;es:esconder variable _&#xD;pt:esconde a variável _&#xD;de:verstecke var _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_hide(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="¬ %&apos;a&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_not(a)</l><list><block var="a"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; ∧ %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_and(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; ∨ %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_or(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; ⊻ %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_xor(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &lt;&lt; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_left_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &gt;&gt; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &gt;&gt;&gt; %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>bit_unsigned_right_shift(a, b)</l><list><block var="a"/><block var="b"/></list></block></block></script></block-definition><block-definition s="start SciSnap!" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="143.1691406249999" collapsed="false">Initialization of SciSnap!</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnapExtensions.js</l></list></block><block s="doWarp"><script><block s="doApplyExtension"><l>SciS_addMenuItemForSciSnapManuals()</l><list></list></block><custom-block s="Switch to SciSnap! logo"></custom-block><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doApplyExtension"><l>SciS_setvalue(which,value)</l><list><l>Stage size</l><block s="reportNewList"><list><l>800</l><l>600</l></list></block></list></block><block s="doSwitchToCostume"><l>HilbertoLeft</l><comment w="90" collapsed="false">... if sprite Hilberto is available.</comment></block></script></block></script><scripts><script x="319" y="43.800000000000125"><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://emu-online.de/SciSnapExtensions.js</l></list><comment w="90" collapsed="false">alternative server</comment></block></script></scripts></block-definition><block-definition s="set SciSnap! global variables and properties" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="220.79868031547676" collapsed="false">Creates global variables &quot;SciSnap!Properties&quot;, &quot;SciSnap!Data&quot;, and &quot;SciSnap!Messages&quot;. &#xD;Sets the default values of global SciSnap!-properties for items&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Properties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Data</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Messages</l></list></block><block s="doSetVar"><l>SciSnap!Properties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Messages</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxSetValue</l><l>500</l></custom-block></script></block></script></block-definition><block-definition s="SciSnap! global property %&apos;name&apos;" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="183.33333333333337" collapsed="false">Returns the value of an existing global SciSnap!-property or &quot;not found&quot;.&#xD;&#xD;Items:&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs><input type="%s">minValue<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block var="SciSnap!Properties"/></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set SciSnap! global property %&apos;name&apos; to %&apos;value&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="167.5" collapsed="false">Sets the value of an existing global SciSnap!-property or inserts it anew.&#xD;&#xD;Items:&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs><input type="%s">minValue<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block var="SciSnap!Properties"/></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block var="SciSnap!Properties"/></block></script></block></script></block></script></block-definition><block-definition s="show global message title: %&apos;title&apos; $nl message: %&apos;message&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="172" collapsed="false">Shows the message with headline in the middle of the window.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">headline</input><input type="%txt">theMessage</input></inputs><script><block s="doApplyExtension"><l>SciS_showmessage(title,message)</l><list><block s="reportJoinWords"><list><block var="title"/><l></l></list></block><block s="reportJoinWords"><list><block var="message"/><l></l></list></block></list></block></script></block-definition><block-definition s="report SciSnap! error %&apos;errortext&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="189.50000000000003" collapsed="false">Adds a new entry to SciSnap!Messages and shows the error message.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">something wrong!</input></inputs><script><block s="doAddToList"><block var="errortext"/><block var="SciSnap!Messages"/></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="show global message title: %txt %br message: %txt"><l>ERROR:</l><block var="errortext"/></custom-block></script><script><block s="doSayFor"><block var="errortext"/><l>1</l></block></script></block></script></block-definition><block-definition s="copy of costume %&apos;costume&apos;" type="reporter" category="looks"><comment x="0" y="0" w="143.66666666666657" collapsed="false">Reports a copy of a costume.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_costumecopy(costume)</l><list><block var="costume"/></list></block></block></script></block-definition><block-definition s="costume of %&apos;sprite&apos;" type="reporter" category="looks"><comment x="0" y="0" w="154.1666666666665" collapsed="false">Reports the costume of a sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doReport"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="random" type="reporter" category="operators"><comment x="0" y="0" w="204.3845144356957" collapsed="false">Returns a random number between 0 and 1.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportRandom"><l>0.0000000000000000000001</l><l>1</l></block></block></script></block-definition><block-definition s="π" type="reporter" category="operators"><comment x="0" y="0" w="65.33333333333333" collapsed="false">Reports Pi.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="e" type="reporter" category="operators"><comment x="0" y="0" w="122.33333333333324" collapsed="false">Reports Euler&apos;s number.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>e^</option></l><l>1</l></block></block></script></block-definition><block-definition s="round %&apos;x&apos; to %&apos;n&apos; digits" type="reporter" category="operators"><comment x="0" y="0" w="127.00000000000001" collapsed="false">Rounds value x to n digits.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1.2357</input><input type="%n">2</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block var="x"/><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></list></block></block><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></block></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Reports n faculty.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>NaN</l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="n"/><custom-block s="%n !"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></list></block></block></script></block></script></block></script></block-definition><block-definition s="( %&apos;n&apos; ) $nl ( %&apos;k&apos; )" type="reporter" category="operators"><comment x="0" y="0" w="155.66666666666663" collapsed="false">Reports a binomial coefficient.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%n">3</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicProduct"><list><l>2</l><block var="k"/></list></block><block var="n"/></list></block><script><block s="doSetVar"><l>k</l><block s="reportDifference"><block var="n"/><block var="k"/></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="k"/><l>1</l></list></block><script><block s="doReport"><l>1</l></block></script></block><block s="doSetVar"><l>result</l><l>1</l></block><block s="doSetVar"><l>n</l><block s="reportVariadicSum"><list><block var="n"/><l>1</l></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="result"/><block s="reportDifference"><block var="n"/><block var="i"/></block></list></block><block var="i"/></block></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;data&apos; a %&apos;choice&apos;" type="predicate" category="1. SciSnap! globals"><comment x="0" y="0" w="212.35029354207427" collapsed="false">Test on vector, matrix, table, predicate, interval, list of intervals, set, or complex-number.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%txt" readonly="true">vector<options>vector&#xD;transposed-vector&#xD;matrix&#xD;table&#xD;complex-number&#xD;complex-number-Cartesian-style&#xD;complex-number-polar-style&#xD;set&#xD;comparisonOperator&#xD;interval&#xD;listOfIntervals&#xD;numericalList</options></input></inputs><script><block s="doDeclareVariables"><list><l>width</l><l>result</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>comparisonOperator</l></list></block><script><block s="doReport"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><block var="data"/></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doReport"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="data"/><l>complex-number-Cartesian-style</l></custom-block><custom-block s="is %s a %txt"><block var="data"/><l>complex-number-polar-style</l></custom-block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number-Cartesian-style</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberCartesianStyle</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number-polar-style</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>transposed-vector</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="value"/><l><option>list</option></l></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>1</l></list></block><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="value"/></block><l><option>number</option></l></block></list></block></list></block></block></autolambda><list><l>value</l></list></block><block var="data"/></block></block><l>0</l></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>vector</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doReport"><custom-block s="is %s a %txt"><block var="data"/><l>transposed-vector</l></custom-block></block></script><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><l></l><l><option>number</option></l></block></block></autolambda><list></list></block><block var="data"/></block></block><l>0</l></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>matrix</l></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="width"/><l>1</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_isMatrix(data)</l><list><block var="data"/></list></block></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>table</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_isTable(data)</l><list><block var="data"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>interval</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>4</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>4</l><block var="data"/></block><l><option>number</option></l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportListItem"><l>4</l><block var="data"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="data"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="data"/></block><l>&lt;</l></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="data"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="data"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>listOfIntervals</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="item"/><l>interval</l></custom-block></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>set</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>set</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>5</l></list></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><custom-block s="all of %mult%boolUE"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>Boolean</option></l></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="data"/></block><l><option>list</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="data"/></block><block s="reportNewList"><list></list></block></list></block><custom-block s="is %s a %txt"><block s="reportListItem"><l>4</l><block var="data"/></block><l>listOfIntervals</l></custom-block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>5</l><block var="data"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="data"/></block><l><option>predicate</option></l></block></list></block></list></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>numericalList</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReport"><block var="result"/></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><scripts><script x="375.9951171875" y="1253.6666666666665"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><block var="width"/></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></block></autolambda><list><l>value</l></list></block><block var="row"/></block></block><l>0</l></list></block></list></block></autolambda><list><l>row</l></list></block><block var="data"/></block></block><l>0</l></list></block></script><script x="236" y="1856.8333333333328"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><block var="width"/></list></block></autolambda><list><l>row</l></list></block><block var="data"/></block></block><l>0</l></list></block></script></scripts></block-definition><block-definition s="substring of %&apos;aString&apos; from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="operators"><comment x="0" y="0" w="141.66666666666669" collapsed="false">Reports a substring of a string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisString</input><input type="%n">1</input><input type="%n">4</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_substring(aString,from,to)</l><list><block var="aString"/><block var="from"/><block var="to"/></list></block></block></script></block-definition><block-definition s="delete %&apos;choice&apos; %&apos;substring&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="252.50000000000003" collapsed="false">Reports a string without first/all instances of substring.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;first</options></input><input type="%txt">this</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_delete(substring,aString,choice)</l><list><block var="substring"/><block var="aString"/><block var="choice"/></list></block></block></script></block-definition><block-definition s="upper case %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Reports a string in upper case.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_uppercase(txt)</l><list><block var="aString"/></list></block></block></script></block-definition><block-definition s="lower case %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="144.16666666666669" collapsed="false">Reports a string in lower case.</comment><header></header><code></code><translations></translations><inputs><input type="%s">ThisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_lowercase(txt)</l><list><block var="aString"/></list></block></block></script></block-definition><block-definition s="write text %&apos;theText&apos; to TXT-file %&apos;filename&apos;" type="command" category="operators"><comment x="0" y="0" w="116.14677103718192" collapsed="false">Stores a string in a file. </comment><header></header><code></code><translations></translations><inputs><input type="%txt">this text</input><input type="%txt">this file</input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="theText"/><l><option>text</option></l></block><block s="reportIsA"><block var="filename"/><l><option>text</option></l></block></list></block><script><block s="doApplyExtension"><l>SciS_writeToFile(data,filename)</l><list><block var="theText"/><block var="filename"/></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: text as data and filename required!</l></custom-block></script></block></script></block-definition><block-definition s="index of %&apos;substring&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="270" collapsed="false">Reports the index of first appearance of substring in string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">ring</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_indexof(sub,txt)</l><list><block var="substring"/><block var="aString"/></list></block></block></script></block-definition><block-definition s="replace %&apos;choice&apos; %&apos;substring&apos; with %&apos;replacement&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="277.5" collapsed="false">Reports a string with replacement instead of substring.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;first</options></input><input type="%txt">this</input><input type="%txt">that</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_replace(substring,replacement,aString,choice)</l><list><block var="substring"/><block var="replacement"/><block var="aString"/><block var="choice"/></list></block></block></script></block-definition><block-definition s="datetime" type="reporter" category="sensing"><comment x="0" y="0" w="206" collapsed="false">Reports date and time in standard notation.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>month</l><l>hour</l><l>minute</l><l>second</l><l>day</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>month</l><block s="reportDate"><l><option>month</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="month"/><l>10</l></list></block><script><block s="doSetVar"><l>month</l><block s="reportJoinWords"><list><l>0</l><block var="month"/></list></block></block></script></block><block s="doSetVar"><l>day</l><block s="reportDate"><l><option>date</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="day"/><l>10</l></list></block><script><block s="doSetVar"><l>day</l><block s="reportJoinWords"><list><l>0</l><block var="day"/></list></block></block></script></block><block s="doSetVar"><l>hour</l><block s="reportDate"><l><option>hour</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hour"/><l>10</l></list></block><script><block s="doSetVar"><l>hour</l><block s="reportJoinWords"><list><l>0</l><block var="hour"/></list></block></block></script></block><block s="doSetVar"><l>minute</l><block s="reportDate"><l><option>minute</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="minute"/><l>10</l></list></block><script><block s="doSetVar"><l>minute</l><block s="reportJoinWords"><list><l>0</l><block var="minute"/></list></block></block></script></block><block s="doSetVar"><l>second</l><block s="reportDate"><l><option>second</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="second"/><l>10</l></list></block><script><block s="doSetVar"><l>second</l><block s="reportJoinWords"><list><l>0</l><block var="second"/></list></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportDate"><l><option>year</option></l></block><l>-</l><block var="month"/><l>-</l><block var="day"/><l>T</l><block var="hour"/><l>:</l><block var="minute"/><l>:</l><block var="second"/></list></block></block></script></block></script></block-definition><block-definition s="datetime: %&apos;dt&apos; $arrowRight %&apos;time&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt" readonly="true">seconds today<options>Julian Date&#xD;decimal years&#xD;days this year&#xD;hours this year&#xD;minutes this year&#xD;seconds this year&#xD;hours today&#xD;minutes today&#xD;seconds today</options></input></inputs><script><block s="doDeclareVariables"><list><l>h</l><l>m</l><l>s</l><l>hms</l><l>separator</l><l>YYYY</l><l>MM</l><l>DD</l><l>YMD</l><l>monthdays</l><l>days</l><l>JD</l><l>jm</l><l>jy</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>monthdays</l><block s="reportNewList"><list><l>31</l><l>28</l><l>31</l><l>30</l><l>31</l><l>30</l><l>31</l><l>31</l><l>30</l><l>31</l><l>30</l><l>31</l></list></block></block><block s="doSetVar"><l>separator</l><custom-block s="index of %txt in %txt"><l>T</l><block var="dt"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="separator"/><l>0</l></list></block><script><block s="doSetVar"><l>separator</l><custom-block s="index of %txt in %txt"><l> </l><block var="dt"/></custom-block></block></script></block><block s="doSetVar"><l>YYYY</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><l>1</l><block s="reportDifference"><block var="separator"/><l>7</l></block></custom-block></block><block s="doSetVar"><l>MM</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportDifference"><block var="separator"/><l>5</l></block><block s="reportDifference"><block var="separator"/><l>4</l></block></custom-block></block><block s="doSetVar"><l>DD</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportDifference"><block var="separator"/><l>2</l></block><block s="reportDifference"><block var="separator"/><l>1</l></block></custom-block></block><block s="doSetVar"><l>h</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>1</l></list></block><block s="reportVariadicSum"><list><block var="separator"/><l>2</l></list></block></custom-block></block><block s="doSetVar"><l>m</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>4</l></list></block><block s="reportVariadicSum"><list><block var="separator"/><l>5</l></list></block></custom-block></block><block s="doSetVar"><l>s</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>7</l></list></block><block s="reportStringSize"><block var="dt"/></block></custom-block></block><block s="doSetVar"><l>days</l><block var="DD"/></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block var="MM"/><l>1</l></block></list></block><script><block s="doChangeVar"><l>days</l><block s="reportListItem"><block var="i"/><block var="monthdays"/></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="YYYY"/><l>4</l></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="MM"/><l>2</l></list></block></list></block><script><block s="doChangeVar"><l>days</l><l>1</l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>Julian Date</l></list></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="YYYY"/><l>0</l></list></block><script><block s="doChangeVar"><l>YYYY</l><l>1</l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="MM"/><l>2</l></list></block><script><block s="doSetVar"><l>jy</l><block var="YYYY"/></block><block s="doSetVar"><l>jm</l><block s="reportVariadicSum"><list><block var="MM"/><l>1</l></list></block></block></script><script><block s="doSetVar"><l>jy</l><block s="reportDifference"><block var="YYYY"/><l>1</l></block></block><block s="doSetVar"><l>jm</l><block s="reportVariadicSum"><list><block var="MM"/><l>13</l></list></block></block></script></block><block s="doSetVar"><l>JD</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>365.25</l><block var="jy"/></list></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>30.6001</l><block var="jm"/></list></block></block></list></block><block s="reportVariadicSum"><list><block var="DD"/><l>1720995</l></list></block></list></block></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="DD"/><block s="reportVariadicProduct"><list><l>31</l><block s="reportVariadicSum"><list><block var="MM"/><block s="reportVariadicProduct"><list><l>12</l><block var="YYYY"/></list></block></list></block></list></block></list></block><block s="reportVariadicSum"><list><l>15</l><block s="reportVariadicProduct"><list><l>31</l><block s="reportVariadicSum"><list><l>10</l><block s="reportVariadicProduct"><list><l>12</l><l>1582</l></list></block></list></block></list></block></list></block></list></block><script><block s="doChangeVar"><l>JD</l><block s="reportVariadicSum"><list><block s="reportDifference"><l>2</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>0.01</l><block var="jy"/></list></block></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>0.01</l><l>0.25</l></list></block><block var="jy"/></list></block></block></list></block></block></script></block><block s="doReport"><block s="reportVariadicSum"><list><block var="JD"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportDifference"><block var="h"/><l>12</l></block><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>decimal years</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="YYYY"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="days"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block><l>365.252199</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>days this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="days"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>hours this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>24</l><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>minutes this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>24</l><l>60</l></list></block><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>60</l></list></block><block var="m"/></list></block><block s="reportQuotient"><block var="s"/><l>60</l></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>seconds this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>24</l><l>3600</l></list></block><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>3600</l></list></block><block s="reportVariadicProduct"><list><block var="m"/><l>60</l></list></block></list></block><block var="s"/></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>hours today</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>minutes today</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>60</l></list></block><block var="m"/></list></block><block s="reportQuotient"><block var="s"/><l>60</l></block></list></block></block></script><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>3600</l></list></block><block s="reportVariadicProduct"><list><block var="m"/><l>60</l></list></block></list></block><block var="s"/></list></block></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="all of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="247.99999999999997" 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="reportVariadicAnd"><list><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></list></block></block></script></block-definition><block-definition s="any of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="240.00000000000003" 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="reportVariadicOr"><list><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></list></block></block></script></block-definition><block-definition s="new costume %&apos;width&apos; %&apos;height&apos; %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="reporter" category="looks"><comment x="0" y="0" w="389.7865234374999" collapsed="false">Returns an empty costume of the given width and height with background color r/g/b.</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script></block-definition><block-definition s="is the global %&apos;global&apos; property %&apos;prop&apos; $nl with value %&apos;value&apos; present ?" type="predicate" category="1. SciSnap! globals"><comment x="0" y="0" w="154.16666666666669" collapsed="false">Tests the value of a property.</comment><header></header><code></code><translations></translations><inputs><input type="%b">false</input><input type="%txt">typeOfConfiguration</input><input type="%s">MathPad</input></inputs><script><block s="doIfElse"><block var="global"/><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_ispropertypresent(properties,name,value)</l><list><l>SciSnap!Properties</l><block var="prop"/><block var="value"/></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_ispropertypresent(properties,name,value)</l><list><l>myProperties</l><block var="prop"/><block var="value"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;n&apos; of %&apos;table&apos; $arrowRightOutline name" type="reporter" category="other" helper="true"><comment x="0" y="0" w="258.33333333333337" collapsed="false">Reports the row or column name of the row or column with the number entered, or reports an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">column<options>column&#xD;row</options></input><input type="%n">1</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>firstLine</l><l>data</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>data</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></list></block><l>ERROR: index out of range!</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><l>ERROR: index out of range!</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="n"/><block var="data"/></block></block></block></block></script></block></script></block></script></block-definition><block-definition s="columnwise %&apos;function&apos; %&apos;data&apos;" type="reporter" category="control" helper="true"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Turns a row-wise (in Lisp terminology) function&#xD;into a column-wise one.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="errorObsolete"></block></block></script></block-definition><block-definition s="scalar -&gt; hyper %&apos;func&apos;" type="reporter" category="control" helper="true"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Takes a dyadic scalar function as input, and&#xD;hyperizes it, so that it can take lists as inputs.&#xD;&#xD;Don&apos;t use on slow functions (this has compiled map calls).  Meant for use on primitives.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>hyper func</l><l>scalarized</l></list></block><block s="doSetVar"><l>hyper func</l><block s="reifyReporter"><script><block s="doWarp"><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doReport"><block s="evaluate"><block var="func"/><list><block s="errorObsolete"></block><block s="errorObsolete"></block></list></block></block></script><script><block s="doSetVar"><l>scalarized</l><block s="errorObsolete"></block></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="b"/></block></list></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="func"/><list><block var="scalarized"/><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><block var="scalarized"/><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script></block></script><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doSetVar"><l>scalarized</l><block s="errorObsolete"></block></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="a"/></block></list></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="func"/><list><l></l><block var="scalarized"/></list></block></autolambda><list></list></block><block var="a"/></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><l></l><block var="scalarized"/></list></block></autolambda><list></list></block><block var="a"/></block></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="a"/></block></list></block><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="b"/></block></list></block></list></block><script><block s="doReport"><block s="errorObsolete"></block></block></script></block><block s="doReport"><block s="errorObsolete"></block></block></script></block></script></block></script></block></script><list><l>a</l><l>b</l></list></block></block><block s="doReport"><block var="hyper func"/></block></script></block-definition><block-definition s="pipe %&apos;value&apos; $arrowRight %&apos;pipe&apos;" type="reporter" category="control"><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="evaluate predicate %&apos;predicate&apos; with %&apos;param&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="118.33333333333327" collapsed="false">Evaluates the predicate with a given parameter.</comment><header></header><code></code><translations></translations><inputs><input type="%s">ringified predicate</input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="predicate"/><l><option>predicate</option></l></block><script><block s="doReport"><block s="evaluate"><block var="predicate"/><list><block var="param"/></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="evaluate intervals %&apos;intervals&apos; with %&apos;x&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="118.65384615384615" collapsed="false">Evaluates the intervals with a given parameter.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doForEach"><l>item</l><block var="intervals"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l>&lt;</l></list></block><script><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="item"/></block><block var="x"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="item"/></block><block var="x"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="item"/></block><l>&lt;</l></list></block><script><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><block s="reportListItem"><l>4</l><block var="item"/></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>4</l><block var="item"/></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; ∩ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="194.40476190476184" collapsed="false">Reports the intersection of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set1"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="element"/></custom-block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set2"/></block></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block></list></block><custom-block s="intersect interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; ∪ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="139.16666666666669" collapsed="false">Reports the union of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block><custom-block s="merge intervals %l"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></list></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; \ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="212.857142857143" collapsed="false">Reports the difference between two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval1</l><l>interval2</l><l>difference</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></list></block></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>2</l><block var="result"/></block></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation for not numerical sets.</l></block></script><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportListItem"><l>2</l><block var="result"/></block><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>4</l><block var="set1"/></block><l></l></list></block></block></script></block></script></block><block s="doSetVar"><l>set1</l><custom-block s="copy of %l"><block var="set1"/></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="copy of %l"><block var="set2"/></custom-block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set2"/></block><custom-block s="list of numbers %l $arrowRightOutline list of intervals"><block s="reportListItem"><l>3</l><block var="set2"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>3</l><block var="set2"/><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block></list></block><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block s="reportListItem"><l>4</l><block var="set2"/></block></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></block><block s="doSetVar"><l>difference</l><custom-block s="difference of interval %l and %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="difference"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><l>0</l></list></block></list></block><script><block s="doReplaceInList"><l>4</l><block var="set1"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="difference"/></list></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></script></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script><comment w="120.00000000000001" collapsed="false">compare the mth interval with all intervals of set1</comment></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; X %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="250.16666666666677" collapsed="false">Reports the Cartesian product between two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>term1</l><l>term2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation with infinite sets!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doForEach"><l>item_1</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doForEach"><l>item_2</l><block s="reportListItem"><l>3</l><block var="set2"/></block><script><block s="doIfElse"><block s="reportIsA"><block var="item_1"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term1</l><block var="item_1"/></block></script><script><block s="doSetVar"><l>term1</l><block s="reportNewList"><list><block var="item_1"/></list></block></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="item_2"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term2</l><block var="item_2"/></block></script><script><block s="doSetVar"><l>term2</l><block s="reportNewList"><list><block var="item_2"/></list></block></block></script></block><block s="doAddToList"><block s="reportConcatenatedLists"><list><block var="term1"/><block var="term2"/></list></block><block s="reportListItem"><l>3</l><block var="result"/></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; $arrowRightThin %&apos;b&apos; ?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="67.5" collapsed="false">implication</comment><header></header><code></code><translations></translations><inputs><input type="%s">1</input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportNot"><custom-block s="number %n $arrowRightOutline boolean"><block var="a"/></custom-block></block><custom-block s="number %n $arrowRightOutline boolean"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; $arrowLeftRightThin %&apos;b&apos; ?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="90" collapsed="false">equivalence</comment><header></header><code></code><translations></translations><inputs><input type="%s">1</input><input type="%s">0</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="number %n $arrowRightOutline boolean"><block var="a"/></custom-block><custom-block s="number %n $arrowRightOutline boolean"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="number %&apos;x&apos; $arrowRightOutline boolean" type="reporter" category="other" helper="true"><comment x="0" y="0" w="163.3333333333337" collapsed="false">Converts numbers to booleans</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="x"/><l>0</l></list></block></block></block></script><script><block s="doReport"><block var="x"/></block></script></block></script></block></script></block-definition><block-definition s="boolean %&apos;x&apos; $arrowRightOutline number" type="reporter" category="other" helper="true"><comment x="0" y="0" w="179.16666666666669" collapsed="false">Converts booleans to numbers</comment><header></header><code></code><translations></translations><inputs><input type="%b">true</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="x"/><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="x"/><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><script><block s="doReport"><block var="x"/></block></script></block></script></block></script></block-definition><block-definition s="merge intervals %&apos;theIntervals&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval1</l><l>interval2</l><l>merged?</l><l>leftMarker</l><l>rightMarker</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="theIntervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="theIntervals"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="theIntervals"/></block></script><script><block s="doReport"><l>ERROR: intervals necessary!</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="theIntervals"/></block><l>2</l></list></block><script><block s="doReport"><block var="theIntervals"/></block></script></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="theIntervals"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block var="result"/></block><comment w="105.83333333333333" collapsed="false">compare the nth interval with the rest</comment></block><block s="doSetVar"><l>merged?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="m"/><block var="n"/></list></block><script><block s="doChangeVar"><l>m</l><l>1</l></block></script><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block var="result"/></block></block><block s="doIfElse"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block><script><block s="doSetVar"><l>leftMarker</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>2</l><block var="interval2"/></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>2</l><block var="interval2"/></block></list></block></block></block></block><comment w="90" collapsed="false">determine new limits</comment></block><block s="doSetVar"><l>rightMarker</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>3</l><block var="interval2"/></block></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>3</l><block var="interval1"/></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>3</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>3</l><block var="interval1"/></block></list></block></block></block></block></block><block s="doSetVar"><l>merged?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="n"/><block var="result"/><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="leftMarker"/></block><block s="reportListItem"><l>2</l><block var="leftMarker"/></block><block s="reportListItem"><l>2</l><block var="rightMarker"/></block><block s="reportListItem"><l>1</l><block var="rightMarker"/></block></list></block><comment w="90" collapsed="false">replace two intervals by the new one</comment></block><block s="doDeleteFromList"><block var="m"/><block var="result"/></block></script><script><block s="doChangeVar"><l>m</l><l>1</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportNot"><block var="merged?"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="predicate tree %&apos;tree&apos; $arrowRightThin list of intervals" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportListItem"><l>1</l><block var="tree"/></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l></l></list></block></list></block><script><block s="doReport"><l>ERROR: senseless predicate</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>&lt;</l><l>&lt;</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>&lt;</l><l>&lt;</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>&lt;</l><l>&lt;</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>&lt;</l><l>&lt;</l><l>Infinity</l></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>≤</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>≤</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>≤</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>≤</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>&lt;</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>&lt;</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>&lt;</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>&lt;</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="intersect interval lists %l and %l"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block var="tree"/></block></custom-block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>3</l><block var="tree"/></block></custom-block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="merge interval lists %l and %l"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block var="tree"/></block></custom-block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>3</l><block var="tree"/></block></custom-block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></list></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block><block s="reportNewList"><list><l>not</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></list></block></custom-block></block></script></block></script></block></script></block></script></block-definition><block-definition s="intersect two intervals %&apos;interval1&apos; %&apos;interval2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block></block><script><block s="doReport"><block s="reportNewList"><list></list></block><comment w="90" collapsed="false">an empty interval</comment></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval2"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval1"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval1"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define left edge and operator</comment></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval1"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op2</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op2</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval2"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval2"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define right edge and operator</comment></block><block s="doReport"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block var="op2"/><block var="rightEdge"/></list></block></block></script></block></script></block-definition><block-definition s="intersect interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>m</l><l>n</l><l>interval</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>0</l></list></block></list></block><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>0</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: interval lists required!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>1</l></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block></list></block><script><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doSetVar"><l>interval</l><custom-block s="intersect two intervals %l %l"><block s="reportListItem"><block var="n"/><block var="intervals1"/></block><block s="reportListItem"><block var="m"/><block var="intervals2"/></block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="interval"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="interval"/><block var="result"/></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="merge interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: interval lists required!</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>1</l></list></block><script><block s="doReport"><block var="intervals2"/></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>1</l></list></block><script><block s="doReport"><block var="intervals1"/></block></script></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="intervals1"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="n"/><block var="intervals2"/></block><block var="result"/></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="is interval %&apos;interval&apos; subinterval of interval list %&apos;intervals&apos; ?" type="predicate" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>isSubinterval</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="interval"/><l>interval</l></custom-block></block><script><block s="doReport"><l>ERROR: interval required!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doReport"><l>ERROR: interval list required!</l></block></script></block><block s="doForEach"><l>item</l><custom-block s="merge intervals %l"><block var="intervals"/></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="intersect two intervals %l %l"><block var="interval"/><block var="item"/></custom-block><block var="interval"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="elements of %&apos;elements&apos; not covered by predicate %&apos;predicate&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate predicate %s with %s"><block var="predicate"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="elements of %&apos;elements&apos; not covered by intervals %&apos;intervals&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block var="intervals"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="cleaned up set %&apos;set&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: parameter is not a set!</l></block></script></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="set"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="result"/><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><custom-block s="%s without duplicates"><custom-block s="elements of %l not covered by intervals %l"><block s="reportListItem"><l>3</l><block var="set"/></block><block s="reportListItem"><l>4</l><block var="set"/></block></custom-block></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;predicateTree&apos; translatable to intervals?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="306.15384615384613" collapsed="false">Test wether the predicate is translatable to a list of intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicateTree"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><l>comparisonOperator</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></custom-block></list></block></block></script></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l><option>number</option></l></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l><option>number</option></l></block></list></block></list></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="difference of interval %&apos;interval1&apos; and %&apos;interval2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l><l>intersection</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script></block><block s="doSetVar"><l>interval1</l><custom-block s="copy of %l"><block var="interval1"/></custom-block></block><block s="doSetVar"><l>interval2</l><custom-block s="copy of %l"><block var="interval2"/></custom-block></block><block s="doSetVar"><l>intersection</l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intersection"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="interval1"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="interval1"/><block var="intersection"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>≤</l></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block s="reportListItem"><l>3</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></list></block><block var="result"/></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="intersection"/></block><l>&lt;</l></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>≤</l></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block s="reportListItem"><l>3</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></list></block><block var="result"/></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="result"/></block></custom-block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="list of numbers %&apos;numbers&apos; $arrowRightOutline list of intervals" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="numbers"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="item"/><l>≤</l><l>≤</l><block var="item"/></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="are intervals %&apos;interval1&apos; and %&apos;interval2&apos; overlapping?" type="predicate" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a PlotPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="115.00000000000001" collapsed="false">Creates a new  empty costume of the specified size and color and sets the local properties</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l><l>yIntervals</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>PlotPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>markerProperties</l><block s="reportNewList"><list><l>square</l><l>5</l><block s="reportBoolean"><l><bool>false</bool></l></block><l>255</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><l>notSet</l><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleOffsets</l><block s="reportNewList"><list><l>60</l><l>10</l><l>35</l><l>50</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>labels</l><block s="reportNewList"><list><l></l><l></l><l></l><l>18</l><l>16</l><l>16</l><l></l><l></l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>ranges</l><block s="reportNewList"><list><l>-10</l><l>10</l><l>-10</l><l>10</l></list></block></list></block><block var="myProperties"/></block><block s="doSetVar"><l>yIntervals</l><block s="reportRound"><block s="reportVariadicProduct"><list><l>6</l><block s="reportQuotient"><block var="height"/><block var="width"/></block></list></block></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="yIntervals"/><l>3</l></list></block><script><block s="doSetVar"><l>yIntervals</l><l>3</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleProperties</l><block s="reportNewList"><list><l>2</l><l>2</l><l>12</l><l>12</l><l>6</l><block var="yIntervals"/><l>-10</l><l>-10</l><l>2</l><l>2</l><l>1</l><l>1</l><l>6</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="721.6666666666665" y="25.166666666666657" w="195" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image position on stage&#xD;7: upper offset for Image position on stage&#xD;8: front color red&#xD;9: front color green&#xD;10: front color blue&#xD;&#xD;line properties:&#xD;1: line width&#xD;2: line style&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue&#xD;&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;scale offsets:&#xD;1:left offset&#xD;2: right offset&#xD;3: upper offset&#xD;4: lower offset&#xD;&#xD;labels:&#xD;1: title&#xD;2: x label&#xD;3: y label&#xD;4: title height&#xD;5: x label height&#xD;6: y label height&#xD;7: x unit&#xD;8: y unit&#xD;&#xD;ranges:&#xD;1: x left&#xD;2: x right&#xD;3: y lower &#xD;4: y upper&#xD;&#xD;scale properties:&#xD;1: scales x precision&#xD;2: scales y precision&#xD;3: scales x textheight&#xD;4: scales y textheight&#xD;5: scales x intervals&#xD;6: scales y intervals&#xD;7: scales x start&#xD;8: scales y start&#xD;9: scales x step&#xD;10: scales y step&#xD;11: scales x scaling&#xD;12: scales y scaling&#xD;13: scales ticlength&#xD;14: scales x minitics&#xD;15: scales y minitics&#xD;16: scales x grid&#xD;17: scales y grid&#xD;18: scales x centered&#xD;19: scales y centered&#xD;20: scales show x scale&#xD;21: scales show y scale&#xD;22: plot border</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a PlotPad?" type="predicate" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l>Stage</l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="PlotPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;markerProperties&#xD;dataProperties&#xD;scaleOffsets&#xD;labels&#xD;ranges&#xD;scaleProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as PlotPad!</l></block></script></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set PlotPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="128.97435897435886" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;markerProperties&#xD;dataProperties&#xD;scaleOffsets&#xD;labels&#xD;ranges&#xD;scaleProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script></block></script></block></script></block-definition><block-definition s="set PlotPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; front color: %&apos;rFront&apos; %&apos;gFront&apos; %&apos;bFront&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="117.66039530436235" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage&#xD;8: front color red&#xD;9: front color green&#xD;10: front color blue</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">180</input><input type="%n">180</input><input type="%n">180</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/><block var="rFront"/><block var="gFront"/><block var="bFront"/></list></block></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/><block var="rFront"/><block var="gFront"/><block var="bFront"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set PlotPad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820364" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse-rainbow</options></input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad marker properties style: %&apos;style&apos; width: %&apos;width&apos; $nl color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; connected? %&apos;connected&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820364" collapsed="false">a simple way to set some net attributes:&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">5</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="width"/><block var="connected"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad scale properties precision: %&apos;xprecision&apos; %&apos;yprecision&apos; $nl textheight: %&apos;xtextheight&apos; %&apos;ytextheight&apos; number of intervals: %&apos;nx&apos; %&apos;ny&apos; $nl on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="152.3076923076923" collapsed="false">Sets some properties for scales.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">2</input><input type="%n">12</input><input type="%n">12</input><input type="%n">10</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>scaleProperties</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>1</l><block var="scaleProperties"/><block var="xprecision"/></block><block s="doReplaceInList"><l>2</l><block var="scaleProperties"/><block var="yprecision"/></block><block s="doReplaceInList"><l>3</l><block var="scaleProperties"/><block var="xtextheight"/></block><block s="doReplaceInList"><l>4</l><block var="scaleProperties"/><block var="ytextheight"/></block><block s="doReplaceInList"><l>5</l><block var="scaleProperties"/><block var="nx"/></block><block s="doReplaceInList"><l>6</l><block var="scaleProperties"/><block var="ny"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad labels on %&apos;sprite&apos; to $nl title: %&apos;newTitle&apos; titleheight: %&apos;tHeight&apos; $nl x-label: %&apos;newXLabel&apos; xLabelheight: %&apos;xHeight&apos; $nl y-label: %&apos;newYLabel&apos; yLabelheight: %&apos;yHeight&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="140.3846153846154" collapsed="false">Sets the labels and textheights of the diagrams of a PlotPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%txt">Diagram Title</input><input type="%n">18</input><input type="%txt">x-label</input><input type="%n">16</input><input type="%txt">y-label</input><input type="%n">16</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>labels</l><block var="target"/><block s="reportNewList"><list><block var="newTitle"/><block var="newXLabel"/><block var="newYLabel"/><block var="tHeight"/><block var="xHeight"/><block var="yHeight"/><l></l><l></l></list></block></custom-block><custom-block s="set PlotPad offsets from edges on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad offsets from edges on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="187.1666676666667" collapsed="false">Sets the distances of the diagram axes to the edges of the Sketchpad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>leftOffset</l><l>rightOffset</l><l>target</l><l>upperOffset</l><l>lowerOffset</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list><comment w="90" collapsed="false">UPPER OFFSET</comment></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></block><l>0</l></list></block><script><block s="doChangeVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block></script></block><block s="doSetVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block><comment w="90" collapsed="false">LOWER OFFSET</comment></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>19</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></block><script><block s="doChangeVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l>2</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></block><l>0</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>11</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0.99</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>11</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>1.01</l></list></block></list></block></list></block><script><block s="doChangeVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1.5</l><block s="reportListItem"><l>5</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></list></block></block></script></block></script></block><block s="doSetVar"><l>rightOffset</l><block s="reportVariadicProduct"><list><l>1.5</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block><comment w="90" collapsed="false">RIGHT OFFSET.</comment></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>rightOffset</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block></script></block><block s="doSetVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block><comment w="90" collapsed="false">LEFT OFFSET</comment></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>18</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>3</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></block><l>0</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>12</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0.99</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>12</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>1.01</l></list></block></list></block></list></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>6</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block></script></block></script></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleOffsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="rightOffset"/><block var="upperOffset"/><block var="lowerOffset"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad ranges for x: %&apos;xLeft&apos; %&apos;xRight&apos; y: %&apos;yLower&apos; %&apos;yUpper&apos; $nl with border? %&apos;border&apos; of %&apos;percent&apos; pretty formatted? %&apos;pretty&apos; $nl on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="119.1666666666667" collapsed="false">Sets the ranges for the axes of the diagrams of a Sketchpad.</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">-10</input><input type="%n">10</input><input type="%b">false</input><input type="%n">0.1</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>dx</l><l>dy</l><l>target</l><l>ranges</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>ranges</l><block s="reportNewList"><list><block var="xLeft"/><block var="xRight"/><block var="yLower"/><block var="yUpper"/></list></block></block><block s="doIf"><block var="border"/><script><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block></block><block s="doSetVar"><l>ranges</l><block s="reportNewList"><list><block s="reportDifference"><block var="xLeft"/><block var="dx"/></block><block s="reportVariadicSum"><list><block var="xRight"/><block var="dx"/></list></block><block s="reportDifference"><block var="yLower"/><block var="dy"/></block><block s="reportVariadicSum"><list><block var="yUpper"/><block var="dy"/></list></block></list></block></block></script></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block var="ranges"/></custom-block><block s="doIfElse"><block var="pretty"/><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><script><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><l>1</l></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add graph %&apos;aFunction&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="220" collapsed="false">Draws the graph of a function given as rigified Snap!-function or coefficient-list of a polynomial. </comment><header></header><code></code><translations></translations><inputs><input type="%s">ringified operator or polynomial</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="aFunction"/><l><option>reporter</option></l></block><custom-block s="is %s a %txt"><block var="aFunction"/><l>vector</l></custom-block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_addGraphToPlotpad(costume,ranges,offsets,lineattributes,aFunction,proc)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><block var="aFunction"/></list></block></autolambda><list></list></block><list></list></block></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: ringified operator necessary!</l></custom-block></script></block></script></block-definition><block-definition s="add dataplot of numeric data: %&apos;data&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="195.83333333333337" collapsed="false">Draws the data points of a two-dimensional table with numerical values. With a lot of additions from Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only matrices supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addNumericDataplotToPlotpad(costume,ranges,offsets,labels,lineattributes,dataattributes,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block><block var="source"/></list></block></list></block></script></block></script></block></script></block-definition><block-definition s="add dataplot of mixed data: %&apos;data&apos; $nl y-scale? %&apos;yScaled&apos; x-scale? %&apos;xScaled&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="208.33333333333337" collapsed="false">Draws the data points of a two-dimensional table with numerical values in column 2. &#xD;Text values should be used to set the x-label.</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%b">true</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>wasXscaled?</l><l>wasYscaled?</l><l>target</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="PlotPadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>table</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: table data necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: table data necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addMixedDataplotToPlotpad(costume,ranges,offsets,labels,lineattributes,dataattributes,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block><block var="source"/></list></block></list></block></script></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>wasXscaled?</l><block s="reportListItem"><l>20</l><block var="scaleProperties"/></block></block><block s="doSetVar"><l>wasYscaled?</l><block s="reportListItem"><l>21</l><block var="scaleProperties"/></block></block><block s="doReplaceInList"><l>20</l><block var="scaleProperties"/><block var="xScaled"/></block><block s="doReplaceInList"><l>21</l><block var="scaleProperties"/><block var="yScaled"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="add histogram of %&apos;data&apos; with %&apos;n&apos; groups $nl pretty formated? %&apos;prettyFormatted&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="146.33333333333326" collapsed="false">Draws a histogram of histogram data.With a lot of additions by Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%n">10</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>pretty</l><l>dx</l><l>source</l><l>min</l><l>max</l><l>result</l><l>target</l><l>delta</l><l>h</l><l>i</l><l>x</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: vector required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: empty data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="source"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>source</l><custom-block s="transpose %l"><block var="source"/></custom-block></block></script></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>delta</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="n"/></block></block><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="min"/><block s="reportQuotient"><block var="delta"/><l>2</l></block></list></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="h"/><l>0</l></list></block><block var="result"/></block><block s="doChangeVar"><l>h</l><block var="delta"/></block></script></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="x"/></block></block></script></block><block s="doIf"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block><script><block s="doSetVar"><l>h</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="min"/></block><block var="delta"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="h"/><l>1</l></list></block><script><block s="doSetVar"><l>h</l><l>1</l></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block var="n"/></block></script></block></script></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block></block><l>1</l></list></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>source</l><block var="result"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><block var="target"/><block var="source"/><l>0.1</l></custom-block><block s="doIf"><block var="prettyFormatted"/><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addHistogramToPlotpad(costume,ranges,offsets,lineattributes,data,datapointattributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><block var="source"/><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="add axes and scales to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="226.31535156250004" collapsed="false">Draws and labels the axes of a PlotPad.&#xD;With lot of additions of Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addAxesAndScalesToPlotpad(costume,scaleattributes,labels,offsets,ranges,plotcolors)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="clear plot of %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block></script></block></script></block-definition><block-definition s="set pretty ranges on PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="311.3333333333333" collapsed="false">Sets the ranges to &quot;pretty&quot; values. Many thanks to Rick Hessman!</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>pretty</l><l>target</l><l>scaleProperties</l><l>ranges</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>ranges</l><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block></block><block s="doSetVar"><l>pretty</l><custom-block s="pretty values for a PlotPad from %n %br to %n with %n intervals"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></custom-block><comment w="89.66666666666667" collapsed="false">get dictionary of pretty values.</comment></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>5</l><block var="scaleProperties"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicProduct"><list><l>6</l><block s="reportListItem"><l>3</l><block var="scaleProperties"/></block></list></block></block></block></block><block s="doReplaceInList"><l>1</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>7</l><block var="pretty"/></block></block></block><block s="doSetVar"><l>pretty</l><custom-block s="pretty values for a PlotPad from %n %br to %n with %n intervals"><block s="reportListItem"><l>3</l><block var="ranges"/></block><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></custom-block><comment w="89.66666666666667" collapsed="false">get dictionary of pretty values.</comment></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>6</l><block var="scaleProperties"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicProduct"><list><l>8</l><block s="reportListItem"><l>4</l><block var="scaleProperties"/></block></list></block></block></block></block><block s="doReplaceInList"><l>2</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>7</l><block var="pretty"/></block></block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block var="ranges"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script><scripts><script x="452.6666666666667" y="398.66666666666663"><block s="doReplaceInList"><l>1</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>2</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="pretty"/></block></block></block></script><script x="455.1666666666667" y="773.6666666666666"><block s="doReplaceInList"><l>3</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>4</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="pretty"/></block></block></block></script></scripts></block-definition><block-definition s="pretty values for a PlotPad from %&apos;min&apos; $nl to %&apos;max&apos; with %&apos;num&apos; intervals" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="164.3333333333332" collapsed="false">&quot;Pretty&quot; scaling from Rick Hessman. Many thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">6</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>nix</l><l>sign</l><l>pretty</l><l>between</l><l>places</l><l>delta</l><l>dtic</l><l>scaling</l><l>index</l><l>n</l><l>result</l><l>nint</l></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="num"/><l>3</l></list></block><script><block s="doReport"><l>ERROR: num-value &lt;3 senseless</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="min"/></block><l>2000</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="max"/></block><l>2000</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>delta</l><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block><block s="doSetVar"><l>n</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="min"/><block var="delta"/></block></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start</l><block var="min"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>stop</l><block var="max"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>step</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="num"/></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>scaling</l><l>1</l></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>intervals</l><block var="num"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>precision</l><l>0</l></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>minitics</l><l>1</l></list></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script><comment w="196.32285529908665" collapsed="false">Numbers are too big for pretty printing.</comment></block><block s="doSetVar"><l>nint</l><block var="num"/></block><block s="doSetVar"><l>pretty</l><block s="reportNewList"><list><l>0.001</l><l>0.002</l><l>0.005</l><l>0.01</l><l>0.02</l><l>0.05</l><l>0.1</l><l>0.2</l><l>0.5</l><l>1</l><l>2</l><l>5</l><l>10</l><l>20</l><l>50</l><l>100</l><l>200</l><l>500</l><l>1000</l><l>2000</l></list></block></block><block s="doSetVar"><l>between</l><block s="reportNewList"><list><l>9</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l></list></block></block><block s="doSetVar"><l>places</l><block s="reportNewList"><list><l>3</l><l>3</l><l>3</l><l>2</l><l>2</l><l>2</l><l>1</l><l>1</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>sign</l><block s="reportMonadic"><l><option>sign</option></l><block s="reportDifference"><block var="max"/><block var="min"/></block></block></block><block s="doRepeat"><l>2</l><script><block s="doSetVar"><l>delta</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="nint"/></block></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="delta"/><l>0.001</l></list></block><block s="reportVariadicLessThan"><list><block var="delta"/><l>2000</l></list></block></list></block><script><block s="doSetVar"><l>scaling</l><l>1</l></block></script><script><block s="doSetVar"><l>scaling</l><block s="reportMonadic"><l><option>10^</option></l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportVariadicProduct"><list><l>0.5</l><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>abs</option></l><block var="max"/></block><block s="reportMonadic"><l><option>abs</option></l><block var="min"/></block></list></block></list></block></block></block></block></block></script></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doFor"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="pretty"/></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="i"/><block var="pretty"/></block><block var="scaling"/></list></block></list></block><script><block s="doSetVar"><l>index</l><block var="i"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="pretty"/></block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="index"/><block var="pretty"/></block><block var="scaling"/></list></block></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="pretty"/></block><block var="scaling"/></list></block></block></block></list></block></list></block><script><block s="doSetVar"><l>index</l><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block></block></script></block><block s="doSetVar"><l>dtic</l><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="index"/><block var="pretty"/></block><block var="sign"/></list></block></block><block s="doSetVar"><l>nint</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block></block></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>delta</l><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block><block s="doSetVar"><l>n</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="min"/><block var="delta"/></block></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start</l><block s="reportVariadicProduct"><list><block var="n"/><block var="dtic"/></list></block></list><comment w="192.76999879201264" collapsed="false">start*scaling is the actual starting value (start is the value displayed next to the tic)</comment></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>stop</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="n"/><block var="dtic"/></list></block><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block var="nint"/><l>1</l></list></block><block var="dtic"/></list></block></list></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>step</l><block var="dtic"/></list></block><block var="result"/><comment w="392.5133314895631" collapsed="false">step*scaling is the actual stepping value (step is the difference between the tic labels).</comment></block><block s="doAddToList"><block s="reportNewList"><list><l>scaling</l><block var="scaling"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>intervals</l><block var="nint"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>precision</l><block s="reportListItem"><block var="index"/><block var="places"/></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>minitics</l><block s="reportListItem"><block var="index"/><block var="between"/></block></list></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="get ranges for PlotPad %&apos;sprite&apos; $nl from %&apos;data&apos; with border %&apos;percent&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s">myData</input><input type="%n">0.1</input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>dx</l><l>dy</l><l>source</l><l>target</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>ranges</l><custom-block s="ranges of 2-dim table %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></list></block></block></script></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></list></block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block s="reportNewList"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block var="dx"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="ranges"/></block><block var="dx"/></list></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="ranges"/></block><block var="dy"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>4</l><block var="ranges"/></block><block var="dy"/></list></block></list></block></custom-block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><l>1</l></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="ranges of 2-dim table %&apos;data&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="218.33333333333314" collapsed="false">Calculates the ranges of two columns of a table.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><block s="doReport"><l>ERROR: 2-dimensional matrix required!</l></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="convert value %&apos;pos&apos; to coordinate %&apos;coordinate&apos; $nl of PlotPad %&apos;sprite&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="135.1666666666667" collapsed="false">Conversion of coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%s" readonly="true">xp<options>xp&#xD;yp&#xD;x&#xD;y</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x0</l><l>diagramWidth</l><l>y0</l><l>diagramHeight</l><l>offsets</l><l>ranges</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as PlotPad!</l></block></script></block><block s="doSetVar"><l>offsets</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block></block><block s="doSetVar"><l>ranges</l><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block></block><block s="doSetVar"><l>diagramWidth</l><block s="reportDifference"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>diagramHeight</l><block s="reportDifference"><block s="reportDifference"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportListItem"><l>3</l><block var="offsets"/></block></block><block s="reportListItem"><l>4</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="ranges"/></block><block var="diagramWidth"/></list></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block s="reportListItem"><l>2</l><block var="ranges"/></block></block></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>4</l><block var="ranges"/></block><block var="diagramHeight"/></list></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></block></block><block s="doSetVar"><l>coordinate</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="coordinate"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>xp</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="x0"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="pos"/><block var="diagramWidth"/></list></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></block></list></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>yp</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportDifference"><block var="y0"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="pos"/><block var="diagramHeight"/></list></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></block></block><block s="reportListItem"><l>3</l><block var="offsets"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>x</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportDifference"><block var="pos"/><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block var="x0"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></list></block><block var="diagramWidth"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>y</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y0"/><block s="reportDifference"><block var="pos"/><block s="reportListItem"><l>3</l><block var="offsets"/></block></block></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></list></block><block var="diagramHeight"/></block></block></script></block></script></block></script></block-definition><block-definition s="PlotPad %&apos;selection&apos; on %&apos;sprite&apos; by mouse" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="128.33333333333334" collapsed="false">Obtaining coordinates of a PlotPad by mouse.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume-coordinates<options>costume-coordinates&#xD;graph-coordinates</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>x</l><l>y</l><l>x0</l><l>y0</l><l>targetCostume</l><l>xLeft</l><l>xRight</l><l>yLower</l><l>yUpper</l><l>diagramWidth</l><l>diagramHeight</l><l>offsets</l><l>ranges</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as PlotPad!</l></block></script></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costume-coordinates</l></list><comment w="121.68283420138893" collapsed="false">costume coordinates.</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>graph-coordinates</l></list><comment w="121.68283420138893" collapsed="false">costume coordinates.</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>offsets</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block></block><block s="doSetVar"><l>ranges</l><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block></block><block s="doSetVar"><l>xLeft</l><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doSetVar"><l>xRight</l><block s="reportListItem"><l>2</l><block var="ranges"/></block></block><block s="doSetVar"><l>yLower</l><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doSetVar"><l>yUpper</l><block s="reportListItem"><l>4</l><block var="ranges"/></block></block><block s="doSetVar"><l>diagramWidth</l><block s="reportDifference"><block s="reportDifference"><block var="targetCostumeWidth"/><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportListItem"><l>2</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>diagramHeight</l><block s="reportDifference"><block s="reportDifference"><block var="targetCostumeHeight"/><block s="reportListItem"><l>3</l><block var="offsets"/></block></block><block s="reportListItem"><l>4</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>x0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="xLeft"/><block s="reportDifference"><block var="xLeft"/><block var="xRight"/></block></block><block var="diagramWidth"/></list></block></block><block s="doSetVar"><l>y0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="yUpper"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></block><block var="diagramHeight"/></list></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportDifference"><block var="x"/><block var="x0"/></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block><block var="diagramWidth"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block s="reportDifference"><block var="y0"/><block var="y"/></block><block s="reportListItem"><l>3</l><block var="offsets"/></block></list></block><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block><block var="diagramHeight"/></block></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="EXAMPLE 1: $nl Plot of random data width %&apos;w&apos; height %&apos;h&apos; $nl title %&apos;title&apos; labels %&apos;xlab&apos; %&apos;ylab&apos; $nl line %&apos;lstyle&apos; marker %&apos;mstyle&apos; color %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt"></input><input type="%txt">x</input><input type="%txt">y</input><input type="%txt">continuous</input><input type="%txt">o_circle</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="import %s from %br %s to SciSnap!Data"><l>table-(CSV)-data</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>20</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportVariadicProduct"><list><l>0.3</l><block s="reportPower"><l></l><l>3</l></block></list></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block></custom-block><block s="doSetVar"><l>SciSnap!Data</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><l>SciSnap!Data</l><l>1</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="SciSnap!Data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="title"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><block var="lstyle"/><l>1</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><block var="mstyle"/><l>5</l><block var="r"/><block var="g"/><block var="b"/><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="SciSnap!Data"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="EXAMPLE 2: $nl Histogram of random data width %&apos;w&apos; height %&apos;h&apos; $nl title %&apos;title&apos; labels %&apos;xlab&apos; %&apos;ylab&apos; line %&apos;lstyle&apos; color %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt"></input><input type="%txt">x</input><input type="%txt">y</input><input type="%txt">continuous</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="import %s from %br %s to SciSnap!Data"><l>table-(CSV)-data</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>500</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportPower"><l></l><l>3</l></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block><l><bool>true</bool></l></custom-block></custom-block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="title"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br pretty formated? %b to PlotPad %txt"><block var="SciSnap!Data"/><l>10</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example 3: $nl Simple plot of data: %&apos;data&apos; $nl x: %&apos;x&apos; y: %&apos;y&apos; width: %&apos;w&apos; height: %&apos;h&apos; $nl title: %&apos;t&apos; labels: %&apos;xlab&apos; %&apos;ylab&apos; $nl line: %&apos;l&apos; marker: %&apos;m&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input><input type="%n">0</input><input type="%n">600</input><input type="%n">400</input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%txt" readonly="true">continuous<options>none&#xD;continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse rainbow</options></input><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><block s="gotoXY"><block var="x"/><block var="y"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="t"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><block var="l"/><l>1</l><block var="r"/><block var="g"/><block var="b"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><block var="m"/><l>5</l><block var="r"/><block var="g"/><block var="b"/><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Switch to SciSnap! logo" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="138.33333333333334" collapsed="false">Changes the Snap!-Logo. ;-)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>SciS_SetSciSnapLogo()</l><list></list></block></script></block-definition><block-definition s="configure SQL" type="command" category="4. SQL tools"><comment x="0" y="0" w="231.26365661621097" collapsed="false">Creates SQL variables and sets some properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SQLData</l></list></block><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfConfiguration</l><l>SQL</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>none</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>connection</l><l></l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>connected</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>currentDatabase</l><l></l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>currentTable</l><l></l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>notSet</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>notSet</l></custom-block><block s="doSwitchToCostume"><l>SQLDisconnected</l></block></script></block></script></block-definition><block-definition s="is SQL configured?" type="predicate" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>true</bool></l><l>typeOfConfiguration</l><l>SQL</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="connect to database server" type="command" category="4. SQL tools"><comment x="0" y="0" w="180.18768601190536" collapsed="false">Establishes connection and sets the corresponding properties. Change parameters if necessary. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>dbs</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>connection</l><l>https://snapextensions.uni-goettingen.de/mysqlquery.php?server=db1&amp;user=snapexuser&amp;password=snap!user</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=connect</l></list></block></block><l>1</l><l>2</l></custom-block><l>ok</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>connected</l><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="doSwitchToCostume"><l>SQLConnected</l></block><block s="doSetVar"><l>dbs</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=getDBs</l></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l><option>last</option></l><block var="dbs"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="dbs"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="dbs"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block var="dbs"/></custom-block><block s="doSwitchToCostume"><l>SQLConnected</l></block></script></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>connected</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doSwitchToCostume"><l>SQLDisconnected</l></block></script></block></script></block></script></block-definition><block-definition s="import SQL-data from %&apos;source&apos; to SQLData" type="command" category="4. SQL tools"><comment x="0" y="0" w="135.83333333333334" collapsed="false">Imports the results of an SQL-query to SQLData and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SQLData"/></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SQLData"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SQLData"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>notSet</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>notSet</l></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from lists</l></custom-block></script></block></script></block></script></block-definition><block-definition s="read databases" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="220.66666666666663" collapsed="false">Reports a list of databases on the server and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>dbs</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script></block><block s="doSetVar"><l>dbs</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=getDBs</l></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l><option>last</option></l><block var="dbs"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="dbs"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="dbs"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block><block s="doReport"><l>ERROR: reading of databases has failed!</l></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block var="dbs"/></custom-block><block s="doReport"><block var="dbs"/></block></script></block></script></block></script></block-definition><block-definition s="choose database no. %&apos;n&apos;" type="command" category="4. SQL tools"><comment x="0" y="0" w="182.40882873535156" collapsed="false">Selects one of the databases and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>tables</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>currentDatabase</l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></custom-block><block s="doSetVar"><l>result</l><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>USE </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></list></block></block></block><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><block s="doSetVar"><l>tables</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW TABLES FROM </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block><l>&amp;type=getTables</l></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l><option>last</option></l><block var="tables"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="tables"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="tables"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: no tables accessable!</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block var="tables"/></custom-block></script></block></script></block></script></block-definition><block-definition s="read tables" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="392.76269531249966" collapsed="false">Reports a list of tables of the chosen database and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>tbls</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script></block><block s="doSetVar"><l>tbls</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW TABLES FROM </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block><l>&amp;type=getTables</l></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tbls"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><l><option>last</option></l><block var="tbls"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="tbls"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tbls"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="tbls"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><block s="doReport"><l>ERROR: no tables accessable!</l></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block var="tbls"/></custom-block></script></block><block s="doReport"><block var="tbls"/></block></script></block></script></block-definition><block-definition s="attributes of table no. %&apos;n&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="213.8619791666667" collapsed="false">Reads the attributes of the specified table and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>clmns</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></list></block><script><block s="doReport"><l>ERROR: table doesn&apos;t exist!</l></block></script><script><block s="doSetVar"><l>clmns</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW COLUMNS FROM </l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><l>&amp;type=getColumns&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="clmns"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="clmns"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="clmns"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="clmns"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><block s="doReport"><l>ERROR: reading of attributes has failed!</l></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block var="clmns"/></custom-block></script></block><block s="doReport"><block var="clmns"/></block></script></block></script></block></script></block-definition><block-definition s="choose table no. %&apos;n&apos;" type="command" category="4. SQL tools"><comment x="0" y="0" w="163.10389383951835" collapsed="false">Selects one of the tables and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>clmns</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block></block><script><custom-block s="set SciSnap! global property %s to %s"><l>currentTable</l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><block s="doSetVar"><l>clmns</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW COLUMNS FROM </l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><l>&amp;type=getColumns&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="clmns"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="clmns"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="clmns"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="clmns"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt"><l>ERROR: table not accessable!</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block var="clmns"/></custom-block></script></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>currentTable</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt"><l>ERROR: table not accessable!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="SELECT %&apos;what&apos; %&apos;attribs&apos; FROM %&apos;mytables&apos; WHERE %&apos;cond&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="174.16666666666669" collapsed="false">Generates a simplified SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>*&#xD;DISTINCT</options></input><input type="%mult%txt"></input><input type="%mult%txt"></input><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>SELECT </l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="what"/><l>*</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>* FROM </l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="what"/><l>DISTINCT</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>DISTINCT </l></list></block></block></script></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="attribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l> FROM </l></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: tables missing!</l></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportStringSize"><block var="cond"/></block><l>2</l></list></block><script><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l> WHERE </l><block var="cond"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="SELECT %&apos;what&apos; %&apos;attribs&apos; FROM %&apos;mytables&apos; WHERE %&apos;cond&apos; $nl GROUP BY %&apos;groupattribs&apos; HAVING %&apos;havcond&apos; ORDER BY %&apos;orderatts&apos; %&apos;how&apos; LIMIT %&apos;n&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="104.16666666666669" collapsed="false">Generates an almost complete SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>*&#xD;DISTINCT</options></input><input type="%mult%txt"></input><input type="%mult%txt"></input><input type="%b"></input><input type="%mult%txt"></input><input type="%b"></input><input type="%mult%txt"></input><input type="%txt" readonly="true">ASC<options>ASC&#xD;DESC</options></input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>SELECT </l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="what"/><l>*</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>* FROM </l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="what"/><l>DISTINCT</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>DISTINCT </l></list></block></block></script></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="attribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l> FROM </l></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: tables missing!</l></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block var="cond"/></block><l>2</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> WHERE </l><block var="cond"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="groupattribs"/></block><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> GROUP BY </l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="groupattribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="groupattribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="groupattribs"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block var="havcond"/></block><l>2</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> HAVING </l><block var="havcond"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="orderatts"/></block><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> ORDER BY </l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="orderatts"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="orderatts"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="orderatts"/></block></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="how"/><l>ASC</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> ASC</l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="how"/><l>DESC</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> DESC</l></list></block></block></script></block></script></block><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> LIMIT </l><block var="n"/></list></block></block></script></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="exec SQL-command %&apos;query&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="113.33333333333333" collapsed="false">Executes an SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="query"/><l>:</l></block></block><l>ERROR</l></list></block><script><block s="doReport"><block var="query"/></block></script><script><block s="doSetVar"><l>result</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=query&amp;query=</l><block var="query"/><l>&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block></script></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="result"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; = %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="125.83333333333333" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> = </l><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &lt; %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="125.83333333333333" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> &lt; </l><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &gt; %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="127.50000000000001" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> &gt; </l><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; OR %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="124.16666666666669" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> OR </l><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; AND %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="131.66666666666669" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> AND </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="NOT %&apos;a&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="126.66666666666669" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>NOT(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; IN ( %&apos;liste&apos; )" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="124.16666666666669" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> IN (</l><block var="liste"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; LIKE %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> LIKE </l><block var="b"/></list></block></block></script></block-definition><block-definition s="AVG ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="125.00000000000001" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>AVG(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="COUNT ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="115.83333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>COUNT(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="MIN ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="112.50000000000001" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>MIN(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="MAX ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="120.83333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>MAX(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="SUM ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="118.33333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>SUM(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a GraphPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="301.6666666666667" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties. If sprite is the stage, the old costume# of stage is stored. So you can draw graphs on maps, for example.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>props</l></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doSetVar"><l>width</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>height</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block><block s="doSetVar"><l>width</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>height</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>adjacencyMatrix</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>vertexList</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>adjacencyMatrix</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>vertexList</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>GraphPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>vertexProperties</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="width"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="width"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="height"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="height"/></list></block></block></list></block><l>3</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>edgeProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>oldStageCostume</l></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doSetVar"><l>oldStageCostume</l><custom-block s="copy of costume %obj"><block s="reportGet"><l><option>costume</option></l></block></custom-block></block><block s="doSwitchToCostume"><block var="oldStageCostume"/></block><block s="doSetVar"><l>props</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="doReplaceInList"><l>1</l><block var="props"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doReplaceInList"><l>2</l><block var="props"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block var="props"/></custom-block></script><script><block s="doSetVar"><l>oldStageCostume</l><l>null</l></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="show"></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="475.00000000000006" y="98.00000000000011" w="286.6666666666667" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;&#xD;vertex properties:&#xD;1: ranges for random coordinates (xLeft,xRight, yUpper,yLower)&#xD;2: minimal radius of a vertex, should be changed is vertices are &#xD;    not growing with number of edges&#xD;3: boolean: vertices grow with number of connected edges&#xD;4: boolean: vertex content is shown. If there is no content, &#xD;    the vertex number is shown&#xD;&#xD;edge properties:&#xD;1: line width&#xD;2: line color red&#xD;3: line color green&#xD;4: line color blue&#xD;5: boolean: edge is directed&#xD;6: boolean: edge has a weight&#xD;7: boolean: edge shows weight</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a GraphPad?" type="predicate" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="GraphPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="181.66666666666669" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;vertexProperties&#xD;edgeProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set GraphPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;vertexProperties&#xD;edgeProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script></block></script></block></script></block-definition><block-definition s="set GraphPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102904" collapsed="false">a simple way to set some costume attributes.&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set GraphPad vertex properties minSize: %&apos;minSize&apos; $nl growing? %&apos;isGrowing&apos; showsContent? %&apos;showsContent&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="197.2010396321616" collapsed="false">a simple way to set some vertex attributes:&#xD;1: ranges for random coordinates&#xD;    (xLeft,xRight, yUpper,yLower)&#xD;2: minimal radius of a vertex, should be&#xD;    changed is vertices are not growing&#xD;    with number of edges&#xD;3: boolean: vertices grow with number&#xD;    of connected edges&#xD;4: boolean: vertex content is shown. &#xD;    If there is no content, the vertex&#xD;    number is shown</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%b">true</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>vertexProperties</l><block var="target"/><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block></block><block var="minSize"/><block var="isGrowing"/><block var="showsContent"/></list></block><comment w="133.9111328125" collapsed="false">The ranges are maintained. </comment></custom-block></script></block></script></block-definition><block-definition s="set GraphPad edge properties lineWidth: %&apos;lineWidth&apos; $nl color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; directed? %&apos;isDirected&apos; weighted? %&apos;withWeights&apos; $nl showsWeight? %&apos;showWeight&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102904" collapsed="false">a simple way to set some edge attributes:&#xD;1: line width&#xD;2: line color red&#xD;3: line color green&#xD;4: line color blue&#xD;5: boolean: edge is directed&#xD;6: boolean: edge has a weight&#xD;7: boolean: edge shows&#xD;    weight</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>edgeProperties</l><block var="target"/><block s="reportNewList"><list><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/><block var="isDirected"/><block var="withWeights"/><block var="showWeight"/></list></block></custom-block></script></block></script></block-definition><block-definition s="new vertex at %&apos;x&apos; %&apos;y&apos; content: %&apos;value&apos; on graph of %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="add %n random vertices to graph on %txt"><l>1</l><block var="target"/></custom-block><custom-block s="move vertex %n of graph on %txt to %n %n"><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="target"/><block var="x"/><block var="y"/></custom-block><custom-block s="change content of vertex %n to %txt of graph on %txt"><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/><block var="target"/></custom-block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block-definition><block-definition s="add %&apos;n&apos; random vertices to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="214.16666666666686" collapsed="false">adds n vertices to the vertexList of a GraphPad:&#xD;Vertex attributes have the following order:&#xD;1: x&#xD;2: y&#xD;3: size&#xD;4: content&#xD;5: isMarked&#xD;6: colorNr&#xD;7: numberOfLinks</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>vertexList</l><block s="reportApplyExtension"><l>SciS_addVerticesToVertexlist(n,vlist,vAttributes)</l><list><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block></list></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>adjacencyMatrix</l><block s="reportApplyExtension"><l>SciS_addVerticesToAdjacencymatrix(n,amatrix)</l><list><block var="n"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></list></block></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="move vertex %&apos;n&apos; of graph on %&apos;sprite&apos; to %&apos;x&apos; %&apos;y&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Moves a vertex to another position measured in Snap! sprite-coordinates</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>width</l><l>height</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block><script><block s="doSetVar"><l>width</l><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>height</l><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block var="x"/></list></block></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportRound"><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block var="y"/></block></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="add %&apos;n&apos; random edges to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="150" collapsed="false">Creates n new edges randomly.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_addRandomEdgesToGraph(amatrix,n,lAttributes,vlist)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="n"/><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>adjacencyMatrix</l><block s="reportListItem"><l>1</l><block var="result"/></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>vertexList</l><block s="reportListItem"><l>2</l><block var="result"/></block></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="add edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="107.5" collapsed="false">Creates a new edge between two vertices.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l><l>weight</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportListItem"><l>6</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block><script><block s="doSetVar"><l>weight</l><block s="reportRound"><block s="reportQuotient"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block></list></block></list></block></block><l>10</l></block></block></block></script><script><block s="doSetVar"><l>weight</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex1"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>7</l><block var="vertex1"/></block><l>1</l></list></block></block><block s="doReplaceInList"><l>6</l><block var="vertex2"/><block s="reportListItem"><l>6</l><block var="vertex1"/></block></block><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><block s="reportNot"><block s="reportListItem"><l>5</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block></block></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex2"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>7</l><block var="vertex2"/></block><l>1</l></list></block></block><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="draw graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="155" collapsed="false">draws the graph on a GraphPad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldCostume</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportAttributeOf"><l>oldStageCostume</l><l>Stage</l></block><l><option>costume</option></l></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportAttributeOf"><l>oldStageCostume</l><l>Stage</l></block></block></script><list></list></block><list></list></block><block s="doSetVar"><l>oldCostume</l><custom-block s="copy of costume %obj"><custom-block s="costume of %obj"><block s="reportObject"><l>Stage</l></block></custom-block></custom-block></block></script><script><block s="doSetVar"><l>oldCostume</l><l>null</l></block></script></block></script><script><block s="doSetVar"><l>oldCostume</l><l>null</l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawGraph(amatrix,vlist,cAttributes,vAttributes,lAttributes,oldCostume)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block><block var="oldCostume"/></list></block></list></block></script></block></script></block-definition><block-definition s="delete vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="90" collapsed="false">Deletes a vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><l>1</l></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>vertexList</l><block s="reportNewList"><list></list></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>adjacencyMatrix</l><block s="reportNewList"><list></list></block></list></block></script><script><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><script><block s="doDeleteFromList"><block var="n"/><block var="item"/></block></script></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="delete edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="90" collapsed="false">Deletes an edge.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex1"/><block s="reportDifference"><block s="reportListItem"><l>7</l><block var="vertex1"/></block><l>1</l></block></block><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><l>X</l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>0</l></list></block><block s="reportNot"><block s="reportListItem"><l>5</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block></block></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex2"/><block s="reportDifference"><block s="reportListItem"><l>7</l><block var="vertex2"/></block><l>1</l></block></block><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><l>X</l></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="weight of edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">2</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportListItem"><l>6</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReport"><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block></block></script><script><block s="doReport"><l>ERROR: there is no connection between these vertices!</l></block></script></block></script><script><block s="doReport"><l>ERROR: in this Graph edges have no weights!</l></block></script></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="change weight of edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl to %&apos;weight&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Sets the weight of an edge.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportListItem"><l>6</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><block s="reportNot"><block s="reportListItem"><l>5</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block></block></list></block><script><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: there is no connection between these vertices!</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: in this Graph edges have no weights!</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="ask for new weight of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>n1</l><l>n2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doAsk"><l>from vertex nr</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>n1</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>to vertex nr</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>n2</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>new weight</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><custom-block s="change weight of edge from vertex %n to vertex %n %br to %n of graph on %txt"><block var="n1"/><block var="n2"/><block s="getLastAnswer"></block><block var="target"/></custom-block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="ask for new start vertex width of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="142.5" collapsed="false">Input for start vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>property</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doAsk"><l>new start vertexwidth (1....20)</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="getLastAnswer"></block><l>0</l></list></block><block s="reportVariadicLessThan"><list><block s="getLastAnswer"></block><l>21</l></list></block></list></block><script><block s="doSetVar"><l>property</l><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>2</l><block var="property"/><block s="getLastAnswer"></block></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>vertexProperties</l><block var="target"/><block var="property"/></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="content of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="change content of vertex %&apos;n1&apos; to %&apos;value&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="133.33333333333334" collapsed="false">Sets the content of a vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doSetVar"><l>vertex</l><block s="reportListItem"><block var="n1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doReplaceInList"><l>4</l><block s="reportListItem"><block var="n1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="ask for new vertex content in graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="145" collapsed="false">Input for a new vertex content.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>nr</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doAsk"><l>vertex number</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>nr</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>new value</l></block><custom-block s="change content of vertex %n to %txt of graph on %txt"><block var="nr"/><block s="getLastAnswer"></block><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="set marker of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="131.5491383870445" collapsed="false">Tells a vertex to be marked.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReplaceInList"><l>5</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="remove marker of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="94.04913838704452" collapsed="false">Deletes a marker.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReplaceInList"><l>5</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="remove all markers of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="94.04913838704452" collapsed="false">Deletes all markers.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><script><block s="doReplaceInList"><l>5</l><block var="item"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="depth first search of content %&apos;cont&apos; $nl starting at vertex %&apos;nr&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Depth first search in a graph.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="nr"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="nr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_depthFirstSearch(amatrix,vlist,cont,n)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block var="cont"/><block var="nr"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="breadth first search of content %&apos;cont&apos; $nl starting at vertex %&apos;nr&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="146.66666666666669" collapsed="false">Breadth first search in a graph.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>nextVertices</l><l>vertexNr</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="nr"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="nr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_breadthFirstSearch(amatrix,vlist,cont,n)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block var="cont"/><block var="nr"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="distance on %&apos;sprite&apos; from vertex %&apos;v1&apos; to vertex %&apos;v2&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="111.66666666666669" collapsed="false">Reports the distance of two vertices.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doReport"><block s="reportRound"><block s="reportQuotient"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block></list></block></list></block></block><l>10</l></block></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="shortest path in graph from vertex %&apos;startVertex&apos; $nl to vertex %&apos;endVertex&apos; on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="147.8313293457031" collapsed="false">Shortes path between two vertices, using Dijkstra-method.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>completedVertices</l><l>distances</l><l>openTuples</l><l>result</l><l>actualTuple</l><l>i</l><l>j</l><l>k</l><l>actualDistance</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="startVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="startVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="endVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="endVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_shortestPath(amatrix,start,end)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="startVertex"/><block var="endVertex"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="list of all shortest paths in graph from vertex %&apos;startVertex&apos; $nl to all connected vertices of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="195.1154947916664" collapsed="false">Shortes paths between startVertex and all connected vertices, using Dijkstra-method.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>completedVertices</l><l>distances</l><l>openTuples</l><l>result</l><l>actualTuple</l><l>i</l><l>j</l><l>k</l><l>actualDistance</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="startVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="startVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_allShortestPaths(amatrix,start)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="startVertex"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="vertexnumber at %&apos;x&apos; %&apos;y&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="155" collapsed="false">Returns the vertexnumber of a vertex near (x|y), if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">50</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,cAttributes,vAttributes,x,y)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><block var="x"/><block var="y"/></list></block></block></script></block></script></block-definition><block-definition s="point %&apos;x&apos; %&apos;y&apos; on sprite/stage $arrowRightOutline point on graph %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetSize</l><l>targetX</l><l>targetY</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doReport"><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block var="targetSize"/></block></list></block><l>1</l></list></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="y"/><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block var="targetSize"/></block></list></block><l>1</l></list></block></block></list></block></block></script></block></script></block-definition><block-definition s="vertexnumber of %&apos;content&apos; in graph of %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="150.83333333333334" collapsed="false">Reports the vertexnumber of the vertex with the specified content. If not found then reports 0.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Peter</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>nr</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doSetVar"><l>nr</l><l>0</l></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>vertexList</l><l>FamilyTree</l></block><script><block s="doChangeVar"><l>nr</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="item"/></block><block var="content"/></list></block><script><block s="doReport"><block var="nr"/></block></script></block></script></block><block s="doReport"><block var="nr"/></block></script></block></script></block-definition><block-definition s="Graph example 1: small worlds (needs some seconds)" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as a GraphPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doSayFor"><l>mean distance between the nodes: ...</l><l>2</l></block><block s="doReport"><custom-block s="%s of vector %l"><l>mean</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of vector %l"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><custom-block s="list of all shortest paths in graph from vertex %n %br to all connected vertices of graph on %txt"><l></l><l>thisSprite</l></custom-block><l><bool>true</bool></l></custom-block></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertexList"/></block></block></block></custom-block></block></script></block-definition><block-definition s="Graph example 2: distribution of links" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>diagramSprite</l></list></block><custom-block s="configure %s as a GraphPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doWait"><l>1</l></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIfElse"><block s="reportIsA"><l></l><l><option>number</option></l></block><script><block s="doReport"><l></l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of vector %l"><l>number</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l>X</l></list></block></autolambda><list></list></block><l/></block></custom-block></autolambda><list></list></block><block var="adjacencyMatrix"/></block></block></block><block s="doSetVar"><l>diagramSprite</l><custom-block s="create a duplicate of %obj %br with name %txt"><block s="reportGet"><l><option>self</option></l></block><l>DiagramSprite</l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>DiagramSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>DiagramSprite</l><l>Edges per Node</l><l>18</l><l>Number of Edges</l><l>16</l><l>Number of Vertices</l><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br pretty formated? %b to PlotPad %txt"><block var="SciSnap!Data"/><l>10</l><l><bool>true</bool></l><l>DiagramSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>DiagramSprite</l></custom-block></script></block-definition><block-definition s="create a duplicate of %&apos;sprite&apos; $nl with name %&apos;spriteName&apos;" type="reporter" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l></list></block><block s="doSetVar"><l>existingSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doApplyExtension"><l>SciS_createDuplicate(sprite,spriteName)</l><list><block var="sprite"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script></block></script></block><block s="doReport"><block var="newSprite"/></block></script></block-definition><block-definition s="create a permanent clone of %&apos;sprite&apos; $nl with name %&apos;spriteName&apos;" type="reporter" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l></list></block><block s="doSetVar"><l>existingSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doApplyExtension"><l>SciS_createPermanentClone(sprite,spriteName)</l><list><block var="sprite"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script></block></script></block><block s="doReport"><block var="newSprite"/></block></script></block-definition><block-definition s="import Sprite" type="command" category="control"><comment x="0" y="0" w="203.0109375000003" collapsed="false">Imports a stored sprite from a file.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ready</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_importSprite1()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doApplyExtension"><l>SciS_importSprite2(data)</l><list><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></list></block></script></block-definition><block-definition s="change SpriteName to %&apos;newName&apos;" type="command" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt">new name</input></inputs><script><block s="doApplyExtension"><l>SciS_changeSpritenameTo(newName)</l><list><block var="newName"/></list></block></script></block-definition><block-definition s="import library to category %&apos;category&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="402.95911458333353" collapsed="false">Imports stored blocks to another palette. All blocks should be from the same category!</comment><header></header><code></code><translations></translations><inputs><input type="%s">Looks</input></inputs><script><block s="doDeclareVariables"><list><l>library</l><l>oldcat</l><l>begin</l><l>end</l><l>ok</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>category</l><custom-block s="lower case %s"><block var="category"/></custom-block></block><block s="doSetVar"><l>ok</l><block s="reportApplyExtension"><l>SciS_importLibrary1(catName)</l><list><block var="category"/></list></block></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown category!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>library</l><custom-block s="read file with filepicker"></custom-block></block><block s="doSetVar"><l>begin</l><block s="reportVariadicSum"><list><custom-block s="index of %txt in %txt"><l>category=</l><block var="library"/></custom-block><l>10</l></list></block></block><block s="doSetVar"><l>end</l><custom-block s="index of %txt in %txt"><l>"</l><custom-block s="substring of %txt from %n to %n"><block var="library"/><block var="begin"/><block s="reportVariadicSum"><list><block var="begin"/><l>50</l></list></block></custom-block></custom-block></block><block s="doSetVar"><l>oldcat</l><custom-block s="substring of %txt from %n to %n"><block var="library"/><block var="begin"/><block s="reportDifference"><block s="reportVariadicSum"><list><block var="begin"/><block var="end"/></list></block><l>2</l></block></custom-block></block><block s="doSetVar"><l>library</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><block s="reportJoinWords"><list><l>"</l><block var="oldcat"/><l>"</l></list></block><block s="reportJoinWords"><list><l>"</l><custom-block s="lower case %s"><block var="category"/></custom-block><l>"</l></list></block><block var="library"/></custom-block></block><block s="doApplyExtension"><l>SciS_importLibrary2(src)</l><list><block var="library"/></list></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a NeuralNetPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="178.33333333333334" collapsed="false">Creates a new  empty costume of the specified size and color ans sets local properties for a NeuralNet.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>NNPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>weights</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>netProperties</l><block s="reportNewList"><list><l>0</l><l>0</l><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>edgeProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="462.6106770833333" y="113.30555555555553" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN position on stage&#xD;7: upper offset for NN position on stage&#xD;&#xD;neural net properties:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN image&#xD;4: height of NN image</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a NNPad?" type="predicate" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="NNPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="92.5" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">netProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;netProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as NNPad!</l></block></script></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set NNPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="131.66666666666669" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">netProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;netProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script></block></script></block></script></block-definition><block-definition s="set NNPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="214.32706197102902" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN&#xD;    position on stage&#xD;7: upper offset for NN&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set NNPad properties numberOfLayers: %&apos;layers&apos; layerWidth: %&apos;layerWidth&apos; $nl imageWidth: %&apos;netWidth&apos; imageHeight: %&apos;netHeight&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="196.82706197102902" collapsed="false">a simple way to set some net attributes:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN image&#xD;4: height of NN image</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%n">400</input><input type="%n">300</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netProperties</l><block var="target"/><block s="reportNewList"><list><block var="layers"/><block var="layerWidth"/><block var="netWidth"/><block var="netHeight"/></list></block></custom-block></script></block></script></block-definition><block-definition s="NN output of %&apos;n&apos; layer with input %&apos;input&apos; on %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="173.33333333333334" collapsed="false">Reports the output of the nth layer of a neural network with given input.</comment><header></header><code></code><translations></translations><inputs><input type="%s">last<options>1&#xD;last</options></input><input type="%l"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as NNPad!</l></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="input"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: wrong data format, numerical input required!</l></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><block s="doReport"><l>ERROR: the input should match the net width</l></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_NNoutput(weights,width,depth,n,input)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block var="n"/><block var="input"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="NN add new weights for %&apos;depth&apos; layers of width %&apos;width&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="146.42857142857167" collapsed="false">Creates a fully connected neural network of perceptrons. Inputs should be connected to layer 1, outputs to last layer.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>weights</l><l>row</l><l>matrix</l><l>target</l><l>properties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><block s="reportNewList"><list></list></block></list></block><block s="doRepeat"><block var="depth"><comment w="115.85714185714296" collapsed="false">one matrix for each layer</comment></block><script><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="width"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="width"/><script><block s="doAddToList"><custom-block s="random"></custom-block><block var="row"/></block></script></block><block s="doAddToList"><l>1</l><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block var="matrix"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></list></block></script></block><block s="doSetVar"><l>properties</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netProperties</l><block var="target"/><block s="reportNewList"><list><block var="depth"/><block var="width"/><block s="reportListItem"><l>3</l><block var="properties"/></block><block s="reportListItem"><l>4</l><block var="properties"/></block></list></block></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>weights</l></custom-block></script></block></script></block-definition><block-definition s="NN show status with input %&apos;input&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="133.33333333333334" collapsed="false">Draws the nodes and current status of connections of an NN as new costume.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>depth</l><l>layerOutputs</l><l>netWidth</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>netWidth</l><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="netWidth"/><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: input doesn&apos;t match netwidth!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>depth</l><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>layerOutputs</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="input"/><block var="layerOutputs"/></block><block s="doFor"><l>i</l><l>1</l><block var="depth"/><script><block s="doAddToList"><custom-block s="NN output of %s layer with input %l on %txt"><block var="i"/><block var="input"/><block var="target"/></custom-block><block var="layerOutputs"/></block></script></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_NNshowStatus(cAttributes,nAttributes,weights,outputs,costume,sprite)</l><list><custom-block s="NNPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="layerOutputs"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="sprite"/></list></block></list></block></script></block></script></block-definition><block-definition s="teach NN with input %&apos;input&apos; and target output %&apos;output&apos; by back- $nl propagation with learning factor %&apos;eta&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="154.83333333333331" collapsed="false">A block for teaching a neural net.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n">0.1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>width</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>width</l><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block><block s="reportVariadicEquals"><list><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="output"/></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: data don&apos;t match netwidth!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><block s="reportApplyExtension"><l>SciS_NNteach(weights,width,depth,input,output,eta)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="width"/><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block var="input"/><block var="output"/><block var="eta"/></list></block></list></block></script></block></script></block></script></block-definition><block-definition s="NN Example 1 on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><custom-block s="configure %s as a NeuralNetPad width: %n %br height: %n color: %n %n %n"><block var="sprite"/><l>600</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="NN add new weights for %n layers of width %n on %txt"><l>2</l><l>20</l><block var="sprite"/></custom-block><block s="doRepeat"><l>100</l><script><custom-block s="teach NN with input %l and target output %l by back- %br propagation with learning factor %n on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>-1</l><l>0</l><l>0</l><l>0</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l><l>-1</l><l>-1</l><l>-1</l><l>0</l><l>0</l><l>0</l></list></block><l>0.1</l><block var="sprite"/></custom-block><custom-block s="NN show status with input %l on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block var="sprite"/></custom-block></script></block></script></block-definition><block-definition s="new ( temporary? %&apos;temporary&apos; ) sprite" type="reporter" category="control" helper="true"><comment x="0" y="0" w="165.58447588584482" collapsed="false">creates a temporary or static Sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>newSprite</l><l>copy</l></list></block><block s="doWarp"><script><block s="doRun"><block s="reportJSFunction"><list></list><l>this.parent.parent.addNewSprite();</l></block><list></list></block><block s="doSetVar"><l>newSprite</l><block s="reportListItem"><l><option>last</option></l><block s="reportGet"><l><option>other sprites</option></l></block></block></block><block s="doIf"><block var="temporary"/><script><block s="doSetVar"><l>copy</l><block s="newClone"><block var="newSprite"/></block></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="doApplyExtension"><l>SciS_removeThisSprite()</l><list></list></block></script><list></list></block><list></list></block><block s="doSetVar"><l>newSprite</l><block var="copy"/></block></script></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="gotoXY"><block s="reportRandom"><l>-100</l><l>-50</l></block><block s="reportRandom"><l>100</l><l>150</l></block></block></script><list></list></block><list></list></block><block s="doReport"><block var="newSprite"/></block></script></block></script><scripts><script x="532.0000000000001" y="103.58333333333334"><block s="doApplyExtension"><l>SciS_createNewSprite()</l><list></list></block></script></scripts></block-definition><block-definition s="Example 4: regression line" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>regressionData</l><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="%n random points near a straight x-range %n %n %br gradient %n y-axis-intercept %n range %n"><l>150</l><l>-5</l><l>5</l><l>1</l><l>0</l><l>4</l></custom-block></block><block s="doSetVar"><l>regressionData</l><custom-block s="regression line parameters of %s"><block var="data"/></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Random data with regression line</l><l>18</l><l>x-values</l><l>16</l><l>y-values</l><l>16</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><l>square</l><l>5</l><l>0</l><l>255</l><l>0</l><l><bool>false</bool></l><l>thisSprite</l></custom-block><custom-block s="set PlotPad ranges for x: %n %n y: %n %n %br with border? %b of %n pretty formatted? %b %br on %txt"><l>-5</l><l>5</l><l>-5</l><l>5</l><l><bool>false</bool></l><l>0.1</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><l>continuous</l><l>2</l><l>255</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="add graph %s to PlotPad %txt"><block var="regressionData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="remove this sprite" type="command" category="control"><comment x="0" y="0" w="142.46510416666678" collapsed="false">Removes the calling sprite.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>SciS_removeThisSprite()</l><list></list></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;name&apos; of %&apos;table&apos; $arrowRightOutline number" type="reporter" category="other" helper="true"><comment x="0" y="0" w="272.1666666666668" collapsed="false">Reports the row or column number of the row or column with the name entered, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">column<options>column&#xD;row</options></input><input type="%s">name</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>firstLine</l><l>data</l><l>i</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>data</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>firstLine</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doIf"><block s="reportIsA"><block var="name"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="name"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="name"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block></list></block><script><block s="doReport"><block var="name"/></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doReport"><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="name"/></block><l>#</l></list></block><script><block s="doSetVar"><l>name</l><custom-block s="substring of %txt from %n to %n"><block var="name"/><l>2</l><block s="reportStringSize"><block var="name"/></block></custom-block></block></script></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block var="firstLine"/></block><block var="name"/></list></block><script><block s="doSetVar"><l>n</l><block var="i"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportStringSize"><block var="name"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportUnicode"><block var="name"/></block><block s="reportUnicode"><l>A</l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportUnicode"><block var="name"/></block><block s="reportUnicode"><l>Z</l></block></list></block></list></block></list></block><script><block s="doSetVar"><l>n</l><block s="reportDifference"><block s="reportUnicode"><block var="name"/></block><l>64</l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block><script><block s="doSetVar"><l>n</l><l>0</l></block></script></block></script></block></script></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block var="n"/><l>ERROR: name not found!</l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIf"><block s="reportIsA"><block var="name"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="name"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="name"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><script><block s="doReport"><block var="name"/></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doReport"><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="name"/></block><l>#</l></list></block><script><block s="doSetVar"><l>name</l><custom-block s="substring of %txt from %n to %n"><block var="name"/><l>2</l><block s="reportStringSize"><block var="name"/></block></custom-block></block></script></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="name"/></list></block><script><block s="doSetVar"><l>n</l><block var="i"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block var="n"/><l>ERROR: name not found!</l></block></block></script></block><block s="doReport"><l>ERROR: something wrong!</l></block></script></block></script></block-definition><block-definition s="input dialog on %&apos;sprite&apos; with title %&apos;title&apos; $nl and items %&apos;items&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Input dialog for a list of items. Click item by mouse and then ok. Returns the selected item.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%txt">title</input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>result</l><l>height</l><l>width</l><l>clickpoint</l><l>ok</l><l>x</l><l>y</l><l>costume</l></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>height</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><l>25</l></list></block><l>70</l></list></block></block><block s="doSetVar"><l>width</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block s="reportListItem"><block var="i"/><block var="items"/></block></block><block var="width"/></list></block><script><block s="doSetVar"><l>width</l><block s="reportStringSize"><block s="reportListItem"><block var="i"/><block var="items"/></block></block></block></script></block></script></block><block s="doSetVar"><l>width</l><block s="reportVariadicProduct"><list><l>9</l><block var="width"/></list></block></block><block s="doSetVar"><l>costume</l><block s="reportGet"><l><option>costume</option></l></block></block><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><block var="sprite"/><l>400</l><block var="height"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>245</l><l>245</l><l>245</l><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block s="reportJoinWords"><list><block var="title"/><l> (click on it)</l></list></block><l>10</l><l>20</l><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><script><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block s="reportJoinWords"><list><block var="i"/><l>: </l><block s="reportListItem"><block var="i"/><block var="items"/></block></list></block><l>15</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="i"/><l>25</l></list></block><l>30</l></list></block><l>16</l><l><bool>true</bool></l><block var="sprite"/></custom-block></script></block><custom-block s="draw rectangle from %n %n to %n %n on %txt"><l>25</l><block s="reportDifference"><block var="height"/><l>30</l></block><l>50</l><block s="reportDifference"><block var="height"/><l>5</l></block><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block var="result"/><l>28</l><block s="reportDifference"><block var="height"/><l>12</l></block><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block><custom-block s="draw rectangle from %n %n to %n %n on %txt"><l>70</l><block s="reportDifference"><block var="height"/><l>30</l></block><l>100</l><block s="reportDifference"><block var="height"/><l>5</l></block><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><l>ok</l><l>75</l><block s="reportDifference"><block var="height"/><l>12</l></block><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>clickpoint</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="sprite"/></custom-block></block><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="clickpoint"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="clickpoint"/></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>15</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportVariadicSum"><list><block var="width"/><l>35</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>38</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportDifference"><block var="height"/><l>35</l></block></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportDifference"><block var="y"/><l>38</l></block><l>25</l></block></block><l>1</l></list></block></block><custom-block s="fill rectangle from %n %n to %n %n on %txt"><l>27</l><block s="reportDifference"><block var="height"/><l>28</l></block><l>48</l><block s="reportDifference"><block var="height"/><l>7</l></block><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block var="result"/><l>28</l><block s="reportDifference"><block var="height"/><l>12</l></block><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>70</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><l>100</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><block s="reportDifference"><block var="height"/><l>30</l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportDifference"><block var="height"/><l>5</l></block></list></block></list></block></list></block><script><block s="doSwitchToCostume"><block var="costume"/></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="result"/><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><block var="result"/><block var="items"/></block></block></script><script><block s="doReport"><l>ERROR: index out of bounds!</l></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="empty table" type="reporter" category="3. Data tools"><comment x="0" y="0" w="114.1666666666667" collapsed="false">Returns an empty table.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; table initialized with %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="191.6666666666667" collapsed="false">Reports a new table initialized with value.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block var="value"/><block var="row"/></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %l"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="new %&apos;n&apos; by %&apos;m&apos; table with labels: %&apos;labels&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="172.5" collapsed="false">Reports a table with labeled columns.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">0</input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="labels"/><l><option>list</option></l></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="labels"/></block></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="labels"/></block><block var="row"/></block></script><script><block s="doAddToList"><l>...</l><block var="row"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><l></l><block var="row"/></block></script></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %l"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><l>ERROR: labels required!</l></block></script></block></script></block-definition><block-definition s="copy of %&apos;list&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.83333333333326" collapsed="false">Reports the copy of a list or an empty list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_copyOf(theList)</l><list><block var="list"/></list></block></block></script></block-definition><block-definition s="import %&apos;choice&apos; from $nl %&apos;source&apos; to SciSnap!Data" type="command" category="3. Data tools"><comment x="0" y="0" w="373.6977306547621" collapsed="false">Imports table-CSV-data, costume-data, SQL-data or FITS-data to SciSnap!Data.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume-(RGB)-data<options>table-(CSV)-data&#xD;costume-(RGB)-data&#xD;SQL-(query)-data&#xD;FITS-data</options></input><input type="%s">current-costume<options>current-costume&#xD;filepicker&#xD;other-source</options></input></inputs><script><block s="doDeclareVariables"><list><l>header</l><l>imagedata</l><l>h</l><l>min</l><l>max</l><l>w</l><l>h</l><l>copy</l><l>ready</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: FITS data have to be text!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>imagedata</l><block s="reportApplyExtension"><l>SciS_extractFITSdata(FITSdata)</l><list><block var="source"/></list></block></block><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportListItem"><l>6</l><block var="imagedata"/></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>FITS</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block s="reportListItem"><l>1</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block s="reportListItem"><l>2</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block s="reportListItem"><l>3</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block s="reportListItem"><l>4</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>5</l><block var="imagedata"/></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="header"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><l></l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="header"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="header"/></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>table-(CSV)-data</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>w</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>h</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block><custom-block s="set SciSnap! global variables and properties"></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block var="w"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block var="h"/></custom-block><block s="doSetVar"><l>copy</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportApplyExtension"><l>SciS_importCSVdata(data)</l><list><block var="copy"/></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>10</l></list></block><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block><l>1000</l></list></block></list></block><script><block s="doSetVar"><l>min</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>max</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script></block><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script></block></script></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume-(RGB)-data</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>current-costume</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportGet"><l><option>costume</option></l></block></block></script><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from costumes!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block><block s="doIf"><block s="reportIsA"><block var="source"/><l><option>costume</option></l></block><script><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="source"/></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>RGB</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block><block s="doSetVar"><l>min</l><l></l></block><block s="doSetVar"><l>max</l><l></l></block><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><l></l></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script></block><block s="doSetVar"><l>h</l><l></l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>SQL-(query)-data</l></list></block><script><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SciSnap!Data"/></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>10</l></list></block><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block><l>1000</l></list></block></list></block><script><block s="doSetVar"><l>min</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>max</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script></block><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script></block></script></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block></script></block></script></block-definition><block-definition s="read file with filepicker" type="reporter" category="3. Data tools" helper="true"><comment x="0" y="0" w="153.5" collapsed="false">Reads a file using the filepicker.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ready</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doReport"><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block-definition><block-definition s="write %&apos;data&apos; to CSV-file %&apos;filename&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="170.1791359325606" collapsed="false">Stores a list in a CSV file.&#xD;JS-code copied from Snap!-code.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%txt">filename</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only lists supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doApplyExtension"><l>SciS_writetoCSVfile(data,filename)</l><list><block var="source"/><block var="filename"/></list></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points with ranges x: %&apos;xmin&apos; %&apos;xmax&apos; $nl y: %&apos;ymin&apos; %&apos;ymax&apos; inside of a %&apos;shape&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="357.75641025641033" collapsed="false">Reports randomly distributed points in the form of a rectangle, circle, or ring.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">-100</input><input type="%n">100</input><input type="%n">-100</input><input type="%n">100</input><input type="%s" readonly="true">square<options>square&#xD;circle&#xD;ring</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>r</l><l>alpha</l><l>d</l><l>x0</l><l>y0</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>square</l></list></block><script><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportRandom"><block var="xmin"/><block var="xmax"/></block><block s="reportRandom"><block var="ymin"/><block var="ymax"/></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>circle</l></list></block><script><block s="doSetVar"><l>r</l><block s="reportQuotient"><custom-block s="%s of vector %l"><l>min</l><block s="reportNewList"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></list></block></custom-block><l>2</l></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="xmin"/><block var="xmax"/></list></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="ymin"/><block var="ymax"/></list></block><l>2</l></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>alpha</l><block s="reportVariadicProduct"><list><l>360</l><custom-block s="random"></custom-block></list></block></block><block s="doSetVar"><l>d</l><block s="reportVariadicProduct"><list><block var="r"/><custom-block s="random"></custom-block></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>sin</option></l><block var="alpha"/></block></list></block><block var="x0"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>cos</option></l><block var="alpha"/></block></list></block><block var="y0"/></list></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>ring</l></list></block><script><block s="doSetVar"><l>r</l><block s="reportQuotient"><custom-block s="%s of vector %l"><l>min</l><block s="reportNewList"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></list></block></custom-block><l>2</l></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="xmin"/><block var="xmax"/></list></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="ymin"/><block var="ymax"/></list></block><l>2</l></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>alpha</l><block s="reportVariadicProduct"><list><l>360</l><custom-block s="random"></custom-block></list></block></block><block s="doSetVar"><l>d</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="r"/><block s="reportVariadicSum"><list><custom-block s="random"></custom-block><l>2</l></list></block></list></block><l>3</l></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>sin</option></l><block var="alpha"/></block></list></block><block var="x0"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>cos</option></l><block var="alpha"/></block></list></block><block var="y0"/></list></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near a straight x-range %&apos;xmin&apos; %&apos;xmax&apos; $nl gradient %&apos;m&apos; y-axis-intercept %&apos;b&apos; range %&apos;delta&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="336.55251141552526" collapsed="false">Creates new random data in the specified ranges swaying by a straight.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">-5</input><input type="%n">5</input><input type="%n">1</input><input type="%n">0</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>data</l><l>x</l><l>y</l><l>diff</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>diff</l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><custom-block s="random"></custom-block><block var="diff"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="m"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="delta"/><block s="reportDifference"><custom-block s="random"></custom-block><l>0.5</l></block></list></block></list></block><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block var="data"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="data"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near %&apos;f&apos; $nl between %&apos;xmin&apos; and %&apos;xmax&apos; range %&apos;range&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="217.11538461538476" collapsed="false">Generates a list of points &quot;near&quot; a given graph.</comment><header></header><code></code><translations></translations><inputs><input type="%n">20</input><input type="%repRing"></input><input type="%n">-5</input><input type="%n">5</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>data</l><l>random</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="f"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>random</l><custom-block s="random"></custom-block></block><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block><block var="random"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="evaluate"><block var="f"/><list><block var="x"/></list></block></block><block s="doSetVar"><l>random</l><custom-block s="random"></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block s="reportVariadicSum"><list><block var="y"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="random"/><l>0.5</l></block><block var="range"/></list></block></list></block></list></block><block var="data"/></block></script></block><block s="doReport"><block var="data"/></block></script><script><block s="doReport"><l>ERROR: reporter with ring required!</l></block></script></block></script></block></script></block-definition><block-definition s="transpose table or list %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.0136986301369" collapsed="false">Creates the transpose of a table or a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="value"/></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block></script><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block var="value"/></list></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></script></block><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block></script></block-definition><block-definition s="add %&apos;choice&apos; %&apos;newContent&apos; to %&apos;table&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="256.1904761904763" collapsed="false">Adds a row, a column, or  column headers to a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column&#xD;column-headers</options></input><input type="%l"></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>tablewidth</l><l>item</l><l>target</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>target</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>target</l><block var="table"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="target"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only tables supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block var="item"/><block var="target"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>newContent</l><block s="reportNewList"><list><block var="newContent"/></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block var="newContent"/></block></list></block><block var="target"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column-headers</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doInsertInList"><block var="item"/><l>1</l><block var="target"/></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;name&apos; of %&apos;data&apos; with first item? %&apos;WithFirstItem&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="277.16666666666663" collapsed="false">Reports the row or column of a table identified by number or name, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column</options></input><input type="%s">numberOrName<options>first&#xD;last&#xD;numberOrName</options></input><input type="%s">SciSnap!Data</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>table</l><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>table</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>table</l><block var="data"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="table"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></list></block></list></block><script><block s="doReport"><l>ERROR: row index out of range!</l></block></script><script><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block s="reportListItem"><block var="n"/><block var="table"/></block></custom-block></block><block s="doIf"><block s="reportNot"><block var="WithFirstItem"/></block><script><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><block var="n"/><l/></block></block></script><list></list></block><block var="table"/></block></block><block s="doIf"><block s="reportNot"><block var="WithFirstItem"/></block><script><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block><block s="doReport"><l>ERROR: something wrong!</l></block></script></block></script></block-definition><block-definition s="delete %&apos;choice&apos; %&apos;name&apos; of %&apos;data&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="159.6666666666666" collapsed="false">Deletes a row or column of a table. identified by number or name, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column</options></input><input type="%s">numberOrName<options>first&#xD;last&#xD;numberOrName</options></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>table</l><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>table</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>table</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="table"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only data in tables are deletable!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></block></script></block></script></block><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block><script><block s="doDeleteFromList"><block var="n"/><block var="table"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown column name!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: column index out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block><l>1</l></list></block><block s="reportVariadicEquals"><list><block var="n"/><l>1</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>all</option></l><block var="table"/></block></script><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doDeleteFromList"><block var="n"/><block var="item"/></block><block s="doReport"><l></l></block></script><list><l>item</l></list></block><block var="table"/></block></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="element %&apos;xName&apos; %&apos;yName&apos; of %&apos;table&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="175.83333333333334" collapsed="false">Reports the element a position x|y of a table, identified by numbers or names.</comment><header></header><code></code><translations></translations><inputs><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doSetVar"><l>x</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doSetVar"><l>y</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="y"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="y"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block var="x"/><block s="reportListItem"><block var="y"/><block var="source"/></block></block></block></script></block></script></block></script></block-definition><block-definition s="set element %&apos;xName&apos; %&apos;yName&apos; of %&apos;table&apos; to %&apos;value&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="205.83333333333314" collapsed="false">Replaces the value at position x|y of a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: operation only defined for tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>x</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown column name!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>y</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="y"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown row name!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="y"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doReplaceInList"><block var="x"/><block s="reportListItem"><block var="y"/><block var="source"/></block><block var="value"/></block></script></block></script></block></script></block-definition><block-definition s="columns %&apos;columns&apos; of %&apos;table&apos; $nl from row %&apos;startnr&apos; to %&apos;endnr&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="118.99999999999933" collapsed="false">Reports the columns from row startnr to row endnr.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s">last<options>last&#xD;numberOrName</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>colNumbers</l><l>n</l><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="endnr"/><l>last</l></list></block><script><block s="doSetVar"><l>endnr</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block><block s="doSetVar"><l>startnr</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="startnr"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="startnr"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script></block><block s="doSetVar"><l>endnr</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="endnr"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="endnr"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script></block><block s="doSetVar"><l>colNumbers</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="columns"/><script><block s="doIfElse"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doAddToList"><block var="item"/><block var="colNumbers"/></block></script><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="item"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doAddToList"><block var="n"/><block var="colNumbers"/></block></script></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_columncopy(data,cols,start,stop)</l><list><block var="source"/><block var="colNumbers"/><block var="startnr"/><block var="endnr"/></list></block></block></script></block></script></block-definition><block-definition s="subsection of %&apos;choice&apos; in %&apos;data&apos; from $nl %&apos;b1Name&apos; %&apos;b2Name&apos; to %&apos;e1Name&apos; %&apos;e2Name&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="196" collapsed="false">Reports a subsection of an image or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">RGB-data<options>table-data&#xD;matrix-data&#xD;list-data&#xD;RGB-data&#xD;FITS-data</options></input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>width</l><l>height</l><l>begin</l><l>end</l><l>b1</l><l>b2</l><l>e1</l><l>e2</l><l>result</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>list-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown start number!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown end number!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: list required</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="index"/><block var="b1Name"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="index"/><block var="e1Name"/></list></block></list></block><script><block s="doAddToList"><block var="value"/><block var="result"/></block></script></block><block s="doReport"><l></l></block></script><list><l>value</l><l>index</l></list></block><block var="source"/></block></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>table-data</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>matrix-data</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: table or matrix required</l></block></script></block><block s="doSetVar"><l>b1</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="b1Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doSetVar"><l>b2</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="b2Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b2"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script></block><block s="doSetVar"><l>e1</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="e1Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1"/><l><option>number</option></l></block></block><script><block s="doReport"><l>XXXERROR: unknown column name!</l></block></script></block><block s="doSetVar"><l>e2</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="e2Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e2"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script></block><block s="doSetVar"><l>begin</l><block s="reportNewList"><list><block var="b1"/><block var="b2"/></list></block></block><block s="doSetVar"><l>end</l><block s="reportNewList"><list><block var="e1"/><block var="e2"/></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_subsection(data,begin,end)</l><list><block var="source"/><block var="begin"/><block var="end"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB-data</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block></block><script><block s="doReport"><l>ERROR: please import image-data to SciSnap!Data first!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>RGB</l></list></block><custom-block s="is %s a %txt"><block var="SciSnap!Data"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data!</l></block></script></block><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>FITS</l></list></block><custom-block s="is %s a %txt"><block var="SciSnap!Data"/><l>vector</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data!</l></block></script></block><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: list required</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown start number!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b2Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown start number!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown end number!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e2Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown end number!</l></block></script></block><block s="doSetVar"><l>begin</l><block s="reportNewList"><list><block var="b1Name"/><block var="b2Name"/></list></block></block><block s="doSetVar"><l>end</l><block s="reportNewList"><list><block var="e1Name"/><block var="e2Name"/></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_subsectionImage(data,begin,end,width,height)</l><list><block var="source"/><block var="begin"/><block var="end"/><block var="width"/><block var="height"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="select rows of %&apos;table&apos; where $nl column %&apos;name&apos; is %&apos;op&apos; %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="138.33333333333334" collapsed="false">Determines the rows of a table with certain properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s" readonly="true">less-than<options>less-than&#xD;greater-than&#xD;equal-to&#xD;different-from</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="table"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script></block><block s="doSetVar"><l>op</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="op"/><l><option>whitespace</option></l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>less-than</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>greater-than</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>equal-to</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>different-from</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></block></autolambda><list></list></block><block var="source"/></block></block></script></block></script></block></script></block-definition><block-definition s="count values in %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="220" collapsed="false">counts the appearances of the values of a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>sortedData</l><l>countedValues</l><l>value</l><l>n</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block s="reportNewList"><list><l>A</l><l>B</l><l>C</l></list></block></block><l></l></list></block><script><block s="doReport"><l>ERROR: simple list required!</l></block></script></block><block s="doSetVar"><l>sortedData</l><custom-block s="sort %l with predicate %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doSetVar"><l>countedValues</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><l>1</l><block var="sortedData"/></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doForEach"><l>item</l><block var="sortedData"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="item"/><block var="value"/></list></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doSetVar"><l>value</l><block var="item"/></block><block s="doSetVar"><l>n</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doReport"><block var="countedValues"/></block></script></block></script></block-definition><block-definition s="entropy of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="168" collapsed="false">returns the entropy of a list of data</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doForEach"><l>item</l><custom-block s="count values in %l"><block var="data"/></custom-block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l>0</l></list></block><script><block s="doChangeVar"><l>result</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="reportMonadic"><l><option>ln</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></list></block></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; without duplicates" type="reporter" category="3. Data tools"><comment x="0" y="0" w="222.33333333333348" collapsed="false">Copy of corresponding Snap!-library-block: &#xD;Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></list></block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="source"/></block></block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; normalized by %&apos;choice&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="142.5" collapsed="false">Normalizes a table by dividing it by the specified value.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">mean<options>mean&#xD;max&#xD;number&#xD;sum&#xD;median&#xD;softmax</options></input></inputs><script><block s="doDeclareVariables"><list><l>divisor</l><l>source</l><l>n</l><l>sum</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: only vectors supported!</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>mean</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>max</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>number</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>sum</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>median</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doReport"><custom-block s="%s of vector %l"><l>softmax</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="choice"/><l><option>number</option></l></block><script><block s="doSetVar"><l>divisor</l><block var="choice"/></block></script><script><block s="doReport"><l>ERROR: illegal operation!</l></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="divisor"/><l>0</l></list></block></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><block var="divisor"/></block></autolambda><list></list></block><block var="source"/></block></block></script><script><block s="doReport"><l>ERROR: divisor is 0!</l></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; compressed with $nl factor %&apos;n&apos; by averaging" type="reporter" category="3. Data tools"><comment x="0" y="0" w="137.85714285714297" collapsed="false">Reports a compressed version of a vector or matrix.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>source</l><l>i</l><l>j</l><l>isMatrix</l><l>columnNr</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>isMatrix</l><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><block var="isMatrix"/></list></block></block><script><block s="doReport"><l>ERROR: vector required!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="isMatrix"/></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>source</l><custom-block s="transpose table or list %l"><block var="source"/></custom-block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="n"/></block><l>1</l></list></block></list></block><script><block s="doSetVar"><l>h</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doSetVar"><l>j</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block var="j"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="h"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="i"/><block var="j"/></list></block><block var="source"/></block></list></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block><block s="doAddToList"><block s="reportQuotient"><block var="h"/><block var="n"/></block><block var="result"/></block><block s="doChangeVar"><l>i</l><block var="n"/></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doSetVar"><l>result</l><custom-block s="empty table"></custom-block></block><block s="doSetVar"><l>columnNr</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="columnNr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block><script><custom-block s="add %s %l to %s"><l>column</l><custom-block s="%s compressed with %br factor %n by averaging"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="columnNr"/><block var="source"/><l><bool>true</bool></l></custom-block><block var="n"/></custom-block><block var="result"/></custom-block><block s="doChangeVar"><l>columnNr</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;typeOfPooling&apos; pooling of %&apos;data&apos; $nl with stride %&apos;stride&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="141" collapsed="false">Pooling operation with matrices, images and vectors.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">max<options>max&#xD;mean</options></input><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>typeOfData</l><l>width</l><l>height</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block><block s="doSetVar"><l>typeOfData</l><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><script><block s="doSetVar"><l>typeOfData</l><l>vector</l></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>typeOfData</l><l>matrix</l></block></script><script><block s="doReport"><l>ERROR: only defined for matrices, images, and vectors!</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="stride"/><l>1</l></list></block><script><block s="doReport"><l>ERROR: stride is too small!</l></block></script></block><block s="doSetVar"><l>typeOfPooling</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfPooling"/><l> </l></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>matrix</l></list></block><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>vector</l></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>FITS</l></list></block><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>RGB</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: only defined for images, tables, and lists!</l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>vector</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block><block s="doSetVar"><l>height</l><l>1</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>matrix</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>FITS</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><l>1</l></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>RGB</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_pooling(data,width,height,typeOfPooling,stride,typeOfData)</l><list><block var="source"/><block var="width"/><block var="height"/><block var="typeOfPooling"/><block var="stride"/><block var="typeOfData"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="sort %&apos;data&apos; with predicate %&apos;fn&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.5" collapsed="false">Reports a sorted list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportIsA"><block var="fn"/><l><option>predicate</option></l></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script><script><block s="doReport"><l>ERROR: list and predicate required!</l></block></script></block></script></block-definition><block-definition s="%&apos;table&apos; sorted by column %&apos;name&apos; $nl ascending %&apos;ascending&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="101.66666666666669" collapsed="false">Sorts a list or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%b">true</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>headline</l><l>n</l><l>isTable</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doSetVar"><l>isTable</l><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block var="isTable"/><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></list></block></block><script><block s="doReport"><l>ERROR: only tables and lists supported!</l></block></script></block><block s="doIfElse"><block var="isTable"/><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block></script><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doSetVar"><l>headline</l><block s="reportListItem"><l>1</l><block var="result"/></block></block><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="result"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block><block s="doIfElse"><block var="ascending"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="column"/><l/></block><block s="reportListItem"><block var="column"/><l/></block></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="column"/><l/></block><block s="reportListItem"><block var="column"/><l/></block></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script></block></script><script><block s="doIfElse"><block var="ascending"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><custom-block s="add %s %l to %s"><l>column-headers</l><block var="headline"/><block var="result"/></custom-block></script><script><block s="doInsertInList"><block var="headline"/><l>1</l><block var="result"/></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of column %&apos;kName&apos; of %&apos;table&apos; $nl grouped by column %&apos;name&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="201.66666666666666" collapsed="false">Determines a group of properties of a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">mean<options>min&#xD;max&#xD;number&#xD;sum&#xD;mean</options></input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>copy</l><l>source</l><l>groupcolumn</l><l>valuecolumn</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doSetVar"><l>groupcolumn</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="groupcolumn"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="groupcolumn"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="groupcolumn"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script></block><block s="doSetVar"><l>valuecolumn</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="kName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="valuecolumn"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="valuecolumn"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="valuecolumn"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doSetVar"><l>copy</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="source"/><block var="column"/><l><bool>true</bool></l><block var="withHeadline"/></custom-block></autolambda><list><l>column</l></list></block><list><block var="groupcolumn"/></list></block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doDeleteFromList"><l>1</l><block var="copy"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="copy"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_groupeddata(aTable,compaircolumn,operation,groupcolumn)</l><list><block var="copy"/><block var="valuecolumn"/><block var="choice"/><block var="groupcolumn"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of column %&apos;xName&apos; and %&apos;yName&apos; $nl of %&apos;table&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="199.42307692307688" collapsed="false">Calculates the ranges, the covariance or the correlation between two columns of a table.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">ranges<options>ranges&#xD;covariance&#xD;correlation</options></input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>copy</l><l>n</l><l>m</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script></block><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script></block><block s="doSetVar"><l>m</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="m"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script></block><block s="doSetVar"><l>copy</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doDeleteFromList"><l>1</l><block var="copy"/></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="copy"/></block><l>1</l></list></block><script><block s="doReport"><l>ERROR: bad data!</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_propertiesoftable(selection,table,x,y)</l><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block><block var="copy"/><block var="n"/><block var="m"/></list></block></block></script></block></script></block-definition><block-definition s="regression line parameters of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="220.6666666666667" collapsed="false">Calculates the parameters of a regression line.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>meanX</l><l>meanY</l><l>denominator</l><l>numerator</l><l>m</l><l>b</l><l>source</l><l>sumX</l><l>sumY</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: wrong data format!</l></block></script></block></script></block><block s="doSetVar"><l>sumX</l><l>0</l></block><block s="doSetVar"><l>sumY</l><l>0</l></block><block s="doSetVar"><l>numerator</l><l>0</l></block><block s="doSetVar"><l>denominator</l><l>0</l></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doChangeVar"><l>sumX</l><block s="reportListItem"><l>1</l><l/></block></block><block s="doChangeVar"><l>sumY</l><block s="reportListItem"><l>2</l><l/></block></block><block s="doReport"><l></l></block></script><list></list></block><block var="source"/></block></block><block s="doSetVar"><l>meanX</l><block s="reportQuotient"><block var="sumX"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></block><block s="doSetVar"><l>meanY</l><block s="reportQuotient"><block var="sumY"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doChangeVar"><l>numerator</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><l/></block><block var="meanY"/></block></list></block></block><block s="doChangeVar"><l>denominator</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block></list></block></block><block s="doReport"><l></l></block></script><list></list></block><block var="source"/></block></block><block s="doSetVar"><l>m</l><block s="reportQuotient"><block var="numerator"/><block var="denominator"/></block></block><block s="doSetVar"><l>b</l><block s="reportDifference"><block var="meanY"/><block s="reportVariadicProduct"><list><block var="m"/><block var="meanX"/></list></block></block></block><block s="doReport"><block s="reportNewList"><list><block var="m"/><block var="b"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; next neighbors of %&apos;point&apos; $nl in %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="229.00000000000003" collapsed="false">Determines the next k neighbours of a point in data. The class of the point has to be in column 3.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%l"></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>neighbors</l><l>points</l><l>result</l><l>dummy</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>class</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>points</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>points</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: table requested!</l></block></script><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="point"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: vector requested!</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="k"/><l>2</l></list></block><script><block s="doReport"><l>ERROR: number of neighbors too small!</l></block></script><script><block s="doSetVar"><l>neighbors</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block var="point"/></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block var="point"/></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block var="point2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block var="point2"/></block></block><block s="doSetVar"><l>class</l><block s="reportListItem"><l><option>last</option></l><block var="point2"/></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x2"/><block var="y2"/><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block><block var="class"/></list></block><block var="neighbors"/></block><block s="doReport"><l></l></block></script><list><l>point2</l></list></block><block var="points"/></block></block><block s="doSetVar"><l>neighbors</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="neighbors"/><l>3</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><block s="doReport"><custom-block s="subsection of %s in %s from %br %s %s to %s %s"><l>table-data</l><block var="neighbors"/><l>1</l><l>1</l><l>4</l><block var="k"/></custom-block></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="convolution kernel %&apos;kernel&apos; applied $nl to %&apos;typeOfData&apos; %&apos;data&apos; width %&apos;width&apos; height %&apos;height&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.33333333333348" collapsed="false">Applies a convolution to a table with FITS, RGB, or table values.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">table<options>image&#xD;table</options></input><input type="%s">SciSnap!Data</input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>w</l><l>h</l><l>t</l><l>m</l><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>source</l><block var="data"/></block></script><script><block s="doReport"><l>ERROR: wrong data type!</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><custom-block s="is %s a %txt"><block var="kernel"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data format!</l></block></script><script><block s="doSetVar"><l>h</l><block s="reportListAttribute"><l><option>length</option></l><block var="kernel"/></block></block><block s="doSetVar"><l>w</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="kernel"/></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block var="w"/><block var="h"/></list></block></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></list></block><block var="w"/></list></block><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="h"/><l>2</l></block></block></list></block><block var="h"/></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: wrong kernel!</l></block></script><script><block s="doSetVar"><l>typeOfData</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfData"/><l> </l></block></block></block><block s="doSetVar"><l>m</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>image</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>number</option></l></block><script><block s="doSetVar"><l>t</l><l>FITS</l></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>t</l><l>RGB</l></block></script><script><block s="doReport"><l>ERROR wrong data format!</l></block></script></block></script></block></script><script><block s="doSetVar"><l>t</l><l>table</l></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_convolution(kernel,data,width,height,typeOfData,mIndex,kWidth)</l><list><block var="kernel"/><block var="source"/><block var="width"/><block var="height"/><block var="t"/><block var="m"/><block var="w"/></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; $nl with Euclidean metrics" type="reporter" category="3. Data tools"><comment x="0" y="0" w="167.33333333333348" collapsed="false">Custering of n-dimensional data with k-means-method. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_k-means-clustering(k,data)</l><list><block var="k"/><block var="source"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; with metric %&apos;metric&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="185.33333333333348" collapsed="false">Custering of n-dimensional data with k-means-method. A metric has to be delivered as a ringified term. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input><input type="%repRing">ringified operator</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>minmax</l><l>dimension</l><l>centers</l><l>center</l><l>anyChanges</l><l>minDistance</l><l>distance</l><l>nearestCenter</l><l>dummy</l><l>dummy2</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="metric"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified operator for metric required!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>0</l></list></block></list></block></block></script><list></list></block><block var="source"/><comment w="161.66666666666669" collapsed="false">add cluster number 0 to data</comment></block></block><block s="doSetVar"><l>dimension</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>minmax</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportNewList"><list><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block></list></block><block var="minmax"/></block></script><comment w="175" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>centers</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>center</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportRandom"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block></block><block var="center"/></block></script><comment w="133.33333333333334" collapsed="false">choose k random centers</comment></block><block s="doAddToList"><block var="i"/><block var="center"/></block><block s="doAddToList"><block var="center"/><block var="centers"/></block></script><comment w="189.55696614583346" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doUntil"><block s="reportNot"><block var="anyChanges"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>2000</l></list></block><script><block s="doReport"><block var="result"/></block></script></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>dummy</l><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doSetVar"><l>minDistance</l><l>100000000</l></block><block s="doSetVar"><l>nearestCenter</l><l>0</l></block><block s="doSetVar"><l>dummy2</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>distance</l><block s="evaluate"><block var="metric"/><list><block var="point"/><block var="center"/></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="distance"/><block var="minDistance"/></list></block><script><block s="doSetVar"><l>nearestCenter</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="center"/></block></block><block s="doSetVar"><l>minDistance</l><block var="distance"/></block></script></block><block s="doReport"><l></l></block></script><list><l>center</l></list></block><block var="centers"/></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="nearestCenter"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/></block></list></block><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/><block var="nearestCenter"/></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list><l>point</l></list></block><block var="result"/></block><comment w="90" collapsed="false">build clusters</comment></block><block s="doIf"><block var="anyChanges"/><script><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>dummy</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="result"/><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><l>equal-to</l><block var="i"/></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dummy"/></block><l>0</l></list></block><script><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doReplaceInList"><block var="m"/><block s="reportListItem"><block var="i"/><block var="centers"/></block><custom-block s="%s of vector %l"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="m"/><block var="dummy"/><l><bool>true</bool></l></custom-block></custom-block></block></script></block></script></block></script><comment w="90" collapsed="false">adjust centers</comment></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="Levenshtein-distance of %&apos;s1&apos; and %&apos;s2&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="90" collapsed="false">Metric for Strtings.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Saturday</input><input type="%txt">Sunday</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_LevenshteinDistance(s1,s2)</l><list><block var="s1"/><block var="s2"/></list></block></block></script></block-definition><block-definition s="DBSCAN clustering for %&apos;data&apos; radius %&apos;r&apos; minMembers %&apos;minMembers&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="177.66666666666674" collapsed="false">labels of data: -1 not visited, 0 visited, -2 noise, &gt;0 clusternr</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">50</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_DBSCAN(data,r,minMembers)</l><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>-1</l></list></block></list></block></autolambda><list></list></block><block var="source"/></block><block var="r"/><block var="minMembers"/></list></block></block></script></block></script></block-definition><block-definition s="decision tree ID3 for %&apos;data&apos; $nl with labeled data in last column" type="reporter" category="3. Data tools"><comment x="0" y="0" w="306" collapsed="false">reports a ID3 decision tree constructed on the base of labeled data</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>countedValues</l><l>information gains</l><l>newData</l><l>links</l><l>compareColumn</l><l>values</l><l>nTotal</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><comment w="90" collapsed="false">wrong data</comment></block><script><block s="doReport"><l>ERROR: table required!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list><comment w="90" collapsed="false">empty dataset</comment></block><script><block s="doReport"><l>empty dataset</l></block></script></block><block s="doSetVar"><l>countedValues</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="countedValues"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>leaf</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="countedValues"/></block></block></list></block></block></script><comment w="122.00000000000001" collapsed="false">only one result --&gt; ready</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>leaf (unambiguous)</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="countedValues"/></block></block><block var="countedValues"/></block></block></list></block></block></script><comment w="122.00000000000001" collapsed="false">only one attribut left --&gt; ready</comment></block><block s="doSetVar"><l>information gains</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></block><script><block s="doSetVar"><l>nTotal</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doSetVar"><l>result</l><custom-block s="entropy of %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>values</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doForEach"><l>item</l><block var="values"/><script><block s="doSetVar"><l>result</l><block s="reportDifference"><block var="result"/><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block var="nTotal"/></block><custom-block s="entropy of %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="data"/><block var="i"/><l>equal-to</l><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block><l><bool>true</bool></l></custom-block></custom-block></list></block></block></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="i"/><block var="result"/></list></block><block var="information gains"/></block></script><comment w="209" collapsed="false">calculate information gains for all attributes</comment></block><block s="doSetVar"><l>information gains</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="information gains"/><l>2</l><l><bool>false</bool></l><l><bool>true</bool></l></custom-block></block><block s="doSetVar"><l>compareColumn</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="information gains"/></block></block><comment w="165" collapsed="false">take attribute with max information gain as compare criterion</comment></block><block s="doSetVar"><l>countedValues</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="compareColumn"/><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>links</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="countedValues"/><script><block s="doSetVar"><l>newData</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="data"/><block var="compareColumn"/><l>equal-to</l><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block></block><custom-block s="delete %s %s of %s"><l>column</l><block var="compareColumn"/><block var="newData"/></custom-block><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="item"/></block><custom-block s="decision tree ID3 for %l %br with labeled data in last column"><block var="newData"/></custom-block></list></block><block var="links"/></block></script><comment w="257" collapsed="false">recursive construction of ID3 trees for all other attributes</comment></block><block s="doReport"><block s="reportNewList"><list><l>node</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="information gains"/></block></block><block var="links"/></list></block></block></script></block></script></block-definition><block-definition s="SQL-Example 1: simple query" type="command" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure SQL"></custom-block><block s="doShowVar"><l>SQLData</l></block><custom-block s="connect to database server"></custom-block><custom-block s="choose database no. %n"><l>2</l></custom-block><custom-block s="import SQL-data from %l to SQLData"><custom-block s="exec SQL-command %txt"><custom-block s="SELECT %s %mult%txt FROM %mult%txt WHERE %b"><l>*</l><list></list><list><l>schueler</l></list><l/></custom-block></custom-block></custom-block></script></block-definition><block-definition s="empty" type="command" category="0. My own blocks"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="copy current costume of %&apos;sprite&apos; to sprite costumes" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportGet"><l><option>costume</option></l></block><block s="reportGet"><l><option>costumes</option></l></block></block></script><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: no costume there!</l></custom-block></script></block></script></block-definition><block-definition s="vertexnumber of graph on %&apos;sprite&apos; at mouse position" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="188" collapsed="false">Returns the vertexnumber of a vertex near mouse position, if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,cAttributes,vAttributes,x,y)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><block s="reportDifference"><block s="reportMouseX"></block><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="reportDifference"><block s="reportMouseY"></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block></list></block></block></script></block></script></block-definition><block-definition s="classify %&apos;data&apos; with ID3-tree %&apos;tree&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="269" collapsed="false">returns the class of a dataset using an ID3-decision-tree</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>colNumber</l><l>compareData</l><l>ready</l><l>i</l><l>item</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>compareData</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result: </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf (unambiguous)</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result (unambiguous): </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>node</l></list></block><script><block s="doSetVar"><l>colNumber</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="tree"/></block></block></list></block><block var="ready"/></list></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="tree"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="colNumber"/><block var="compareData"/></block><block s="reportListItem"><l>1</l><block var="item"/></block></list></block><script><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doDeleteFromList"><block var="colNumber"/><block var="compareData"/></block><block s="doReport"><custom-block s="classify %l with ID3-tree %l"><block var="compareData"/><block s="reportListItem"><l>2</l><block var="item"/></block></custom-block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doReport"><l>ERROR: no sensefull data to compare found!</l></block></script></block></script></block-definition><block-definition s="vector %&apos;items&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="172.5" collapsed="false">Reports a vector, built by the items.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="items"/><l>vector</l></custom-block><script><block s="doReport"><block var="items"/></block></script><script><block s="doReport"><l>ERROR: only numbers are allowed in vectors!</l></block></script></block></script></block-definition><block-definition s="vector dim %&apos;n&apos; with random $nl components range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="291.42857142857144" collapsed="false">Returns a new vector of dimension n with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportRandom"><block var="min"/><block var="max"/></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="matrix of vectors %&apos;vectors&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="220.8333333333337" collapsed="false">Returns a matrix formed from the input vectors.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>length</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="vectors"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: more vectors necessary!</l></block></script></block><block s="doSetVar"><l>length</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="vectors"/></block></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="vectors"/><script><block s="doIfElse"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="item"/><l>vector</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="item"/></block><block var="length"/></list></block></list></block><script><block s="doAddToList"><block var="item"/><block var="result"/></block></script><script><block s="doReport"><l>ERROR: different types of vectors!</l></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; matrix with random $nl components range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="245.00000000000009" collapsed="false">Returns a new nxm-matrix with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">2</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><custom-block s="any of %mult%boolUE"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block></list></custom-block><script><block s="doReport"><block var="result"/></block></script></block><block s="doFor"><l>i</l><l>1</l><block var="m"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportRandom"><block var="min"/><block var="max"/></block><block var="row"/></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="transpose %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="213.7279843444227" collapsed="false">Creates the transpose of a vector or a matrix.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="value"/></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block var="value"/></list></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></script><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of vector %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="211.42857142857147" collapsed="false">Determines a property of a vector.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">min<options>min&#xD;max&#xD;minpos&#xD;maxpos&#xD;number&#xD;sum&#xD;mean&#xD;median&#xD;variance&#xD;standard-deviation&#xD;softmax</options></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>help</l><l>n</l><l>sum</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: only vectors supported!</l></block></script></block><block s="doSetVar"><l>data</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>data</l><custom-block s="transpose %l"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><l></l></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doChangeVar"><l>sum</l><block s="reportMonadic"><l><option>e^</option></l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><l></l></block><block var="sum"/></block></autolambda><list></list></block><block var="data"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>result</l><custom-block s="sort %l with predicate %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><block s="reportRound"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block></block><block var="result"/></block></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><block var="result"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><block var="result"/></block></list></block><l>2</l></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>min</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>minpos</l></list></block><script><block s="doReport"><block s="reportListIndex"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="data"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>maxpos</l></list></block><script><block s="doReport"><block s="reportListIndex"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="data"/></block></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_variance(aList,mean)</l><list><block var="data"/><block s="reportQuotient"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><script><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="result"/><l>NaN</l></list></block><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block var="result"/></block></block></script><script><block s="doReport"><l>NaN</l></block></script></block></script></block><block s="doReport"><l>ERROR: unknown option!</l></block></script></block></script></block-definition><block-definition s="linear operation %&apos;a&apos; %&apos;op&apos; %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="261.90476190476187" collapsed="false">Linear operations with scalars, vectors and matrices.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">*<options>+&#xD;-&#xD;*&#xD;X</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>rowsA</l><l>rowsB</l><l>colsA</l><l>colsB</l><l>transposed</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>op</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="op"/><l> </l></block></block></block><block s="doIf"><block s="reportIsA"><block var="a"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l><comment w="119.4520547945206" collapsed="false">number number operation</comment></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script></block><block s="doReport"><l>ERROR: illegal operation between numbers!</l></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="b"/></block><l><option>list</option></l></block><script><block s="doReport"><custom-block s="transpose %l"><block s="reportVariadicProduct"><list><block var="a"/><custom-block s="transpose %l"><block var="b"/></custom-block></list></block></custom-block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: illegal operation between number and vector!</l></block></script></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><block s="doReport"><l>ERROR: illegal operation between number and matrix!</l></block></script></block></script></block><block s="doReport"><l>ERROR: illegal operation with numbers!</l></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>vector</l></custom-block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l></block><script><block s="doReport"><custom-block s="linear operation %s %s %s"><block var="b"/><block var="op"/><block var="a"/></custom-block><comment w="125.59523809523814" collapsed="false">vector number operation.</comment></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="a"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>a</l><custom-block s="transpose %l"><block var="a"/></custom-block></block><block s="doSetVar"><l>transposed</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doSetVar"><l>transposed</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block><block s="doIf"><block var="transposed"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %l"><block var="result"/></custom-block></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportDifference"><block var="a"/><block var="b"/></block></block><block s="doIf"><block var="transposed"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %l"><block var="result"/></custom-block></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>X</l></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block><l>3</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="a"/></block><block s="reportListItem"><l>3</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="b"/></block></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="a"/></block><block s="reportListItem"><l>1</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>3</l><block var="b"/></block></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="a"/></block><block s="reportListItem"><l>1</l><block var="b"/></block></list></block></block></list></block></block><block s="doIf"><block var="transposed"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %l"><block var="result"/></custom-block></block></script></block><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><l>ERROR: wrong dimension of vectors!</l></block></script></block></script><script><block s="doReport"><l>ERROR: wrong dimension of vectors!</l></block></script></block></script><script><block s="doReport"><l>ERROR: different length of vectors!</l></block></script></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="a"/></block><l><option>number</option></l></block><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></list></block><script><block s="doReport"><custom-block s="linear operation %s %s %s"><custom-block s="transpose %l"><block var="b"/></custom-block><l>*</l><custom-block s="transpose %l"><block var="a"/></custom-block></custom-block></block></script><script><block s="doReport"><l>ERROR: illegal operation between vector and matrix!</l></block></script></block></script><comment w="119.4520547945206" collapsed="false">vector matrix operation</comment></block><block s="doReport"><l>ERROR: illegal operation with vectors!</l></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>matrix</l></custom-block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l><comment w="119.4520547945206" collapsed="false">matrix number operation</comment></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><block s="doReport"><l>ERROR: illegal operation between number and matrix!</l></block></script></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="a"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="a"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>row</l><block var="a"/><script><block s="doAddToList"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="row"/><custom-block s="transpose %l"><block var="b"/></custom-block></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="result"/></block></script></block><block s="doReport"><custom-block s="transpose %l"><block var="result"/></custom-block></block></script><script><block s="doReport"><l>ERROR: illegal operation between matrix and vector!</l></block></script></block></script><comment w="119.4520547945206" collapsed="false">matrix vector operation</comment></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l><comment w="119.4520547945206" collapsed="false">matrix matrix operation</comment></custom-block><script><block s="doSetVar"><l>rowsA</l><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block></block><block s="doSetVar"><l>rowsB</l><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></block><block s="doSetVar"><l>colsA</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="a"/></block></block></block><block s="doSetVar"><l>colsB</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="b"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doIfElse"><custom-block s="all of %mult%boolUE"><list><block s="reportVariadicEquals"><list><block var="rowsA"/><block var="rowsB"/></list></block><block s="reportVariadicEquals"><list><block var="colsA"/><block var="colsB"/></list></block></list></custom-block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script><script><block s="doReport"><l>ERROR: different dimensions!</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doIfElse"><custom-block s="all of %mult%boolUE"><list><block s="reportVariadicEquals"><list><block var="rowsA"/><block var="rowsB"/></list></block><block s="reportVariadicEquals"><list><block var="colsA"/><block var="colsB"/></list></block></list></custom-block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script><script><block s="doReport"><l>ERROR: different dimensions!</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doIf"><custom-block s="any of %mult%boolUE"><list><block s="reportVariadicEquals"><list><block var="rowsA"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="rowsB"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="colsA"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="colsB"/><l>0</l></list></block></list></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="colsA"/><block var="rowsB"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>b</l><custom-block s="transpose %l"><block var="b"/></custom-block></block><block s="doForEach"><l>rowA</l><block var="a"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>columnB</l><block var="b"/><script><block s="doAddToList"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="rowA"/><block var="columnB"/></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="row"/></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><l>ERROR: wrong dimensions!</l></block></script></block><block s="doReport"><l>ERROR: wrong operation!</l></block></script></block></script><script><block s="doReport"><l>ERROR: illegal operation between matrices</l></block></script></block></script></block><block s="doReport"><l>ERROR: illegal operation</l></block></script></block></script></block-definition><block-definition s="apply %&apos;matrix&apos; to points %&apos;points&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="179.47619047619048" collapsed="false">Applies a mapping matrix to an object that is given as a matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>i</l><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>matrix</l></custom-block></block><script><block s="doSetVar"><l>result</l><l>matrix of points required!</l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block><l>1</l></list></block></block><script><block s="doSetVar"><l>result</l><l>too few points!</l></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="matrix"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="matrix"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="points"/></block></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block></list></block><script><block s="doAddToList"><custom-block s="transpose %l"><custom-block s="linear operation %s %s %s"><block var="matrix"/><l>*</l><custom-block s="transpose %l"><block s="reportListItem"><block var="i"/><block var="points"/></block></custom-block></custom-block></custom-block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>result</l><l>wrong dimension of mapping matrix!</l></block></script></block></script><script><block s="doSetVar"><l>result</l><l>mapping matrix required!</l></block></script></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="solve %&apos;A&apos; *x= %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="219.04761904761926" collapsed="false">Soves a linear system of max. 50 equations.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>nonzero</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data types!</l></block></script><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: matrix is empty!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="A"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></block><script><block s="doReport"><l>ERROR: wrong dimension of vector!</l></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>b</l><custom-block s="transpose %l"><block var="b"/></custom-block></block></script></block><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="191.5707465277778" collapsed="false">creates matrix with attached column b</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><block s="doReport"><l>ERROR: matrix too large!</l></block></script></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="b"/></block><block s="reportListItem"><block var="i"/><block var="matrix"/></block></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><block s="doReport"><l>ERROR: no solution found!</l></block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script></block></script></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonalize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="apply Gauss method to matrix %&apos;A&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="228.1428571428574" collapsed="false">Reports a list of matrix A in triangle form, the rank of A, column change and column positions.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>Ab</l><l>rank</l><l>row</l><l>found</l><l>help</l><l>i</l><l>c</l><l>columchange</l><l>column positions</l><l>j</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><script><block s="doReport"><l>ERROR: this is not a matrix!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: matrix is empty!</l></block></script></block><block s="doSetVar"><l>Ab</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="186.6028794642858" collapsed="false">a copy of A is used to let A unchanged</comment></block><block s="doSetVar"><l>rank</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></block><block s="doSetVar"><l>row</l><l>1</l></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>column positions</l><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="row"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block s="reportVariadicLessThan"><list><block var="rank"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list><comment w="155" collapsed="false">find a non zero pivot element</comment></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block var="help"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search downwards</comment></block><block s="doIf"><block s="reportNot"><block var="found"/></block><script><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block><l>1</l></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doFor"><l>column</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block var="help"/></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="row"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="row"/><block var="column positions"/><block s="reportListItem"><block var="i"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="i"/><block var="column positions"/><block var="help"/></block></script></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search to the right</comment></block></script></block></script></block><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="c"/><l>0</l></list></block></block><script><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block s="reportQuotient"><block s="reportListItem"><block var="row"/><block var="Ab"/></block><block var="c"/></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>rank</l><block s="reportDifference"><block var="row"/><l>1</l></block></block></script></block><block s="doChangeVar"><l>row</l><l>1</l></block></script></block><block s="doSetVar"><l>row</l><block var="rank"/></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="row"/><l>1</l></list></block><script><block s="doSetVar"><l>i</l><block s="reportDifference"><block var="row"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="i"/><l>1</l></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>-1</l></block></script></block><block s="doChangeVar"><l>row</l><l>-1</l></block></script><comment w="137.85714285714286" collapsed="false">transform to diagonal form E</comment></block><block s="doReport"><block s="reportNewList"><list><block var="Ab"/><block var="rank"/><block var="columchange"/><block var="column positions"/></list></block></block></script></block></script></block-definition><block-definition s="polynomial interpolation for points %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="386.0812133072408" collapsed="false">Calculates the coefficients of the interpolation polynomial for a 2xn-matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>row</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: not enough points!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><block s="doReport"><l>ERROR: 2-dimensional points required!</l></block></script></block><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block><comment w="191.5707465277778" collapsed="false">create matrix of powers of x and y-value</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><block s="doReport"><l>ERROR: matrix too large!</l></block></script></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>j</l><block s="reportDifference"><block var="n"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="j"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><l>1</l></block><block s="doSetVar"><l>k</l><block var="j"/></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicProduct"><list><block var="x"/><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></list></block></block><block s="doChangeVar"><l>k</l><l>-1</l></block></script></block><block s="doAddToList"><block var="x"/><block var="row"/></block><block s="doChangeVar"><l>j</l><l>-1</l></block></script></block><block s="doAddToList"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><block s="doReport"><l>ERROR: no solution found!</l></block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script></block></script></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonaize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="%&apos;p&apos; ( %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="244.41780821917828" collapsed="false">Calculates the value of a polynomial for input x.</comment><header></header><code></code><translations></translations><inputs><input type="%s">polynomial as list of coefficients</input><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>grade</l><l>result</l><l>i</l></list></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="p"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: no polynomial found!</l></block></script><script><block s="doSetVar"><l>grade</l><block s="reportListAttribute"><l><option>length</option></l><block var="p"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="grade"/><l>0</l></list></block><script><block s="doReport"><l>0</l></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="grade"/><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="p"/></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="p"/></block><block var="x"/></list></block><block s="reportListItem"><l>2</l><block var="p"/></block></list></block></block><block s="doSetVar"><l>i</l><l>3</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="grade"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="result"/><block var="x"/></list></block><block s="reportListItem"><block var="i"/><block var="p"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="affine transformation of %&apos;data&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos; for MathPad" type="reporter" category="2. Math tools"><comment x="0" y="0" w="225.00000000000003" collapsed="false">Applies an affine transformation to a list of points.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%l">SciSnap!Data</input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>ok</l><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: at least one point required!</l></block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: dimension should be 2!</l></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of points as data required!</l></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 original points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of original points  required!</l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 target points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of target points  required!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><block s="doReport"><l>ERROR: dimensions should be 2!</l></block></script></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a11"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a12"/></list></block></list></block><block var="a13"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a21"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a22"/></list></block></list></block><block var="a23"/></list></block></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><l>ERROR: denominator is zero</l></block></script></block></script></block-definition><block-definition s="complex %&apos;re&apos; + %&apos;im&apos; * i" type="reporter" category="2. Math tools"><comment x="0" y="0" w="224.2857142857143" collapsed="false">Reports a complex number in Cartesian style.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block var="re"/><block var="im"/></list></block></block></script></block-definition><block-definition s="complex %&apos;r&apos; * e^i %&apos;phi&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="196.42857142857127" collapsed="false">Reports a complex number in polar style.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">30</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block var="r"/><block var="phi"/></list></block></block></script></block-definition><block-definition s="complex %&apos;z&apos; polar style" type="reporter" category="2. Math tools"><comment x="0" y="0" w="200.71428571428572" collapsed="false">Reports a complex number in polar style.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;z&apos; Cartesian style" type="reporter" category="2. Math tools"><comment x="0" y="0" w="224.2857142857143" collapsed="false">Reports a complex number in Cartesian style.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;choice&apos; of %&apos;z&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="191.42857142857127" collapsed="false">Reports properties of complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">real-part<options>absolute-value&#xD;real-part&#xD;imaginary-part&#xD;phase&#xD;conjugate</options></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>absolute-value</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>real-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>imaginary-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>phase</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>conjugate</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script></block><block s="doReport"><l>ERROR: unknown operator!</l></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;z1&apos; %&apos;op&apos; %&apos;z2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="240.00000000000003" collapsed="false">Reports arithmetic results of two complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">+<options>+&#xD;-&#xD;*&#xD;/</options></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>denominator</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number</l></custom-block></block><script><block s="doReport"><l>ERROR: first argument is not a complex number</l></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number</l></custom-block></block><script><block s="doReport"><l>ERROR: second argument is not a complex number</l></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number-polar-style</l></custom-block><script><block s="doSetVar"><l>z1</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block></list></block></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number-polar-style</l></custom-block><script><block s="doSetVar"><l>z2</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block></list></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>/</l></list></block><script><block s="doSetVar"><l>denominator</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z2"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="denominator"/><l>0</l></list></block><script><block s="doReport"><l>ERROR: denominator is zero!</l></block></script></block><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block><block var="denominator"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block var="denominator"/></block></list></block></block></script></block></script></block></script></block-definition><block-definition s="configure sprite %&apos;sprite&apos; as a MathPad $nl width: %&apos;width&apos; height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><custom-block s="new costume %n %n %n %n %n"><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>MathPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dimension</l><l>3</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>maxValue</l><l>10</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>startPoint</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block><custom-block s="add centered axes to a MathPad on %txt"><block var="target"/></custom-block></script></block></script><scripts><comment x="474.16666666666674" y="108.49999999999999" w="220.16039530436274" collapsed="false">costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage&#xD;&#xD;other attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a MathPad?" type="predicate" category="2. Math tools"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="MathPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="212.5" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dimension&#xD;maxValue&#xD;startPoint</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as MathPad!</l></block></script></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set MathPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="272.5" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dimension&#xD;maxValue&#xD;startPoint</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></script></block></script></block></script></block-definition><block-definition s="set MathPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="124.32706197102944" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><block var="target"/><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block-definition><block-definition s="set MathPad properties lineWidth: %&apos;lineWidth&apos; onlyPoints? %&apos;onlyPoints&apos; $nl dimension: %&apos;dimension&apos; maxValue: %&apos;maxValue&apos; startPoint: %&apos;x&apos; %&apos;y&apos; %&apos;z&apos; $nl on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="160.9937286376957" collapsed="false">a simple way to set some MathPad attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%b">false</input><input type="%n">3</input><input type="%n">10</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldDimension</l><l>oldMaxValue</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>oldDimension</l><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block></block><block s="doSetVar"><l>oldMaxValue</l><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block></block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="lineWidth"/><block var="onlyPoints"/></list></block></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>dimension</l><block var="target"/><block var="dimension"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><block var="maxValue"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>startPoint</l><block var="target"/><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="z"/></list></block></custom-block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block var="oldDimension"/><block var="dimension"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldMaxValue"/><block var="maxValue"/></list></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume %n %n %n %n %n"><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>4</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></custom-block></block></script><list></list></block><list></list></block><custom-block s="add centered axes to a MathPad on %txt"><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add centered axes to a MathPad on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="158.49372863769608" collapsed="false">Draws axes on a MathPad in 2 or 3 dimensions.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doApplyExtension"><l>SciS_mathpadaddaxes(cAttributes,type,maxValue,dimension,costume)</l><list><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></list></block></script></block-definition><block-definition s="plot %&apos;choice&apos; %&apos;data&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl on MathPad %&apos;sprite&apos; Change startpoint? %&apos;changeStartpoint&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="439.1666666666663" collapsed="false">Draws a vector, complex number or object of points from the start point stored in the properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">vector<options>vector&#xD;complex-number&#xD;line-to&#xD;object-of</options></input><input type="%l"></input><input type="%n">255</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>oldStartPoint</l><l>i</l><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: pointlist required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>data</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>object-of</l></list></block><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: at least two points necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong dimension!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_mathpadplot(costume,data,r,g,b,maxValue,linewidth,dimension,onlypoints,cAttributes,startpoint,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><block var="r"/><block var="g"/><block var="b"/><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>startPoint</l><block var="target"/></custom-block><block var="choice"/></list></block></list></block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberCartesianStyle</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: complex number required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block></list></block></block></script></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportListItem"><l>3</l><block var="data"/></block></list></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong dimension!ROR: complex number required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_mathpadplot(costume,data,r,g,b,maxValue,linewidth,dimension,onlypoints,cAttributes,startpoint,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><block var="r"/><block var="g"/><block var="b"/><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>startPoint</l><block var="target"/></custom-block><block var="choice"/></list></block></list></block><block s="doIf"><block var="changeStartpoint"/><script><custom-block s="set MathPadProperty %txt of %txt to %s"><l>startPoint</l><block var="target"/><block var="data"/></custom-block></script></block></script></block></script></block-definition><block-definition s="MathPad Example 1: vektor addition" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="linear operation %s %s %s"><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>+</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block></custom-block><l>255</l><l>0</l><l>0</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>0</l><l>0</l><l>255</l><l>thisSprite</l><l><bool>true</bool></l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block><l>0</l><l>255</l><l>0</l><l>thisSprite</l><l><bool>true</bool></l></custom-block></script></block-definition><block-definition s="MathPad Example 2: affine transformation" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>triangle</l><l>image</l><l>sourcePoints</l><l>targetPoints</l></list></block><block s="doSetVar"><l>triangle</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>8</l><l>1</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l></list></block></list></block></block><block s="doSetVar"><l>sourcePoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>0</l></list></block></list></block></block><block s="doSetVar"><l>targetPoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block s="reportNewList"><list><l>-1</l><l>0</l></list></block></list></block></block><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><l>thisSprite</l><l>500</l><l>400</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set MathPad properties lineWidth: %n onlyPoints? %b %br dimension: %n maxValue: %n startPoint: %n %n %n %br on %txt"><l>2</l><l><bool>false</bool></l><l>2</l><l>10</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>object-of</l><block var="triangle"/><l>255</l><l>0</l><l>0</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><block s="doSetVar"><l>image</l><custom-block s="affine transformation of %l %br by %l --&gt; %l for MathPad"><block var="triangle"/><block var="sourcePoints"/><block var="targetPoints"/></custom-block></block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>object-of</l><block var="image"/><l>0</l><l>0</l><l>255</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="root of %&apos;term&apos; $nl starting at %&apos;x0&apos; by Newton´s method" type="reporter" category="2. Math tools"><comment x="0" y="0" w="170.16666666666697" collapsed="false">Returns a root of an equation calculated with Newton&apos;s method.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>epsilon</l><l>i</l><l>f</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doSetVar"><l>epsilon</l><l>0.00001</l></block><block s="doSetVar"><l>f</l><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><l>1000</l></list></block><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="f"/></block><block s="reportVariadicProduct"><list><block var="epsilon"/><block var="epsilon"/></list></block></list></block></list></block><script><block s="doChangeVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="f"/><block var="epsilon"/></list></block><block s="reportDifference"><block var="f"/><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x0"/><block var="epsilon"/></list></block></list></block></block></block></block><block s="doSetVar"><l>f</l><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>1000</l></list></block><script><block s="doReport"><l>ERROR: no root found!</l></block></script><script><block s="doReport"><block var="x0"/></block></script></block></script></block></script></block-definition><block-definition s="sequence element %&apos;term&apos; ( %&apos;n&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="170" collapsed="false">Reports an element of a sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doReport"><block s="evaluate"><block var="term"/><list><block var="n"/></list></block></block></script></block-definition><block-definition s="first %&apos;n&apos; elements of sequence %&apos;term&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="236.66666666666666" collapsed="false">Returns a list of the n first elements of a sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%repRing">ringified term</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doAddToList"><block s="evaluate"><block var="term"/><list><block var="i"/></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="sequence of secant slopes for %&apos;term&apos; $nl at %&apos;x0&apos; calculated with sequence %&apos;sequence&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="315" collapsed="false">Returns a list of secant slopes calculated with the given sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">2</input><input type="%s">1/n</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doIf"><block s="reportIsA"><block var="sequence"/><l><option>text</option></l></block><script><block s="doSetVar"><l>sequence</l><custom-block s="first %n elements of sequence %repRing"><l>100</l><block s="reifyReporter"><autolambda><block s="reportQuotient"><l>1</l><l></l></block></autolambda><list></list></block></custom-block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="sequence"/></block></list></block><script><block s="doAddToList"><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><block var="i"/><block var="sequence"/></block></list></block></list></block><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="reportListItem"><block var="i"/><block var="sequence"/></block></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="derivative %&apos;term&apos; ´( %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="232.50000000000003" collapsed="false">Reports the secant slope &quot;nearby&quot; the given point.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>epsilon</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doSetVar"><l>epsilon</l><l>0.00001</l></block><block s="doReport"><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x"/><block var="epsilon"/></list></block></list></block><block s="evaluate"><block var="term"/><list><block var="x"/></list></block></block><block var="epsilon"/></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; $nl ∑ %&apos;term&apos; $nl %&apos;i&apos; = %&apos;i0&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="106.6666666666667" collapsed="false">Returns a finite sum.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%repRing">ringified term</input><input type="%upvar">1</input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>i</l><block var="i0"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="result"/><block s="evaluate"><block var="term"/><list><block var="i"/></list></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;b&apos; $nl ∫ %&apos;term&apos; dx $nl %&apos;a&apos; $nl calculated with %&apos;n&apos; intervals" type="reporter" category="2. Math tools"><comment x="0" y="0" w="160.5" collapsed="false">Returns the integral of a term calculated with n trapezoids.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%repRing">ringified term</input><input type="%n">1</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>dx</l><l>x1</l><l>x2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block><script><block s="doReport"><l>0</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>ERROR: impossible!</l></block></script></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>dx</l><block s="reportQuotient"><block s="reportDifference"><block var="b"/><block var="a"/></block><block var="n"/></block></block><block s="doSetVar"><l>x1</l><block var="a"/></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>x2</l><block s="reportVariadicSum"><list><block var="x1"/><block var="dx"/></list></block></block><block s="doChangeVar"><l>result</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="evaluate"><block var="term"/><list><block var="x2"/></list></block><block s="evaluate"><block var="term"/><list><block var="x1"/></list></block></list></block><l>2</l></block><block var="dx"/></list></block></block><block s="doSetVar"><l>x1</l><block var="x2"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;function&apos; of %&apos;data&apos; sampled with %&apos;f&apos; Hz" type="reporter" category="2. Math tools"><comment x="0" y="0" w="398" collapsed="false">Reports either &#xD;- data Fourier transformed to frequency-space&#xD;- &quot;raw&quot; FFT (Fast Forier Transformation)data formatted as SciSnap! complex numbers&#xD;- or iFFT real data</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">frequency_spectrum<options>frequency_spectrum&#xD;complex_FFTdata&#xD;iFFT_of_FFTdata</options></input><input type="%l"></input><input type="%n">100</input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><l>ERROR: no data available!</l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="function"/><l>iFFT_of_FFTdata</l></list></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: complex data required!</l></block></script></block></script><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: vector required!</l></block></script></block></script></block><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_FFTops(data,freq,choice)</l><list></list></block></autolambda><list></list></block><list><custom-block s="copy of %l"><block var="data"/></custom-block><block var="f"/><block var="function"/></list></block></block></script></block-definition><block-definition s="b(N= %&apos;N&apos; p= %&apos;p&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="400.4689973958334" collapsed="false">Reports coefficient of the binomial distribution b(N,p,k)=(N choose k)*p^k(1-p)^(N-k)</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">0.1</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="p"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="p"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="k"/></custom-block><block s="reportVariadicProduct"><list><block s="reportPower"><block var="p"/><block var="k"/></block><block s="reportPower"><block s="reportDifference"><l>1</l><block var="p"/></block><block s="reportDifference"><block var="N"/><block var="k"/></block></block></list></block></list></block></block></script></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="B x= %&apos;x&apos; (N= %&apos;N&apos; p= %&apos;p&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="189.1666666666667" collapsed="false">Reports binomial distribution B(N,p,k).</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input><input type="%n">0.1</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="p"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="p"/><l>1</l></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="k"/></custom-block><block s="reportVariadicProduct"><list><block s="reportPower"><block var="p"/><block var="k"/></block><block s="reportPower"><block s="reportDifference"><l>1</l><block var="p"/></block><block s="reportDifference"><block var="N"/><block var="k"/></block></block></list></block></list></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="h(N= %&apos;N&apos; M= %&apos;M&apos; n= %&apos;n&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="254.63566406249984" collapsed="false">Reports coefficient of the hypergeometric distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">3</input><input type="%n">5</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="M"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="M"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="n"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block var="N"/></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><block var="n"/></list></block></list></block></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="M"/><block var="k"/></custom-block><custom-block s="( %n ) %br ( %n )"><block s="reportDifference"><block var="N"/><block var="M"/></block><block s="reportDifference"><block var="n"/><block var="k"/></block></custom-block></list></block><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="n"/></custom-block></block></block></script></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="H x= %&apos;x&apos; (N= %&apos;N&apos; M= %&apos;M&apos; n= %&apos;n&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="170.83333333333334" collapsed="false">Reports hypergeometric distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input><input type="%n">3</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="M"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="M"/><block var="N"/></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="n"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block var="N"/></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="M"/><block var="k"/></custom-block><custom-block s="( %n ) %br ( %n )"><block s="reportDifference"><block var="N"/><block var="M"/></block><block s="reportDifference"><block var="n"/><block var="k"/></block></custom-block></list></block><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="n"/></custom-block></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="p(θ= %&apos;theta&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="212.96899739583324" collapsed="false">Reports coefficient of the Poisson distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">0.05</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="theta"/></list></block><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportPower"><block var="theta"/><block var="k"/></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="theta"/></block></block></list></block><custom-block s="%n !"><block var="k"/></custom-block></block></block></script></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="P x= %&apos;x&apos; p(θ= %&apos;theta&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Reports Poisson distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">0.05</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="theta"/></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportPower"><block var="theta"/><block var="k"/></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="theta"/></block></block></list></block><custom-block s="%n !"><block var="k"/></custom-block></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="pareto (xmin= %&apos;xmin&apos; k= %&apos;k&apos; x= %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="205.63566406250004" collapsed="false">Reports coefficient of the Pareto distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">3</input><input type="%n">2</input></inputs><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="x"/><block var="xmin"/></list></block><script><block s="doReport"><l>0</l></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="k"/><block s="reportPower"><block var="xmin"/><block var="k"/></block></list></block><block s="reportPower"><block var="x"/><block s="reportVariadicSum"><list><block var="k"/><l>1</l></list></block></block></block></block></script></block></script></block-definition><block-definition s="n (x= %&apos;x&apos; μ= %&apos;mue&apos; σ= %&apos;sigma&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="214.16666666666666" collapsed="false">Reports coefficient of the normal distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">1</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><block s="reportVariadicProduct"><list><l>-0.5</l><block s="reportPower"><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="mue"/></block><block var="sigma"/></block><l>2</l></block></list></block></block><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicProduct"><list><l>2</l><custom-block s="π"></custom-block></list></block></block><block var="sigma"/></list></block></block></block></script></block-definition><block-definition s="𝜙" type="reporter" category="2. Math tools"><comment x="0" y="0" w="90" collapsed="false">The empty set.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="set of { %mult%s }"><list></list></custom-block></block></script></block-definition><block-definition s="|R" type="reporter" category="2. Math tools"><comment x="0" y="0" w="148.0769230769232" collapsed="false">The real (computer-) numbers.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="set of {x| %n %txt x %s %s }"><l>-Infinity</l><l>≤</l><l>≤</l><l>Infinity</l></custom-block></block></script></block-definition><block-definition s="set of { %&apos;elements&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="176.6738932291671" collapsed="false">Returns a set by listing the elements, predicates, and defined intervals. &#xD;The sequence is: &#xD;set&#xD;isNumerical&#xD;list of elements&#xD;list of intervals&#xD;predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="elements"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportNewList"><list><l>set</l><custom-block s="is %s a %txt"><block var="elements"/><l>numericalList</l></custom-block><custom-block s="%s without duplicates"><block var="elements"/></custom-block><block s="reportNewList"><list></list></block><l></l></list></block></block></script><script><block s="doReport"><l>ERROR: a list of elements required!</l></block></script></block></script></block></script></block-definition><block-definition s="set of {x| %&apos;predicate&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="203.64402043269223" collapsed="false">Creation of a set by a predicate. &#xD;Intervals and elements should be defined by another block. If possible the predicate is translated to a list of intervals.&#xD;The sequence is: &#xD;set&#xD;isNumerical&#xD;list of elements&#xD;list of intervals&#xD;predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>predicateTree</l></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicate"/><l><option>predicate</option></l></block></block><script><block s="doReport"><l>ERROR: parameter is not a predicate!</l></block></script></block><block s="doSetVar"><l>predicateTree</l><block s="reportTextSplit"><block var="predicate"/><l><option>blocks</option></l></block></block><block s="doIf"><custom-block s="is %l translatable to intervals?"><block var="predicateTree"/></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportNewList"><list></list></block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block var="predicateTree"/></custom-block><l></l></list></block></block></script></block><block s="doReport"><l>ERROR: pure predicate sets are not supported yet.</l></block></script></block></script></block-definition><block-definition s="set of {x| %&apos;leftLimit&apos; %&apos;op1&apos; x %&apos;op2&apos; %&apos;rightLimit&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="188.05427684294867" collapsed="false">Returns a set with one numerical interval.&#xD;The sequence is: &#xD;set&#xD;isNumerical&#xD;list of elements&#xD;list of intervals&#xD;predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%n">-Infinity<options>-Infinity</options></input><input type="%txt" readonly="true">≤<options>≤&#xD;&lt;</options></input><input type="%s" readonly="true">≤<options>≤&#xD;&lt;</options></input><input type="%s">Infinity<options>Infinity</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="leftLimit"/><l><option>number</option></l></block><block s="reportIsA"><block var="rightLimit"/><l><option>number</option></l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="leftLimit"/><block var="rightLimit"/></list></block></list></block></block><script><block s="doReport"><l>ERROR: that defines no interval!</l></block></script></block><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list><block s="reportNewList"><list><block var="leftLimit"/><block var="op1"/><block var="op2"/><block var="rightLimit"/></list></block></list></block><l></l></list></block></block></script></block></script></block-definition><block-definition s="%&apos;element&apos; ε %&apos;set&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="223.57142857142858" collapsed="false">Reports whether &quot;element&quot; is element of &quot;set&quot;.</comment><header></header><code></code><translations></translations><inputs><input type="%s">element</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="set"/></block><block s="reportNewList"><list></list></block></list></block></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="element"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block><block s="doReport"><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set"/></block><block var="element"/></block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; %&apos;op&apos; %&apos;set2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="194.40476190476184" collapsed="false">Reports the intersection, union, difference, or cross product of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s" readonly="true">∩<options>∩&#xD;∪&#xD;\&#xD;X</options></input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval2</l><l>difference</l><l>term1</l><l>term2</l><l>interval1</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>∩</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set1"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="element"/></custom-block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set2"/></block></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block></list></block><custom-block s="intersect interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>∪</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block><custom-block s="merge intervals %l"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></list></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>\</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></list></block></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>2</l><block var="result"/></block></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation for not numerical sets.</l></block></script><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportListItem"><l>2</l><block var="result"/></block><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>4</l><block var="set1"/></block><l></l></list></block></block></script></block></script></block><block s="doSetVar"><l>set1</l><custom-block s="copy of %l"><block var="set1"/></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="copy of %l"><block var="set2"/></custom-block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set2"/></block><custom-block s="list of numbers %l $arrowRightOutline list of intervals"><block s="reportListItem"><l>3</l><block var="set2"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>3</l><block var="set2"/><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block></list></block><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block s="reportListItem"><l>4</l><block var="set2"/></block></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></block><block s="doSetVar"><l>difference</l><custom-block s="difference of interval %l and %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="difference"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><l>0</l></list></block></list></block><script><block s="doReplaceInList"><l>4</l><block var="set1"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="difference"/></list></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></script></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script><comment w="120.00000000000001" collapsed="false">compare the mth interval with all intervals of set1</comment></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>X</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation with infinite sets!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doForEach"><l>item_1</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doForEach"><l>item_2</l><block s="reportListItem"><l>3</l><block var="set2"/></block><script><block s="doIfElse"><block s="reportIsA"><block var="item_1"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term1</l><block var="item_1"/></block></script><script><block s="doSetVar"><l>term1</l><block s="reportNewList"><list><block var="item_1"/></list></block></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="item_2"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term2</l><block var="item_2"/></block></script><script><block s="doSetVar"><l>term2</l><block s="reportNewList"><list><block var="item_2"/></list></block></block></script></block><block s="doAddToList"><block s="reportConcatenatedLists"><list><block var="term1"/><block var="term2"/></list></block><block s="reportListItem"><l>3</l><block var="result"/></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block></script></block-definition><block-definition s="is %&apos;set1&apos; ⊆ %&apos;set2&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="108.57142857142861" collapsed="false">Is set1 subset of set2?</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doForEach"><l>interval</l><block s="reportListItem"><l>4</l><block var="set1"/></block><script><block s="doIf"><block s="reportNot"><custom-block s="is interval %l subinterval of interval list %l ?"><block var="interval"/><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block><block s="doForEach"><l>element</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block><comment w="144.2857142857143" collapsed="false">item is not element of set2</comment></block></script></block></script><comment w="116.16666666666676" collapsed="false">Compare elements</comment></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="is %&apos;set1&apos; = %&apos;set2&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="142.3076923076923" collapsed="false">Are theses two sets equal?</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %s ⊆ %s ?"><block var="set1"/><block var="set2"/></custom-block><custom-block s="is %s ⊆ %s ?"><block var="set2"/><block var="set1"/></custom-block></list></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; elements of %&apos;set&apos; (numbers ε |N)" type="reporter" category="2. Math tools"><comment x="0" y="0" w="187.91208791208803" collapsed="false">Reports up to n elements of a set. Numers are natural numbers smaller than maxSetValue in SciSnap!-properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportListItem"><l>3</l><block var="set"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>2</l><block var="n"/></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="set"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script></block><block s="doSetVar"><l>result</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="result"/></block><comment w="57.142857142857146" collapsed="false">clean up</comment></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block var="n"/></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block></script></block></script></block></script></block-definition><block-definition s="element %&apos;element&apos; $arrowRightOutline text" type="reporter" category="2. Math tools"><comment x="0" y="0" w="116.10256410256414" collapsed="false">Reports simple types, sets and lists as string.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>is first element</l><l>elements</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportJoinWords"><list><l></l><block var="element"/></list></block></block></script></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="element"/><script><block s="doReport"><l>true</l></block></script><script><block s="doReport"><l>false</l></block></script></block></script></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>text</option></l></block><script><block s="doReport"><block var="element"/></block></script></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>list</option></l></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="element"/><l>set</l></custom-block><script><block s="doSetVar"><l>result</l><l>{</l></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>elements</l><block s="reportListItem"><l>3</l><block var="element"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="element"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><block s="reportVariadicSum"><list><l>40</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="element"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="element"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="elements"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script></block><block s="doSetVar"><l>elements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="elements"/></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><l>20</l></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="elements"/></block></script></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doIfElse"><block var="is first element"/><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>,</l><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><l>18</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>,...}</l></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>}</l></list></block></block></script></block></script><script><block s="doSetVar"><l>result</l><l>[</l></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="element"/></block><l>20</l></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="element"/></block></script></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="element"/><script><block s="doIfElse"><block var="is first element"/><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>,</l><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="element"/></block><l>18</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>,...]</l></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>]</l></list></block></block></script></block></script></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>ERROR: no simple type!</l></list></block></block></script></block></script></block-definition><block-definition s="text %&apos;text&apos; $arrowRightOutline elements" type="reporter" category="2. Math tools"><comment x="0" y="0" w="124.00000000000007" collapsed="false">Converts a string to a list of elements.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">1,2,[3,4],{6,7,8..12}</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>inputlist</l><l>element</l><l>substring</l><l>i</l><l>element1</l><l>element2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>text</l><block s="reportTextSplit"><block var="text"/><l>,</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>1</l></list></block><script><block s="doSetVar"><l>element</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l> </l><l></l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportStringSize"><block var="element"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="element"/><l><option>number</option></l><comment w="90" collapsed="false">find numbers</comment></block><script><block s="doAddToList"><block var="element"/><block var="result"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="element"/><l>true</l></list><comment w="90" collapsed="false">find booleans</comment></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="result"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="element"/><l>false</l></list></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="result"/></block></script><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>.</l><block var="element"/></custom-block><comment w="110.66666666666667" collapsed="false">find number intervals</comment></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>0</l></list></block><script><block s="doSetVar"><l>element1</l><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>1</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block><block var="element"/></block><l>.</l></list></block><script><block s="doSetVar"><l>element2</l><custom-block s="substring of %txt from %n to %n"><block var="element"/><block s="reportVariadicSum"><list><block var="i"/><l>2</l></list></block><block s="reportStringSize"><block var="element"/></block></custom-block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="element1"/><l><option>number</option></l></block><block s="reportIsA"><block var="element2"/><l><option>number</option></l></block></list></block><script><block s="doSetVar"><l>i</l><block var="element1"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="element2"/></list></block><script><block s="doAddToList"><block var="i"/><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing number close to ".."</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing "."</l></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="element"/></block><l>[</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doAddToList"><custom-block s="text %txt $arrowRightOutline elements"><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>2</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></custom-block><block var="result"/></block></script><script><block s="doReport"><l>ERROR: missing "]"</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing "]"</l></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="element"/></block><l>{</l></list><comment w="90" collapsed="false">find sets</comment></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doSetVar"><l>element1</l><block s="reportNewList"><list><l>set</l><l></l><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doReplaceInList"><l>3</l><block var="element1"/><custom-block s="text %txt $arrowRightOutline elements"><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>2</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></custom-block></block><block s="doReplaceInList"><l>2</l><block var="element1"/><custom-block s="is %s a %txt"><block s="reportListItem"><l>3</l><block var="element1"/></block><l>numericalList</l></custom-block></block><block s="doAddToList"><block var="element1"/><block var="result"/></block></script><script><block s="doReport"><l>ERROR: missing "}"</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing "}"</l></block></script></block></script><script><block s="doAddToList"><block var="element"/><block var="result"/><comment w="172" collapsed="false">other elements interpreted as string</comment></block></script></block></script><comment w="90" collapsed="false">find lists</comment></block></script></block></script></block></script></block></script></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as an ImagePad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>180</l><l>180</l><l>180</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><l>notSet</l><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>gridProperties</l><block s="reportNewList"><list><l>40</l><l>40</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="costumeWidth"/><l>40</l></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="costumeHeight"/><l>40</l></block></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>gridColors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>black</l></list></block><block s="reportNewList"><list><l>150</l><l>150</l><l>150</l><l>gray</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l><l>white</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>red</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>yellow</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>magenta</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>green</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>cyan</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>blue</l></list></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="520.8333333333335" y="80.16666666666669" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image position on stage&#xD;7: upper offset for Image position on stage&#xD;&#xD;line properties:&#xD;1: lineWidth&#xD;2: line color red&#xD;3: line color green&#xD;4: lineColor blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;image properties:&#xD;1: type (RGB,FITS)&#xD;2: imageWidth&#xD;3: imageHeight&#xD;&#xD;grid colors: &#xD;list of usable colors:&#xD;1:black 2:gray 3:white&#xD;4: red 5:yellow 6:magenta&#xD;7:green 8:cyan 9:blue&#xD;</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; an ImagePad?" type="predicate" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="ImagePadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dataProperties&#xD;imageProperties&#xD;gridProperties&#xD;gridColors</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set ImagePadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="66.66666666666667" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dataProperties&#xD;imageProperties&#xD;gridProperties&#xD;gridColors</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script></block></script></block></script></block-definition><block-definition s="set ImagePad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; back color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="117.66039530436235" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set ImagePad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl fill color: %&apos;rfill&apos; %&apos;gfill&apos; %&apos;bfill&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="105.68386840820364" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue&#xD;6: fill color red&#xD;6: fill color green&#xD;8: fill color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot</options></input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">180</input><input type="%n">180</input><input type="%n">180</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/><block var="rfill"/><block var="gfill"/><block var="bfill"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set ImagePad grid properties on %&apos;sprite&apos; $nl horizontal cells: %&apos;hNumber&apos; vertical cells: %&apos;vNumber&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="140.9937286376957" collapsed="false">a simple way to set some grid attributes:&#xD;1: number of horizontal cells&#xD;2: number of vertical cells&#xD;3: cell width&#xD;4: cell height&#xD;&#xD;grid data are stored in myData</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">400</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>wh</l><l>ws</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GridPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>wh</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block var="hNumber"/></block></block></block><block s="doSetVar"><l>ws</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block var="vNumber"/></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="wh"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="ws"/><l>1</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: cell size is too small!</l></custom-block></script></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>gridProperties</l><block var="target"/><block s="reportNewList"><list><block var="hNumber"/><block var="vNumber"/><block var="wh"/><block var="ws"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><custom-block s="%n x %n table initialized with %s"><block var="hNumber"/><block var="vNumber"/><l>2</l></custom-block></list></block></script></block></script></block-definition><block-definition s="import %&apos;choice&apos; from %&apos;source&apos; $nl to myData on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="118.57142857142863" collapsed="false">Imports costume-data or FITS-data to a data list.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume(RGB)data<options>costume(RGB)data&#xD;FITSData</options></input><input type="%s" readonly="true">currentCostume<options>currentCostume&#xD;filepicker&#xD;list with dimensions at top</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>header</l><l>imagedata</l><l>costumeData</l><l>min</l><l>max</l><l>w</l><l>h</l><l>target</l><l>input</l><l>costumeData</l><l>ready</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITSData</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: FITS data have to be text!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>imagedata</l><block s="reportApplyExtension"><l>SciS_extractFITSdata(FITSdata)</l><list><block var="source"/></list></block></block><block s="doSetVar"><l>w</l><block s="reportListItem"><l>1</l><block var="imagedata"/></block></block><block s="doSetVar"><l>h</l><block s="reportListItem"><l>2</l><block var="imagedata"/></block></block><block s="doSetVar"><l>min</l><block s="reportListItem"><l>3</l><block var="imagedata"/></block></block><block s="doSetVar"><l>max</l><block s="reportListItem"><l>4</l><block var="imagedata"/></block></block><block s="doSetVar"><l>costumeData</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>6</l><block var="imagedata"/></block></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>FITS</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><block var="min"/><block var="max"/><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>6</l><block var="imagedata"/></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>FITS</l><block var="w"/><block var="h"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridProperties</l><block s="reportNewList"><list><l>40</l><l>40</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="w"/><l>40</l></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="h"/><l>40</l></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridColors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>black</l></list></block><block s="reportNewList"><list><l>150</l><l>150</l><l>150</l><l>gray</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l><l>white</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>red</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>yellow</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>magenta</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>green</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>cyan</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>blue</l></list></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>5</l><block var="imagedata"/></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="header"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><l></l></list></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><block var="target"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="header"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="header"/></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doReplaceInList"><l>6</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="w"/></block><l>2</l></block></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="h"/></block><l>2</l></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script><script><block s="doReplaceInList"><l>1</l><block var="costumeData"/><block var="w"/></block><block s="doReplaceInList"><l>2</l><block var="costumeData"/><block var="h"/></block><block s="doReplaceInList"><l>6</l><block var="costumeData"/><l>0</l></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><l>0</l></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume(RGB)data</l></list></block><script><block s="doSetVar"><l>input</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>currentCostume</l></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="source"/></block></block><block s="doIfElse"><block s="reportIsA"><block var="input"/><l><option>costume</option></l></block><script><block s="doSetVar"><l>w</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="input"/></block></block><block s="doSetVar"><l>h</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="input"/></block></block><block s="doSetVar"><l>input</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="input"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="input"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: too few data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>w</l><block s="reportListItem"><l>1</l><block var="input"/></block></block><block s="doSetVar"><l>h</l><block s="reportListItem"><l>2</l><block var="input"/></block></block><block s="doDeleteFromList"><l>1</l><block var="input"/></block><block s="doDeleteFromList"><l>1</l><block var="input"/></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: costume or costume data required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block><block s="doSetVar"><l>costumeData</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="input"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>min</l><block s="reportVariadicMin"><list><block s="reportListItem"><l>1</l><block var="min"/></block><block s="reportVariadicMin"><list><block s="reportListItem"><l>2</l><block var="min"/></block><block s="reportListItem"><l>3</l><block var="min"/></block></list></block></list></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="input"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportVariadicMax"><list><block s="reportListItem"><l>1</l><block var="max"/></block><block s="reportVariadicMax"><list><block s="reportListItem"><l>2</l><block var="max"/></block><block s="reportListItem"><l>3</l><block var="max"/></block></list></block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><l></l></block></script><list></list></block><list><block var="input"/></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>RGB</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><block var="min"/><block var="max"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="input"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>RGB</l><block var="w"/><block var="h"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridProperties</l><block s="reportNewList"><list><l>40</l><l>40</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="w"/><l>40</l></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="h"/><l>40</l></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridColors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>black</l></list></block><block s="reportNewList"><list><l>150</l><l>150</l><l>150</l><l>gray</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l><l>white</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>red</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>yellow</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>magenta</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>green</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>cyan</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>blue</l></list></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doReplaceInList"><l>6</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="w"/></block><l>2</l></block></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="h"/></block><l>2</l></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script><script><block s="doReplaceInList"><l>1</l><block var="costumeData"/><block var="w"/></block><block s="doReplaceInList"><l>2</l><block var="costumeData"/><block var="h"/></block><block s="doReplaceInList"><l>6</l><block var="costumeData"/><l>0</l></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><l>0</l></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="add %&apos;color&apos; image of %&apos;data&apos; to ImagePad $nl min/max: %&apos;min&apos; %&apos;max&apos; log? %&apos;log&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="143.16666666666666" collapsed="false">Generates an image from the FITS or RGB data of the DataSprite in gray or false colors</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">gray<options>gray&#xD;false-color&#xD;RGB</options></input><input type="%s">myData</input><input type="%n">0</input><input type="%n">255</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>pixels</l><l>source</l><l>gray</l><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>color</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="color"/><l> </l></block></block></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="data"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><script><block s="doSetVar"><l>gray</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_FITSpixelsOnStageForImagePad(data,min,max,gray,log,pixels,cAttributes,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><l>theStage</l></custom-block></list></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_FITSpixelsOnSpriteForImagePad(data,min,max,gray,log,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyReporter"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>RGB</l></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="source"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>gray</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_RGBpixelsOnStageForImagePad(data,min,max,gray,log,pixels,cAttributes,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><l>theStage</l></custom-block></list></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_RGBpixelsOnSpriteForImagePad(data,min,max,gray,log)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only RGB- and FITS-images supported!</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="add grid %&apos;theGrid&apos; on %&apos;sprite&apos; with grid lines? %&apos;withLines&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="163" collapsed="false">Draws a grid on an ImagePad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>data</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GridPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="theGrid"/><l>myData</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>data</l><block var="theGrid"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: matrix data required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong grid dimensions!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_addGridToImagePad(costume,gridProperties,colors,withLines,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>gridColors</l><block var="target"/></custom-block><block var="withLines"/><block var="data"/></list></block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="draw line from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="153.10468750000004" collapsed="false">Draws a line on present costume using line properties. Attention: JS coordinates are used. </comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawLineOnImagepad(costume,x1,y1,x2,y2,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x1"/><block var="y1"/><block var="x2"/><block var="y2"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="draw rectangle from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Draws a rectangle on present costume using line properties. Attention: JS coordinates are used. </comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>w</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="x1"/><block var="x2"/></list></block><script><block s="doSetVar"><l>x</l><block var="x2"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x1"/><block var="x2"/></block></block></script><script><block s="doSetVar"><l>x</l><block var="x1"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x2"/><block var="x1"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="y1"/><block var="y2"/></list></block><script><block s="doSetVar"><l>y</l><block var="y2"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y1"/><block var="y2"/></block></block></script><script><block s="doSetVar"><l>y</l><block var="y1"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawRectangleOnImagepad(costume,x1,y1,width,height,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="w"/><block var="h"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="fill rectangle from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="164.6575342465754" collapsed="false">Fills a rectangle on present costume using surface properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>w</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="x1"/><block var="x2"/></list></block><script><block s="doSetVar"><l>x</l><block var="x2"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x1"/><block var="x2"/></block></block></script><script><block s="doSetVar"><l>x</l><block var="x1"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x2"/><block var="x1"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="y1"/><block var="y2"/></list></block><script><block s="doSetVar"><l>y</l><block var="y2"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y1"/><block var="y2"/></block></block></script><script><block s="doSetVar"><l>y</l><block var="y1"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_fillRectangleOnImagepad(costume,x1,y1,width,height,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="w"/><block var="h"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="draw circle center: %&apos;x&apos; %&apos;y&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="215.60983072916636" collapsed="false">Draws a circle on present costume using line properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawCircleOnImagepad(costume,x,y,radius,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="radius"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="fill circle center: %&apos;x&apos; %&apos;y&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="160.5251141552513" collapsed="false">Fills a circle on present costume using surface properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_fillCircleOnImagepad(costume,x,y,radius,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="radius"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="draw text %&apos;text&apos; at %&apos;x&apos; %&apos;y&apos; height: %&apos;height&apos; $nl horizontal? %&apos;horizontal&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="158.33333333333334" collapsed="false">Draws a text on present costume using line properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">my text</input><input type="%n">100</input><input type="%n">50</input><input type="%n">12</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawTextOnImagepad(costume,x,y,text,height,horizontal,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="text"/><block var="height"/><block var="horizontal"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="draw list of points %&apos;data&apos; as %&apos;shape&apos; size: %&apos;size&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="321.8186688427511" collapsed="false">Draws a list of &quot;point&quot; as &quot;balls&quot;. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s" readonly="true">circles<options>circles&#xD;squares</options></input><input type="%n">5</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>source</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block var="myData"/><block var="data"/></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only definied for matrices!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: missing data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates in a plane needed!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawListOfPoints(costume,data,shape,size,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="columns %mult%s of %s %br from row %s to %s"><list><l>1</l><l>2</l></list><block var="source"/><l>1</l><l>last</l></custom-block><block var="shape"/><block var="size"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="set RGB at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos; to %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="186.6666666666667" collapsed="false">Sets the RGB value at (x|y) on costume. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">255</input><input type="%n">100</input><input type="%n">30</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>props</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block></script><script><block s="doSetVar"><l>props</l><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="props"/><block var="r"/></block><block s="doReplaceInList"><l>4</l><block var="props"/><block var="g"/></block><block s="doReplaceInList"><l>5</l><block var="props"/><block var="b"/></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block var="props"/></custom-block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportDifference"><block var="x"/><l>1</l></block><block var="y"/><block var="x"/><block var="y"/><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="RGB at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="263.41324200913243" collapsed="false">Reports the RGB value at the position (x|y) of the costume. JS-code-snippets copied from Snap!-code. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>b</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></list></block><block var="x"/></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block></block></script></block></script></block></script></block-definition><block-definition s="set image value of myData at %&apos;x&apos; %&apos;y&apos; $nl on %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="163.3333333333337" collapsed="false">Sets the value at (x|y) in myData. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>list</option></l></block><block s="reportIsA"><block var="value"/><l><option>list</option></l></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>number</option></l></block><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong data format!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="value"/></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only RGB- and FITS-data supported!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="image value of myData at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="170" collapsed="false">Reads the data value at the position (x/y) of an image stored in myData.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script></block></script><script><block s="doReport"><l>ERROR: only defined for image data!</l></block></script></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; on %&apos;sprite&apos; by mouse" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="168.33333333333334" collapsed="false">Obtaining data with the mouse from an image or grid stored in myData.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">image-value<options>image-value&#xD;costume-coordinates&#xD;slice-data&#xD;line-data&#xD;circle-data&#xD;brightness&#xD;cell-value</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>h</l><l>result</l><l>i</l><l>m</l><l>pixel</l><l>dist</l><l>dx</l><l>dy</l><l>points</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>x</l><l>y</l><l>p1</l><l>p2</l><l>w</l><l>h</l><l>secondCostume</l><l>ok</l><l>xold</l><l>yold</l><l>radius</l><l>sumOfValues</l><l>value</l><l>center</l><l>costume</l><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costume-coordinates</l></list><comment w="121.68283420138893" collapsed="false">costume coordinates.</comment></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>line-data</l></list></block><script><block s="doWarp"><script><block s="doSetVar"><l>w</l><block var="targetCostumeWidth"/></block><block s="doSetVar"><l>h</l><block var="targetCostumeHeight"/></block><block s="doSetVar"><l>secondCostume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>255</l><l>200</l><l>0</l><l>180</l><l>180</l><l>180</l><block var="target"/></custom-block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>p1</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="doSetVar"><l>p2</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="xold"/></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="yold"/></list></block></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="secondCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></list></block><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p2"/></block></block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="target"/></custom-block></script></block><block s="doIf"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="secondCostume"/></list></block><block s="doReport"><block s="reportNewList"><list><block var="p1"/><block var="p2"/></list></block></block></script><comment w="90" collapsed="false">line data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>image-value</l></list></block><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: only defined for image data in FITS or RGB format!</l></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block var="targetCostumeWidth"/></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script></block></script></block></script><comment w="90" collapsed="false">image value</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>slice-data</l></list></block><script><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doSetVar"><l>points</l><custom-block s="%s on %txt by mouse"><l>line-data</l><block var="target"/></custom-block></block><block s="doWarp"><script><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="points"/></block></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="points"/></block></block></block><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="points"/></block></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="points"/></block></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>dist</l><block s="reportRound"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block></block></block><block s="doSetVar"><l>dx</l><block s="reportQuotient"><block s="reportDifference"><block var="x2"/><block var="x1"/></block><block var="dist"/></block></block><block s="doSetVar"><l>dy</l><block s="reportQuotient"><block s="reportDifference"><block var="y2"/><block var="y1"/></block><block var="dist"/></block></block><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="dist"/></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="i"/><custom-block s="image value of myData at %n %n on %txt"><block s="reportVariadicSum"><list><block var="x1"/><block s="reportVariadicProduct"><list><block var="i"/><block var="dx"/></list></block></list></block><block s="reportVariadicSum"><list><block var="y1"/><block s="reportVariadicProduct"><list><block var="i"/><block var="dy"/></list></block></list></block><block var="target"/></custom-block></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="costume"/></list></block><block s="doReport"><block var="result"/></block></script></block></script><comment w="90" collapsed="false">slice data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>circle-data</l></list><comment w="90" collapsed="false">circle data</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>w</l><block var="targetCostumeWidth"/></block><block s="doSetVar"><l>h</l><block var="targetCostumeHeight"/></block><block s="doSetVar"><l>secondCostume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>p1</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="doSetVar"><l>p2</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doSetVar"><l>radius</l><block s="reportRound"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block></list></block></list></block></block></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="secondCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></list></block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>3</l><l>255</l><l>200</l><l>0</l><l>180</l><l>180</l><l>180</l><block var="target"/></custom-block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></block><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="target"/></custom-block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>255</l><l>200</l><l>0</l><l>180</l><l>180</l><l>180</l><block var="target"/></custom-block><custom-block s="draw circle center: %n %n radius: %n on %txt"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="radius"/><block var="target"/></custom-block><block s="doIf"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="secondCostume"/></list></block><block s="doReport"><block s="reportNewList"><list><block var="p1"/><block var="radius"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>brightness</l></list></block><script><block s="doSetVar"><l>h</l><custom-block s="%s on %txt by mouse"><l>circle-data</l><block var="target"/></custom-block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightness(data,xpos,ypos,r,width,height,typeOfData)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="h"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="h"/></block></block><block s="reportListItem"><l>2</l><block var="h"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block></list></block></block></script><comment w="90" collapsed="false">brightness</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>cell-value</l></list></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="x"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="y"/><block s="reportListItem"><l>4</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block var="myData"/></block></block></block></script></block></script><comment w="90" collapsed="false">value of a grid cell</comment></block></script></block-definition><block-definition s="affine transformation of costume %&apos;costume&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="210.83333333333337" collapsed="false">Applies an affine transformation to a costume.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">currentCostume</input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>target</l><l>imagetype</l><l>width</l><l>height</l><l>data</l><l>ok</l></list></block><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="costume"/><l>currentCostume</l></list></block><block s="reportGet"><l><option>costume</option></l></block><block var="costume"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block></block><script><block s="doReport"><l>ERROR: costume required!</l></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 original points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of original points  required!</l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 target points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of target points  required!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><block s="doReport"><l>ERROR: dimensions should be 2!</l></block></script></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_affineTransformation(a11,a12,a13,a21,a22,a23,w,h,data,typeOfData)</l><list><block var="a11"/><block var="a12"/><block var="a13"/><block var="a21"/><block var="a22"/><block var="a23"/><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block><l>RGB</l></list></block></block></script></block><block s="doReport"><l>ERROR: denominator is zero</l></block></script></block></script></block-definition><block-definition s="brightness around %&apos;x&apos; %&apos;y&apos; within radius %&apos;r&apos; $nl of myData of ImagePad %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="192.61904761904816" collapsed="false">Reports the brightness of a FITS or RGB image around x|y in a circle with radius r.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>data</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script></block><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: only FITS or RGB data supported!</l></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightnessAround(data,xpos,ypos,r,width,height,typeOfData)</l><list><block var="data"/><block var="x"/><block var="y"/><block var="r"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block></list></block></block></script></block></script></block></script></block-definition><block-definition s="fill all cells on %&apos;sprite&apos; range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos; $nl randomly with numbers %&apos;numbers&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="281" collapsed="false">Fills a grid or a part of a grid with one of the specified values.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input><input type="%mult%n"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><block s="reportApplyExtension"><l>SciS_fillOnImagePadGridRandomlyOnImagePad(xMin,xMax,yMin,yMax,numbers,data)</l><list><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block var="numbers"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></list></block></list></block></script></block></script></block-definition><block-definition s="set cell value on %&apos;sprite&apos; to %&apos;value&apos; by mouse" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="145.83333333333334" collapsed="false">sets the value of a grid cell</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReplaceInList"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="x"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="y"/><block s="reportListItem"><l>4</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block var="value"/></block></script></block><custom-block s="add grid %s on %s with grid lines? %b"><l>myData</l><block var="target"/><l><bool>true</bool></l></custom-block></script></block></script></block-definition><block-definition s="set cell value on %&apos;sprite&apos; at %&apos;x&apos; %&apos;y&apos; to %&apos;value&apos; with grid lines? %&apos;withLines&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="226.99999999999997" collapsed="false">Sets the value of a grid cell an shows the result.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">1</input><input type="%n">2</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l><l>grid</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GridPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListItem"><l>1</l><block var="gridProps"/></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListItem"><l>2</l><block var="gridProps"/></block></list></block></list></block></list></block></list></block><script><block s="doReplaceInList"><block var="x"/><block s="reportListItem"><block var="y"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block var="value"/></block><custom-block s="add grid %s on %s with grid lines? %b"><l>myData</l><block var="target"/><block var="withLines"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: indices out of bounds!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="%&apos;typeOfNeighborhood&apos; -neighborhood as torus? %&apos;asTorus&apos; of %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="355.83333333333337" collapsed="false">Reports the Moore- or v.-Neumann-neighborhood of a cell. Order: north,east,south,west</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Moore<options>Moore&#xD;vonNeumann</options></input><input type="%b">false</input><input type="%n">1</input><input type="%n">1</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_neighborhoodInGridOnImagePad(data,gridProperties,x,y,isTorus,typeOfNeighborhood)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="x"/><block var="y"/><block var="asTorus"/><block var="typeOfNeighborhood"/></list></block></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; swapped %&apos;n&apos; times $nl randomly inside radius %&apos;range&apos; range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="194.99999999999977" collapsed="false">Swaps the cell values of a grid randomly.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%n">1</input><input type="%n">1</input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_swapCellsOfGridOnImagePad(data,gridProperties,n,isTorus,range,xMin,xMax,yMin,yMax)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="n"/><block var="isTorus"/><block s="reportMonadic"><l><option>abs</option></l><block var="range"/></block><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/></list></block></block></script></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; with value %&apos;oldValue&apos; $nl take value %&apos;ifValue&apos; if number of surrounding value %&apos;surrValue&apos; is %&apos;operator&apos; %&apos;n&apos; $nl else take value %&apos;elseValue&apos; with noise? %&apos;withNoise&apos; of %&apos;noise&apos; % $nl range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="299" collapsed="false">Counts the surrounding values and changes it if necessary.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%s">any or number<options>any</options></input><input type="%n">2</input><input type="%n">2</input><input type="%s" readonly="true">greater-than<options>greater-than&#xD;equal-to&#xD;smaller-than&#xD;different-from</options></input><input type="%n">4</input><input type="%n">1</input><input type="%b">false</input><input type="%n">5</input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_changeSurroundingValuesOfGridOnImagePag(data,gridProperties,ifValue,elseValue,surrValue,op,n,isTorus,withNoise,noise,xMin,xMax,yMin,yMax,oldValue)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="ifValue"/><block var="elseValue"/><block var="surrValue"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operator"/><l> </l></block></block><block var="n"/><block var="isTorus"/><block var="withNoise"/><block var="noise"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="oldValue"/><l> </l></block></block></list></block></block></script></block></script><scripts><script x="692" y="455.74999999999994"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>gridProperties</l><l>ifValue</l><l>elseValue</l><l>surrValue</l><l>op</l><l>n</l><l>isTorus</l><l>withNoise</l><l>noise</l><l>xMin</l><l>xMax</l><l>yMin</l><l>yMax</l><l>oldValue</l></list><l>    var result;&#xD;&#xD;    function listCopy(item) {&#xD;      var theCopy;&#xD;      if (item instanceof List) {&#xD;        theCopy = new List();&#xD;        for (var i = 1; i &lt;= item.length(); i++)&#xD;          theCopy.add(listCopy(item.at(i)));&#xD;      } else&#xD;        theCopy = item;&#xD;      return theCopy;&#xD;    }&#xD;&#xD;   function actWith(x, y) {&#xD;      var xg, yg, res = 0, ok;&#xD;      if ((oldValue === 0) || (data.at(y).at(x) === oldValue)) {&#xD;        for (var xp = x - 1; xp &lt;= x + 1; xp++) {&#xD;          for (var yp = y - 1; yp &lt;= y + 1; yp++) {&#xD;            xg = xp;&#xD;            yg = yp;&#xD;            if (xp &lt; 1) {&#xD;              if (isTorus) {&#xD;                xg = xMax;&#xD;              } else {&#xD;                xg = 0;&#xD;              }&#xD;            }&#xD;            if (xp &gt; xMax) {&#xD;              if (isTorus) {&#xD;                xg = 1;&#xD;              } else {&#xD;                xg = 0;&#xD;              }&#xD;            }&#xD;            if (yp &lt; 1) {&#xD;              if (isTorus) {&#xD;                yg = yMax;&#xD;              } else {&#xD;                yg = 0;&#xD;              }&#xD;            }&#xD;            if (yp &gt; yMax) {&#xD;              if (isTorus) {&#xD;                yg = 1;&#xD;              } else {&#xD;                yg = 0;&#xD;              }&#xD;            }&#xD;            if ((xg &gt; 0) &amp;&amp; (yg &gt; 0) &amp;&amp; (data.at(yg).at(xg) === surrValue))&#xD;              res++;&#xD;          }&#xD;        }&#xD;//       if (data.at(y).at(x) === surrValue)&#xD;//         res--;&#xD;        ok = false;&#xD;        if ((op === "greater-than") &amp;&amp; (res &gt; n))&#xD;          ok = true;&#xD;        if ((op === "equal-to") &amp;&amp; (res == n))&#xD;          ok = true;&#xD;        if ((op === "smaller-than") &amp;&amp; (res &lt; n))&#xD;          ok = true;&#xD;        if ((op === "different-from") &amp;&amp; (res !== n))&#xD;          ok = true;&#xD;        if (ok)&#xD;          result.at(y).put(ifValue, x);&#xD;        else&#xD;          result.at(y).put(elseValue, x);&#xD;        if (withNoise) {&#xD;          if (Math.random() * 100 &lt;= noise)&#xD;            if (Math.random() &lt;= 0.5)&#xD;              result.at(y).put(ifValue, x);&#xD;            else&#xD;              result.at(y).put(elseValue, x);&#xD;        }&#xD;      }&#xD;    }&#xD;&#xD;    result = listCopy(data);&#xD;    xMin = Math.abs(xMin);&#xD;    xMax = Math.abs(xMax);&#xD;    yMin = Math.abs(yMin);&#xD;    yMax = Math.abs(yMax);&#xD;    if (xMin &gt; xMax) {&#xD;      h = xMin;&#xD;      xMin = xMax;&#xD;      xMax = h;&#xD;    }&#xD;    if (yMin &gt; yMax) {&#xD;      h = yMin;&#xD;      yMin = yMax;&#xD;      yMax = h;&#xD;    }&#xD;    if (oldValue === "any")&#xD;      oldValue = 0;&#xD;    oldValue = Number(oldValue);&#xD;    for (var x = xMin; x &lt;= xMax; x++)&#xD;      for (var y = yMin; y &lt;= yMax; y++)&#xD;        actWith(x, y);&#xD;    return result;&#xD;</l></block><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="ifValue"/><block var="elseValue"/><block var="surrValue"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operator"/><l> </l></block></block><block var="n"/><block var="isTorus"/><block var="withNoise"/><block var="noise"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="oldValue"/><l> </l></block></block></list></block></script></scripts></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; take %&apos;operation&apos; $nl of surrounding cells x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos; range: %&apos;range&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="196.99999999999997" collapsed="false">Replaces the cell values of a grid depending on the features of the neighbors.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%s" readonly="true">sum<options>sum&#xD;min&#xD;max&#xD;mean</options></input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_replaceValuesOfGridOnImagePad(data,gridProperties,operation,isTorus,xMin,xMax,yMin,yMax,range)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operation"/><l> </l></block></block><block var="isTorus"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportMonadic"><l><option>abs</option></l><block var="range"/></block></list></block></block></script></block-definition><block-definition s="combine grid1 %&apos;grid1&apos; and grid2 %&apos;grid2&apos; by value1= %&apos;value1&apos; %&apos;operator&apos; value2= %&apos;value2&apos; to %&apos;ifValue&apos; else %&apos;elseValue&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="113" collapsed="false">Combines two grids.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n">1</input><input type="%s" readonly="true">or<options>and&#xD;or&#xD;xor&#xD;not-and&#xD;not-or&#xD;not-xor&#xD;minus</options></input><input type="%n">2</input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>xMax</l><l>yMax</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="grid1"/><l>matrix</l></custom-block><custom-block s="is %s a %txt"><block var="grid2"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: matrices required!</l></block></script></block><block s="doSetVar"><l>xMax</l><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid1"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid2"/></block></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid1"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid2"/></block></block></block></block><block s="doSetVar"><l>yMax</l><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="grid1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid2"/></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid2"/></block></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_combineGridsOnImagePad(grid1,grid2,value1,operator,value2,ifValue,elseValue,xMax,yMax)</l><list><block var="grid1"/><block var="grid2"/><block var="value1"/><block var="operator"/><block var="value2"/><block var="ifValue"/><block var="elseValue"/><block var="xMax"/><block var="yMax"/></list></block></block></script></block-definition><block-definition s="apply Wolfram automaton no %&apos;no&apos; to grid %&apos;grid&apos; $nl with colors for 0: %&apos;color0&apos; and 1: %&apos;color1&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="236.99999999999997" collapsed="false">Applies a Wolfram Cellular Automaton to a grid.</comment><header></header><code></code><translations></translations><inputs><input type="%n">30</input><input type="%l"></input><input type="%n">3</input><input type="%n">1</input></inputs><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="grid"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: grid expected!</l></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_applyWolframAutomatonToAgridOnImagePad(no,grid,color0,color1)</l><list><block var="no"/><block var="grid"/><block var="color0"/><block var="color1"/></list></block></block></script></block-definition><block-definition s="Example 1: slice data of FITS-image" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sliceData</l><l>diagram</l></list></block><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="import %s from %s %br to myData on %txt"><l>FITSData</l><l>currentCostume</l><l>myData</l></custom-block><custom-block s="add %s image of %s to ImagePad %br min/max: %n %n log? %b on %txt"><l>gray</l><l>myData</l><l>0</l><custom-block s="%s of vector %l"><l>max</l><block var="myData"/></custom-block><l><bool>false</bool></l><l>thisSprite</l></custom-block><block s="setScale"><l>200</l></block><block s="doSetVar"><l>sliceData</l><custom-block s="%s on %txt by mouse"><l>slice-data</l><l>thisSprite</l></custom-block></block><block s="doSetVar"><l>diagram</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="diagram"/><block s="reifyScript"><script><block s="setScale"><l>100</l></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="sliceData"/><l>0.1</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><l>square</l><l>5</l><l>0</l><l>0</l><l>0</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="sliceData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script><list></list></block><list></list></block></script></block-definition><block-definition s="Example 2: false color image of moon crater albertarius" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><block s="doSwitchToCostume"><l>albategnius</l></block><block s="setScale"><l>100</l></block><block s="doWait"><l>1</l></block><custom-block s="import %s from %s %br to myData on %txt"><l>costume(RGB)data</l><l>currentCostume</l><l>myData</l></custom-block><custom-block s="add %s image of %s to ImagePad %br min/max: %n %n log? %b on %txt"><l>false-color</l><l>myData</l><l>0</l><l>255</l><l><bool>true</bool></l><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example 3: Wolfram Automaton No. 30" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set ImagePad grid properties on %s %br horizontal cells: %n vertical cells: %n"><l>thisSprite</l><l>400</l><l>300</l></custom-block><custom-block s="fill all cells on %s range x: %n %s y: %n %s %br randomly with numbers %mult%n"><l>thisSprite</l><l>1</l><l>xMax</l><l>1</l><l>yMax</l><list><l>3</l></list></custom-block><custom-block s="set cell value on %s at %n %n to %n with grid lines? %b"><l>thisSprite</l><l>200</l><l>1</l><l>1</l><l><bool>false</bool></l></custom-block><block s="doSetVar"><l>myData</l><custom-block s="apply Wolfram automaton no %n to grid %l %br with colors for 0: %n and 1: %n"><l>30</l><block var="myData"/><l>3</l><l>1</l></custom-block></block><custom-block s="add grid %s on %s with grid lines? %b"><l>myData</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="Set Instrument To %&apos;Instrument Name&apos;" type="command" category="Music"><comment x="0" y="0" w="310.5525948660714" collapsed="false">Sets the global instrument used for playing notes.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_setinst(name)</l><list><block var="Instrument Name"/></list></block></script></block-definition><block-definition s="Set Volume To %&apos;Percent&apos; %" type="command" category="Music"><comment x="0" y="0" w="403" collapsed="false">Sets the global volume to the selected percentage.</comment><header></header><code></code><translations></translations><inputs><input type="%n">50</input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_setvol(percent)</l><list><block var="Percent"/></list></block></script></block-definition><block-definition s="Set Instrument %&apos;Instrument&apos; Volume to %&apos;VolumePercent&apos; %" type="command" category="Music"><comment x="0" y="0" w="353.7142857142858" collapsed="false">Sets the default volume of the selected instrument to the specified percentage.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%n">50</input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_setinstvol(name, percent)</l><list><block var="Instrument"/><block var="VolumePercent"/></list></block></script></block-definition><block-definition s="Play Note %&apos;Note&apos; for Duration %&apos;Duration&apos; and Wait" type="command" category="Music"><comment x="0" y="0" w="315.8571428571429" collapsed="false">Plays the selected note for the specified musical duration. This block waits for the selected note to finish playing. A note name and duration (whole, half, quarter, etc.) can be selected from the drop-down menu.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%txt"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><custom-block s="Play Note %s for Duration %s"><block var="Note"/><block var="Duration"/></custom-block><block s="doWait"><custom-block s="Adjusted Note Duration %txt"><block var="Duration"/></custom-block></block></script></block-definition><block-definition s="Play Note %&apos;Note&apos; for Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="333.3128348214286" collapsed="false">Plays the selected note for the specified musical duration. This block does note wait for the selected note to finish playing. A note name and duration (whole, half, quarter, etc.) can be selected from the drop-down menu.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_playnote(note, duration)</l><list><block var="Note"/><custom-block s="Adjusted Note Duration %txt"><block var="Duration"/></custom-block></list></block></script></block-definition><block-definition s="Rest for Note Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="90" collapsed="false">Waits for the selected musical duration.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doWait"><custom-block s="Adjusted Note Duration %txt"><block var="Duration"/></custom-block></block></script></block-definition><block-definition s="Adjusted Note Duration %&apos;Note Duration&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="262.8571428571429" collapsed="false">Each note duration is assigned a numerical value, with a whole note equallying four beats.&#xD;&#xD;Dotted Notes are equal to the named note plus half of the named note&apos;s duration.&#xD;&#xD;Triplet notes are equal in duration to two of the named notes divided by three.&#xD;&#xD;Since there are 60 seconds in a minute, dividing 60 by the tempo and then multiplying it by a note&apos;s duration alters the duration of the notes to make them match the global tempo.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note Duration"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Whole</l><l>4</l></list></block><block s="reportNewList"><list><l>Half</l><l>2</l></list></block><block s="reportNewList"><list><l>Quarter</l><l>1</l></list></block><block s="reportNewList"><list><l>Eighth</l><l>.5</l></list></block><block s="reportNewList"><list><l>Sixteenth</l><l>.25</l></list></block><block s="reportNewList"><list><l>Thirtysecond</l><l>.125</l></list></block><block s="reportNewList"><list><l>Dotted Whole</l><l>6</l></list></block><block s="reportNewList"><list><l>Dotted Half</l><l>3</l></list></block><block s="reportNewList"><list><l>Dotted Quarter</l><l>1.5</l></list></block><block s="reportNewList"><list><l>Dotted Eighth</l><l>.75</l></list></block><block s="reportNewList"><list><l>Dotted Sixteenth</l><l>.345</l></list></block><block s="reportNewList"><list><l>Dotted Thirtysecond</l><l>0.1875</l></list></block><block s="reportNewList"><list><l>Half Triplet</l><block s="reportQuotient"><l>4</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Quarter Triplet</l><block s="reportQuotient"><l>2</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Eighth Triplet</l><block s="reportQuotient"><l>1</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Sixteenth Triplet</l><block s="reportQuotient"><l>.5</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Whole Triplet</l><block s="reportQuotient"><l>8</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Thirtysecond Triplet</l><block s="reportQuotient"><l>.125</l><l>3</l></block></list></block></list></block></custom-block></block><block s="reportQuotient"><l>60</l><block s="getTempo"></block></block></list></block></block></script></block-definition><block-definition s="Play Chord %&apos;Chord&apos; for Duration %&apos;Duration&apos;" type="command" category="Music"><comment x="0" y="0" w="160" collapsed="false">Plays a list of notes simultaneously for the specified musical duration.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doForEach"><l>item</l><block var="Chord"/><script><custom-block s="Play Note %s for Duration %s"><block var="item"/><block var="Duration"/></custom-block></script></block><custom-block s="Rest for Note Duration %s"><block var="Duration"/></custom-block></script></block-definition><block-definition s="Note %&apos;Number&apos; in Major Scale %&apos;Scale&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the note in the specified position within the specified major scale.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><block var="Number"/><custom-block s="Major Scale %s"><block var="Scale"/></custom-block></block><block var="Octave"/></list></block></block></script></block-definition><block-definition s="Interval between Notes %&apos;Note 1&apos; and %&apos;Note 2&apos; in the %&apos;Scale&apos; Major Scale" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note 1 Position</l><l>Note 2 Position</l><l>list</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>list</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><l>7</l><script><block s="doSetVar"><l>list</l><block s="reportConcatenatedLists"><list><block var="list"/><custom-block s="Major Scale %s Octave %n Reporter"><block var="Scale"/><block var="i"/></custom-block></list></block></block></script></block></script><comment w="90" collapsed="false">Creates a list consisting of the specified scale, starting in the first octave and ending in the seventh octave.</comment></block><block s="doWarp"><script><block s="doSetVar"><l>Note 1 Position</l><block s="reportListIndex"><block var="Note 1"/><block var="list"/></block></block><block s="doSetVar"><l>Note 2 Position</l><block s="reportListIndex"><block var="Note 2"/><block var="list"/></block></block></script><comment w="90" collapsed="false">Finds the position of Notes 1 and 2 in the extended scale.</comment></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Major Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 1"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 1"/><l> is not in the </l><block var="Scale"/><l> Major scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Major Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 2"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 2"/><l> is not in the </l><block var="Scale"/><l> Major scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script><comment w="90" collapsed="false">Checks to see if the specified notes are in the selected major scale.</comment></block><block s="doReport"><block s="reportDifference"><block var="Note 2 Position"/><block var="Note 1 Position"/><comment w="90" collapsed="false">Reports the numerical interval between the specified notes in the selected major scale.</comment></block></block></script></block-definition><block-definition s="Note %&apos;Number&apos; in Minor Scale %&apos;Scale&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the note in the specified position within the specified minor scale.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s">C</input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><block var="Number"/><custom-block s="Minor Scale %s"><block var="Scale"/></custom-block></block><block var="Octave"/></list></block></block></script></block-definition><block-definition s="Get Note %&apos;Notation&apos; from Scientific Notation" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Extracts and reports the name of a note from its scientific pitch notation. (e.g., &quot;C#4&quot; reports as &quot;C#&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Output</l></list></block><block s="doSetVar"><l>Output</l><l></l></block><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportStringSize"><block var="Notation"/></block><l>1</l></block><script><block s="doSetVar"><l>Output</l><block s="reportJoinWords"><list><block var="Output"/><block s="reportLetter"><block var="i"/><block var="Notation"/></block></list></block></block></script></block><block s="doReport"><block var="Output"/></block></script></block-definition><block-definition s="Interval between Notes %&apos;Note 1&apos; and %&apos;Note 2&apos; in the %&apos;Scale&apos; Minor Scale" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note 1 Position</l><l>Note 2 Position</l><l>list</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>list</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><l>7</l><script><block s="doSetVar"><l>list</l><block s="reportConcatenatedLists"><list><block var="list"/><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Scale"/><block var="i"/></custom-block></list></block></block></script></block></script><comment w="90" collapsed="false">Creates a list consisting of the specified scale, starting in the first octave and ending in the seventh octave.</comment></block><block s="doWarp"><script><block s="doSetVar"><l>Note 1 Position</l><block s="reportListIndex"><block var="Note 1"/><block var="list"/></block></block><block s="doSetVar"><l>Note 2 Position</l><block s="reportListIndex"><block var="Note 2"/><block var="list"/></block></block></script><comment w="90" collapsed="false">Finds the position of Notes 1 and 2 in the extended scale.</comment></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Minor Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 1"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 1"/><l> is not in the </l><block var="Scale"/><l> Minor scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><custom-block s="Minor Scale %s"><block var="Scale"/></custom-block><custom-block s="Get Note %s from Scientific Notation"><block var="Note 2"/></custom-block></block></block><script><block s="doSayFor"><block s="reportJoinWords"><list><block var="Note 2"/><l> is not in the </l><block var="Scale"/><l> Minor scale.</l></list></block><l>4</l></block><block s="doStopThis"><l><option>all</option></l></block></script></block></script><comment w="90" collapsed="false">Checks to see if the specified notes are in the selected minor scale.</comment></block><block s="doReport"><block s="reportDifference"><block var="Note 2 Position"/><block var="Note 1 Position"/></block><comment w="90" collapsed="false">Reports the numerical interval between the specified notes in the selected minor scale.</comment></block></script></block-definition><block-definition s="%&apos;Scale Type&apos; Scale: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="261.91194196428586" collapsed="false">Reports all notes in a specified scale using the provided note and octave number as the starting note of the scale.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Chromatic<options>Chromatic&#xD;Major&#xD;Minor</options></input><input type="%s"></input><input type="%n"><options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Scale Type"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Chromatic</l><custom-block s="Chromatic Scale %s Octave %s Reporter"><block var="Note"/><block var="Octave"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Note %&apos;#&apos; in %&apos;Major/Minor&apos; Scale: %&apos;Note&apos; Octave: %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="239.6751395089286" collapsed="false">Reports the note in a specific position within a major or minor musical scale. (e.g., The third note in a C Major scale starting in the fourth octave is E4.)</comment><header></header><code></code><translations></translations><inputs><input type="%n" readonly="true">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%n"><options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Note %n in Major Scale %s Octave %n"><block var="#"/><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Note %n in Minor Scale %s Octave %n"><block var="#"/><block var="Note"/><block var="Octave"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Interval Between Notes %&apos;Note 1&apos; and %&apos;Note 2&apos; in the %&apos;Major/Minor&apos; Scale %&apos;Note&apos;" type="reporter" category="Music"><comment x="0" y="0" w="187.85714285714286" collapsed="false">Reports the distance in steps between two notes in the selected scale. (e.g., In the C Major scale, there are two intervals between C4 and E4.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="evaluate"><block s="reifyReporter"><script><custom-block s="Switch %s %br Cases %l %br Default %cs"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l></list></block><block s="reifyScript"><script><block s="doReport"><custom-block s="Interval between Notes %s and %s in the %s Major Scale"><block var="Note 1"/><block var="Note 2"/><block var="Note"/></custom-block></block></script><list></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>Minor</l></list></block><block s="reifyScript"><script><block s="doReport"><custom-block s="Interval between Notes %s and %s in the %s Minor Scale"><block var="Note 1"/><block var="Note 2"/><block var="Note"/></custom-block></block></script><list></list></block></list></block></list></block><script></script></custom-block></script><list></list></block><list></list></block></block></script></block></script></block-definition><block-definition s="Switch %&apos;Object&apos; $nl Cases %&apos;Cases&apos; $nl Default %&apos;defCode&apos;" type="command" category="control" helper="true"><comment x="0" y="0" w="90" collapsed="false">This block must be called. It executes a specific commands when corresponding conditions are met.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doForEach"><l>Case</l><block var="Cases"/><script><block s="doIf"><block s="reportListContainsItem"><block s="reportListItem"><l>1</l><block var="Case"/></block><block var="Object"/></block><script><block s="doRun"><block s="reportListItem"><l>2</l><block var="Case"/></block><list></list></block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block><block s="doRun"><block var="defCode"/><list></list></block><block s="doStopThis"><l><option>this block</option></l></block></script></block-definition><block-definition s="List of Chromatic Scales" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block><l>12</l></list></block></list></block><block s="reportNewList"><list><l>C#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l></list></block><l>11</l></list></block></list></block><block s="reportNewList"><list><l>Db</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Db</l><l>D</l><l>Eb</l><l>E</l><l>F</l><l>Gb</l><l>G</l><l>Ab</l><l>A</l><l>Bb</l><l>B</l><l>C</l></list></block><l>11</l></list></block></list></block><block s="reportNewList"><list><l>D</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l></list></block><l>10</l></list></block></list></block><block s="reportNewList"><list><l>D#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l></list></block><l>9</l></list></block></list></block><block s="reportNewList"><list><l>Eb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Eb</l><l>E</l><l>F</l><l>Gb</l><l>G</l><l>Ab</l><l>A</l><l>Bb</l><l>B</l><l>C</l><l>Db</l><l>D</l></list></block><l>9</l></list></block></list></block><block s="reportNewList"><list><l>E</l><block s="reportNewList"><list><block s="reportNewList"><list><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l></list></block><l>8</l></list></block></list></block><block s="reportNewList"><list><l>F</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>F#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>Gb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Gb</l><l>G</l><l>Ab</l><l>A</l><l>Bb</l><l>B</l><l>C</l><l>Db</l><l>D</l><l>Eb</l><l>E</l><l>F</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>G</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>G#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G#</l><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>Ab</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Ab</l><l>A</l><l>Bb</l><l>B</l><l>C</l><l>Db</l><l>D</l><l>Eb</l><l>E</l><l>F</l><l>Gb</l><l>G</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A</l><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>A#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A#</l><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>Bb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Bb</l><l>B</l><l>C</l><l>Db</l><l>D</l><l>Eb</l><l>E</l><l>F</l><l>Fb</l><l>G</l><l>Ab</l><l>A</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>B</l><block s="reportNewList"><list><block s="reportNewList"><list><l>B</l><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l></list></block><l>1</l></list></block></list></block></list></block></block></script></block-definition><block-definition s="Chromatic Scale Index %&apos;Scale&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Scale"/><custom-block s="List of Chromatic Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Chromatic Scale %&apos;Note&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note"/><custom-block s="List of Chromatic Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Chromatic Scale %&apos;Note&apos; Octave %&apos;Octave&apos; Reporter" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="Note"/><l>C</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Chromatic Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Chromatic Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Chromatic Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Chromatic Scale %s"><block var="Note"/></custom-block></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><block s="reportVariadicSum"><list><custom-block s="Chromatic Scale Index %s"><block var="Note"/></custom-block><l>1</l></list></block><l>12</l></block><custom-block s="Chromatic Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script></block></script></block-definition><block-definition s="Note [ Pitch: %&apos;Pitch&apos; Duration: %&apos;Duration&apos; ]" type="reporter" category="Music"><comment x="0" y="0" w="246.42857142857144" collapsed="false">This block reports a list that consists of a specified note name and duration. These values can be selected using the drop-down menu or entered directly.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>C3&#xD;D3&#xD;E3&#xD;F3&#xD;G3&#xD;A3&#xD;B3&#xD;C4&#xD;D4&#xD;E4&#xD;F4&#xD;G4&#xD;A4&#xD;B4&#xD;Sharps={&#xD;C#3&#xD;D#3&#xD;E#3&#xD;F#3&#xD;G#3&#xD;A#3&#xD;B#3&#xD;C#4&#xD;D#4&#xD;E#4&#xD;F#4&#xD;G#4&#xD;A#4&#xD;B#4&#xD;}&#xD;Flats={&#xD;Cb3&#xD;Db3&#xD;Eb3&#xD;Fb3&#xD;Gb3&#xD;Ab3&#xD;Bb3&#xD;Cb4&#xD;Db4&#xD;Eb4&#xD;Fb4&#xD;Gb4&#xD;Ab4&#xD;Bb4&#xD;}</options></input><input type="%s"><options>Whole&#xD;Half&#xD;Quarter&#xD;Eighth&#xD;Sixteenth&#xD;Thirtysecond&#xD;Dotted Notes={&#xD;Dotted Half&#xD;Dotted Quarter&#xD;Dotted Eighth&#xD;Dotted Sixteenth&#xD;}&#xD;Triplet Notes={&#xD;Half Triplet&#xD;Quarter Triplet&#xD;Eighth Triplet&#xD;Sixteenth Triplet&#xD;}</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="Pitch"/><block var="Duration"/></list></block></block></script></block-definition><block-definition s="Chromatic Scale" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports all notes in the western chromatic scale. A drop down menu determines whether the scale will be reported using sharps or flats.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block></block></script></block-definition><block-definition s="Major Scale %&apos;Note&apos; Octave %&apos;Octave&apos; Reporter" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="354.8333984374997" collapsed="false">Reports all notes in a given major scale in order, beginning with the input note and octave.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="Note"/></block><l>C</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Major Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Major Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><block s="reportVariadicSum"><list><custom-block s="Major Scale Index %s"><block var="Note"/></custom-block><l>1</l></list></block><l>7</l></block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script></block></script></block-definition><block-definition s="Minor Scale %&apos;Note&apos; Octave %&apos;Octave&apos; Reporter" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="354.8333984374997" collapsed="false">Reports all notes in a given minor scale in order, beginning with the input note and octave.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="Note"/></block><l>C</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Minor Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><l>1</l><custom-block s="Minor Scale Index %s"><block var="Note"/></custom-block></block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><block s="reportListItem"><block s="reportNumbers"><block s="reportVariadicSum"><list><custom-block s="Minor Scale Index %s"><block var="Note"/></custom-block><l>1</l></list></block><l>7</l></block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block></block></list></block></block></script></block></script></block-definition><block-definition s="Major Chord %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a major chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="Major Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block></list></block></block></script></block-definition><block-definition s="Notes of Scale %&apos;Scale&apos; before %&apos;Note&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Scale"/></block><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block var="Scale"/></block><block var="Note"/></list></block></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="Scale"/></block><block var="Subscale"/></block></script><script><block s="doReport"><block var="Subscale"/></block></script></block></script></block></script></block-definition><block-definition s="Notes of Scale %&apos;Scale&apos; after %&apos;Note&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><block s="reportListAttribute"><l><option>length</option></l><block var="Scale"/></block><l>1</l><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block var="Scale"/></block><block var="Note"/></list></block></block><script><block s="doInsertInList"><block s="reportListItem"><block var="i"/><block var="Scale"/></block><l>1</l><block var="Subscale"/></block></script><script><block s="doReport"><block var="Subscale"/></block></script></block></script></block></script></block-definition><block-definition s="Major Chords in a Major Scale" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">This block reports the chord positions in a major scale that use major chords. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>1</l><l>4</l><l>5</l></list></block></block></script></block-definition><block-definition s="Minor Chords in a Major Scale" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">This block reports the chord positions in a major scale that use minor chords. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>2</l><l>3</l><l>6</l></list></block></block></script></block-definition><block-definition s="Major Chords in a Minor Scale" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">This block reports the chord positions in a minor scale that use major chords. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>3</l><l>6</l><l>7</l></list></block></block></script></block-definition><block-definition s="Minor Chords in a Minor Scale" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">This block reports the chord positions in a major scale that use major chords. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>1</l><l>4</l><l>5</l></list></block></block></script></block-definition><block-definition s="Position of Notes in Diminished Scale" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>1</l><l>3</l><l>4</l><l>6</l><l>7</l><l>9</l><l>10</l><l>12</l></list></block></block></script></block-definition><block-definition s="Diminished Scale %&apos;Note&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Scale</l><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Scale</l><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block var="Note"/></list></block><custom-block s="Notes of Scale %s after %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block><custom-block s="Notes of Scale %s before %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block></list></block><comment w="139.16666666666669" collapsed="false">Arranges the Chromatic scale to begin with the input note.</comment></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doAddToList"><block s="reportListItem"><block s="reportListItem"><block var="i"/><custom-block s="Position of Notes in Diminished Scale"></custom-block></block><block var="Scale"/></block><block var="Subscale"/></block></script><comment w="90" collapsed="false">Selects the notes of the Diminished scale from the Chromatic scale.</comment></block><block s="doReport"><block var="Subscale"/></block></script><scripts><comment x="248.79622395833346" y="10" w="268.33333333333337" collapsed="false">Reports all notes in a given diminished scale in order, beginning with the input note. Does not include octave.</comment></scripts></block-definition><block-definition s="Diminished Scale %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="296.6563151041664" collapsed="false">Reports all notes in a given diminished scale in order, beginning with the input note and octave.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Scale</l><l>Subscale</l></list></block><block s="doSetVar"><l>Subscale</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>Scale</l><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block var="Octave"/></list></block></autolambda><list></list></block><custom-block s="Notes of Scale %s after %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><block s="reportVariadicSum"><list><block var="Octave"/><l>1</l></list></block></list></block></autolambda><list></list></block><custom-block s="Notes of Scale %s before %s"><custom-block s="Chromatic Scale"></custom-block><block var="Note"/></custom-block></block></list></block><comment w="90" collapsed="false">Arranges the Chromatic scale to begin with the input note and octave.</comment></block><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doAddToList"><block s="reportListItem"><block s="reportListItem"><block var="i"/><custom-block s="Position of Notes in Diminished Scale"></custom-block></block><block var="Scale"/></block><block var="Subscale"/><comment w="90" collapsed="false">Selects the notes of the Diminished scale from the Chromatic scale.</comment></block></script></block><block s="doReport"><block var="Subscale"/></block></script></block-definition><block-definition s="Roman Numeral Conversion" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>I</l><l>1</l></list></block><block s="reportNewList"><list><l>II</l><l>2</l></list></block><block s="reportNewList"><list><l>II°</l><l>2</l></list></block><block s="reportNewList"><list><l>III</l><l>3</l></list></block><block s="reportNewList"><list><l>IV</l><l>4</l></list></block><block s="reportNewList"><list><l>V</l><l>5</l></list></block><block s="reportNewList"><list><l>VI</l><l>6</l></list></block><block s="reportNewList"><list><l>VII</l><l>7</l></list></block><block s="reportNewList"><list><l>VII°</l><l>7</l></list></block></list></block></block></script></block-definition><block-definition s="Converted Roman Numeral %&apos;Roman Numeral&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Converts roman numerals to arabic numerals using an association table.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Roman Numeral"/><custom-block s="Roman Numeral Conversion"></custom-block></custom-block></block></block></script></block-definition><block-definition s="%&apos;Note&apos; Diminished Chord %&apos;Octave&apos; Octave" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a diminished chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="Diminished Scale %s Octave %s"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="Diminished Scale %s Octave %s"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="Diminished Scale %s Octave %s"><block var="Note"/><block var="Octave"/></custom-block></block></list></block></block></script></block-definition><block-definition s="Minor Chord %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes of a minor chord, given the starting note and octave of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="Minor Scale %s Octave %n Reporter"><block var="Note"/><block var="Octave"/></custom-block></block></list></block></block></script></block-definition><block-definition s="Major Chord %&apos;Note&apos; Octave %&apos;Octave&apos; Chord Position %&apos;Roman Numeral&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">I<options>I&#xD;ii&#xD;iii&#xD;IV&#xD;V&#xD;vi&#xD;vii°</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Major Chords in a Major Scale"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Major Chord %s Octave %n"><block s="reportListItem"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script><comment w="90" collapsed="false">Outputs the major chords in a scale.</comment></block><block s="doIf"><block s="reportListContainsItem"><custom-block s="Minor Chords in a Major Scale"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Minor Chord %s Octave %n"><block s="reportListItem"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><custom-block s="Major Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script><comment w="90" collapsed="false">Outputs the minor chords in a scale.</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><l>7</l></list></block><script><block s="doReport"><custom-block s="%s Diminished Chord %s Octave"><block s="reportListItem"><l>8</l><custom-block s="Diminished Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script><comment w="90" collapsed="false">Outputs the diminished chord in a scale.</comment></block></script></block></script></block-definition><block-definition s="Minor Chord %&apos;Note&apos; Octave %&apos;Octave&apos; Chord Position %&apos;Roman Numeral&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s">C<options>C&#xD;D&#xD;E&#xD;F&#xD;G&#xD;A&#xD;B&#xD;Sharps={&#xD;C#&#xD;D#&#xD;E#&#xD;F#&#xD;G#&#xD;A#&#xD;B#&#xD;}&#xD;Flats={&#xD;Cb&#xD;Db&#xD;Eb&#xD;Fb&#xD;Gb&#xD;Ab&#xD;Bb&#xD;}</options></input><input type="%n">4<options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true">i<options>i&#xD;ii°&#xD;III&#xD;iv&#xD;v&#xD;VI&#xD;VII</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="Major Chords in a Minor Scale"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Major Chord %s Octave %n"><block s="reportListItem"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script><comment w="90" collapsed="false">Outputs the major chords in a scale.</comment></block><block s="doIf"><block s="reportListContainsItem"><custom-block s="Minor Chords in a Minor Scale"></custom-block><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block></block><script><block s="doReport"><custom-block s="Minor Chord %s Octave %n"><block s="reportListItem"><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><custom-block s="Minor Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script><comment w="90" collapsed="false">Outputs the minor chords in a scale.</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="Converted Roman Numeral %s"><block var="Roman Numeral"/></custom-block><l>2</l></list></block><script><block s="doReport"><custom-block s="%s Diminished Chord %s Octave"><block s="reportListItem"><l>2</l><custom-block s="Diminished Scale %s"><block var="Note"/></custom-block></block><block var="Octave"/></custom-block></block></script><comment w="90" collapsed="false">Outputs the diminished chord in a scale.</comment></block></script></block></script></block-definition><block-definition s="List of Major Scales" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Each major scale is listed, along with the notes it contains and the  number of notes in the scale before an octave change.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>D</l><l>E</l><l>F</l><l>G</l><l>A</l><l>B</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>C#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C#</l><l>D#</l><l>E#</l><l>F#</l><l>G#</l><l>A#</l><l>B#</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>Db</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Db</l><l>Eb</l><l>F</l><l>Gb</l><l>Ab</l><l>Bb</l><l>C</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>D</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D</l><l>E</l><l>F#</l><l>G</l><l>A</l><l>B</l><l>C#</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>D#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Eb</l><l>F</l><l>G</l><l>Ab</l><l>Bb</l><l>C</l><l>D</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>Eb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Eb</l><l>F</l><l>G</l><l>Ab</l><l>Bb</l><l>C</l><l>D</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>E</l><block s="reportNewList"><list><block s="reportNewList"><list><l>E</l><l>F#</l><l>G#</l><l>A</l><l>B</l><l>C#</l><l>D#</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>F</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F</l><l>G</l><l>A</l><l>Bb</l><l>C</l><l>D</l><l>E</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>F#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F#</l><l>G#</l><l>A#</l><l>B</l><l>C#</l><l>D#</l><l>E#</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>Gb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Gb</l><l>Ab</l><l>Bb</l><l>Cb</l><l>Db</l><l>Eb</l><l>F</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>G</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G</l><l>A</l><l>B</l><l>C</l><l>D</l><l>E</l><l>F#</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>G#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Ab</l><l>Bb</l><l>C</l><l>Db</l><l>Eb</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>Ab</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Ab</l><l>Bb</l><l>C</l><l>Db</l><l>Eb</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A</l><l>B</l><l>C#</l><l>D</l><l>E</l><l>F#</l><l>G#</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A#</l><l>B#</l><l>C</l><l>D#</l><l>E#</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>Bb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Bb</l><l>C</l><l>D</l><l>Eb</l><l>F</l><l>G</l><l>A</l></list></block><l>1</l></list></block></list></block><block s="reportNewList"><list><l>B</l><block s="reportNewList"><list><block s="reportNewList"><list><l>B</l><l>C#</l><l>D#</l><l>E</l><l>F#</l><l>G#</l><l>A#</l></list></block><l>1</l></list></block></list></block></list></block></block></script></block-definition><block-definition s="List of Minor Scales" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Each minor scale is listed, along with the notes it contains and the  number of notes in the scale before an octave change.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>D</l><l>Eb</l><l>F</l><l>G</l><l>Ab</l><l>Bb</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>C#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>C#</l><l>D#</l><l>E</l><l>F#</l><l>G#</l><l>A</l><l>B</l></list></block><l>7</l></list></block></list></block><block s="reportNewList"><list><l>D</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D</l><l>E</l><l>F</l><l>G</l><l>A</l><l>Bb</l><l>C</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>D#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>D#</l><l>E#</l><l>F</l><l>G#</l><l>A#</l><l>B</l><l>C#</l></list></block><l>6</l></list></block></list></block><block s="reportNewList"><list><l>Eb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Eb</l><l>F</l><l>Gb</l><l>Ab</l><l>Bb</l><l>Cb</l><l>Db</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>E</l><block s="reportNewList"><list><block s="reportNewList"><list><l>E</l><l>F#</l><l>G</l><l>A</l><l>B</l><l>C</l><l>D</l></list></block><l>5</l></list></block></list></block><block s="reportNewList"><list><l>F</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F</l><l>G</l><l>Ab</l><l>Bb</l><l>C</l><l>Db</l><l>Eb</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>F#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F#</l><l>G#</l><l>A</l><l>B</l><l>C#</l><l>D</l><l>E</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>Gb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>F#</l><l>G#</l><l>A</l><l>B</l><l>C#</l><l>D</l><l>E</l></list></block><l>4</l></list></block></list></block><block s="reportNewList"><list><l>G</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G</l><l>A</l><l>Bb</l><l>C</l><l>D</l><l>Eb</l><l>F</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>G#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>G#</l><l>A#</l><l>B</l><l>C#</l><l>D#</l><l>E</l><l>F#</l></list></block><l>3</l></list></block></list></block><block s="reportNewList"><list><l>Ab</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Ab</l><l>Bb</l><l>Cb</l><l>Db</l><l>Eb</l><l>Fb</l><l>Gb</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A</l><l>B</l><l>C</l><l>D</l><l>E</l><l>F</l><l>G</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>A#</l><block s="reportNewList"><list><block s="reportNewList"><list><l>A#</l><l>B#</l><l>C#</l><l>D#</l><l>E#</l><l>F#</l><l>G#</l></list></block><l>2</l></list></block></list></block><block s="reportNewList"><list><l>Bb</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Bb</l><l>C</l><l>Db</l><l>Eb</l><l>F</l><l>Gb</l><l>Ab</l></list></block><l>1</l></list></block></list></block><block s="reportNewList"><list><l>B</l><block s="reportNewList"><list><block s="reportNewList"><list><l>B</l><l>C#</l><l>D</l><l>E</l><l>F#</l><l>G</l><l>A</l></list></block><l>1</l></list></block></list></block></list></block></block></script></block-definition><block-definition s="Major Scale Index %&apos;Scale&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the number of notes in the specified scale before an octave change.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Scale"/><custom-block s="List of Major Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Minor Scale Index %&apos;Scale&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the number of notes in the selected scale before an octave change.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Scale"/><custom-block s="List of Minor Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Major Scale %&apos;Note&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes in the specified scale.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note"/><custom-block s="List of Major Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="Minor Scale %&apos;Note&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Reports the notes in the specified minor scale.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note"/><custom-block s="List of Minor Scales"></custom-block></custom-block></block></block></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Chord %&apos;Note&apos; Octave %&apos;Octave&apos;" type="reporter" category="Music"><comment x="0" y="0" w="163.5714285714284" collapsed="false">Reports the notes comprising a major or minor chord, using the specified note and octave as the root note of the chord.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Major Chord %s Octave %n"><block var="Note"/><block var="Octave"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Minor Chord %s Octave %n"><block var="Note"/><block var="Octave"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="%&apos;Major/Minor&apos; Chord %&apos;Note&apos; Octave %&apos;Octave&apos; Chord Position %&apos;Numeral&apos;" type="reporter" category="Music"><comment x="0" y="0" w="337.8571428571429" collapsed="false">This block finds the notes in a specified chord along the selected scale. Roman numerals differentiate chord positions from octave numbers (e.g., the Roman numeral “I” reports the notes of the first chord in the sequence). Upper case Roman numerals represent major chords within the scale. Lower case Roman numerals represent minor chords within the scale.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Major<options>Major&#xD;Minor</options></input><input type="%s"></input><input type="%n"><options>0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7</options></input><input type="%s" readonly="true"><options>Major Positions={&#xD;I&#xD;ii&#xD;iii&#xD;IV&#xD;V&#xD;vi&#xD;vii°&#xD;}&#xD;Minor Positions={&#xD;i&#xD;ii°&#xD;III&#xD;iv&#xD;v&#xD;VI&#xD;VII&#xD;}</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Major/Minor"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Major</l><custom-block s="Major Chord %s Octave %n Chord Position %s"><block var="Note"/><block var="Octave"/><block var="Numeral"/></custom-block></list></block><block s="reportNewList"><list><l>Minor</l><custom-block s="Minor Chord %s Octave %n Chord Position %s"><block var="Note"/><block var="Octave"/><block var="Numeral"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Add Note %&apos;Note&apos; to Chord %&apos;Chord&apos;" type="reporter" category="Music"><comment x="0" y="0" w="280" collapsed="false">This block reports a chord and appends an additional note.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>New Chord</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>New Chord</l><block var="Chord"/></block><block s="doAddToList"><block var="Note"/><block var="New Chord"/></block><block s="doReport"><block var="New Chord"/></block></script></block></script></block-definition><block-definition s="Chord Rest" type="reporter" category="Music"><comment x="0" y="0" w="189.2857142857143" collapsed="false">May be paired with a musical duration to insert a rest into a sequence of chords.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><l>R</l><l>R</l><l>R</l></list></block></block></script></block-definition><block-definition s="Measure %&apos;Pairs&apos;" type="reporter" category="Music"><comment x="0" y="0" w="286.4285714285714" collapsed="false">This block is used to group sequences of notes and chords into measures. Each note or chord in the measure is paired with a note duration. The pairs are entered into the block using a list. </comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block var="Pairs"/></block></script></block-definition><block-definition s="Section %&apos;Measures&apos;" type="reporter" category="Music"><comment x="0" y="0" w="428.2220145089286" collapsed="false">This code block groups measures together. This can be helpful for separating groups of measures that repeat in various places throughout a song, like verses and choruses. This block works with both notes and chords. To add measures to a section, put the measures into a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>Section</l></list></block><block s="doSetVar"><l>Section</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>Measure Number</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Measures"/></block><script><block s="doSetVar"><l>Section</l><block s="reportConcatenatedLists"><list><block var="Section"/><block s="reportListItem"><block var="Measure Number"/><block var="Measures"/></block></list></block></block></script></block><block s="doReport"><block var="Section"/></block></script></block-definition><block-definition s="Beats in Measure %&apos;Measure&apos; $nl Time Signature %&apos;Time&apos;" type="reporter" category="Music"><comment x="0" y="0" w="297.14285714285717" collapsed="false">This block determines if the combined durations of notes or chords within a measure are correct. The combined duration of notes within a measure must equal the number of beats specified by the time signature. For example, in 4/4 time, there can be four quarter notes within a measure. The Beats in Measure reports the discrepancy between the number of actual beats in a measure versus the required number of beats.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">4/4<options>4/4&#xD;3/4&#xD;2/4&#xD;6/8&#xD;5/4&#xD;7/4&#xD;9/8&#xD;12/8</options></input></inputs><script><block s="doDeclareVariables"><list><l>Beats Necessary</l><l>Actual Beats</l></list></block><block s="doSetVar"><l>Beats Necessary</l><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Time"/><block s="reportNewList"><list><block s="reportNewList"><list><l>4/4</l><l>4</l></list></block><block s="reportNewList"><list><l>3/4</l><l>3</l></list></block><block s="reportNewList"><list><l>2/4</l><l>2</l></list></block><block s="reportNewList"><list><l>6/8</l><l>3</l></list></block><block s="reportNewList"><list><l>5/4</l><l>5</l></list></block><block s="reportNewList"><list><l>7/4</l><l>7</l></list></block><block s="reportNewList"><list><l>9/8</l><l>4.5</l></list></block><block s="reportNewList"><list><l>12/8</l><l>5</l></list></block></list></block></custom-block></block></block><block s="doSetVar"><l>Actual Beats</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Measure"/></block><script><block s="doSetVar"><l>Actual Beats</l><block s="reportVariadicSum"><list><block var="Actual Beats"/><custom-block s="Note Duration %s"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="Measure"/></block></block></custom-block></list></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="Actual Beats"/><l>of</l><block var="Beats Necessary"/><l>beats</l></list></block></block></script></block-definition><block-definition s="Note Duration %&apos;Duration&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="311.42857142857144" collapsed="false">Each note duration is assigned a numerical value, with a whole note equallying four beats.&#xD;&#xD;Dotted Notes are equal to the named note plus half of the named note&apos;s duration.&#xD;&#xD;Triplet notes are equal in duration to two of the named notes divided by three.&#xD;&#xD;Unlike the &quot;Adjusted Note Duration&quot; block, the values reported here are not linked to the global temp reporter.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Duration"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Whole</l><l>4</l></list></block><block s="reportNewList"><list><l>Half</l><l>2</l></list></block><block s="reportNewList"><list><l>Quarter</l><l>1</l></list></block><block s="reportNewList"><list><l>Eighth</l><l>.5</l></list></block><block s="reportNewList"><list><l>Sixteenth</l><l>.25</l></list></block><block s="reportNewList"><list><l>Thirtysecond</l><l>.125</l></list></block><block s="reportNewList"><list><l>Dotted Whole</l><l>6</l></list></block><block s="reportNewList"><list><l>Dotted Half</l><l>3</l></list></block><block s="reportNewList"><list><l>Dotted Quarter</l><l>1.5</l></list></block><block s="reportNewList"><list><l>Dotted Eighth</l><l>.75</l></list></block><block s="reportNewList"><list><l>Dotted Sixteenth</l><l>.345</l></list></block><block s="reportNewList"><list><l>Dotted Thirtysecond</l><l>0.1875</l></list></block><block s="reportNewList"><list><l>Half Triplet</l><block s="reportQuotient"><l>4</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Quarter Triplet</l><block s="reportQuotient"><l>2</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Eighth Triplet</l><block s="reportQuotient"><l>1</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Sixteenth Triplet</l><block s="reportQuotient"><l>.5</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Whole Triplet</l><block s="reportQuotient"><l>8</l><l>3</l></block></list></block><block s="reportNewList"><list><l>Thirtysecond Triplet</l><block s="reportQuotient"><l>.125</l><l>3</l></block></list></block></list></block></custom-block></block></block></script></block-definition><block-definition s="Melody with Instrument %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note/Duration Pairs</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>Pair #</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Notation"/></block><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportConcatenatedLists"><list><block var="Note/Duration Pairs"/><block s="reportListItem"><block var="Pair #"/><block var="Notation"/></block></list></block></block></script></block><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Melody</l><block var="Instrument"/></list></block></list></block><block var="Note/Duration Pairs"/></list></block></block></script></block></script></block-definition><block-definition s="Melody Loop with Instrument %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Note/Duration Pairs</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>Pair #</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Notation"/></block><script><block s="doSetVar"><l>Note/Duration Pairs</l><block s="reportConcatenatedLists"><list><block var="Note/Duration Pairs"/><block s="reportListItem"><block var="Pair #"/><block var="Notation"/></block></list></block></block></script></block><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Melody</l><block var="Instrument"/></list></block></list></block><block var="Note/Duration Pairs"/></list></block></block></script></block></script></block-definition><block-definition s="Chord Track with %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Chords</l><block var="Instrument"/></list></block></list></block><block var="Notation"/></list></block></block></script></block-definition><block-definition s="Chord Loop with %&apos;Instrument&apos; Notation %&apos;Notation&apos;" type="reporter" category="Music" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Chords</l><block var="Instrument"/></list></block></list></block><block var="Notation"/></list></block></block></script></block-definition><block-definition s="Drum Pattern %&apos;Step&apos;" type="reporter" category="Music"><comment x="0" y="0" w="245.9644252232142" collapsed="false">This block reports a series of beats that tell the drum when to play. Beats are represented as an “X,” which can be typed into the block. Beats can be added or subtracted using the arrows on the right of the block.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Steps in Sequence</l></list></block><block s="doSetVar"><l>Steps in Sequence</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Step"/></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="Step"/></block><block var="Steps in Sequence"/></block></script></block><block s="doReport"><block var="Steps in Sequence"/></block></script></block-definition><block-definition s="Drum %&apos;Instrument&apos; Loop %&apos;Pattern&apos; Beat Duration %&apos;Beat&apos;" type="reporter" category="Music"><comment x="0" y="0" w="288.5714285714286" collapsed="false">This block reports a drum pattern, assigns a drum to it, and sets the duration value of each item in the pattern. Different drums can be selected from the drop-down menu. Beat durations can be selected from the drop-down menu or entered directly.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Snare Drum<options>Bass Drum&#xD;Snare Drum&#xD;Crash Cymbal&#xD;Cabasa&#xD;Toms={&#xD;High Tom&#xD;Mid Tom&#xD;}&#xD;Hi-Hats={&#xD;Closed Hi-hat&#xD;Open Hi-hat&#xD;}</options></input><input type="%l"></input><input type="%s">Eighth<options>Quarter&#xD;Eighth&#xD;Sixteenth</options></input></inputs><script><block s="doDeclareVariables"><list><l>notes and durations</l></list></block><block s="doSetVar"><l>notes and durations</l><block s="reportNewList"><list><block s="reportNewList"><list><l>Loop-Drums</l><block var="Instrument"/></list></block></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Pattern"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block var="Pattern"/></block><block var="Beat"/></list></block><block var="notes and durations"/></block></script></block><block s="doReport"><block var="notes and durations"/></block></script></block-definition><block-definition s="Track %&apos;Type&apos; Instrument %&apos;Instrument&apos; $nl Musical Notation (Notes or Chords) %&apos;Notation&apos;" type="reporter" category="Music"><comment x="0" y="0" w="272.8571428571429" collapsed="false">This code block specifies the type of track to be played and assigns it an instrument. Both the track type and instrument are set using drop-down menus. This block accepts notes or chords paired with corresponding durations. This block also allows for the creation of note or chord loops that will repeat for the whole duration of the song. Both types of loops may be selected from the track drop-down menu. For a loop to play, it must have an accompanying track that is not a loop.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Melody<options>Melody&#xD;Chords&#xD;Loops={&#xD;Loop-Melody&#xD;Loop-Chords&#xD;}</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Type"/><block s="reportNewList"><list><block s="reportNewList"><list><l>Melody</l><custom-block s="Melody with Instrument %s Notation %mult%s"><block var="Instrument"/><list><block var="Notation"/></list></custom-block></list></block><block s="reportNewList"><list><l>Chords</l><custom-block s="Chord Track with %s Notation %s"><block var="Instrument"/><block var="Notation"/></custom-block></list></block><block s="reportNewList"><list><l>Loop-Melody</l><custom-block s="Melody Loop with Instrument %s Notation %mult%s"><block var="Instrument"/><list><block var="Notation"/></list></custom-block></list></block><block s="reportNewList"><list><l>Loop-Chords</l><custom-block s="Chord Loop with %s Notation %s"><block var="Instrument"/><block var="Notation"/></custom-block></list></block></list></block></custom-block></block></block></script></block></script></block-definition><block-definition s="Play Tracks %&apos;tracks&apos; Time Signature: %&apos;timeSignature&apos;" type="command" category="Music"><comment x="0" y="0" w="198.57142857142858" collapsed="false">This block is used to play multiple music tracks. In most cases, several tracks with musical instruments are played in parallel. </comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input><input type="%s" readonly="true">4/4<options>4/4&#xD;3/4&#xD;5/4&#xD;7/4&#xD;6/8&#xD;9/8&#xD;12/8</options></input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_playtracks(tracklist, timesignature)</l><list><block var="tracks"/><block var="timeSignature"/><block s="getTempo"></block></list></block></script></block-definition><block-definition s="Convert MIDI %&apos;#&apos; to Note" type="reporter" category="Music"><comment x="0" y="0" w="217.80831473214303" collapsed="false">Reports the corresponding note (in scientific pitch notation) for the specified MIDI number.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>Octave</l><l>Note</l></list></block><block s="doSetVar"><l>Octave</l><block s="reportLetter"><l>1</l><block s="reportDifference"><block s="reportQuotient"><block var="#"/><l>12</l></block><l>1</l></block></block></block><block s="doSetVar"><l>Note</l><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block var="#"/><l>12</l></block><l>1</l></list></block><block s="reportNewList"><list><l>C</l><l>C#</l><l>D</l><l>D#</l><l>E</l><l>F</l><l>F#</l><l>G</l><l>G#</l><l>A</l><l>A#</l><l>B</l></list></block></block></block><block s="doReport"><block s="reportJoinWords"><list><block var="Note"/><block var="Octave"/></list></block></block></script></block-definition><block-definition s="Convert Note %&apos;Note&apos; to MIDI" type="reporter" category="Music"><comment x="0" y="0" w="273.5714285714286" collapsed="false">Reports the midi number of the specified note. The note should be entered using scientific pitch notation (e.g., &quot;C4&quot;).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportVariadicSum"><list><custom-block s="MIDI %s Note"><custom-block s="Get Note %s"><block var="Note"/></custom-block></custom-block><block s="reportVariadicProduct"><list><l>12</l><block s="reportDifference"><custom-block s="Get Octave %s"><block var="Note"/></custom-block><l>1</l></block></list></block></list></block></block></script></block-definition><block-definition s="Get Note %&apos;Note + Octave&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Extracts the note name from the provided scientific pitch notation. (e.g., An input of &quot;C4&quot; produces an output of &quot;C&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportStringSize"><block var="Note + Octave"/></block><l>2</l></list></block><script><block s="doReport"><block s="reportLetter"><l>1</l><block var="Note + Octave"/></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportLetter"><l>1</l><block var="Note + Octave"/></block><block s="reportLetter"><l>2</l><block var="Note + Octave"/></block></list></block></block></script></block-definition><block-definition s="MIDI %&apos;Note&apos; Note" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Association list for note names and their corresponding MIDI numbers in the first octave. Used to convert note names to MIDI. </comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>2</l><custom-block s="assoc %s %l"><block var="Note"/><block s="reportNewList"><list><block s="reportNewList"><list><l>C</l><l>24</l></list></block><block s="reportNewList"><list><l>C#</l><l>25</l></list></block><block s="reportNewList"><list><l>D</l><l>26</l></list></block><block s="reportNewList"><list><l>D#</l><l>27</l></list></block><block s="reportNewList"><list><l>E</l><l>28</l></list></block><block s="reportNewList"><list><l>F</l><l>29</l></list></block><block s="reportNewList"><list><l>F#</l><l>30</l></list></block><block s="reportNewList"><list><l>G</l><l>31</l></list></block><block s="reportNewList"><list><l>G#</l><l>32</l></list></block><block s="reportNewList"><list><l>A</l><l>33</l></list></block><block s="reportNewList"><list><l>A#</l><l>34</l></list></block><block s="reportNewList"><list><l>B</l><l>35</l></list></block></list></block></custom-block></block></block></script></block-definition><block-definition s="assoc %&apos;key&apos; %&apos;a-list&apos;" type="reporter" category="lists"><comment x="0" y="0" w="289.3333333333333" collapsed="false">The second input is an &quot;association list,&quot; a list of two-item lists.  Each of those smaller lists has a &quot;key&quot; as its first item and a &quot;value&quot; as its second.  ASSOC reports the first key-value pair in the association list whose key matches the first input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="a-list"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="key"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="a-list"/></block></block></script></block><block s="doReport"><custom-block s="assoc %s %l"><block var="key"/><block s="reportCDR"><block var="a-list"/></block></custom-block></block></script></block-definition><block-definition s="Get Octave %&apos;Note&apos;" type="reporter" category="Music" helper="true"><comment x="0" y="0" w="90" collapsed="false">Extracts the octave number from the provided scientific pitch notation. (e.g., An input of &quot;C4&quot; produces an output of &quot;4&quot;.)</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportStringSize"><block var="Note"/></block><l>2</l></list></block><script><block s="doReport"><block s="reportLetter"><l>2</l><block var="Note"/></block></block></script></block><block s="doReport"><block s="reportLetter"><l>3</l><block var="Note"/></block></block></script></block-definition><block-definition s="Initialize TuneScope" type="command" category="Music" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/WebAudioFontPlayer.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/webmidi.iife.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0020_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0121_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0180_Chaos_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0230_Aspirin_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0241_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0260_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0320_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0350_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0400_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0420_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0460_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0560_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0580_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0600_GeneralUserGS_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0650_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0680_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0700_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0710_Chaos_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0730_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/0770_SBLive_sf2.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1040_Aspirin_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1050_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/1070_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12835_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12840_6_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12842_0_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12846_0_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12847_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12848_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12849_21_FluidR3_GM_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/12869_6_JCLive_sf2_file.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/TS_init.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/TuneScope/TuneScope.js</l></list></block><block s="doWaitUntil"><block s="reportApplyExtension"><l>ts_loaded()</l><list></list></block></block></script></block-definition><block-definition s="Play MIDI Controller: %&apos;controller_name&apos; Instrument: %&apos;instrument&apos;" type="command" category="Music"><comment x="0" y="0" w="285.7142857142857" collapsed="false">Passes through the signal from a MIDI controller, allowing the user to play the controller using the assigned instrument. The name of the MIDI controller must be input exactly as it appears on the user&apos;s computer.</comment><header></header><code></code><translations></translations><inputs><input type="%s">MPK mini 3<options>MPK mini 3&#xD;MPK mini play&#xD;MPK Mini Mk II&#xD;M-audio Keystation 49es</options></input><input type="%s" readonly="true">Piano<options>Piano&#xD;Brass={&#xD;French Horn&#xD;Trumpet&#xD;Tuba&#xD;}&#xD;Strings={&#xD;Banjo&#xD;Bass, Acoustic&#xD;Bass, Electric (Finger)&#xD;Cello&#xD;Guitar, Acoustic&#xD;Guitar, Electric&#xD;Guitar, Overdrive&#xD;Harp&#xD;Koto&#xD;Sitar&#xD;Violin&#xD;}&#xD;Woodwinds={&#xD;Bassoon&#xD;Clarinet&#xD;Flute&#xD;Oboe&#xD;Saxophone&#xD;Shakuhachi&#xD;}&#xD;Drums={&#xD;Cabasa&#xD;Snare Drum&#xD;Bass Drum&#xD;Closed Hi-Hat&#xD;Open Hi-Hat&#xD;Mid Tom&#xD;High Tom&#xD;Crash Cymbal&#xD;}&#xD;Other={&#xD;Accordion&#xD;Marimba&#xD;Music Box&#xD;Organ&#xD;Vibraphone&#xD;}</options></input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_playMIDI(controller, instrument)</l><list><block var="controller_name"/><block var="instrument"/></list></block></script></block-definition><block-definition s="Tone Number: %&apos;number&apos; Frequency: %&apos;frequency&apos; Amplitude: %&apos;amplitude&apos;" type="command" category="Music"><comment x="0" y="0" w="292.14285714285717" collapsed="false">This block assigns a number, frequency, and amplitude to a tone.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_settone(id, frequency, amplitude)</l><list><block var="number"/><block var="frequency"/><block var="amplitude"/></list></block></script></block-definition><block-definition s="Tone Number: %&apos;Number&apos; %&apos;newOn&apos; On/Off" type="command" category="Music"><comment x="0" y="0" w="371.424916294643" collapsed="false">This block turns the specified tone on or off. This block will play a sine wave. </comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%b"></input></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_turntoneon(id, bool)</l><list><block var="Number"/><block var="newOn"/></list></block></script></block-definition><block-definition s="Tone Off" type="command" category="Music"><comment x="0" y="0" w="234.87792968750003" collapsed="false">This block turns off all the tones currently playing. </comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="Initialize TuneScope"></custom-block><block s="doApplyExtension"><l>ts_stoptones()</l><list></list></block></script></block-definition><block-definition s="WEBSer $flag-1-0-255-0 open %&apos;baudRate&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">115200<options>9600&#xD;19200&#xD;38400&#xD;57600&#xD;115200</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>srl_open(baud, buffer)</l><list><block var="baudRate"/><l>15000</l></list></block></block></script></block-definition><block-definition s="WEBSer $flag-1-255-0-0 close %&apos;port&apos;" type="command" category="other"><comment x="0" y="0" w="90" collapsed="true">Close port.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">port</input></inputs><script><block s="doApplyExtension"><l>srl_close(port)</l><list><block var="port"/></list></block></script></block-definition><block-definition s="WEBSer $flash-1-0-255-0 read %&apos;port&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">port</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>srl_read(port)</l><list><block var="port"/></list></block></block></script></block-definition><block-definition s="WEBSer $flash-1-0-255-0 write %&apos;port&apos; %&apos;bytes&apos;" type="command" category="other"><comment x="0" y="0" w="193.33528645833292" collapsed="true">Write to the port a list containing numbers</comment><header></header><code></code><translations></translations><inputs><input type="%s">port</input><input type="%l"></input></inputs><script><block s="doApplyExtension"><l>srl_write(port, bytes)</l><list><block var="port"/><block var="bytes"/></list></block></script></block-definition><block-definition s="$cloudOutline MQTT connect to %&apos;broker&apos; $nl $options-1-192-192-192 %&apos;options&apos;" type="command" category="MQTT"><comment x="0" y="0" w="416.6666666666666" collapsed="false">Connect to a broker&#xD;&#xD;The options are not required but can be filled if needed&#xD;&#xD;1. username (some brokers need this)&#xD;2. password (some brokers need this)&#xD;3. keepalive (default time is 60 seconds but some brokers need a shorter time)&#xD;4. connection callback (ringed set of scripts to be run when connection is made or remade)&#xD;&#xD;Note: The connection callback doesn&apos;&apos;t have to be the 4th option - it just has to be the last (or only) option.&#xD;&#xD;ADVANCED: The brokers offered in the menu are accessed using default ports and  basepaths (if needed).  If accessing other brokers, the complete urls should be formed like this:&#xD;&#xD;siteURL:port/basepath &#xD;e.g mqtt.eclipseprojects.io:443/mqtt&#xD;&#xD;&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%mult%s"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqtt.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqttExtension.js</l></list></block><block s="doIf"><block s="reportNot"><block s="reportJoinWords"><block var="options"/></block></block><script><block s="doSetVar"><l>options</l><block s="reportNewList"><list></list></block></block></script></block><block s="doDeclareVariables"><list><l>connection status</l><l>callback</l></list></block><block s="doSetVar"><l>connection status</l><l>connecting</l></block><block s="doSetVar"><l>callback</l><l></l></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l><option>last</option></l><block var="options"/></block><l><option>command</option></l></block><script><block s="doSetVar"><l>callback</l><block s="reportListItem"><l><option>last</option></l><block var="options"/></block></block><block s="doDeleteFromList"><l><option>last</option></l><block var="options"/></block></script></block><block s="doSetVar"><l>options</l><block s="reportListAttribute"><l><option>json</option></l><block s="reportNewList"><list><block s="reportNewList"><list><l>username</l><block s="reportListItem"><l>1</l><block var="options"/></block></list></block><block s="reportNewList"><list><l>password</l><block s="reportListItem"><l>2</l><block var="options"/></block></list></block><block s="reportNewList"><list><l>keepalive</l><block s="reportListItem"><l>3</l><block var="options"/></block></list></block></list></block></block></block><block s="doApplyExtension"><l>mqt_connect(broker,callback,options)</l><list><block var="broker"/><block var="callback"/><block var="options"/></list></block><block s="doWaitUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="connection status"/><l>connecting</l></list></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="connection status"/><l>connected</l></list></block></block><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="connection status"/></list></block></script></block></script></block-definition><block-definition s="$cloudOutline MQTT publish to %&apos;broker&apos; topic %&apos;topic&apos; payload %&apos;payload&apos; $nl $options-1-192-192-192 %&apos;options&apos;" type="command" category="MQTT"><comment x="0" y="0" w="200" collapsed="false">Publish a message to an MQTT broker&#xD;&#xD;The options are not required but can be filled if needed&#xD;&#xD;1. qos (quality of service 0,1 or 2)&#xD;2. retain flag (boolean)&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%s">name</input><input type="%s">hello</input><input type="%mult%s"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqtt.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqttExtension.js</l></list></block><block s="doIf"><block s="reportNot"><block s="reportJoinWords"><block var="options"/></block></block><script><block s="doSetVar"><l>options</l><block s="reportNewList"><list></list></block></block></script></block><block s="doSetVar"><l>options</l><block s="reportListAttribute"><l><option>json</option></l><block s="reportNewList"><list><block s="reportNewList"><list><l>qos</l><block s="reportListItem"><l>1</l><block var="options"/></block></list></block><block s="reportNewList"><list><l>retain</l><block s="reportListItem"><l>2</l><block var="options"/></block></list></block></list></block></block></block><block s="doIf"><block s="reportIsA"><block var="payload"/><l><option>list</option></l></block><script><block s="doSetVar"><l>payload</l><block s="reportListAttribute"><l><option>json</option></l><block var="payload"/></block></block></script></block><block s="doIf"><block s="reportIsA"><block var="payload"/><l><option>number</option></l></block><script><block s="doSetVar"><l>payload</l><block s="reportJoinWords"><list><block var="payload"/></list></block></block></script></block><block s="doApplyExtension"><l>mqt_pub(broker,topic,payload,options)</l><list><block var="broker"/><block var="topic"/><block var="payload"/><block var="options"/></list></block></script></block-definition><block-definition s="$cloudOutline MQTT subscribe to %&apos;broker&apos; topic %&apos;topic&apos; $nl on each message run %&apos;callback&apos;" type="command" category="MQTT"><comment x="0" y="0" w="216.9999999999999" collapsed="false">Subscribe to a topic on a broker&#xD;&#xD;Make sure you have already run an MQTT connect block before using this one&#xD;&#xD;You should add a script to be run inside he grey ring.&#xD;&#xD;It will be run each time a message is received&#xD;&#xD;If you click on the arrow on the grey ring twice, you can use #1 and #2 inside your script.&#xD;&#xD;#1 will contain the received payload&#xD;&#xD;#2 will contain the received topic name</comment><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%s">name</input><input type="%cmdRing"></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqtt.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqttExtension.js</l></list></block><block s="doApplyExtension"><l>mqt_sub(broker,topic,callback,options)</l><list><block var="broker"/><block var="topic"/><block var="callback"/><l></l></list></block></script></block-definition><block-definition s="$cloudOutline MQTT unsubscribe from %&apos;broker&apos; topic %&apos;topic&apos;" type="command" category="MQTT"><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%s">name</input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqtt.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqttExtension.js</l></list></block><block s="doApplyExtension"><l>mqt_unsub(broker,topic)</l><list><block var="broker"/><block var="topic"/></list></block></script></block-definition><block-definition s="$cloudOutline MQTT disconnect from %&apos;broker&apos;" type="command" category="MQTT"><header></header><code></code><translations></translations><inputs><input type="%s">all<options>all&#xD;broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqtt.js</l></list></block><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/mqttExtension.js</l></list></block><block s="doApplyExtension"><l>mqt_disconnect(broker)</l><list><block var="broker"/></list></block></script></block-definition><block-definition s="$cloudOutline MQTT response %&apos;broker&apos; topic %&apos;topic&apos; $nl reply %&apos;reply&apos;" type="command" category="MQTT"><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%s">name</input><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>resp</l><l>callbackTopic</l><l>error</l></list></block><custom-block s="$cloudOutline MQTT subscribe to %s topic %s %br on each message run %cmdRing"><block var="broker"/><block var="topic"/><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><l>/@</l><block var="received topic"/></list></block><l>0</l></list></block><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doSetVar"><l>resp</l><block s="evaluate"><block var="reply"/><list><block var="received payload"/><block var="received topic"/></list></block></block></script><list></list></block><block s="reifyScript"><script><block s="doSetVar"><l>resp</l><block s="evaluate"><block var="reply"/><list></list></block></block></script><list></list></block><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block><block s="doSetVar"><l>callbackTopic</l><block s="reportListItem"><l><option>last</option></l><block s="reportTextSplit"><block var="received topic"/><l>@</l></block></block></block><custom-block s="$cloudOutline MQTT publish to %s topic %s payload %s %br $options-1-192-192-192 %mult%s"><block var="broker"/><block var="callbackTopic"/><block var="resp"/><list><l></l></list></custom-block></script></block></script><list><l>received payload</l><l>received topic</l></list></block></custom-block></script></block-definition><block-definition s="$cloudOutline MQTT request %&apos;broker&apos; topic %&apos;topic&apos; $nl response topic %&apos;rtopic&apos; payload %&apos;payload&apos; $nl on response run %&apos;callback&apos;" type="command" category="MQTT"><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%s">name</input><input type="%s">name2</input><input type="%s">hello</input><input type="%cmdRing"></input></inputs><script><block s="doDeclareVariables"><list><l>error</l></list></block><custom-block s="$cloudOutline MQTT subscribe to %s topic %s %br on each message run %cmdRing"><block var="broker"/><block s="reportJoinWords"><list><block var="rtopic"/></list></block><block s="reifyScript"><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doRun"><block var="callback"/><list><block var="received payload"/><block var="received topic"/></list></block></script><list></list></block><block s="reifyScript"><script><block s="doRun"><block var="callback"/><list></list></block></script><list></list></block><block var="error"/></list></block></script><list><l>received payload</l><l>received topic</l></list></block></custom-block><custom-block s="$cloudOutline MQTT publish to %s topic %s payload %s %br $options-1-192-192-192 %mult%s"><block var="broker"/><block s="reportJoinWords"><list><block var="topic"/><l>/</l><block s="reportJoinWords"><list><l>@</l><block var="rtopic"/></list></block></list></block><block var="payload"/><list><l></l></list></custom-block></script></block-definition><block-definition s="$cloudOutline MQTT example response reporter payload %&apos;payload&apos; topic %&apos;topic&apos;" type="reporter" category="MQTT"><header></header><code></code><translations></translations><inputs><input type="%s">hello</input><input type="%txt">name</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>Echo: </l><block var="payload"/></list></block></block></script></block-definition><block-definition s="$cloudOutline MQTT request %&apos;broker&apos; topic %&apos;topic&apos; $nl response topic %&apos;rtopic&apos; payload %&apos;payload&apos; $nl $options-1-192-192-192 %&apos;options&apos;" type="reporter" category="MQTT"><comment x="0" y="0" w="343" collapsed="false">The response topic should be a unique value for each call e.g. use timer&#xD;&#xD;There is only 1 option at present&#xD;1.  Timeout value - default is 3 seconds</comment><header></header><code></code><translations></translations><inputs><input type="%s">broker.emqx.io<options>broker.emqx.io&#xD;mqtt.eclipseprojects.io&#xD;test.mosquitto.org&#xD;broker.xmqtt.net</options></input><input type="%s">name</input><input type="%s">name2</input><input type="%s">hello</input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>resp</l><l>semaphore</l><l>timer0</l><l>timeout</l></list></block><block s="doSetVar"><l>semaphore</l><l>0</l></block><block s="doSetVar"><l>timeout</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="options"/></block><l><option>number</option></l></block><block s="reportListItem"><l>1</l><block var="options"/></block><l>3</l></block></block><block s="doSetVar"><l>resp</l><l>timeout</l></block><custom-block s="$cloudOutline MQTT subscribe to %s topic %s %br on each message run %cmdRing"><block var="broker"/><block s="reportJoinWords"><list><block var="rtopic"/></list></block><block s="reifyScript"><script><block s="doSetVar"><l>resp</l><block var="received payload"/></block><block s="doSetVar"><l>semaphore</l><l>1</l></block></script><list><l>received payload</l><l>received topic</l></list></block></custom-block><custom-block s="$cloudOutline MQTT publish to %s topic %s payload %s %br $options-1-192-192-192 %mult%s"><block var="broker"/><block s="reportJoinWords"><list><block var="topic"/><l>/</l><block s="reportJoinWords"><list><l>@</l><block var="rtopic"/></list></block></list></block><block var="payload"/><list><l></l></list></custom-block><block s="doSetVar"><l>timer0</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doWaitUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="semaphore"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="timer0"/></block><block s="reportVariadicProduct"><list><block var="timeout"/><l>1000</l></list></block></list></block></list></block></block><custom-block s="$cloudOutline MQTT unsubscribe from %s topic %s"><block var="broker"/><block s="reportJoinWords"><list><block var="rtopic"/></list></block></custom-block><block s="doReport"><block var="resp"/></block></script></block-definition><block-definition s="🤖 connect to %&apos;ip&apos;" type="command" category="other"><header></header><code></code><translations>ca:🤖 connecta&apos;t a _&#xD;</translations><inputs><input type="%s">192.168.4.1</input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/signada.js</l></list></block><custom-block s="🤖 disconnect"></custom-block><block s="doApplyExtension"><l>sgd_connect(ip)</l><list><block var="ip"/></list></block></script></block-definition><block-definition s="🤖 disconnect" type="command" category="other"><header></header><code></code><translations>ca:🤖 desconnecta&apos;t&#xD;</translations><inputs></inputs><script><block s="doIf"><custom-block s="🤖 connected"></custom-block><script><block s="doApplyExtension"><l>sgd_disconnect()</l><list><l></l></list></block></script></block></script></block-definition><block-definition s="🤖 connected" type="predicate" category="other"><header></header><code></code><translations>ca:🤖 connectat&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_connected()</l><list></list></block></block></script></block-definition><block-definition s="play note %&apos;notename&apos; octave %&apos;octave&apos; for %&apos;ms&apos; ms" type="command" category="sound"><header></header><code></code><translations>ca:toca la nota _ a l&apos;octava _ durant _ ms&#xD;</translations><inputs><input type="%txt">C<options>C&#xD;C#&#xD;D&#xD;D#&#xD;E&#xD;F&#xD;F#&#xD;G&#xD;G#&#xD;A&#xD;A#&#xD;B</options></input><input type="%n">1<options>1&#xD;2&#xD;3&#xD;4&#xD;5</options></input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>play tone</l><block s="reportNewList"><list><block var="notename"/><block var="octave"/><block var="ms"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="button %&apos;buttonname&apos;" type="predicate" category="sensing"><header></header><code></code><translations>ca:botó _&#xD;</translations><inputs><input type="%s" readonly="true"><options>🆗&#xD;❌&#xD;➡️&#xD;⬆️&#xD;⬇️&#xD;⬅️</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><block s="reportJoinWords"><list><block s="reportListItem"><block s="reportListIndex"><block var="buttonname"/><block s="reportNewList"><list><l>🆗</l><l>❌</l><l>➡️</l><l>⬆️</l><l>⬇️</l><l>⬅️</l></list></block></block><block s="reportNewList"><list><l>OK</l><l>cancel</l><l>right</l><l>up</l><l>down</l><l>left</l></list></block></block><l> button</l></list></block><l></l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></script></block-definition><block-definition s="set LED display $nl %&apos;i1&apos; %&apos;i2&apos; %&apos;i3&apos; %&apos;i4&apos; %&apos;i5&apos; $nl %&apos;i6&apos; %&apos;i7&apos; %&apos;i8&apos; %&apos;i9&apos; %&apos;i10&apos; $nl %&apos;i11&apos; %&apos;i12&apos; %&apos;i13&apos; %&apos;i14&apos; %&apos;i15&apos; $nl %&apos;i16&apos; %&apos;i17&apos; %&apos;i18&apos; %&apos;i19&apos; %&apos;i20&apos; $nl %&apos;i21&apos; %&apos;i22&apos; %&apos;i23&apos; %&apos;i24&apos; %&apos;i25&apos;" type="command" category="pen"><header></header><code></code><translations>ca:dibuixa a la pantalla _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _&#xD;</translations><inputs><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">true</input><input type="%b">false</input><input type="%b">true</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">true</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%b">true</input><input type="%b">false</input><input type="%b">true</input><input type="%b">true</input><input type="%b">true</input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>set display</l><block s="reportNewList"><list><block s="reportJoinWords"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><l/><l>X</l><l>O</l></block></autolambda><list></list></block><block s="reportNewList"><list><block var="i1"/><block var="i2"/><block var="i3"/><block var="i4"/><block var="i5"/><block var="i6"/><block var="i7"/><block var="i8"/><block var="i9"/><block var="i10"/><block var="i11"/><block var="i12"/><block var="i13"/><block var="i14"/><block var="i15"/><block var="i16"/><block var="i17"/><block var="i18"/><block var="i19"/><block var="i20"/><block var="i21"/><block var="i22"/><block var="i23"/><block var="i24"/><block var="i25"/></list></block></block></block></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="move motor %&apos;n&apos; %&apos;steps&apos; steps %&apos;direction&apos;" type="command" category="motion"><header></header><code></code><translations>ca:mou motor _ _ passos _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">128</input><input type="%txt" readonly="true">clockwise<options>clockwise&#xD;counter-clockwise</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>motor step</l><block s="reportNewList"><list><block var="n"/><block var="steps"/><block var="direction"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="move motor 1 %&apos;direction&apos; and motor 2 %&apos;direction-2&apos; %&apos;steps&apos; steps" type="command" category="motion"><header></header><code></code><translations>ca:mou motor 1 en _ motor 2 en _ _ passos&#xD;</translations><inputs><input type="%s" readonly="true">clockwise<options>clockwise&#xD;counter-clockwise</options></input><input type="%s" readonly="true">counter-clockwise<options>clockwise&#xD;counter-clockwise</options></input><input type="%n">64</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>move motor </l><block s="reportNewList"><list><block var="direction"/><block var="direction-2"/><block var="steps"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="move motor %&apos;n&apos; angle %&apos;angle&apos; °" type="command" category="motion"><header></header><code></code><translations>ca:mou motor _ angle _ °&#xD;</translations><inputs><input type="%n">1</input><input type="%n">-90</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>motor angle</l><block s="reportNewList"><list><block var="n"/><block var="angle"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="move motor %&apos;n&apos; %&apos;turns&apos; complete turns" type="command" category="motion"><header></header><code></code><translations>ca:mou motor _ _ voltes completes&#xD;</translations><inputs><input type="%n">1</input><input type="%n">3</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>motor turns</l><block s="reportNewList"><list><block var="n"/><block var="turns"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="write %&apos;text&apos; at x: %&apos;x&apos; y: %&apos;y&apos; color %&apos;clr&apos; scale %&apos;scale&apos;" type="command" category="pen"><header></header><code></code><translations>ca:escriu _ a x: _ y: _ color _ escala _&#xD;</translations><inputs><input type="%s">Hello, MicroBlocks!</input><input type="%n">10</input><input type="%n">30</input><input type="%s" readonly="true">🔵<options>🔵&#xD;🟢&#xD;​🔴&#xD;​🟣&#xD;​🟡&#xD;​⚪️</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>text</l><block s="reportNewList"><list><block var="text"/><block var="x"/><block var="y"/><block s="reportListItem"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="clr"/><l></l></list></block><l>1</l><block s="reportListIndex"><block var="clr"/><block s="reportNewList"><list><l>🔵</l><l>🟢</l><l>​🔴</l><l>​🟣</l><l>​🟡</l><l>​⚪️</l></list></block></block></block><block s="reportNewList"><list><l>255</l><l>65280</l><l>16711680</l><l>16711935</l><l>16776960</l><l>16777215</l></list></block></block><block var="scale"/><l>0</l></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="clear display" type="command" category="pen"><header></header><code></code><translations>ca:neteja pantalla&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>clear</l><l></l><l></l></list></block></block></script></block-definition><block-definition s="set LED x: %&apos;x&apos; y: %&apos;y&apos; to %&apos;bool&apos;" type="command" category="pen"><header></header><code></code><translations>ca:posa el LED x: _ y: _ a _&#xD;</translations><inputs><input type="%n">3</input><input type="%n">3</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>set led</l><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="bool"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="display character %&apos;char&apos;" type="command" category="pen"><header></header><code></code><translations>ca:mostra caràcter _&#xD;</translations><inputs><input type="%s">A</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>displayCharacter</l><block s="reportNewList"><list><block var="char"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="set digital pin %&apos;pin&apos; to %&apos;bool&apos;" type="command" category="sensing"><header></header><code></code><translations>ca:posa el pin digital _ a _&#xD;</translations><inputs><input type="%n">1</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>set pin</l><block s="reportNewList"><list><block var="pin"/><l>digital</l><block var="bool"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="set analog pin %&apos;pin&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations>ca:posa el pin analògic _ a _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">512</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>set pin</l><block s="reportNewList"><list><block var="pin"/><l>analog</l><block var="value"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="read digital pin %&apos;pin&apos;" type="predicate" category="sensing"><header></header><code></code><translations>ca:llegeix el pin digital _&#xD;</translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>get pin</l><block s="reportNewList"><list><block var="pin"/><l>digital</l></list></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></script></block-definition><block-definition s="read analog pin %&apos;pin&apos;" type="reporter" category="sensing"><header></header><code></code><translations>ca:llegeix el pin analògic _&#xD;</translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>get pin</l><block s="reportNewList"><list><block var="pin"/><l>analog</l></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="tilt %&apos;axis&apos;" type="reporter" category="sensing"><header></header><code></code><translations>ca:inclinació _&#xD;</translations><inputs><input type="%s" readonly="true">x<options>x&#xD;y&#xD;z</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>tilt</l><block s="reportNewList"><list><block var="axis"/></list></block><l>0</l></list></block></block></script></block-definition><block-definition s="acceleration" type="reporter" category="sensing"><variables><list struct="atomic" id="69383">memoized response,calling</list></variables><header></header><code></code><translations>ca:acceleració&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>sensor</l><block s="reportNewList"><list><l>acceleration</l></list></block><l>100</l></list></block></block></script></block-definition><block-definition s="light level" type="reporter" category="sensing"><header></header><code></code><translations>ca:nivell de llum&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>sensor</l><block s="reportNewList"><list><l>light</l></list></block><l>100</l></list></block></block></script></block-definition><block-definition s="temperature °C" type="reporter" category="sensing"><header></header><code></code><translations>ca:temperatura °C&#xD;</translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>sgd_call(blockname, params, defaultresponse)</l><list><l>sensor</l><block s="reportNewList"><list><l>temperature</l></list></block><l>20</l></list></block></block></script></block-definition><block-definition s="$camera snap" type="reporter" category="sensing"><comment x="0" y="0" w="216" collapsed="false">takes a snapshot with the webcam and reports it as a new costume, or zero if the user cancels</comment><header></header><code></code><translations>pt:$camera a imagem actual do vídeo&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l><l>pic</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>mda_snap</l><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="callback"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="export costume %&apos;costume&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="costume"/><l></l></list></block></script></block></script></block-definition><block-definition s="set name of costume %&apos;costume&apos; to %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%s">thing</input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block var="name"/></list></block></script></block></script></block-definition><block-definition s="export costume list %&apos;costumes&apos; base name %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">frame</input></inputs><script><block s="doDeclareVariables"><list><l>count</l></list></block><block s="doSetVar"><l>count</l><block s="reportListAttribute"><l><option>length</option></l><block var="costumes"/></block></block><block s="doForEach"><l>item</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="costumes"/></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="item"/><block s="reportJoinWords"><list><block var="name"/><l> (</l><block var="count"/><l>)</l></list></block></list></block><block s="doChangeVar"><l>count</l><l>-1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="count"/><l>10</l></block><l>0</l></list></block><script><block s="doWait"><l>1</l></block></script></block></script></block></script></block-definition></blocks><stage name="Scena" width="1280" height="920" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="true" volume="100" pan="0" lines="flat" ternary="false" hyperops="true" codify="true" inheritance="true" sublistIDs="false" id="69609"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="69610"></list></costumes><sounds><list struct="atomic" id="69611"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Duszek" idx="1" x="-417.6090969159459" y="-222.92603374461174" heading="141" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="238,85.67999999999999,0,1" pen="tip" id="69616"><costumes><list id="69617"><item><ref mediaID="Duszek_cst_alonzo (vector)"></ref></item><item><ref mediaID="Duszek_cst_costume2"></ref></item></list></costumes><sounds><list struct="atomic" id="69618"></list></sounds><blocks></blocks><variables></variables><scripts><script x="44.232700892857146" y="10"><block s="receiveGo"></block><block s="doHideVar"><l>g</l></block><block s="doHideVar"><l>h</l></block><block s="setColor"><color>238,0,6,1</color></block><block s="clear"></block><block s="up"></block><block s="doForever"><script><block s="doSetVar"><l>h</l><block s="reportRandom"><l>3</l><l>5</l></block></block><block s="doSetVar"><l>g</l><block s="reportRandom"><l>1</l><l>150</l></block></block><block s="setPenColorDimension"><l><option>hue</option></l><block s="reportRandom"><l>0</l><l>255</l></block></block><block s="setSize"><block s="reportRandom"><l>0</l><l>20</l></block></block><block s="setHeading"><block s="reportRandom"><l>-360</l><l>360</l></block></block><block s="doGotoObject"><l><option>random position</option></l></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="h"/><l>3</l></list></block><script><block s="down"></block><block s="doRepeat"><l>3</l><script><block s="forward"><block var="g"/></block><block s="turn"><l>120</l></block></script></block><block s="up"></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="h"/><l>4</l></list></block><script><block s="down"></block><block s="doRepeat"><l>4</l><script><block s="forward"><block var="g"/></block><block s="turn"><l>90</l></block></script></block><block s="up"></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="h"/><l>5</l></list></block><script><block s="down"></block><block s="doRepeat"><l>5</l><script><block s="forward"><block var="g"/></block><block s="turn"><l>72</l></block></script></block><block s="up"></block></script></block><block s="doWait"><l>.1</l></block></script></block></script></scripts></sprite><watcher var="g" style="normal" x="8.391608391610426" y="8.39160839160844" color="243,118,29" hidden="true"/><watcher var="h" style="normal" x="5.1311899482629855" y="101.83573540280855" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="g"><l>143</l></variable><variable name="h"><l>3</l></variable></variables></scene></scenes></project><media name="Random Shape Generator" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="alonzo (vector)" center-x="47.5" center-y="61.5" image="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iOTVweCIgaGVpZ2h0PSIxMjNweCIgdmlld0JveD0iMCAwIDk1IDEyMyIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgOTUgMTIzIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnIGlkPSJJRDAuODMyMzgyOTczNzQ5MTkwNiIgdHJhbnNmb3JtPSJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMykiPg0KCTxwYXRoIGlkPSJSX0xlZyIgZmlsbD0iI0ZGQzkzRSIgc3Ryb2tlPSIjNjAzODEzIiBzdHJva2Utd2lkdGg9IjMiIGQ9Ik00Ny4zMTYsMTA0LjI1MWMwLTEuMjc2LDAuMzU4LTMuMTA5LDIuMzM4LTMuNTIzDQoJCWMyLjg1Ny0wLjU5OSw2LjEyNiwyLjI5Myw3LjAxNCwzLjE0NmMtMC4wNjUsMC4zMzgsMS4wNDcsNy4xNzMsMS4wNDcsNy43NjVjMCwyLjAwNC0wLjUzNSwyLjA4My0wLjc0MywyLjExNg0KCQljLTEuOTU2LDAuMjg0LTcuMTY5LTUuMTk3LTkuNTYyLTguMzg3QzQ3LjM3NiwxMDUuMTkzLDQ3LjMxNiwxMDQuODA5LDQ3LjMxNiwxMDQuMjUxTDQ3LjMxNiwxMDQuMjUxTDQ3LjMxNiwxMDQuMjUxeiIvPg0KCTxwYXRoIGlkPSJDZW50ZXJfTGVnIiBmaWxsPSIjRkZDOTNFIiBzdHJva2U9IiM2MDM4MTMiIHN0cm9rZS13aWR0aD0iNCIgZD0iTTM5LjM5NCwxMTMuODI3Yy0xLjQxOC0xLjUzOC0xLjYyMS01LjcwNy0xLjYyMS03LjQ4Mg0KCQljMC0wLjc1MiwwLjAzOS0xLjI1MywwLjA0MS0xLjI2OGwwLjAwMi0wLjAzOWMwLDAtMC4wMDQtMC4xNi0wLjAwNC0wLjIxOWMwLTMuMzQxLDMuMDc1LTQuNTAxLDMuNTk3LTQuNjc1DQoJCWMxLjc4MSwwLjAyMSw0Ljg1OCwwLjg2NCw1LjU5MywyLjEzNmMwLjA3NSwwLjEyOCwwLjE0NCwwLjI4OSwwLjE0NCwwLjQ5NWMwLDAuMTgxLTAuMDU0LDAuNC0wLjIwOCwwLjY2Ng0KCQljLTAuMDcxLDAuMTIxLTEuMzM1LDMuMTA5LTIuNDA1LDUuNGwtMC43NjUsMi4xMTljLTAuNTcyLDEuODUxLTEuNDczLDMuNzAzLTIuNDUyLDMuNzAzDQoJCUM0MC41NDIsMTE0LjY2NiwzOS45MTQsMTE0LjM5MiwzOS4zOTQsMTEzLjgyN0wzOS4zOTQsMTEzLjgyN0wzOS4zOTQsMTEzLjgyN3oiLz4NCgk8cGF0aCBpZD0iUl9Bcm0iIGZpbGw9IiNGRkM5M0UiIHN0cm9rZT0iIzYwMzgxMyIgc3Ryb2tlLXdpZHRoPSIzIiBkPSJNNzkuNTA1LDg5LjYxMWwtMS4zODMtMi40NA0KCQljLTEuNTE2LTIuNjM3LTMuMjY1LTUuMDUyLTQuODA3LTcuMTc3Yy0xLjk4My0yLjczOC0zLjcxLTUuNTcxLTQuMjgxLTcuNTcyYy0wLjIwNy0wLjcyMS0wLjEwNy0xLjQxLDAuMTg5LTEuNzkNCgkJYzAuMDI4LTAuMTAyLDAuMzI3LTAuMjY1LDAuNTM5LTAuMzA5YzIuNTQxLTAuNTUsMTMuMDYsNS40OTEsMTUuNjg1LDguNzE5YzMuODQ1LDQuNzI3LDUuMzgyLDExLjM1OCw0LjUyNCwxNC42OTkNCgkJYy0wLjM1MiwxLjM2NC0xLjEzOSwyLjMzMi0yLjI3OCwyLjc5M0M4NC43ODIsOTcuNzEsODIuODY3LDk1LjU4Niw3OS41MDUsODkuNjExTDc5LjUwNSw4OS42MTFMNzkuNTA1LDg5LjYxMXoiLz4NCgk8cGF0aCBpZD0iQm9keSIgZmlsbD0iI0ZGQzkzRSIgc3Ryb2tlPSIjNjAzODEzIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZD0iDQoJCU0zOC4wOTcsNDMuMDA3YzAsMC0zLjExLTkuNjI5LTYuMDExLTEzLjU5OGMtMS43Mi0yLjc5LTQuMi02LjI2Ny03LjQ3Ny02LjA0OWMtNC4wNjcsMC4xMDYtNi4yODMsNC45ODQtMTAuMjk5LDYuNTQ1DQoJCWMtMi42MDIsMS4wMDMtOS40NjEsMi4zMTQtOC40MDYsMGMyLjgxMy01LjgxNCwxNC4wNC05LjA3OSwxNi44NDQtMTYuMzc5YzEuMjYzLTMuMzA1LTQuMjcyLTcuMjUyLTcuOTQxLTcuOTQyDQoJCWMtMi43NDUtMC41MDEtNC4wMzksNC4yMTctNi41NDUsNS42MTVjLTEuMTUxLDAuNjQzLTQuMzM5LDEuMzA1LTMuNzUzLDBDNi42MjksNi44MzYsOS4wNTIsMS4xNzIsMTMuODQ1LTAuNDk1DQoJCWMzLjYxNy0xLjI1NCw3LjU2MiwyLjQ3MywxMC4yOTksNS4xMTljOC40NjQsOC4xODUsMTUuNjE3LDE3LjkzOCwyMy4yNCwyNi42NWw0LjUxMSw1LjEzOWMwLDAsMy4yMjUsMy45NTYsNS42OTIsNi41NjYNCgkJYzAuMDQ0LDAuMDQ1LDIuMzc4LTAuMzE3LDMuOTg5LTEuNjU3YzEuMzE0LTEuMDk2LDEuMTQxLTIuMzIzLDEuNTU5LTQuOTAyYzAuMzg0LTIuMzcxLDAuODAyLTYuNjU5LDIuMDcyLTYuNjgxDQoJCWMxLjkxNi0wLjAyOSwzLjE3Niw3Ljg2OCwzLjY2NiwxMC43OTNsMC4yNzIsMS41NjVjMC42NDMsMy40NzksMy45OTksMTMuOTQsNC4xNDQsMTQuMzg0YzAuMDQ2LDAuMTA4LDAuMTIxLDAuMjQ5LDAuMTIxLDAuMjQ5DQoJCWwwLjAyNywwLjA1NmwwLjAzOCwwLjA0N2M1LjE4NSw2LjQyOSw5LjAzOCwxNC4yMjMsOS4wMzgsMjEuNTI0YzAsMTUuNDY0LTEzLjU1NSwyNi4zNDktMzEuNjk3LDI2LjM0OQ0KCQljLTMuMzY1LDAtNi42NTctMC40NzMtOS43ODMtMS4zOThsLTAuMTY4LTAuMDQ5YzAsMC00LjkwOC0wLjQxMi0xMS4xODYsNy44NGMtMS4yNiwxLjY1Ny0xLjE0NywzLjIwMS0yLjkyMiwyLjcyNg0KCQljLTAuNTkyLTAuMTU4LTEuMDI2LTAuNTkzLTEuMzgyLTEuMzgzYy0wLjg0OC0xLjg4NC0wLjIyMi02LjM0NywwLjgxNi05LjE5N2wwLjE2My0wLjQ0OGwtMC4zNzUtMC4yOTcNCgkJYy0wLjA5Mi0wLjA3My0xMC4yNzQtNy40OTMtMTEuMzAzLTE4LjEyNWMtMC44OTYtOS4yNjgsMy43ODUtMTQuNTQ1LDUuNzI4LTE3LjQ0NGwxLjExNy0xLjg1OA0KCQljMS40MDktMy40MjgtMS4yNDMtOC4xOTUtMy41ODMtMTIuNDAxYy0xLjM5Ny0yLjUxMS0zLjY1Mi02LjE3Ni0zLjE0My03LjAzOGMwLjU2NS0wLjk1NCwyLjU4NSwwLjA2Miw0LjYyNSwxLjAzNA0KCQljMS42NTQsMC43OTEsMy4yNDUsMS45MDgsNC4zNSwxLjE3MWMxLjE0OS0wLjc2NSwwLjM5Ni0yLjY4Ni0wLjY0OS01LjM0NmMtMC45ODItMi40OTgtMi44NDEtNi40NDMtMi4xMjctOC4wNzINCgkJYzAuMTk3LTAuNDQ3LDAuNTQyLTAuNzYyLDEuMDU1LTAuOTYxYzEuODk3LTAuNzM0LDQuNjA5LDIuNDYxLDYuODA1LDQuOTYxQzMxLjUzMiw0MS40NjksMzQuNTcsNDQuOTI3LDM4LjA5Nyw0My4wMDcNCgkJTDM4LjA5Nyw0My4wMDdMMzguMDk3LDQzLjAwN3oiLz4NCgk8ZyBpZD0iTF9FeWUiPg0KCQk8cGF0aCBpZD0iV2hpdGVfMV8iIGZpbGw9IiNGRkZGRkYiIGQ9Ik00MS4yMjgsNzkuNDg5YzAsMi43ODksMi4yNjMsNS4wNSw1LjA1NCw1LjA1YzIuNzkxLDAsNS4wNTEtMi4yNjEsNS4wNTEtNS4wNQ0KCQkJYzAtMi43OTEtMi4yNjEtNS4wNTYtNS4wNTEtNS4wNTZDNDMuNDksNzQuNDM2LDQxLjIyOCw3Ni42OTgsNDEuMjI4LDc5LjQ4OUw0MS4yMjgsNzkuNDg5TDQxLjIyOCw3OS40ODl6Ii8+DQoJCTxwYXRoIGlkPSJQdXBpbF8xXyIgZmlsbD0iIzYwMzgxMyIgZD0iTTQ2Ljk2MSw3NS43OTZjMC45ODEsMCwxLjg3LDAuMzk4LDIuNTEzLDEuMDQzYzAuNjQ1LDAuNjQzLDEuMDQyLDEuNTMyLDEuMDQyLDIuNTEzDQoJCQljMCwwLjk4MS0wLjM5NywxLjg3LTEuMDQyLDIuNTE0Yy0wLjY0NCwwLjY0NC0xLjUzMiwxLjA0Mi0yLjUxMywxLjA0MnMtMS44Ny0wLjM5OC0yLjUxMy0xLjA0Mg0KCQkJYy0wLjY0NS0wLjY0NC0xLjA0Mi0xLjUzMi0xLjA0Mi0yLjUxNGMwLTAuOTgsMC4zOTgtMS44NywxLjA0Mi0yLjUxM0M0NS4wOTIsNzYuMTk0LDQ1Ljk4LDc1Ljc5Niw0Ni45NjEsNzUuNzk2TDQ2Ljk2MSw3NS43OTZ6Ig0KCQkJLz4NCgk8L2c+DQoJPGcgaWQ9IlJfRXllIj4NCgkJPHBhdGggaWQ9IldoaXRlIiBmaWxsPSIjRkZGRkZGIiBkPSJNNjUuNTY4LDc5LjQ4OWMwLDIuNzg5LDIuMjYyLDUuMDUsNS4wNTQsNS4wNWMyLjc4OCwwLDUuMDUyLTIuMjYxLDUuMDUyLTUuMDUNCgkJCWMwLTIuNzkxLTIuMjYyLTUuMDU2LTUuMDUyLTUuMDU2QzY3LjgzLDc0LjQzNiw2NS41NjgsNzYuNjk4LDY1LjU2OCw3OS40ODlMNjUuNTY4LDc5LjQ4OUw2NS41NjgsNzkuNDg5eiIvPg0KCQk8cGF0aCBpZD0iUHVwaWwiIGZpbGw9IiM2MDM4MTMiIGQ9Ik02Ny43NDUsNzkuMzUyYzAsMS45NjQsMS41OSwzLjU1NSwzLjU1NiwzLjU1NWMxLjk2MywwLDMuNTU2LTEuNTksMy41NTYtMy41NTUNCgkJCWMwLTEuOTYyLTEuNTkzLTMuNTU2LTMuNTU2LTMuNTU2QzY5LjMzNSw3NS43OTYsNjcuNzQ1LDc3LjM4OSw2Ny43NDUsNzkuMzUyTDY3Ljc0NSw3OS4zNTJMNjcuNzQ1LDc5LjM1MnoiLz4NCgk8L2c+DQoJPHBhdGggaWQ9IkxfQXJtIiBmaWxsPSIjRkZDOTNFIiBzdHJva2U9IiM2MDM4MTMiIHN0cm9rZS13aWR0aD0iMyIgZD0iTTYuMzQxLDk4Ljk5NGMtMS4wMzYtMC42NjEtMS42MzMtMS43NTMtMS43MjktMy4xNjENCgkJYy0wLjIzNC0zLjQ0NSwyLjQ5Mi05LjY4Miw3LjEzNC0xMy42MjZjMy4xNy0yLjY5NCwxNC42MTctNi43MDcsMTcuMDE0LTUuNzAzYzAuMTk4LDAuMDgzLDAuNDYzLDAuMjk3LDAuNDcyLDAuNDA0DQoJCWMwLjIyNCwwLjQyNywwLjE5NCwxLjExOS0wLjE0LDEuNzkxYy0wLjkyNywxLjg2NC0zLjE0Miw0LjMzNS01LjU5NCw2LjY2Yy0xLjkwNiwxLjgxNC00LjA2NSwzLjg2My02LjAzNSw2LjE4MWwtMS44MDcsMi4xNDENCgkJQzExLjI1OSw5OC45NDMsOC45ODYsMTAwLjY4NSw2LjM0MSw5OC45OTRMNi4zNDEsOTguOTk0TDYuMzQxLDk4Ljk5NHoiLz4NCgk8cGF0aCBpZD0iTW91dGgiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzYwMzgxMyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGQ9Ik02My4xNDgsOTUuMzkxDQoJCWMwLDAtNC41OTksMC4wMDQtNy44MTktMi43NTYiLz4NCjwvZz4NCjwvc3ZnPg0K" mediaID="Duszek_cst_alonzo (vector)"/><costume name="costume2" center-x="43" center-y="43" image="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHNuYXA9Imh0dHA6Ly9zbmFwLmJlcmtlbGV5LmVkdS9ydW4iIHZlcnNpb249IjEuMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSBtZWV0IiB2aWV3Qm94PSI4NTMgNDEwIDg2IDg2IiB3aWR0aD0iODYiIGhlaWdodD0iODYiPjxlbGxpcHNlIHN0cm9rZT0icmdiKDAsMCwwKSIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIgc3Ryb2tlLXdpZHRoPSI2IiBmaWxsPSJyZ2IoMTAyLDIxOSwyNTUpIiBwcm90b3R5cGU9IlZlY3RvckVsbGlwc2UiIGN4PSI4OTYiIGN5PSI0NTMiIHJ4PSI0MCIgcnk9IjQwIi8+PC9zdmc+" mediaID="Duszek_cst_costume2"/></media></snapdata>