<mxfile host="app.diagrams.net" modified="2023-04-24T00:50:17.292Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/112.0" etag="q_X2U8rVhXvaG6jvCtRe" version="21.2.1" type="google">
  <diagram name="Page-1" id="ZFZsqMHF3GJ-EmVSvTRW">
    <mxGraphModel grid="1" page="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-1" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="60" y="40" width="30" height="30" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-2" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="75" y="130" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-3" value="&lt;div&gt;numMatches = 0&lt;/div&gt;&lt;div&gt;unbroken = true&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="15" y="130" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-4" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-3">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="75" y="230" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-5" value="&lt;div&gt;bottomLeftRow = pos.getRow()&lt;/div&gt;leftCol = pos.getColumn()" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="-27.5" y="230" width="205" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-6" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-5">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="75" y="330" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-7" value="bottomLeftRow &amp;gt; 0 &amp;amp;&amp;amp; leftCol &amp;gt; 0" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="-49" y="330" width="248" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-8" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-7">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="280" y="350" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-9" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-7">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="75" y="460" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-10" value="&lt;div&gt;bottomLeftRow--&lt;/div&gt;&lt;div&gt;leftCol--&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="15" y="460" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-11" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-10" target="QZKE-FOPE2aFUfE0uEtR-7">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="75" y="560" as="targetPoint" />
            <Array as="points">
              <mxPoint x="-80" y="480" />
              <mxPoint x="-80" y="350" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-12" value="newPos = new BoardPosition(bottomLeftRow, leftCol)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="280" y="330" width="300" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-13" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-12">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="630" y="350" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-14" value="newPos.getRow() &amp;lt;= (getNumRows() - 1) &amp;amp;&amp;amp; newPos.getColumn() &amp;lt;= (getNumColumns() - 1)" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="630" y="330" width="660" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-15" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-14" target="QZKE-FOPE2aFUfE0uEtR-36">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1367.2" y="350" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-16" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-14">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="960" y="480" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-17" value="whatsAtPos(newPos) == p &amp;amp;&amp;amp; unbroken" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="810" y="480" width="300" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-18" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-17" target="QZKE-FOPE2aFUfE0uEtR-22">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1180" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-19" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-17">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="960" y="600" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-20" value="numMatches++" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="900" y="600" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-21" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-20" target="QZKE-FOPE2aFUfE0uEtR-24">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="960" y="700" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-22" value="unbroken = false" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1120" y="570" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-23" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-22" target="QZKE-FOPE2aFUfE0uEtR-24">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1180" y="670" as="targetPoint" />
            <Array as="points">
              <mxPoint x="1170" y="690" />
              <mxPoint x="993" y="690" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-24" value="unbroken" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="895" y="730" width="130" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-25" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-24">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1110" y="750" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-26" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-24" target="QZKE-FOPE2aFUfE0uEtR-29">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="960" y="830" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-27" value="&lt;div&gt;numMatches = 0&lt;/div&gt;&lt;div&gt;unbroken = true&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1110" y="730" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-28" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-27" target="QZKE-FOPE2aFUfE0uEtR-29">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1170" y="830" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-29" value="numMatches == getNumToWin()" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="920" y="850" width="240" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-30" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-29">
          <mxGeometry x="-0.2" y="10" relative="1" as="geometry">
            <mxPoint x="1040" y="940" as="targetPoint" />
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-31" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-29">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1230" y="870" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-32" value="newPos = new BoardPosition(newPos.getRow() + 1, newPos.getColumn() + 1)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="670" y="940" width="430" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-33" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-32" target="QZKE-FOPE2aFUfE0uEtR-14">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="800" y="760" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-34" value="return true" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1230" y="850" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-35" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-34" target="QZKE-FOPE2aFUfE0uEtR-72">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="2460" y="820" as="targetPoint" />
            <Array as="points">
              <mxPoint x="1290" y="1200" />
              <mxPoint x="2450" y="1200" />
              <mxPoint x="2450" y="550" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-36" value="&lt;div&gt;bottomRightRow = pos.getRow()&lt;/div&gt;&lt;div&gt;rightCol = pos.getColumn()&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1370" y="330" width="210" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-37" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-36">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1475" y="430" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-38" value="bottomRightRow &amp;gt; 0 &amp;amp;&amp;amp; rightCol &amp;lt; (getNumColumns() - 1)" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1265" y="430" width="420" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-39" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-38">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1740" y="450" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-40" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-38">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1475" y="550" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-41" value="&lt;div&gt;bottomRightRow--&lt;/div&gt;&lt;div&gt;rightCol++&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1415" y="550" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-42" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-41" target="QZKE-FOPE2aFUfE0uEtR-38">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1475" y="650" as="targetPoint" />
            <Array as="points">
              <mxPoint x="1370" y="570" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-43" value="&lt;div&gt;numMatches = 0&lt;/div&gt;newPos = new BoardPosition(bottomRightRow, rightCol)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1740" y="430" width="330" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-44" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-43">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1905" y="530" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-45" value="newPos.getRow() &amp;lt;= (getNumRows() - 1) &amp;amp;&amp;amp; newPos.getColumn() &amp;gt;= 0" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1650" y="530" width="510" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-46" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-45">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="2220" y="550" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-47" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-45">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1905" y="670" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-48" value="whatsAtPos(newPos) == p &amp;amp;&amp;amp; unbroken" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1755" y="670" width="300" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-49" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-48" target="QZKE-FOPE2aFUfE0uEtR-53">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="2125" y="690" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-50" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-48">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1905" y="790" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-51" value="numMatches++" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1845" y="790" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-52" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-51" target="QZKE-FOPE2aFUfE0uEtR-55">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1905" y="890" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-53" value="unbroken = false" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="2065" y="760" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-54" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-53" target="QZKE-FOPE2aFUfE0uEtR-55">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="2125" y="860" as="targetPoint" />
            <Array as="points">
              <mxPoint x="2115" y="880" />
              <mxPoint x="1938" y="880" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-55" value="unbroken" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1840" y="920" width="130" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-56" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-55">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="2055" y="940" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-57" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-55" target="QZKE-FOPE2aFUfE0uEtR-60">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="1905" y="1020" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-58" value="&lt;div&gt;numMatches = 0&lt;/div&gt;&lt;div&gt;unbroken = true&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="2055" y="920" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-59" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-58" target="QZKE-FOPE2aFUfE0uEtR-60">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="2115" y="1020" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-60" value="numMatches == getNumToWin()" style="rhombus;whiteSpace=wrap;html=1;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1865" y="1040" width="240" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-61" value="no" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-60">
          <mxGeometry x="-0.2" y="10" relative="1" as="geometry">
            <mxPoint x="1985" y="1130" as="targetPoint" />
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-62" value="yes" style="edgeStyle=orthogonalEdgeStyle;html=1;align=left;verticalAlign=top;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-60">
          <mxGeometry x="-1" relative="1" as="geometry">
            <mxPoint x="2175" y="1060" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-64" value="return true" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="2175" y="1040" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-65" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-64" target="QZKE-FOPE2aFUfE0uEtR-72">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="2430" y="750" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-68" value="newPos = new BoardPosition(newPos.getRow() + 1, newPos.getColumn() - 1)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="1610" y="1130" width="435" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-69" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-68" target="QZKE-FOPE2aFUfE0uEtR-45">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1710" y="900" as="targetPoint" />
            <Array as="points">
              <mxPoint x="1720" y="640" />
              <mxPoint x="1777" y="640" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-70" value="return false" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="2220" y="530" width="120" height="40" as="geometry" />
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-71" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" parent="1" source="QZKE-FOPE2aFUfE0uEtR-70">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="2410" y="550" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="QZKE-FOPE2aFUfE0uEtR-72" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
          <mxGeometry x="2410" y="535" width="30" height="30" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
