<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ndbx formatVersion="21" type="file" uuid="2083c770-7807-437c-883b-8560b6abf88b">
    <property name="canvasHeight" value="300"/>
    <property name="canvasWidth" value="300"/>
    <property name="canvasX" value="0"/>
    <property name="canvasY" value="0"/>
    <node name="root" prototype="core.network" renderedChild="combine2">
        <node name="base" position="2.00,2.00" prototype="core.network" renderedChild="colorize1">
            <node name="colorize1" position="-1.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="number1" position="-1.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="rect1" position="-1.00,1.00" prototype="corevector.rect">
                <port name="position" type="point" value="-85.00,85.00"/>
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
        </node>
        <node name="base1" position="5.00,4.00" prototype="core.network" renderedChild="rotate1">
            <node name="colorize1" position="0.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="divide1" position="-5.00,2.00" prototype="math.divide">
                <port name="value2" type="float" value="2.0"/>
            </node>
            <node name="make_point1" position="-5.00,6.00" prototype="corevector.make_point"/>
            <node name="multiply1" position="-4.00,4.00" prototype="math.multiply">
                <port name="value2" type="float" value="-1.0"/>
            </node>
            <node name="null1" position="4.00,-1.00" prototype="corevector.null"/>
            <node name="number1" position="0.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="point1" position="4.00,1.00" prototype="corevector.point"/>
            <node name="rect1" position="0.00,1.00" prototype="corevector.rect">
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <node name="rotate1" position="2.00,12.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="-20.0"/>
            </node>
            <node name="second1" position="4.00,2.00" prototype="list.second"/>
            <node name="translate1" position="0.00,6.00" prototype="corevector.translate"/>
            <node name="translate2" position="-2.00,9.00" prototype="corevector.translate"/>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <port childReference="null1.shape" description="The input shape." label="" name="prev_square" range="value" type="geometry" widget="none"/>
            <port childReference="rotate1.angle" description="The rotation angle (in degrees)." label="" name="angle" range="value" type="float" value="-20.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
            <conn input="translate1.shape" output="colorize1"/>
            <conn input="point1.value" output="null1"/>
            <conn input="second1.list" output="point1"/>
            <conn input="translate1.translate" output="second1"/>
            <conn input="divide1.value1" output="number1"/>
            <conn input="multiply1.value1" output="divide1"/>
            <conn input="make_point1.x" output="divide1"/>
            <conn input="make_point1.y" output="multiply1"/>
            <conn input="translate2.shape" output="translate1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="rotate1.shape" output="translate2"/>
            <conn input="rotate1.origin" output="second1"/>
        </node>
        <node name="base2" position="8.00,6.00" prototype="core.network" renderedChild="rotate1">
            <node name="colorize1" position="0.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="divide1" position="-4.00,1.00" prototype="math.divide">
                <port name="value2" type="float" value="2.0"/>
            </node>
            <node name="make_point1" position="-4.00,5.00" prototype="corevector.make_point"/>
            <node name="multiply1" position="-3.00,3.00" prototype="math.multiply">
                <port name="value2" type="float" value="-1.0"/>
            </node>
            <node name="null1" position="4.00,-1.00" prototype="corevector.null"/>
            <node name="number1" position="0.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="point1" position="4.00,1.00" prototype="corevector.point"/>
            <node name="rect1" position="0.00,1.00" prototype="corevector.rect">
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <node name="rotate1" position="3.00,11.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="-20.0"/>
            </node>
            <node name="second1" position="4.00,2.00" prototype="list.second"/>
            <node name="translate1" position="0.00,6.00" prototype="corevector.translate"/>
            <node name="translate2" position="0.00,9.00" prototype="corevector.translate"/>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <port childReference="null1.shape" description="The input shape." label="" name="prev_square" range="value" type="geometry" widget="none"/>
            <port childReference="rotate1.angle" description="The rotation angle (in degrees)." label="" name="angle" range="value" type="float" value="-20.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
            <conn input="translate1.shape" output="colorize1"/>
            <conn input="point1.value" output="null1"/>
            <conn input="second1.list" output="point1"/>
            <conn input="translate1.translate" output="second1"/>
            <conn input="divide1.value1" output="number1"/>
            <conn input="multiply1.value1" output="divide1"/>
            <conn input="make_point1.x" output="divide1"/>
            <conn input="make_point1.y" output="multiply1"/>
            <conn input="translate2.shape" output="translate1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="rotate1.shape" output="translate2"/>
            <conn input="rotate1.origin" output="second1"/>
        </node>
        <node name="base3" position="11.00,8.00" prototype="core.network" renderedChild="rotate1">
            <node name="colorize1" position="0.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="divide1" position="-4.00,1.00" prototype="math.divide">
                <port name="value2" type="float" value="2.0"/>
            </node>
            <node name="make_point1" position="-4.00,5.00" prototype="corevector.make_point"/>
            <node name="multiply1" position="-3.00,3.00" prototype="math.multiply">
                <port name="value2" type="float" value="-1.0"/>
            </node>
            <node name="null1" position="4.00,-1.00" prototype="corevector.null"/>
            <node name="number1" position="0.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="point1" position="4.00,1.00" prototype="corevector.point"/>
            <node name="rect1" position="0.00,1.00" prototype="corevector.rect">
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <node name="rotate1" position="3.00,11.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="-20.0"/>
            </node>
            <node name="second1" position="4.00,2.00" prototype="list.second"/>
            <node name="translate1" position="0.00,6.00" prototype="corevector.translate"/>
            <node name="translate2" position="0.00,9.00" prototype="corevector.translate"/>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <port childReference="null1.shape" description="The input shape." label="" name="prev_square" range="value" type="geometry" widget="none"/>
            <port childReference="rotate1.angle" description="The rotation angle (in degrees)." label="" name="angle" range="value" type="float" value="-20.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
            <conn input="translate1.shape" output="colorize1"/>
            <conn input="point1.value" output="null1"/>
            <conn input="second1.list" output="point1"/>
            <conn input="translate1.translate" output="second1"/>
            <conn input="divide1.value1" output="number1"/>
            <conn input="multiply1.value1" output="divide1"/>
            <conn input="make_point1.x" output="divide1"/>
            <conn input="make_point1.y" output="multiply1"/>
            <conn input="translate2.shape" output="translate1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="rotate1.shape" output="translate2"/>
            <conn input="rotate1.origin" output="second1"/>
        </node>
        <node name="base4" position="14.00,10.00" prototype="core.network" renderedChild="rotate1">
            <node name="colorize1" position="0.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="divide1" position="-4.00,1.00" prototype="math.divide">
                <port name="value2" type="float" value="2.0"/>
            </node>
            <node name="make_point1" position="-4.00,5.00" prototype="corevector.make_point"/>
            <node name="multiply1" position="-3.00,3.00" prototype="math.multiply">
                <port name="value2" type="float" value="-1.0"/>
            </node>
            <node name="null1" position="4.00,-1.00" prototype="corevector.null"/>
            <node name="number1" position="0.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="point1" position="4.00,1.00" prototype="corevector.point"/>
            <node name="rect1" position="0.00,1.00" prototype="corevector.rect">
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <node name="rotate1" position="3.00,11.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="-20.0"/>
            </node>
            <node name="second1" position="4.00,2.00" prototype="list.second"/>
            <node name="translate1" position="0.00,6.00" prototype="corevector.translate"/>
            <node name="translate2" position="0.00,9.00" prototype="corevector.translate"/>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <port childReference="null1.shape" description="The input shape." label="" name="prev_square" range="value" type="geometry" widget="none"/>
            <port childReference="rotate1.angle" description="The rotation angle (in degrees)." label="" name="angle" range="value" type="float" value="-20.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
            <conn input="translate1.shape" output="colorize1"/>
            <conn input="point1.value" output="null1"/>
            <conn input="second1.list" output="point1"/>
            <conn input="translate1.translate" output="second1"/>
            <conn input="divide1.value1" output="number1"/>
            <conn input="multiply1.value1" output="divide1"/>
            <conn input="make_point1.x" output="divide1"/>
            <conn input="make_point1.y" output="multiply1"/>
            <conn input="translate2.shape" output="translate1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="rotate1.shape" output="translate2"/>
            <conn input="rotate1.origin" output="second1"/>
        </node>
        <node name="base5" position="17.00,12.00" prototype="core.network" renderedChild="rotate1">
            <node name="colorize1" position="0.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="divide1" position="-4.00,1.00" prototype="math.divide">
                <port name="value2" type="float" value="2.0"/>
            </node>
            <node name="make_point1" position="-4.00,5.00" prototype="corevector.make_point"/>
            <node name="multiply1" position="-3.00,3.00" prototype="math.multiply">
                <port name="value2" type="float" value="-1.0"/>
            </node>
            <node name="null1" position="4.00,-1.00" prototype="corevector.null"/>
            <node name="number1" position="0.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="point1" position="4.00,1.00" prototype="corevector.point"/>
            <node name="rect1" position="0.00,1.00" prototype="corevector.rect">
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <node name="rotate1" position="3.00,11.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="-20.0"/>
            </node>
            <node name="second1" position="4.00,2.00" prototype="list.second"/>
            <node name="translate1" position="0.00,6.00" prototype="corevector.translate"/>
            <node name="translate2" position="0.00,9.00" prototype="corevector.translate"/>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <port childReference="null1.shape" description="The input shape." label="" name="prev_square" range="value" type="geometry" widget="none"/>
            <port childReference="rotate1.angle" description="The rotation angle (in degrees)." label="" name="angle" range="value" type="float" value="-20.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
            <conn input="translate1.shape" output="colorize1"/>
            <conn input="point1.value" output="null1"/>
            <conn input="second1.list" output="point1"/>
            <conn input="translate1.translate" output="second1"/>
            <conn input="divide1.value1" output="number1"/>
            <conn input="multiply1.value1" output="divide1"/>
            <conn input="make_point1.x" output="divide1"/>
            <conn input="make_point1.y" output="multiply1"/>
            <conn input="translate2.shape" output="translate1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="rotate1.shape" output="translate2"/>
            <conn input="rotate1.origin" output="second1"/>
        </node>
        <node name="base6" position="20.00,14.00" prototype="core.network" renderedChild="rotate1">
            <node name="colorize1" position="0.00,2.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="divide1" position="-4.00,1.00" prototype="math.divide">
                <port name="value2" type="float" value="2.0"/>
            </node>
            <node name="make_point1" position="-4.00,5.00" prototype="corevector.make_point"/>
            <node name="multiply1" position="-3.00,3.00" prototype="math.multiply">
                <port name="value2" type="float" value="-1.0"/>
            </node>
            <node name="null1" position="4.00,-1.00" prototype="corevector.null"/>
            <node name="number1" position="0.00,-1.00" prototype="math.number">
                <port name="value" type="float" value="89.0"/>
            </node>
            <node name="point1" position="4.00,1.00" prototype="corevector.point"/>
            <node name="rect1" position="0.00,1.00" prototype="corevector.rect">
                <port name="width" type="float" value="89.0"/>
                <port name="height" type="float" value="89.0"/>
            </node>
            <node name="rotate1" position="3.00,11.00" prototype="corevector.rotate">
                <port name="angle" type="float" value="-20.0"/>
            </node>
            <node name="second1" position="4.00,2.00" prototype="list.second"/>
            <node name="translate1" position="0.00,6.00" prototype="corevector.translate"/>
            <node name="translate2" position="0.00,9.00" prototype="corevector.translate"/>
            <port childReference="number1.value" description="" label="" name="size" range="value" type="float" value="89.0" widget="float"/>
            <port childReference="null1.shape" description="The input shape." label="" name="prev_square" range="value" type="geometry" widget="none"/>
            <port childReference="rotate1.angle" description="The rotation angle (in degrees)." label="" name="angle" range="value" type="float" value="-20.0" widget="float"/>
            <conn input="colorize1.shape" output="rect1"/>
            <conn input="rect1.width" output="number1"/>
            <conn input="rect1.height" output="number1"/>
            <conn input="translate1.shape" output="colorize1"/>
            <conn input="point1.value" output="null1"/>
            <conn input="second1.list" output="point1"/>
            <conn input="translate1.translate" output="second1"/>
            <conn input="divide1.value1" output="number1"/>
            <conn input="multiply1.value1" output="divide1"/>
            <conn input="make_point1.x" output="divide1"/>
            <conn input="make_point1.y" output="multiply1"/>
            <conn input="translate2.shape" output="translate1"/>
            <conn input="translate2.translate" output="make_point1"/>
            <conn input="rotate1.shape" output="translate2"/>
            <conn input="rotate1.origin" output="second1"/>
        </node>
        <node name="combine1" position="2.00,20.00" prototype="list.combine"/>
        <node name="combine2" position="2.00,25.00" prototype="list.combine"/>
        <node name="curve" position="5.00,23.00" prototype="core.network" renderedChild="colorize1">
            <node name="colorize1" position="-12.00,14.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="stroke" type="color" value="#ff0000ff"/>
                <port name="strokeWidth" type="float" value="1.0"/>
            </node>
            <node name="last1" position="-12.00,10.00" prototype="list.last"/>
            <node name="null1" position="-11.00,4.00" prototype="corevector.null"/>
            <node name="number1" position="-16.00,8.00" prototype="math.number"/>
            <node name="point2" position="-11.00,6.00" prototype="corevector.point"/>
            <node name="quad_curve1" position="-12.00,13.00" prototype="corevector.quad_curve"/>
            <node name="second2" position="-9.00,10.00" prototype="list.second"/>
            <port childReference="null1.shape" description="The input shape." label="" name="square" range="value" type="geometry" widget="none"/>
            <port childReference="number1.value" description="" label="" name="bend" range="value" type="float" value="0.0" widget="float"/>
            <conn input="last1.list" output="point2"/>
            <conn input="second2.list" output="point2"/>
            <conn input="quad_curve1.point1" output="last1"/>
            <conn input="quad_curve1.point2" output="second2"/>
            <conn input="colorize1.shape" output="quad_curve1"/>
            <conn input="point2.value" output="null1"/>
            <conn input="quad_curve1.distance" output="number1"/>
        </node>
        <node name="divide1" position="26.00,14.00" prototype="math.divide"/>
        <node name="frame1" position="26.00,-6.00" prototype="core.frame"/>
        <node name="make_numbers1" position="28.00,12.00" prototype="math.make_numbers">
            <port name="string" type="string" value="-2,-3,-5,-8,-13,-21,-34"/>
            <port name="separator" type="string" value=","/>
        </node>
        <node name="metronome" position="26.00,-5.00" prototype="core.network" renderedChild="switch1">
            <node name="compare1" position="25.00,-14.00" prototype="math.compare">
                <port name="value2" type="float" value="181.0"/>
                <port name="comparator" type="string" value="&gt;"/>
            </node>
            <node name="convert_range1" position="19.00,-14.00" prototype="math.convert_range">
                <port name="source_start" type="float" value="1.0"/>
                <port name="source_end" type="float" value="181.0"/>
                <port name="target_start" type="float" value="-90.0"/>
                <port name="target_end" type="float" value="90.0"/>
            </node>
            <node name="convert_range2" position="22.00,-14.00" prototype="math.convert_range">
                <port name="source_start" type="float" value="182.0"/>
                <port name="source_end" type="float" value="362.0"/>
                <port name="target_start" type="float" value="90.0"/>
                <port name="target_end" type="float" value="-90.0"/>
            </node>
            <node name="mod1" position="22.00,-17.00" prototype="math.mod">
                <port name="value2" type="float" value="362.0"/>
            </node>
            <node name="switch1" position="19.00,-11.00" prototype="list.switch"/>
            <port childReference="mod1.value1" description="" label="" name="value1" range="value" type="float" value="0.0" widget="float"/>
            <conn input="compare1.value1" output="mod1"/>
            <conn input="convert_range1.value" output="mod1"/>
            <conn input="convert_range2.value" output="mod1"/>
            <conn input="switch1.input1" output="convert_range1"/>
            <conn input="switch1.input2" output="convert_range2"/>
            <conn input="switch1.index" output="compare1"/>
        </node>
        <node name="multiply1" position="28.00,2.00" prototype="math.multiply">
            <port name="value2" type="float" value="2.0"/>
        </node>
        <node name="multiply2" position="31.00,2.00" prototype="math.multiply">
            <port name="value2" type="float" value="3.0"/>
        </node>
        <node name="multiply3" position="34.00,2.00" prototype="math.multiply">
            <port name="value2" type="float" value="4.0"/>
        </node>
        <node name="multiply4" position="37.00,2.00" prototype="math.multiply">
            <port name="value2" type="float" value="5.0"/>
        </node>
        <node name="multiply5" position="40.00,2.00" prototype="math.multiply">
            <port name="value2" type="float" value="6.0"/>
        </node>
        <node name="number1" position="2.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="89.0"/>
        </node>
        <node name="number2" position="5.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="55.0"/>
        </node>
        <node name="number3" position="26.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="90.0"/>
        </node>
        <node name="number4" position="8.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="34.0"/>
        </node>
        <node name="number5" position="11.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="21.0"/>
        </node>
        <node name="number6" position="14.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="13.0"/>
        </node>
        <node name="number7" position="17.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="8.0"/>
        </node>
        <node name="number8" position="20.00,-3.00" prototype="math.number">
            <port name="value" type="float" value="5.0"/>
        </node>
        <conn input="base.size" output="number1"/>
        <conn input="base1.size" output="number2"/>
        <conn input="base1.prev_square" output="base"/>
        <conn input="combine1.list1" output="base"/>
        <conn input="combine1.list2" output="base1"/>
        <conn input="base1.angle" output="number3"/>
        <conn input="base2.size" output="number4"/>
        <conn input="base2.prev_square" output="base1"/>
        <conn input="combine1.list3" output="base2"/>
        <conn input="multiply1.value1" output="number3"/>
        <conn input="base2.angle" output="multiply1"/>
        <conn input="base3.prev_square" output="base2"/>
        <conn input="base3.size" output="number5"/>
        <conn input="multiply2.value1" output="number3"/>
        <conn input="base3.angle" output="multiply2"/>
        <conn input="combine1.list4" output="base3"/>
        <conn input="base4.prev_square" output="base3"/>
        <conn input="base4.size" output="number6"/>
        <conn input="multiply3.value1" output="number3"/>
        <conn input="base4.angle" output="multiply3"/>
        <conn input="combine1.list5" output="base4"/>
        <conn input="base5.prev_square" output="base4"/>
        <conn input="base5.size" output="number7"/>
        <conn input="multiply4.value1" output="number3"/>
        <conn input="base5.angle" output="multiply4"/>
        <conn input="combine1.list6" output="base5"/>
        <conn input="base6.prev_square" output="base5"/>
        <conn input="base6.size" output="number8"/>
        <conn input="multiply5.value1" output="number3"/>
        <conn input="base6.angle" output="multiply5"/>
        <conn input="combine1.list7" output="base6"/>
        <conn input="metronome.value1" output="frame1"/>
        <conn input="number3.value" output="metronome"/>
        <conn input="curve.square" output="combine1"/>
        <conn input="combine2.list1" output="combine1"/>
        <conn input="combine2.list7" output="curve"/>
        <conn input="divide1.value2" output="make_numbers1"/>
        <conn input="divide1.value1" output="number3"/>
        <conn input="curve.bend" output="divide1"/>
    </node>
</ndbx>
