changeset 3:70346fe80c78

add slide
author mori
date Thu, 08 Feb 2024 15:46:29 +0900
parents 04a44bb1bd7b
children dd37dd73a8ea
files Slide/Makefile Slide/README.md Slide/cr.css Slide/figs/RedBlackTree.png Slide/figs/stack.drawio Slide/figs/stack.png Slide/figs/stack.svg Slide/figs/stack1.drawio Slide/figs/stack1.png Slide/figs/stack1png.png Slide/figs/stack2.png Slide/figs/stack3.drawio Slide/figs/stack3.svg Slide/figs/stack4.drawio Slide/figs/stack4.svg Slide/figs/test.drawio Slide/figs/test.svg Slide/logo.svg Slide/slide3.html Slide/slide3.md Slide/slide3.pdf
diffstat 21 files changed, 2773 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/Makefile	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,3 @@
+build:
+	 marp template.md --theme cr.css
+	 open template.html
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/README.md	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,15 @@
+## 使用方法
+
+基本的には`Marp for VSCode` Extensionを使用する
+
+Extensionをインストール後、次のVSCodeの設定を書き込む。
+テーマのパスは環境によって違うかもしれないので確認する。
+おそらく、VSCodeで開いているディレクトリからの相対パスを入れれば良い。
+```json
+  "markdown.marp.exportType": "html",
+  "markdown.marp.themes": ["template/cr.css"]
+```
+
+## CLIでの使用方法
+
+Makefileを作成してある
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/cr.css	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,30 @@
+/* @theme cr */
+
+@import 'default';
+
+section {
+  background-image: url('./logo.svg');
+  background-repeat: no-repeat;
+  background-position: right 2rem bottom 0.6rem;
+  background-size: 12%;
+}
+
+h1 {
+  color: #828db2;
+  font-size: 2.1rem;
+}
+
+h2 {
+  background-color: #828db2;
+  color: #fff;
+  padding: 0.3rem;
+  font-size: 2.1rem;
+}
+
+p {
+  font-size: 1.3rem;
+}
+
+ul, ol {
+  font-size: 1.2rem;
+}
Binary file Slide/figs/RedBlackTree.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack.drawio	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,199 @@
+<mxfile host="app.diagrams.net" modified="2024-02-06T11:38:35.439Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" etag="zUqwVeSq-ygN2CRTsJ-o" version="22.1.18" type="device">
+  <diagram name="ページ1" id="rN4dKjHXG7ffeiCSSRsQ">
+    <mxGraphModel dx="1834" dy="764" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-1" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="30" y="160" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-2" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="-110" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-3" value="10" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="180" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-4" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-2" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-6" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-8" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-190" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-9" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1">
+          <mxGeometry x="-30" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-10" value="15" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="260" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-11" value="14" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="180" y="515" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-13" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="104" y="235" as="sourcePoint" />
+            <mxPoint x="154" y="185" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-15" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-11" target="2AmoWmF4z2Iwg5RR4k8V-10" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="114" y="245" as="sourcePoint" />
+            <mxPoint x="164" y="195" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-16" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="124" y="255" as="sourcePoint" />
+            <mxPoint x="174" y="205" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-17" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="134" y="265" as="sourcePoint" />
+            <mxPoint x="184" y="215" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-22" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-221" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-25" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-137" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-26" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="25" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-27" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-56" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-28" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="145" y="628" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-29" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="242" y="630" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-30" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="340" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-31" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-30" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-32" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-28" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-33" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-29" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="181" y="638" as="sourcePoint" />
+            <mxPoint x="230" y="605" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-35" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-26" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-36" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-27" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="61" y="525" as="sourcePoint" />
+            <mxPoint x="20" y="490" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-37" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-25" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="71" y="535" as="sourcePoint" />
+            <mxPoint x="30" y="500" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-38" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-22" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-140" y="490" as="sourcePoint" />
+            <mxPoint x="-101" y="525" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-5" value="tree0" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="1">
+          <mxGeometry x="-303.5" y="111" width="747" height="594" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-6" value="tree1" style="swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="386.5" y="135" width="324.5" height="440" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-7" value="tree2" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-6">
+          <mxGeometry x="46" y="127" width="271" height="304" as="geometry">
+            <mxRectangle x="46" y="127" width="64" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-8" value="tree3" style="swimlane;whiteSpace=wrap;html=1;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-7">
+          <mxGeometry x="5" y="116" width="167" height="185" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-17" value="stack" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;" vertex="1" parent="1">
+          <mxGeometry x="481" y="330" width="180" height="150" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-17">
+          <mxGeometry y="30" width="180" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-19" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-18">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-20" value="tree3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-18">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-21" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-17">
+          <mxGeometry y="60" width="180" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-22" value="2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-21">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-23" value="tree2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-21">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-24" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-17">
+          <mxGeometry y="90" width="180" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-25" value="3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-24">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-26" value="tree1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-24">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-33" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-17">
+          <mxGeometry y="120" width="180" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-34" value="4" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-33">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-35" value="tree0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-33">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
Binary file Slide/figs/stack.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack.svg	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than draw.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1114px" height="621px" viewBox="-0.5 -0.5 1114 621" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-02-07T13:15:25.097Z&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36&quot; etag=&quot;GAVdrvyFAysFlkfQ4zaj&quot; version=&quot;23.1.1&quot; scale=&quot;1&quot; border=&quot;0&quot;&gt;&#10;  &lt;diagram name=&quot;ページ1&quot; id=&quot;rN4dKjHXG7ffeiCSSRsQ&quot;&gt;&#10;    &lt;mxGraphModel dx=&quot;1834&quot; dy=&quot;754&quot; grid=&quot;0&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;0&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10;      &lt;root&gt;&#10;        &lt;mxCell id=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; value=&quot;8&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;30&quot; y=&quot;160&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; value=&quot;5&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-110&quot; y=&quot;285&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; value=&quot;10&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; y=&quot;285&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-4&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;45&quot; y=&quot;225&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;95&quot; y=&quot;175&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-6&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;45&quot; y=&quot;225&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;95&quot; y=&quot;175&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; value=&quot;2&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-190&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; value=&quot;6&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-30&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; value=&quot;15&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;260&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; value=&quot;14&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; y=&quot;515&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-13&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;104&quot; y=&quot;235&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;154&quot; y=&quot;185&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-15&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;114&quot; y=&quot;245&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;164&quot; y=&quot;195&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-16&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;124&quot; y=&quot;255&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;174&quot; y=&quot;205&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-17&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;134&quot; y=&quot;265&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;184&quot; y=&quot;215&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-22&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-221&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-25&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-137&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-26&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;25&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-27&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-56&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-28&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;145&quot; y=&quot;628&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-29&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;242&quot; y=&quot;630&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-30&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;340&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-31&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-30&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-32&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-28&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-33&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-29&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;181&quot; y=&quot;638&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;230&quot; y=&quot;605&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-35&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-26&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-36&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-27&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;61&quot; y=&quot;525&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;20&quot; y=&quot;490&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-37&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-25&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;71&quot; y=&quot;535&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;30&quot; y=&quot;500&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-38&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-22&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;-140&quot; y=&quot;490&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;-101&quot; y=&quot;525&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot; value=&quot;tree0&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-303.5&quot; y=&quot;111&quot; width=&quot;747&quot; height=&quot;594&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot; value=&quot;tree1&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;386.5&quot; y=&quot;135&quot; width=&quot;324.5&quot; height=&quot;440&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-7&quot; value=&quot;tree2&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;46&quot; y=&quot;127&quot; width=&quot;271&quot; height=&quot;304&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle x=&quot;46&quot; y=&quot;127&quot; width=&quot;64&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-8&quot; value=&quot;tree3&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-7&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;5&quot; y=&quot;116&quot; width=&quot;167&quot; height=&quot;185&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-15&quot; value=&quot;左に降りる&amp;lt;br&amp;gt;s-left&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-8&quot;&gt;&#10;          &lt;mxGeometry x=&quot;28.25&quot; y=&quot;-33&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-14&quot; value=&quot;右に降りる&amp;lt;br&amp;gt;s-right&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot;&gt;&#10;          &lt;mxGeometry x=&quot;159.25&quot; y=&quot;95&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-5&quot; value=&quot;右に降りる&amp;lt;br&amp;gt;s-right&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot;&gt;&#10;          &lt;mxGeometry x=&quot;482.5&quot; y=&quot;105&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-8&quot; value=&quot;s-nil&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot;&gt;&#10;          &lt;mxGeometry x=&quot;343.5&quot; y=&quot;25&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; value=&quot;             stack              |    stackInvariant&quot; style=&quot;shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;479&quot; y=&quot;106&quot; width=&quot;320&quot; height=&quot;146&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;30&quot; width=&quot;320&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-19&quot; value=&quot;Top&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-20&quot; value=&quot;tree3 (Key = 14)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;140&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-1&quot; value=&quot;s-left (14 &amp;amp;lt; 15)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; width=&quot;140&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;56&quot; width=&quot;320&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-22&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-23&quot; value=&quot;tree2 (Key = 15)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-2&quot; value=&quot;s-right (10 &amp;amp;lt; 15)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;86&quot; width=&quot;320&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-25&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-26&quot; value=&quot;tree1 (Key = 10)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-3&quot; value=&quot;s-right (8 &amp;amp;lt; 10)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;116&quot; width=&quot;320&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-34&quot; value=&quot;orig&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-35&quot; value=&quot;tree0 (Key = 8)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-4&quot; value=&quot;s-nil&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; width=&quot;140&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;140&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-9&quot; value=&quot;Actor&quot; style=&quot;shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;486&quot; y=&quot;596&quot; width=&quot;54&quot; height=&quot;109&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-10&quot; value=&quot;stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!&quot; style=&quot;shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;position2=0.79;direction=east;flipV=0;flipH=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;484&quot; y=&quot;467&quot; width=&quot;325&quot; height=&quot;141&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-22&quot; value=&quot;&amp;lt;font style=&amp;quot;font-size: 14px;&amp;quot;&amp;gt;・stackはRedBlackTreeのリストで構成される&amp;lt;br&amp;gt;・stackは辿った木を保存している(今回は8→14)&amp;lt;br&amp;gt;・stackInvariantは辿った木の正しい経路が保存されている&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;stackInvariantは、stackが木を辿った正しい順番で構成されていることを示している&amp;lt;/font&amp;gt;&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;align=left;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;480&quot; y=&quot;292&quot; width=&quot;329&quot; height=&quot;144&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;      &lt;/root&gt;&#10;    &lt;/mxGraphModel&gt;&#10;  &lt;/diagram&gt;&#10;&lt;/mxfile&gt;&#10;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f8cecc-1-ea6b66-1-s-0"><stop offset="0%" style="stop-color: rgb(248, 206, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(234, 107, 102); stop-opacity: 1;"/></linearGradient></defs><rect fill="#ffffff" width="100%" height="100%" x="0" y="0"/><g><ellipse cx="374" cy="94" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 94px; margin-left: 335px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">8</div></div></div></foreignObject><text x="374" y="99" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">8</text></switch></g><ellipse cx="234" cy="219" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 219px; margin-left: 195px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">5</div></div></div></foreignObject><text x="234" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">5</text></switch></g><ellipse cx="524" cy="219" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 219px; margin-left: 485px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">10</div></div></div></foreignObject><text x="524" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">10</text></switch></g><path d="M 374 134 Q 374 134 234 179" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 374 134 Q 374 134 524 179" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="154" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 115px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">2</div></div></div></foreignObject><text x="154" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">2</text></switch></g><ellipse cx="314" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 275px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">6</div></div></div></foreignObject><text x="314" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">6</text></switch></g><ellipse cx="604" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 565px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">15</div></div></div></foreignObject><text x="604" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">15</text></switch></g><ellipse cx="524" cy="449" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 449px; margin-left: 485px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">14</div></div></div></foreignObject><text x="524" y="454" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">14</text></switch></g><path d="M 604 294 Q 604 294 524 259" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 524 409 Q 524 409 604 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 234 259 Q 234 259 314 294" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 234 259 Q 234 259 154 294" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="83" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 84px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="109" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="167" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 168px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="193" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="329" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 330px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="355" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="248" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 249px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="274" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="449" y="522" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 539px; margin-left: 450px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="475" y="542" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="546" y="524" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 541px; margin-left: 547px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="572" y="544" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="644" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 645px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="670" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><path d="M 604 374 L 669.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 474.5 522 L 524 489" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 571.5 524 L 524 489" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 354.5 409 L 314 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 273.5 409 L 314 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 154 374 L 192.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 154 374 L 108.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 0.5 28 L 0.5 5 L 747.5 5 L 747.5 28" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 0.5 28 L 0.5 599 L 747.5 599 L 747.5 28" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 0.5 28 L 747.5 28" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 745px; height: 1px; padding-top: 17px; margin-left: 2px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="374" y="20" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree0</text></switch></g><path d="M 387 163 L 387 140 L 711.5 140 L 711.5 163" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 387 163 L 387 580 L 711.5 580 L 711.5 163" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 387 163 L 711.5 163" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 323px; height: 1px; padding-top: 152px; margin-left: 388px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="549" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree1</text></switch></g><path d="M 433 290 L 433 267 L 704 267 L 704 290" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 433 290 L 433 571 L 704 571 L 704 290" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 433 290 L 704 290" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 269px; height: 1px; padding-top: 279px; margin-left: 434px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="569" y="282" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree2</text></switch></g><path d="M 438 406 L 438 383 L 605 383 L 605 406" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 438 406 L 438 568 L 605 568 L 605 406" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 438 406 L 605 406" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 395px; margin-left: 439px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="522" y="398" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree3</text></switch></g><rect x="466.25" y="350" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 365px; margin-left: 467px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">左に降りる<br />s-left</div></div></div></foreignObject><text x="524" y="369" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">左に降りる&#xa;s-left</text></switch></g><rect x="546.25" y="235" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 250px; margin-left: 547px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">右に降りる<br />s-right</div></div></div></foreignObject><text x="604" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">右に降りる&#xa;s-right</text></switch></g><rect x="483" y="110" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 125px; margin-left: 484px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">右に降りる<br />s-right</div></div></div></foreignObject><text x="541" y="129" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">右に降りる&#xa;s-right</text></switch></g><rect x="344" y="30" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 45px; margin-left: 345px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-nil</div></div></div></foreignObject><text x="374" y="49" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">s-nil</text></switch></g><path d="M 1103 30 L 1103 13.5 Q 1103 0 1089.5 0 L 796.5 0 Q 783 0 783 13.5 L 783 30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 783 30 L 783 132.5 Q 783 146 796.5 146 L 1089.5 146 Q 1103 146 1103 132.5 L 1103 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 783 30 L 1103 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 823 30 L 823 56 L 823 86 L 823 116 L 823 146" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 963 30 L 963 56 L 963 86 L 963 116 L 963 146" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="16px"><text x="942.5" y="21.5">             stack              |    stackInvariant</text></g><rect x="783" y="30" width="40" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 783 30 M 823 30 M 823 56 M 783 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 43px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Top</div></div></div></foreignObject><text x="803" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">Top</text></switch></g><rect x="823" y="30" width="140" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 823 30 M 963 30 M 963 56 M 823 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 43px; margin-left: 831px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree3 (Key = 14)</div></div></div></foreignObject><text x="831" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">tree3 (Key = 14)</text></switch></g><rect x="963" y="30" width="140" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 963 30 M 1103 30 M 1103 56 M 963 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 43px; margin-left: 971px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-left (14 &lt; 15)</div></div></div></foreignObject><text x="971" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-left (14 &lt; 15)</text></switch></g><rect x="783" y="56" width="40" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 56 M 823 56 M 823 86 M 783 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 71px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="803" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="823" y="56" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 823 56 M 963 56 M 963 86 M 823 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 71px; margin-left: 831px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree2 (Key = 15)</div></div></div></foreignObject><text x="831" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">tree2 (Key = 15)</text></switch></g><rect x="963" y="56" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 963 56 M 1103 56 M 1103 86 M 963 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 71px; margin-left: 971px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-right (10 &lt; 15)</div></div></div></foreignObject><text x="971" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-right (10 &lt; 15)</text></switch></g><rect x="783" y="86" width="40" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 86 M 823 86 M 823 116 M 783 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 101px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="803" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="823" y="86" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 823 86 M 963 86 M 963 116 M 823 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 101px; margin-left: 831px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree1 (Key = 10)</div></div></div></foreignObject><text x="831" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">tree1 (Key = 10)</text></switch></g><rect x="963" y="86" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 963 86 M 1103 86 M 1103 116 M 963 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 101px; margin-left: 971px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-right (8 &lt; 10)</div></div></div></foreignObject><text x="971" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-right (8 &lt; 10)</text></switch></g><rect x="783" y="116" width="40" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 116 M 823 116 M 823 146 M 783 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 131px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">orig</div></div></div></foreignObject><text x="803" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">orig</text></switch></g><rect x="823" y="116" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 823 116 M 963 116 M 963 146 M 823 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 131px; margin-left: 831px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree0 (Key = 8)</div></div></div></foreignObject><text x="831" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">tree0 (Key = 8)</text></switch></g><rect x="963" y="116" width="140" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 963 116 M 1103 116 M 1103 146 M 963 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 132px; height: 1px; padding-top: 131px; margin-left: 971px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-nil</div></div></div></foreignObject><text x="971" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-nil</text></switch></g><ellipse cx="817" cy="503.63" rx="13.5" ry="13.625" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 817 517.25 L 817 562.67 M 817 526.33 L 790 526.33 M 817 526.33 L 844 526.33 M 817 562.67 L 790 599 M 817 562.67 L 844 599" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 606px; margin-left: 817px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Actor</div></div></div></foreignObject><text x="817" y="618" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Actor</text></switch></g><path d="M 788 361 L 1113 361 L 1113 472 L 970.5 472 L 1044.75 502 L 950.5 472 L 788 472 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" transform="translate(950.5,0)scale(-1,1)translate(-950.5,0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 323px; height: 1px; padding-top: 417px; margin-left: 789px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!</div></div></div></foreignObject><text x="951" y="420" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!</text></switch></g><rect x="784" y="186" width="329" height="144" rx="21.6" ry="21.6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 327px; height: 1px; padding-top: 258px; margin-left: 786px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 14px;">・stackはRedBlackTreeのリストで構成される<br />・stackは辿った木を保存している(今回は8→14)<br />・stackInvariantは辿った木の正しい経路が保存されている<br /><br />stackInvariantは、stackが木を辿った正しい順番で構成されていることを示している</font></div></div></div></foreignObject><text x="786" y="262" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">・stackはRedBlackTreeのリストで構成される...</text></switch></g></g></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack1.drawio	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,240 @@
+<mxfile host="app.diagrams.net" modified="2024-02-07T11:11:51.171Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" etag="5F5MK9fsAeWiSITGCI38" version="23.1.1" type="device">
+  <diagram name="ページ1" id="rN4dKjHXG7ffeiCSSRsQ">
+    <mxGraphModel dx="1834" dy="754" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-1" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="30" y="160" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-2" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="-110" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-3" value="10" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="180" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-4" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-2" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-6" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-8" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-190" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-9" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1">
+          <mxGeometry x="-30" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-10" value="15" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="260" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-11" value="14" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="180" y="515" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-13" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="104" y="235" as="sourcePoint" />
+            <mxPoint x="154" y="185" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-15" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-11" target="2AmoWmF4z2Iwg5RR4k8V-10" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="114" y="245" as="sourcePoint" />
+            <mxPoint x="164" y="195" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-16" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="124" y="255" as="sourcePoint" />
+            <mxPoint x="174" y="205" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-17" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="134" y="265" as="sourcePoint" />
+            <mxPoint x="184" y="215" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-22" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-221" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-25" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-137" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-26" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="25" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-27" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-56" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-28" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="145" y="628" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-29" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="242" y="630" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-30" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="340" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-31" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-30" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-32" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-28" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-33" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-29" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="181" y="638" as="sourcePoint" />
+            <mxPoint x="230" y="605" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-35" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-26" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-36" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-27" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="61" y="525" as="sourcePoint" />
+            <mxPoint x="20" y="490" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-37" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-25" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="71" y="535" as="sourcePoint" />
+            <mxPoint x="30" y="500" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-38" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-22" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-140" y="490" as="sourcePoint" />
+            <mxPoint x="-101" y="525" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-5" value="tree0" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="-303.5" y="111" width="747" height="594" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-6" value="tree1" style="swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;" parent="vRyMJPiLZbMg_GdmuDIE-5" vertex="1">
+          <mxGeometry x="386.5" y="135" width="324.5" height="440" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-7" value="tree2" style="swimlane;whiteSpace=wrap;html=1;" parent="vRyMJPiLZbMg_GdmuDIE-6" vertex="1">
+          <mxGeometry x="46" y="127" width="271" height="304" as="geometry">
+            <mxRectangle x="46" y="127" width="64" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-8" value="tree3" style="swimlane;whiteSpace=wrap;html=1;" parent="vRyMJPiLZbMg_GdmuDIE-7" vertex="1">
+          <mxGeometry x="5" y="116" width="167" height="185" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-15" value="左に降りる&lt;br&gt;s-left" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-8">
+          <mxGeometry x="28.25" y="-33" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-14" value="右に降りる&lt;br&gt;s-right" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-6">
+          <mxGeometry x="159.25" y="95" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-5" value="右に降りる&lt;br&gt;s-right" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="482.5" y="105" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-8" value="s-nil" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="343.5" y="25" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-17" value="stack/stackInvariant" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="478" y="106" width="320" height="150" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="30" width="320" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-19" value="Top" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-18" vertex="1">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-20" value="tree3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-18" vertex="1">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-1" value="s-left (14 &amp;lt; 15)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-18">
+          <mxGeometry x="180" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-21" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="60" width="320" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-22" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-21" vertex="1">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-23" value="tree2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-21" vertex="1">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-2" value="s-right (10 &amp;lt; 15)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-21">
+          <mxGeometry x="180" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-24" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="90" width="320" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-25" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-24" vertex="1">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-26" value="tree1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-24" vertex="1">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-3" value="s-right (8 &amp;lt; 10)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-24">
+          <mxGeometry x="180" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-33" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="120" width="320" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-34" value="orig" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-33" vertex="1">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-35" value="tree0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-33" vertex="1">
+          <mxGeometry x="40" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-4" value="s-nil" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-33">
+          <mxGeometry x="180" width="140" height="30" as="geometry">
+            <mxRectangle width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-9" value="Actor" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="486" y="596" width="54" height="109" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-10" value="stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!" style="shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;position2=0.79;direction=east;flipV=0;flipH=1;" vertex="1" parent="1">
+          <mxGeometry x="484" y="467" width="325" height="141" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-22" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;・stackはRedBlackTreeのリストから構成される&lt;br&gt;・stackは辿った木を保存している&lt;br&gt;・stackInvariantは辿った木の正しい経路が保存されている&lt;br&gt;&lt;br&gt;stackInvariantは、stackが木を辿った正しい順番で構成されていることを示している&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
+          <mxGeometry x="480" y="292" width="329" height="144" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
Binary file Slide/figs/stack1.png has changed
Binary file Slide/figs/stack1png.png has changed
Binary file Slide/figs/stack2.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack3.drawio	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,320 @@
+<mxfile host="app.diagrams.net" modified="2024-02-07T13:51:16.858Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" etag="I_Ju8dxerCWv4OkcBoH0" version="23.1.1" type="device">
+  <diagram name="ページ1" id="rN4dKjHXG7ffeiCSSRsQ">
+    <mxGraphModel dx="1834" dy="754" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-1" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="30" y="160" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-2" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="-110" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-3" value="10" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="180" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-4" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-2" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-6" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-8" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-190" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-9" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1">
+          <mxGeometry x="-30" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-10" value="15" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="260" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-11" value="14" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="180" y="515" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-13" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="104" y="235" as="sourcePoint" />
+            <mxPoint x="154" y="185" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-15" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-11" target="2AmoWmF4z2Iwg5RR4k8V-10" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="114" y="245" as="sourcePoint" />
+            <mxPoint x="164" y="195" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-16" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="124" y="255" as="sourcePoint" />
+            <mxPoint x="174" y="205" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-17" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="134" y="265" as="sourcePoint" />
+            <mxPoint x="184" y="215" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-22" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-221" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-25" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-137" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-26" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="25" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-27" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-56" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-28" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="145" y="628" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-29" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="242" y="630" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-30" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="340" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-31" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-30" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-32" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-28" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-33" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-29" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="181" y="638" as="sourcePoint" />
+            <mxPoint x="230" y="605" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-35" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-26" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-36" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-27" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="61" y="525" as="sourcePoint" />
+            <mxPoint x="20" y="490" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-37" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-25" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="71" y="535" as="sourcePoint" />
+            <mxPoint x="30" y="500" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-38" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-22" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-140" y="490" as="sourcePoint" />
+            <mxPoint x="-101" y="525" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-5" value="tree0" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="-303.5" y="111" width="747" height="594" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-6" value="tree1" style="swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;" parent="vRyMJPiLZbMg_GdmuDIE-5" vertex="1">
+          <mxGeometry x="386.5" y="135" width="324.5" height="440" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-7" value="tree2" style="swimlane;whiteSpace=wrap;html=1;" parent="vRyMJPiLZbMg_GdmuDIE-6" vertex="1">
+          <mxGeometry x="46" y="127" width="271" height="304" as="geometry">
+            <mxRectangle x="46" y="127" width="64" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-8" value="tree3" style="swimlane;whiteSpace=wrap;html=1;" parent="vRyMJPiLZbMg_GdmuDIE-7" vertex="1">
+          <mxGeometry x="5" y="116" width="167" height="185" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-15" value="左に降りる&lt;br&gt;s-left" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-8">
+          <mxGeometry x="28.25" y="-33" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-14" value="右に降りる&lt;br&gt;s-right" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-6">
+          <mxGeometry x="159.25" y="95" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-5" value="右に降りる&lt;br&gt;s-right" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="482.5" y="105" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-8" value="s-nil" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="343.5" y="25" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-17" value="stack" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="479" y="106" width="682" height="146" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="30" width="682" height="26" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-23" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-18">
+          <mxGeometry width="123" height="26" as="geometry">
+            <mxRectangle width="123" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-19" value="tree3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-18" vertex="1">
+          <mxGeometry x="123" width="125" height="26" as="geometry">
+            <mxRectangle width="125" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-20" value="(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-18" vertex="1">
+          <mxGeometry x="248" width="434" height="26" as="geometry">
+            <mxRectangle width="434" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-21" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="56" width="682" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-24" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-21">
+          <mxGeometry width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-22" value="tree2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-21" vertex="1">
+          <mxGeometry x="123" width="125" height="30" as="geometry">
+            <mxRectangle width="125" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-23" value="(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-21" vertex="1">
+          <mxGeometry x="248" width="434" height="30" as="geometry">
+            <mxRectangle width="434" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-24" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="86" width="682" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-25" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-24">
+          <mxGeometry width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-25" value="tree1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-24" vertex="1">
+          <mxGeometry x="123" width="125" height="30" as="geometry">
+            <mxRectangle width="125" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-26" value="(node 10 ...) :: (node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-24" vertex="1">
+          <mxGeometry x="248" width="434" height="30" as="geometry">
+            <mxRectangle width="434" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-33" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="116" width="682" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-26" value="orig" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-33">
+          <mxGeometry width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-34" value="tree0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-33" vertex="1">
+          <mxGeometry x="123" width="125" height="30" as="geometry">
+            <mxRectangle width="125" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-35" value="(node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-33" vertex="1">
+          <mxGeometry x="248" width="434" height="30" as="geometry">
+            <mxRectangle width="434" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-9" value="Actor" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" vertex="1" parent="1">
+          <mxGeometry x="486" y="596" width="54" height="109" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-10" value="stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!" style="shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;position2=0.79;direction=east;flipV=0;flipH=1;" vertex="1" parent="1">
+          <mxGeometry x="484" y="467" width="325" height="141" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-22" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;・stackはRedBlackTreeのリストで構成される&lt;br&gt;・stackは辿った木を保存している(今回は8→14)&lt;br&gt;・stackInvariantは辿った木の正しい経路が保存されている&lt;br&gt;&lt;br&gt;stackInvariantは、stackが木を辿った正しい順番で構成されていることを示している&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
+          <mxGeometry x="827" y="457" width="329" height="144" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-27" value="top" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;align=center;" vertex="1" parent="1">
+          <mxGeometry x="508" y="139" width="62" height="26" as="geometry">
+            <mxRectangle width="62" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-28" value=" stackInvariant" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;" vertex="1" parent="1">
+          <mxGeometry x="479" y="281" width="674" height="146" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-29" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="30" width="674" height="26" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-30" value="top" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-29">
+          <mxGeometry width="123" height="26" as="geometry">
+            <mxRectangle width="123" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-31" value="tree3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-29">
+          <mxGeometry x="123" width="123" height="26" as="geometry">
+            <mxRectangle width="123" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-33" value="s-left (s-right (s-right (s-nil)))" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-29">
+          <mxGeometry x="246" width="428" height="26" as="geometry">
+            <mxRectangle width="428" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-34" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="56" width="674" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-35" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-34">
+          <mxGeometry width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-36" value="tree2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-34">
+          <mxGeometry x="123" width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-38" value="s-right (s-right (s-nil)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-34">
+          <mxGeometry x="246" width="428" height="30" as="geometry">
+            <mxRectangle width="428" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-39" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="86" width="674" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-40" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-39">
+          <mxGeometry width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-41" value="tree1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-39">
+          <mxGeometry x="123" width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-43" value="s-right (s-nil)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-39">
+          <mxGeometry x="246" width="428" height="30" as="geometry">
+            <mxRectangle width="428" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-44" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="116" width="674" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-45" value="orig" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-44">
+          <mxGeometry width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-46" value="tree0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-44">
+          <mxGeometry x="123" width="123" height="30" as="geometry">
+            <mxRectangle width="123" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-48" value="s-nil" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-44">
+          <mxGeometry x="246" width="428" height="30" as="geometry">
+            <mxRectangle width="428" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack3.svg	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than draw.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1466px" height="621px" viewBox="-0.5 -0.5 1466 621" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-02-07T13:51:23.716Z&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36&quot; etag=&quot;iEhjuC6C0j0_Io6-ZQS3&quot; version=&quot;23.1.1&quot; scale=&quot;1&quot; border=&quot;0&quot;&gt;&#10;  &lt;diagram name=&quot;ページ1&quot; id=&quot;rN4dKjHXG7ffeiCSSRsQ&quot;&gt;&#10;    &lt;mxGraphModel dx=&quot;1834&quot; dy=&quot;754&quot; grid=&quot;0&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;0&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10;      &lt;root&gt;&#10;        &lt;mxCell id=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; value=&quot;8&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;30&quot; y=&quot;160&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; value=&quot;5&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-110&quot; y=&quot;285&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; value=&quot;10&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; y=&quot;285&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-4&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;45&quot; y=&quot;225&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;95&quot; y=&quot;175&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-6&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;45&quot; y=&quot;225&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;95&quot; y=&quot;175&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; value=&quot;2&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-190&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; value=&quot;6&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-30&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; value=&quot;15&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;260&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; value=&quot;14&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; y=&quot;515&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-13&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;104&quot; y=&quot;235&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;154&quot; y=&quot;185&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-15&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;114&quot; y=&quot;245&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;164&quot; y=&quot;195&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-16&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;124&quot; y=&quot;255&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;174&quot; y=&quot;205&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-17&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;134&quot; y=&quot;265&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;184&quot; y=&quot;215&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-22&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-221&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-25&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-137&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-26&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;25&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-27&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-56&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-28&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;145&quot; y=&quot;628&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-29&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;242&quot; y=&quot;630&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-30&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;340&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-31&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-30&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-32&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-28&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-33&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-29&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;181&quot; y=&quot;638&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;230&quot; y=&quot;605&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-35&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-26&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-36&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-27&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;61&quot; y=&quot;525&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;20&quot; y=&quot;490&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-37&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-25&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;71&quot; y=&quot;535&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;30&quot; y=&quot;500&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-38&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-22&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;-140&quot; y=&quot;490&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;-101&quot; y=&quot;525&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot; value=&quot;tree0&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-303.5&quot; y=&quot;111&quot; width=&quot;747&quot; height=&quot;594&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot; value=&quot;tree1&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;386.5&quot; y=&quot;135&quot; width=&quot;324.5&quot; height=&quot;440&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-7&quot; value=&quot;tree2&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;46&quot; y=&quot;127&quot; width=&quot;271&quot; height=&quot;304&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle x=&quot;46&quot; y=&quot;127&quot; width=&quot;64&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-8&quot; value=&quot;tree3&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-7&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;5&quot; y=&quot;116&quot; width=&quot;167&quot; height=&quot;185&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-15&quot; value=&quot;左に降りる&amp;lt;br&amp;gt;s-left&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-8&quot;&gt;&#10;          &lt;mxGeometry x=&quot;28.25&quot; y=&quot;-33&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-14&quot; value=&quot;右に降りる&amp;lt;br&amp;gt;s-right&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot;&gt;&#10;          &lt;mxGeometry x=&quot;159.25&quot; y=&quot;95&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-5&quot; value=&quot;右に降りる&amp;lt;br&amp;gt;s-right&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot;&gt;&#10;          &lt;mxGeometry x=&quot;482.5&quot; y=&quot;105&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-8&quot; value=&quot;s-nil&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot;&gt;&#10;          &lt;mxGeometry x=&quot;343.5&quot; y=&quot;25&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; value=&quot;stack&quot; style=&quot;shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;479&quot; y=&quot;106&quot; width=&quot;682&quot; height=&quot;146&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;30&quot; width=&quot;682&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-23&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-19&quot; value=&quot;tree3&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;125&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;125&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-20&quot; value=&quot;(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;248&quot; width=&quot;434&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;434&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;56&quot; width=&quot;682&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-24&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-22&quot; value=&quot;tree2&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;125&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;125&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-23&quot; value=&quot;(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;248&quot; width=&quot;434&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;434&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;86&quot; width=&quot;682&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-25&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-25&quot; value=&quot;tree1&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;125&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;125&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-26&quot; value=&quot;(node 10 ...) :: (node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;248&quot; width=&quot;434&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;434&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;116&quot; width=&quot;682&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-26&quot; value=&quot;orig&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-34&quot; value=&quot;tree0&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;125&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;125&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-35&quot; value=&quot;(node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;248&quot; width=&quot;434&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;434&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-9&quot; value=&quot;Actor&quot; style=&quot;shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;486&quot; y=&quot;596&quot; width=&quot;54&quot; height=&quot;109&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-10&quot; value=&quot;stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!&quot; style=&quot;shape=callout;whiteSpace=wrap;html=1;perimeter=calloutPerimeter;position2=0.79;direction=east;flipV=0;flipH=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;484&quot; y=&quot;467&quot; width=&quot;325&quot; height=&quot;141&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-22&quot; value=&quot;&amp;lt;font style=&amp;quot;font-size: 14px;&amp;quot;&amp;gt;・stackはRedBlackTreeのリストで構成される&amp;lt;br&amp;gt;・stackは辿った木を保存している(今回は8→14)&amp;lt;br&amp;gt;・stackInvariantは辿った木の正しい経路が保存されている&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;stackInvariantは、stackが木を辿った正しい順番で構成されていることを示している&amp;lt;/font&amp;gt;&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;align=left;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;827&quot; y=&quot;457&quot; width=&quot;329&quot; height=&quot;144&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-27&quot; value=&quot;top&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;align=center;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;508&quot; y=&quot;139&quot; width=&quot;62&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;62&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-28&quot; value=&quot; stackInvariant&quot; style=&quot;shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;479&quot; y=&quot;281&quot; width=&quot;674&quot; height=&quot;146&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-29&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;30&quot; width=&quot;674&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-30&quot; value=&quot;top&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-29&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-31&quot; value=&quot;tree3&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-29&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;123&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-33&quot; value=&quot;s-left (s-right (s-right (s-nil)))&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-29&quot;&gt;&#10;          &lt;mxGeometry x=&quot;246&quot; width=&quot;428&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;428&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-34&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;56&quot; width=&quot;674&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-35&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-34&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-36&quot; value=&quot;tree2&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-34&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-38&quot; value=&quot;s-right (s-right (s-nil)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-34&quot;&gt;&#10;          &lt;mxGeometry x=&quot;246&quot; width=&quot;428&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;428&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-39&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;86&quot; width=&quot;674&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-40&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-39&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-41&quot; value=&quot;tree1&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-39&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-43&quot; value=&quot;s-right (s-nil)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-39&quot;&gt;&#10;          &lt;mxGeometry x=&quot;246&quot; width=&quot;428&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;428&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-44&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;116&quot; width=&quot;674&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-45&quot; value=&quot;orig&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-44&quot;&gt;&#10;          &lt;mxGeometry width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-46&quot; value=&quot;tree0&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-44&quot;&gt;&#10;          &lt;mxGeometry x=&quot;123&quot; width=&quot;123&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;123&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-48&quot; value=&quot;s-nil&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-44&quot;&gt;&#10;          &lt;mxGeometry x=&quot;246&quot; width=&quot;428&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;428&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;      &lt;/root&gt;&#10;    &lt;/mxGraphModel&gt;&#10;  &lt;/diagram&gt;&#10;&lt;/mxfile&gt;&#10;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f8cecc-1-ea6b66-1-s-0"><stop offset="0%" style="stop-color: rgb(248, 206, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(234, 107, 102); stop-opacity: 1;"/></linearGradient></defs><rect fill="#ffffff" width="100%" height="100%" x="0" y="0"/><g><ellipse cx="374" cy="94" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 94px; margin-left: 335px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">8</div></div></div></foreignObject><text x="374" y="99" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">8</text></switch></g><ellipse cx="234" cy="219" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 219px; margin-left: 195px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">5</div></div></div></foreignObject><text x="234" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">5</text></switch></g><ellipse cx="524" cy="219" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 219px; margin-left: 485px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">10</div></div></div></foreignObject><text x="524" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">10</text></switch></g><path d="M 374 134 Q 374 134 234 179" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 374 134 Q 374 134 524 179" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="154" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 115px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">2</div></div></div></foreignObject><text x="154" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">2</text></switch></g><ellipse cx="314" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 275px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">6</div></div></div></foreignObject><text x="314" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">6</text></switch></g><ellipse cx="604" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 565px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">15</div></div></div></foreignObject><text x="604" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">15</text></switch></g><ellipse cx="524" cy="449" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 449px; margin-left: 485px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">14</div></div></div></foreignObject><text x="524" y="454" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">14</text></switch></g><path d="M 604 294 Q 604 294 524 259" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 524 409 Q 524 409 604 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 234 259 Q 234 259 314 294" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 234 259 Q 234 259 154 294" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="83" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 84px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="109" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="167" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 168px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="193" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="329" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 330px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="355" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="248" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 249px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="274" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="449" y="522" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 539px; margin-left: 450px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="475" y="542" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="546" y="524" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 541px; margin-left: 547px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="572" y="544" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="644" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 645px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="670" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><path d="M 604 374 L 669.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 474.5 522 L 524 489" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 571.5 524 L 524 489" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 354.5 409 L 314 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 273.5 409 L 314 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 154 374 L 192.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 154 374 L 108.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 0.5 28 L 0.5 5 L 747.5 5 L 747.5 28" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 0.5 28 L 0.5 599 L 747.5 599 L 747.5 28" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 0.5 28 L 747.5 28" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 745px; height: 1px; padding-top: 17px; margin-left: 2px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="374" y="20" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree0</text></switch></g><path d="M 387 163 L 387 140 L 711.5 140 L 711.5 163" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 387 163 L 387 580 L 711.5 580 L 711.5 163" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 387 163 L 711.5 163" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 323px; height: 1px; padding-top: 152px; margin-left: 388px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="549" y="155" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree1</text></switch></g><path d="M 433 290 L 433 267 L 704 267 L 704 290" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 433 290 L 433 571 L 704 571 L 704 290" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 433 290 L 704 290" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 269px; height: 1px; padding-top: 279px; margin-left: 434px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="569" y="282" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree2</text></switch></g><path d="M 438 406 L 438 383 L 605 383 L 605 406" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 438 406 L 438 568 L 605 568 L 605 406" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 438 406 L 605 406" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 395px; margin-left: 439px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="522" y="398" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree3</text></switch></g><rect x="466.25" y="350" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 365px; margin-left: 467px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">左に降りる<br />s-left</div></div></div></foreignObject><text x="524" y="369" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">左に降りる&#xa;s-left</text></switch></g><rect x="546.25" y="235" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 250px; margin-left: 547px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">右に降りる<br />s-right</div></div></div></foreignObject><text x="604" y="254" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">右に降りる&#xa;s-right</text></switch></g><rect x="483" y="110" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 125px; margin-left: 484px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">右に降りる<br />s-right</div></div></div></foreignObject><text x="541" y="129" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">右に降りる&#xa;s-right</text></switch></g><rect x="344" y="30" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 45px; margin-left: 345px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-nil</div></div></div></foreignObject><text x="374" y="49" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">s-nil</text></switch></g><path d="M 1465 30 L 1465 13.5 Q 1465 0 1451.5 0 L 796.5 0 Q 783 0 783 13.5 L 783 30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 783 30 L 783 132.5 Q 783 146 796.5 146 L 1451.5 146 Q 1465 146 1465 132.5 L 1465 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 783 30 L 1465 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 906 30 L 906 56 L 906 86 L 906 116 L 906 146" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 1031 30 L 1031 56 L 1031 86 L 1031 116 L 1031 146" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="16px"><text x="1123.5" y="21.5">stack</text></g><rect x="783" y="30" width="123" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 783 30 M 906 30 M 906 56 M 783 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><rect x="906" y="30" width="125" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 906 30 M 1031 30 M 1031 56 M 906 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 43px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="969" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree3</text></switch></g><rect x="1031" y="30" width="434" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 1031 30 M 1465 30 M 1465 56 M 1031 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 426px; height: 1px; padding-top: 43px; margin-left: 1039px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []</div></div></div></foreignObject><text x="1039" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (n...</text></switch></g><rect x="783" y="56" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 56 M 906 56 M 906 86 M 783 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 71px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="845" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="906" y="56" width="125" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 906 56 M 1031 56 M 1031 86 M 906 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 71px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="969" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree2</text></switch></g><rect x="1031" y="56" width="434" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 1031 56 M 1465 56 M 1465 86 M 1031 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 426px; height: 1px; padding-top: 71px; margin-left: 1039px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []</div></div></div></foreignObject><text x="1039" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []</text></switch></g><rect x="783" y="86" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 86 M 906 86 M 906 116 M 783 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 101px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="845" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="906" y="86" width="125" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 906 86 M 1031 86 M 1031 116 M 906 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 101px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="969" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree1</text></switch></g><rect x="1031" y="86" width="434" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 1031 86 M 1465 86 M 1465 116 M 1031 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 426px; height: 1px; padding-top: 101px; margin-left: 1039px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 10 ...) :: (node 8 ...) :: []</div></div></div></foreignObject><text x="1039" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 10 ...) :: (node 8 ...) :: []</text></switch></g><rect x="783" y="116" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 116 M 906 116 M 906 146 M 783 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 131px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">orig</div></div></div></foreignObject><text x="845" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">orig</text></switch></g><rect x="906" y="116" width="125" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 906 116 M 1031 116 M 1031 146 M 906 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 131px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="969" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree0</text></switch></g><rect x="1031" y="116" width="434" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 1031 116 M 1465 116 M 1465 146 M 1031 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 426px; height: 1px; padding-top: 131px; margin-left: 1039px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 8 ...) :: []</div></div></div></foreignObject><text x="1039" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 8 ...) :: []</text></switch></g><ellipse cx="817" cy="503.63" rx="13.5" ry="13.625" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 817 517.25 L 817 562.67 M 817 526.33 L 790 526.33 M 817 526.33 L 844 526.33 M 817 562.67 L 790 599 M 817 562.67 L 844 599" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 606px; margin-left: 817px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">Actor</div></div></div></foreignObject><text x="817" y="618" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Actor</text></switch></g><path d="M 788 361 L 1113 361 L 1113 472 L 970.5 472 L 1044.75 502 L 950.5 472 L 788 472 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" transform="translate(950.5,0)scale(-1,1)translate(-950.5,0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 323px; height: 1px; padding-top: 417px; margin-left: 789px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!</div></div></div></foreignObject><text x="951" y="420" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">stackInvariantを見ることで、tree0からtree3に行くには、右、右、左の経路をたどっていることがわかる!</text></switch></g><rect x="1131" y="351" width="329" height="144" rx="21.6" ry="21.6" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 327px; height: 1px; padding-top: 423px; margin-left: 1133px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 14px;">・stackはRedBlackTreeのリストで構成される<br />・stackは辿った木を保存している(今回は8→14)<br />・stackInvariantは辿った木の正しい経路が保存されている<br /><br />stackInvariantは、stackが木を辿った正しい順番で構成されていることを示している</font></div></div></div></foreignObject><text x="1133" y="427" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">・stackはRedBlackTreeのリストで構成される...</text></switch></g><rect x="812" y="33" width="62" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 812 33 M 874 33 M 874 59 M 812 59" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 60px; height: 1px; padding-top: 46px; margin-left: 813px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">top</div></div></div></foreignObject><text x="843" y="51" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">top</text></switch></g><path d="M 1457 205 L 1457 188.5 Q 1457 175 1443.5 175 L 796.5 175 Q 783 175 783 188.5 L 783 205" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 783 205 L 783 307.5 Q 783 321 796.5 321 L 1443.5 321 Q 1457 321 1457 307.5 L 1457 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 783 205 L 1457 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 906 205 L 906 231 L 906 261 L 906 291 L 906 321" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 1029 205 L 1029 231 L 1029 261 L 1029 291 L 1029 321" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="16px"><text x="1119.5" y="196.5"> stackInvariant</text></g><rect x="783" y="205" width="123" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 783 205 M 906 205 M 906 231 M 783 231" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 218px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">top</div></div></div></foreignObject><text x="845" y="223" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">top</text></switch></g><rect x="906" y="205" width="123" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 906 205 M 1029 205 M 1029 231 M 906 231" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 218px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="968" y="223" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree3</text></switch></g><rect x="1029" y="205" width="428" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 1029 205 M 1457 205 M 1457 231 M 1029 231" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 420px; height: 1px; padding-top: 218px; margin-left: 1037px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-left (s-right (s-right (s-nil)))</div></div></div></foreignObject><text x="1037" y="223" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-left (s-right (s-right (s-nil)))</text></switch></g><rect x="783" y="231" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 231 M 906 231 M 906 261 M 783 261" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 246px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="845" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="906" y="231" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 906 231 M 1029 231 M 1029 261 M 906 261" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 246px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="968" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree2</text></switch></g><rect x="1029" y="231" width="428" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 1029 231 M 1457 231 M 1457 261 M 1029 261" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 420px; height: 1px; padding-top: 246px; margin-left: 1037px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-right (s-right (s-nil)</div></div></div></foreignObject><text x="1037" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-right (s-right (s-nil)</text></switch></g><rect x="783" y="261" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 261 M 906 261 M 906 291 M 783 291" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 276px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="845" y="281" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="906" y="261" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 906 261 M 1029 261 M 1029 291 M 906 291" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 276px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="968" y="281" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree1</text></switch></g><rect x="1029" y="261" width="428" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 1029 261 M 1457 261 M 1457 291 M 1029 291" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 420px; height: 1px; padding-top: 276px; margin-left: 1037px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-right (s-nil)</div></div></div></foreignObject><text x="1037" y="281" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-right (s-nil)</text></switch></g><rect x="783" y="291" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 783 291 M 906 291 M 906 321 M 783 321" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 306px; margin-left: 784px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">orig</div></div></div></foreignObject><text x="845" y="311" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">orig</text></switch></g><rect x="906" y="291" width="123" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 906 291 M 1029 291 M 1029 321 M 906 321" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 121px; height: 1px; padding-top: 306px; margin-left: 907px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="968" y="311" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree0</text></switch></g><rect x="1029" y="291" width="428" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 1029 291 M 1457 291 M 1457 321 M 1029 321" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 420px; height: 1px; padding-top: 306px; margin-left: 1037px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-nil</div></div></div></foreignObject><text x="1037" y="311" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">s-nil</text></switch></g></g></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack4.drawio	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,314 @@
+<mxfile host="app.diagrams.net" modified="2024-02-07T14:07:08.760Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" etag="B4nc7B8ymzCbltB27zom" version="23.1.1" type="device">
+  <diagram name="ページ1" id="rN4dKjHXG7ffeiCSSRsQ">
+    <mxGraphModel dx="1834" dy="754" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-1" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="30" y="160" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-2" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="-110" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-3" value="10" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;" parent="1" vertex="1">
+          <mxGeometry x="180" y="285" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-4" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-2" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-6" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-1" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="45" y="225" as="sourcePoint" />
+            <mxPoint x="95" y="175" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-8" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-190" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-9" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;" parent="1" vertex="1">
+          <mxGeometry x="-30" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-10" value="15" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="260" y="400" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-11" value="14" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;" parent="1" vertex="1">
+          <mxGeometry x="180" y="515" width="80" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-13" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-3" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="104" y="235" as="sourcePoint" />
+            <mxPoint x="154" y="185" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-15" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-11" target="2AmoWmF4z2Iwg5RR4k8V-10" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="114" y="245" as="sourcePoint" />
+            <mxPoint x="164" y="195" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-16" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="124" y="255" as="sourcePoint" />
+            <mxPoint x="174" y="205" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-17" value="" style="endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-2" target="2AmoWmF4z2Iwg5RR4k8V-8" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="134" y="265" as="sourcePoint" />
+            <mxPoint x="184" y="215" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-22" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-221" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-25" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-137" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-26" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="25" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-27" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="-56" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-28" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="145" y="628" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-29" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="242" y="630" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-30" value="Leaf" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;" parent="1" vertex="1">
+          <mxGeometry x="340" y="515" width="51" height="33" as="geometry" />
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-31" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-10" target="2AmoWmF4z2Iwg5RR4k8V-30" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-32" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-28" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-33" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-29" target="2AmoWmF4z2Iwg5RR4k8V-11" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="181" y="638" as="sourcePoint" />
+            <mxPoint x="230" y="605" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-35" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-26" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="191" y="416" as="sourcePoint" />
+            <mxPoint x="241" y="366" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-36" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-27" target="2AmoWmF4z2Iwg5RR4k8V-9" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="61" y="525" as="sourcePoint" />
+            <mxPoint x="20" y="490" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-37" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-25" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="71" y="535" as="sourcePoint" />
+            <mxPoint x="30" y="500" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="2AmoWmF4z2Iwg5RR4k8V-38" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="2AmoWmF4z2Iwg5RR4k8V-8" target="2AmoWmF4z2Iwg5RR4k8V-22" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="-140" y="490" as="sourcePoint" />
+            <mxPoint x="-101" y="525" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-5" value="tree0" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="-237" y="111" width="680.5" height="594" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-6" value="tree1" style="swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;" parent="vRyMJPiLZbMg_GdmuDIE-5" vertex="1">
+          <mxGeometry x="323" y="133" width="324.5" height="440" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-7" value="tree2" style="swimlane;whiteSpace=wrap;html=1;" parent="vRyMJPiLZbMg_GdmuDIE-6" vertex="1">
+          <mxGeometry x="46" y="127" width="271" height="304" as="geometry">
+            <mxRectangle x="46" y="127" width="64" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-8" value="tree3" style="swimlane;whiteSpace=wrap;html=1;" parent="vRyMJPiLZbMg_GdmuDIE-7" vertex="1">
+          <mxGeometry x="5" y="116" width="167" height="185" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-15" value="左に降りる&lt;br&gt;s-left" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-8">
+          <mxGeometry x="28.25" y="-33" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-14" value="右に降りる&lt;br&gt;s-right" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-6">
+          <mxGeometry x="159.25" y="95" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-5" value="右に降りる&lt;br&gt;s-right" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="434" y="103" width="115.5" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-8" value="s-nil" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-5">
+          <mxGeometry x="277" y="21" width="60" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-17" value="stack" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;" parent="1" vertex="1">
+          <mxGeometry x="479" y="106" width="534" height="146" as="geometry" />
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-18" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="30" width="534" height="26" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-23" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-18">
+          <mxGeometry width="40" height="26" as="geometry">
+            <mxRectangle width="40" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-19" value="tree3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-18" vertex="1">
+          <mxGeometry x="40" width="50" height="26" as="geometry">
+            <mxRectangle width="50" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-20" value="(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=17;" parent="vRyMJPiLZbMg_GdmuDIE-18" vertex="1">
+          <mxGeometry x="90" width="444" height="26" as="geometry">
+            <mxRectangle width="444" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-21" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="56" width="534" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-24" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-21">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-22" value="tree2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-21" vertex="1">
+          <mxGeometry x="40" width="50" height="30" as="geometry">
+            <mxRectangle width="50" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-23" value="(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-21" vertex="1">
+          <mxGeometry x="90" width="444" height="30" as="geometry">
+            <mxRectangle width="444" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-24" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="86" width="534" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-25" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-24">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-25" value="tree1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-24" vertex="1">
+          <mxGeometry x="40" width="50" height="30" as="geometry">
+            <mxRectangle width="50" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-26" value="(node 10 ...) :: (node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-24" vertex="1">
+          <mxGeometry x="90" width="444" height="30" as="geometry">
+            <mxRectangle width="444" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-33" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-17" vertex="1">
+          <mxGeometry y="116" width="534" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-26" value="orig" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="vRyMJPiLZbMg_GdmuDIE-33">
+          <mxGeometry width="40" height="30" as="geometry">
+            <mxRectangle width="40" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-34" value="tree0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-33" vertex="1">
+          <mxGeometry x="40" width="50" height="30" as="geometry">
+            <mxRectangle width="50" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="vRyMJPiLZbMg_GdmuDIE-35" value="(node 8 ...) :: []" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;" parent="vRyMJPiLZbMg_GdmuDIE-33" vertex="1">
+          <mxGeometry x="90" width="444" height="30" as="geometry">
+            <mxRectangle width="444" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-22" value="&lt;font style=&quot;font-size: 19px;&quot;&gt;・stackはRedBlackTreeのリストで構成される&lt;br style=&quot;font-size: 19px;&quot;&gt;・stackは辿った木を保存している(今回は8→14を辿る)&lt;br style=&quot;font-size: 19px;&quot;&gt;・stackInvariantは辿った木の正しい経路が保存されている&lt;br style=&quot;font-size: 19px;&quot;&gt;・8→14は右、右、左の順番に降りていけば辿り着くことが、stackInvariantを見るとわかる&lt;br&gt;&lt;br style=&quot;font-size: 19px;&quot;&gt;stackとstackInvariantは対応していており、stackが木を辿った順番が正しい順番で構成されていることを示している&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;align=left;fontSize=19;" vertex="1" parent="1">
+          <mxGeometry x="479" y="436" width="535" height="270" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-27" value="top" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;align=center;" vertex="1" parent="1">
+          <mxGeometry x="467" y="139" width="62" height="26" as="geometry">
+            <mxRectangle width="62" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-28" value=" stackInvariant" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=17;rounded=1;" vertex="1" parent="1">
+          <mxGeometry x="479" y="281" width="536" height="146" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-29" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="30" width="536" height="26" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-30" value="top" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-29">
+          <mxGeometry width="41" height="26" as="geometry">
+            <mxRectangle width="41" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-31" value="tree3" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-29">
+          <mxGeometry x="41" width="48" height="26" as="geometry">
+            <mxRectangle width="48" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-33" value="s-left (s-right (s-right (s-nil)))" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-29">
+          <mxGeometry x="89" width="447" height="26" as="geometry">
+            <mxRectangle width="447" height="26" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-34" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="56" width="536" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-35" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-34">
+          <mxGeometry width="41" height="30" as="geometry">
+            <mxRectangle width="41" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-36" value="tree2" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-34">
+          <mxGeometry x="41" width="48" height="30" as="geometry">
+            <mxRectangle width="48" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-38" value="s-right (s-right (s-nil)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-34">
+          <mxGeometry x="89" width="447" height="30" as="geometry">
+            <mxRectangle width="447" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-39" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="86" width="536" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-40" value=":" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-39">
+          <mxGeometry width="41" height="30" as="geometry">
+            <mxRectangle width="41" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-41" value="tree1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-39">
+          <mxGeometry x="41" width="48" height="30" as="geometry">
+            <mxRectangle width="48" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-43" value="s-right (s-nil)" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-39">
+          <mxGeometry x="89" width="447" height="30" as="geometry">
+            <mxRectangle width="447" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-44" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-28">
+          <mxGeometry y="116" width="536" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-45" value="orig" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-44">
+          <mxGeometry width="41" height="30" as="geometry">
+            <mxRectangle width="41" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-46" value="tree0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-44">
+          <mxGeometry x="41" width="48" height="30" as="geometry">
+            <mxRectangle width="48" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="wTwY14rgzU8XyF5jY3aE-48" value="s-nil" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;" vertex="1" parent="wTwY14rgzU8XyF5jY3aE-44">
+          <mxGeometry x="89" width="447" height="30" as="geometry">
+            <mxRectangle width="447" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/stack4.svg	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than draw.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1253px" height="601px" viewBox="-0.5 -0.5 1253 601" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-02-07T14:06:47.964Z&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36&quot; etag=&quot;WFgaa71URefYAcKhC8aI&quot; version=&quot;23.1.1&quot; scale=&quot;1&quot; border=&quot;0&quot;&gt;&#10;  &lt;diagram name=&quot;ページ1&quot; id=&quot;rN4dKjHXG7ffeiCSSRsQ&quot;&gt;&#10;    &lt;mxGraphModel dx=&quot;1834&quot; dy=&quot;754&quot; grid=&quot;0&quot; gridSize=&quot;10&quot; guides=&quot;1&quot; tooltips=&quot;1&quot; connect=&quot;1&quot; arrows=&quot;1&quot; fold=&quot;1&quot; page=&quot;0&quot; pageScale=&quot;1&quot; pageWidth=&quot;827&quot; pageHeight=&quot;1169&quot; math=&quot;0&quot; shadow=&quot;0&quot;&gt;&#10;      &lt;root&gt;&#10;        &lt;mxCell id=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;1&quot; parent=&quot;0&quot; /&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; value=&quot;8&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;30&quot; y=&quot;160&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; value=&quot;5&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-110&quot; y=&quot;285&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; value=&quot;10&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;strokeColor=#b85450;gradientColor=#ea6b66;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; y=&quot;285&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-4&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;45&quot; y=&quot;225&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;95&quot; y=&quot;175&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-6&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-1&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;45&quot; y=&quot;225&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;95&quot; y=&quot;175&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; value=&quot;2&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-190&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; value=&quot;6&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;strokeColor=#666666;gradientColor=#b3b3b3;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-30&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; value=&quot;15&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;260&quot; y=&quot;400&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; value=&quot;14&quot; style=&quot;ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fillColor=#f8cecc;gradientColor=#ea6b66;strokeColor=#b85450;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;180&quot; y=&quot;515&quot; width=&quot;80&quot; height=&quot;80&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-13&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-3&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;104&quot; y=&quot;235&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;154&quot; y=&quot;185&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-15&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;114&quot; y=&quot;245&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;164&quot; y=&quot;195&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-16&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;124&quot; y=&quot;255&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;174&quot; y=&quot;205&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-17&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;fontSize=12;startSize=8;endSize=8;curved=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-2&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;134&quot; y=&quot;265&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;184&quot; y=&quot;215&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-22&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-221&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-25&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-137&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-26&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;25&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-27&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-56&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-28&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;145&quot; y=&quot;628&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-29&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;242&quot; y=&quot;630&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-30&quot; value=&quot;Leaf&quot; style=&quot;rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;gradientColor=#b3b3b3;strokeColor=#666666;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;340&quot; y=&quot;515&quot; width=&quot;51&quot; height=&quot;33&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-31&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-10&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-30&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-32&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-28&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-33&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-29&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-11&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;181&quot; y=&quot;638&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;230&quot; y=&quot;605&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-35&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-26&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;191&quot; y=&quot;416&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;241&quot; y=&quot;366&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-36&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-27&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-9&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;61&quot; y=&quot;525&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;20&quot; y=&quot;490&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-37&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-25&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;71&quot; y=&quot;535&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;30&quot; y=&quot;500&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;2AmoWmF4z2Iwg5RR4k8V-38&quot; value=&quot;&quot; style=&quot;endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;&quot; parent=&quot;1&quot; source=&quot;2AmoWmF4z2Iwg5RR4k8V-8&quot; target=&quot;2AmoWmF4z2Iwg5RR4k8V-22&quot; edge=&quot;1&quot;&gt;&#10;          &lt;mxGeometry width=&quot;50&quot; height=&quot;50&quot; relative=&quot;1&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxPoint x=&quot;-140&quot; y=&quot;490&quot; as=&quot;sourcePoint&quot; /&gt;&#10;            &lt;mxPoint x=&quot;-101&quot; y=&quot;525&quot; as=&quot;targetPoint&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot; value=&quot;tree0&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;-237&quot; y=&quot;111&quot; width=&quot;680.5&quot; height=&quot;594&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot; value=&quot;tree1&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;swimlaneLine=1;glass=0;shadow=0;rounded=0;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;323&quot; y=&quot;133&quot; width=&quot;324.5&quot; height=&quot;440&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-7&quot; value=&quot;tree2&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;46&quot; y=&quot;127&quot; width=&quot;271&quot; height=&quot;304&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle x=&quot;46&quot; y=&quot;127&quot; width=&quot;64&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-8&quot; value=&quot;tree3&quot; style=&quot;swimlane;whiteSpace=wrap;html=1;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-7&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;5&quot; y=&quot;116&quot; width=&quot;167&quot; height=&quot;185&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-15&quot; value=&quot;左に降りる&amp;lt;br&amp;gt;s-left&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-8&quot;&gt;&#10;          &lt;mxGeometry x=&quot;28.25&quot; y=&quot;-33&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-14&quot; value=&quot;右に降りる&amp;lt;br&amp;gt;s-right&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-6&quot;&gt;&#10;          &lt;mxGeometry x=&quot;159.25&quot; y=&quot;95&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-5&quot; value=&quot;右に降りる&amp;lt;br&amp;gt;s-right&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot;&gt;&#10;          &lt;mxGeometry x=&quot;434&quot; y=&quot;103&quot; width=&quot;115.5&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-8&quot; value=&quot;s-nil&quot; style=&quot;text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-5&quot;&gt;&#10;          &lt;mxGeometry x=&quot;277&quot; y=&quot;21&quot; width=&quot;60&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; value=&quot;stack&quot; style=&quot;shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=16;rounded=1;&quot; parent=&quot;1&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;479&quot; y=&quot;106&quot; width=&quot;534&quot; height=&quot;146&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;30&quot; width=&quot;534&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-23&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-19&quot; value=&quot;tree3&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;50&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;50&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-20&quot; value=&quot;(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=17;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-18&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;90&quot; width=&quot;444&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;444&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;56&quot; width=&quot;534&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-24&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-22&quot; value=&quot;tree2&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;50&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;50&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-23&quot; value=&quot;(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-21&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;90&quot; width=&quot;444&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;444&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;86&quot; width=&quot;534&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-25&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-25&quot; value=&quot;tree1&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;50&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;50&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-26&quot; value=&quot;(node 10 ...) :: (node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-24&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;90&quot; width=&quot;444&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;444&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-17&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry y=&quot;116&quot; width=&quot;534&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-26&quot; value=&quot;orig&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot;&gt;&#10;          &lt;mxGeometry width=&quot;40&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;40&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-34&quot; value=&quot;tree0&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;40&quot; width=&quot;50&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;50&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;vRyMJPiLZbMg_GdmuDIE-35&quot; value=&quot;(node 8 ...) :: []&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; parent=&quot;vRyMJPiLZbMg_GdmuDIE-33&quot; vertex=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;90&quot; width=&quot;444&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;444&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-22&quot; value=&quot;&amp;lt;font style=&amp;quot;font-size: 19px;&amp;quot;&amp;gt;・stackはRedBlackTreeのリストで構成される&amp;lt;br style=&amp;quot;font-size: 19px;&amp;quot;&amp;gt;・stackは辿った木を保存している(今回は8→14を辿る)&amp;lt;br style=&amp;quot;font-size: 19px;&amp;quot;&amp;gt;・stackInvariantは辿った木の正しい経路が保存されている&amp;lt;br style=&amp;quot;font-size: 19px;&amp;quot;&amp;gt;・8→14は右、右、左の順番に降りていけば辿り着くことが、stackInvariantを見るとわかる&amp;lt;br&amp;gt;&amp;lt;br style=&amp;quot;font-size: 19px;&amp;quot;&amp;gt;stackとstackInvariantは対応していており、stackが木を辿った順番が正しい順番で構成されていることを示している&amp;lt;/font&amp;gt;&quot; style=&quot;rounded=1;whiteSpace=wrap;html=1;align=left;fontSize=19;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;479&quot; y=&quot;436&quot; width=&quot;535&quot; height=&quot;270&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-27&quot; value=&quot;top&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;align=center;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;467&quot; y=&quot;139&quot; width=&quot;62&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;62&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-28&quot; value=&quot; stackInvariant&quot; style=&quot;shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fixedRows=1;rowLines=0;fontStyle=0;strokeColor=default;fontSize=17;rounded=1;&quot; vertex=&quot;1&quot; parent=&quot;1&quot;&gt;&#10;          &lt;mxGeometry x=&quot;479&quot; y=&quot;281&quot; width=&quot;536&quot; height=&quot;146&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-29&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;30&quot; width=&quot;536&quot; height=&quot;26&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-30&quot; value=&quot;top&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-29&quot;&gt;&#10;          &lt;mxGeometry width=&quot;41&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;41&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-31&quot; value=&quot;tree3&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;pointerEvents=1;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-29&quot;&gt;&#10;          &lt;mxGeometry x=&quot;41&quot; width=&quot;48&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;48&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-33&quot; value=&quot;s-left (s-right (s-right (s-nil)))&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-29&quot;&gt;&#10;          &lt;mxGeometry x=&quot;89&quot; width=&quot;447&quot; height=&quot;26&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;447&quot; height=&quot;26&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-34&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;56&quot; width=&quot;536&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-35&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-34&quot;&gt;&#10;          &lt;mxGeometry width=&quot;41&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;41&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-36&quot; value=&quot;tree2&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-34&quot;&gt;&#10;          &lt;mxGeometry x=&quot;41&quot; width=&quot;48&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;48&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-38&quot; value=&quot;s-right (s-right (s-nil)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-34&quot;&gt;&#10;          &lt;mxGeometry x=&quot;89&quot; width=&quot;447&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;447&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-39&quot; value=&quot;&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;86&quot; width=&quot;536&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-40&quot; value=&quot;:&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-39&quot;&gt;&#10;          &lt;mxGeometry width=&quot;41&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;41&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-41&quot; value=&quot;tree1&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-39&quot;&gt;&#10;          &lt;mxGeometry x=&quot;41&quot; width=&quot;48&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;48&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-43&quot; value=&quot;s-right (s-nil)&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-39&quot;&gt;&#10;          &lt;mxGeometry x=&quot;89&quot; width=&quot;447&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;447&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-44&quot; style=&quot;shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-28&quot;&gt;&#10;          &lt;mxGeometry y=&quot;116&quot; width=&quot;536&quot; height=&quot;30&quot; as=&quot;geometry&quot; /&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-45&quot; value=&quot;orig&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-44&quot;&gt;&#10;          &lt;mxGeometry width=&quot;41&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;41&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-46&quot; value=&quot;tree0&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;strokeColor=inherit;fontSize=16;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-44&quot;&gt;&#10;          &lt;mxGeometry x=&quot;41&quot; width=&quot;48&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;48&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;        &lt;mxCell id=&quot;wTwY14rgzU8XyF5jY3aE-48&quot; value=&quot;s-nil&quot; style=&quot;shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;align=left;spacingLeft=6;overflow=hidden;strokeColor=inherit;fontSize=19;&quot; vertex=&quot;1&quot; parent=&quot;wTwY14rgzU8XyF5jY3aE-44&quot;&gt;&#10;          &lt;mxGeometry x=&quot;89&quot; width=&quot;447&quot; height=&quot;30&quot; as=&quot;geometry&quot;&gt;&#10;            &lt;mxRectangle width=&quot;447&quot; height=&quot;30&quot; as=&quot;alternateBounds&quot; /&gt;&#10;          &lt;/mxGeometry&gt;&#10;        &lt;/mxCell&gt;&#10;      &lt;/root&gt;&#10;    &lt;/mxGraphModel&gt;&#10;  &lt;/diagram&gt;&#10;&lt;/mxfile&gt;&#10;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f8cecc-1-ea6b66-1-s-0"><stop offset="0%" style="stop-color: rgb(248, 206, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(234, 107, 102); stop-opacity: 1;"/></linearGradient></defs><rect fill="#ffffff" width="100%" height="100%" x="0" y="0"/><g><ellipse cx="307" cy="94" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 94px; margin-left: 268px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">8</div></div></div></foreignObject><text x="307" y="99" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">8</text></switch></g><ellipse cx="167" cy="219" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 219px; margin-left: 128px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">5</div></div></div></foreignObject><text x="167" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">5</text></switch></g><ellipse cx="457" cy="219" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 219px; margin-left: 418px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">10</div></div></div></foreignObject><text x="457" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">10</text></switch></g><path d="M 307 134 Q 307 134 167 179" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 307 134 Q 307 134 457 179" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><ellipse cx="87" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 48px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">2</div></div></div></foreignObject><text x="87" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">2</text></switch></g><ellipse cx="247" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 208px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">6</div></div></div></foreignObject><text x="247" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">6</text></switch></g><ellipse cx="537" cy="334" rx="40" ry="40" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 334px; margin-left: 498px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">15</div></div></div></foreignObject><text x="537" y="339" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">15</text></switch></g><ellipse cx="457" cy="449" rx="40" ry="40" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 449px; margin-left: 418px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">14</div></div></div></foreignObject><text x="457" y="454" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">14</text></switch></g><path d="M 537 294 Q 537 294 457 259" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 457 409 Q 457 409 537 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 167 259 Q 167 259 247 294" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 167 259 Q 167 259 87 294" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><rect x="16" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 17px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="42" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="100" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 101px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="126" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="262" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 263px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="288" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="181" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 182px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="207" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="382" y="522" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 539px; margin-left: 383px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="408" y="542" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="479" y="524" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 541px; margin-left: 480px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="505" y="544" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><rect x="577" y="409" width="51" height="33" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 49px; height: 1px; padding-top: 426px; margin-left: 578px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Leaf</div></div></div></foreignObject><text x="603" y="429" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Leaf</text></switch></g><path d="M 537 374 L 602.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 407.5 522 L 457 489" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 504.5 524 L 457 489" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 287.5 409 L 247 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 206.5 409 L 247 374" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 87 374 L 125.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 87 374 L 41.5 409" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 0 28 L 0 5 L 680.5 5 L 680.5 28" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 0 28 L 0 599 L 680.5 599 L 680.5 28" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 0 28 L 680.5 28" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 679px; height: 1px; padding-top: 17px; margin-left: 1px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="340" y="20" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree0</text></switch></g><path d="M 323 161 L 323 138 L 647.5 138 L 647.5 161" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 323 161 L 323 578 L 647.5 578 L 647.5 161" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 323 161 L 647.5 161" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 323px; height: 1px; padding-top: 150px; margin-left: 324px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="485" y="153" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree1</text></switch></g><path d="M 369 288 L 369 265 L 640 265 L 640 288" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 369 288 L 369 569 L 640 569 L 640 288" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 369 288 L 640 288" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 269px; height: 1px; padding-top: 277px; margin-left: 370px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="505" y="280" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree2</text></switch></g><path d="M 374 404 L 374 381 L 541 381 L 541 404" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 374 404 L 374 566 L 541 566 L 541 404" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 374 404 L 541 404" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 165px; height: 1px; padding-top: 393px; margin-left: 375px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="458" y="396" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">tree3</text></switch></g><rect x="402.25" y="348" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 363px; margin-left: 403px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">左に降りる<br />s-left</div></div></div></foreignObject><text x="460" y="367" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">左に降りる&#xa;s-left</text></switch></g><rect x="482.25" y="233" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 248px; margin-left: 483px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">右に降りる<br />s-right</div></div></div></foreignObject><text x="540" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">右に降りる&#xa;s-right</text></switch></g><rect x="434" y="108" width="115.5" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 114px; height: 1px; padding-top: 123px; margin-left: 435px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">右に降りる<br />s-right</div></div></div></foreignObject><text x="492" y="127" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">右に降りる&#xa;s-right</text></switch></g><rect x="277" y="26" width="60" height="30" fill="none" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 41px; margin-left: 278px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-nil</div></div></div></foreignObject><text x="307" y="45" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">s-nil</text></switch></g><path d="M 1250 30 L 1250 13.5 Q 1250 0 1236.5 0 L 729.5 0 Q 716 0 716 13.5 L 716 30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 716 30 L 716 132.5 Q 716 146 729.5 146 L 1236.5 146 Q 1250 146 1250 132.5 L 1250 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 716 30 L 1250 30" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 756 30 L 756 56 L 756 86 L 756 116 L 756 146" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 806 30 L 806 56 L 806 86 L 806 116 L 806 146" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="16px"><text x="982.5" y="21.5">stack</text></g><rect x="716" y="30" width="40" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 716 30 M 756 30 M 756 56 M 716 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><rect x="756" y="30" width="50" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 756 30 M 806 30 M 806 56 M 756 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 43px; margin-left: 757px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="781" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree3</text></switch></g><rect x="806" y="30" width="444" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 806 30 M 1250 30 M 1250 56 M 806 56" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 436px; height: 1px; padding-top: 43px; margin-left: 814px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 17px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []</div></div></div></foreignObject><text x="814" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="17px">(node 14 ...) :: (node 15 ...) :: (node 10 ...) :: (...</text></switch></g><rect x="716" y="56" width="40" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 716 56 M 756 56 M 756 86 M 716 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 71px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="736" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="756" y="56" width="50" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 756 56 M 806 56 M 806 86 M 756 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 71px; margin-left: 757px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="781" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree2</text></switch></g><rect x="806" y="56" width="444" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 806 56 M 1250 56 M 1250 86 M 806 86" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 436px; height: 1px; padding-top: 71px; margin-left: 814px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []</div></div></div></foreignObject><text x="814" y="76" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 15 ...) :: (node 10 ...) :: (node 8 ...) :: []</text></switch></g><rect x="716" y="86" width="40" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 716 86 M 756 86 M 756 116 M 716 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 101px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="736" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="756" y="86" width="50" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 756 86 M 806 86 M 806 116 M 756 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 101px; margin-left: 757px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="781" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree1</text></switch></g><rect x="806" y="86" width="444" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 806 86 M 1250 86 M 1250 116 M 806 116" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 436px; height: 1px; padding-top: 101px; margin-left: 814px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 10 ...) :: (node 8 ...) :: []</div></div></div></foreignObject><text x="814" y="106" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 10 ...) :: (node 8 ...) :: []</text></switch></g><rect x="716" y="116" width="40" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 716 116 M 756 116 M 756 146 M 716 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 38px; height: 1px; padding-top: 131px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">orig</div></div></div></foreignObject><text x="736" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">orig</text></switch></g><rect x="756" y="116" width="50" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 756 116 M 806 116 M 806 146 M 756 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 48px; height: 1px; padding-top: 131px; margin-left: 757px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="781" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree0</text></switch></g><rect x="806" y="116" width="444" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 806 116 M 1250 116 M 1250 146 M 806 146" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 436px; height: 1px; padding-top: 131px; margin-left: 814px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">(node 8 ...) :: []</div></div></div></foreignObject><text x="814" y="136" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px">(node 8 ...) :: []</text></switch></g><rect x="716" y="330" width="535" height="270" rx="40.5" ry="40.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 533px; height: 1px; padding-top: 465px; margin-left: 718px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 19px;">・stackはRedBlackTreeのリストで構成される<br style="font-size: 19px;" />・stackは辿った木を保存している(今回は8→14を辿る)<br style="font-size: 19px;" />・stackInvariantは辿った木の正しい経路が保存されている<br style="font-size: 19px;" />・8→14は右、右、左の順番に降りていけば辿り着くことが、stackInvariantを見るとわかる<br /><br style="font-size: 19px;" />stackとstackInvariantは対応していており、stackが木を辿った順番が正しい順番で構成されていることを示している</font></div></div></div></foreignObject><text x="718" y="471" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px">・stackはRedBlackTreeのリストで構成される...</text></switch></g><rect x="704" y="33" width="62" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 704 33 M 766 33 M 766 59 M 704 59" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 60px; height: 1px; padding-top: 46px; margin-left: 705px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">top</div></div></div></foreignObject><text x="735" y="51" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">top</text></switch></g><path d="M 1252 205 L 1252 188.5 Q 1252 175 1238.5 175 L 729.5 175 Q 716 175 716 188.5 L 716 205" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 716 205 L 716 307.5 Q 716 321 729.5 321 L 1238.5 321 Q 1252 321 1252 307.5 L 1252 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 716 205 L 1252 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 757 205 L 757 231 L 757 261 L 757 291 L 757 321" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><path d="M 805 205 L 805 231 L 805 261 L 805 291 L 805 321" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="none"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="17px"><text x="983.5" y="197"> stackInvariant</text></g><rect x="716" y="205" width="41" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 716 205 M 757 205 M 757 231 M 716 231" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 39px; height: 1px; padding-top: 218px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">top</div></div></div></foreignObject><text x="737" y="223" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">top</text></switch></g><rect x="757" y="205" width="48" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 757 205 M 805 205 M 805 231 M 757 231" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 46px; height: 1px; padding-top: 218px; margin-left: 758px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree3</div></div></div></foreignObject><text x="781" y="223" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree3</text></switch></g><rect x="805" y="205" width="447" height="26" fill="none" stroke="none" pointer-events="all"/><path d="M 805 205 M 1252 205 M 1252 231 M 805 231" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 439px; height: 1px; padding-top: 218px; margin-left: 813px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 22px; overflow: hidden;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-left (s-right (s-right (s-nil)))</div></div></div></foreignObject><text x="813" y="224" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px">s-left (s-right (s-right (s-nil)))</text></switch></g><rect x="716" y="231" width="41" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 716 231 M 757 231 M 757 261 M 716 261" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 39px; height: 1px; padding-top: 246px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="737" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="757" y="231" width="48" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 757 231 M 805 231 M 805 261 M 757 261" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 46px; height: 1px; padding-top: 246px; margin-left: 758px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree2</div></div></div></foreignObject><text x="781" y="251" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree2</text></switch></g><rect x="805" y="231" width="447" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 805 231 M 1252 231 M 1252 261 M 805 261" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 439px; height: 1px; padding-top: 246px; margin-left: 813px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-right (s-right (s-nil)</div></div></div></foreignObject><text x="813" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px">s-right (s-right (s-nil)</text></switch></g><rect x="716" y="261" width="41" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 716 261 M 757 261 M 757 291 M 716 291" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 39px; height: 1px; padding-top: 276px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">:</div></div></div></foreignObject><text x="737" y="281" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">:</text></switch></g><rect x="757" y="261" width="48" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 757 261 M 805 261 M 805 291 M 757 291" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 46px; height: 1px; padding-top: 276px; margin-left: 758px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree1</div></div></div></foreignObject><text x="781" y="281" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree1</text></switch></g><rect x="805" y="261" width="447" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 805 261 M 1252 261 M 1252 291 M 805 291" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 439px; height: 1px; padding-top: 276px; margin-left: 813px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-right (s-nil)</div></div></div></foreignObject><text x="813" y="282" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px">s-right (s-nil)</text></switch></g><rect x="716" y="291" width="41" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 716 291 M 757 291 M 757 321 M 716 321" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 39px; height: 1px; padding-top: 306px; margin-left: 717px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">orig</div></div></div></foreignObject><text x="737" y="311" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">orig</text></switch></g><rect x="757" y="291" width="48" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 757 291 M 805 291 M 805 321 M 757 321" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 46px; height: 1px; padding-top: 306px; margin-left: 758px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">tree0</div></div></div></foreignObject><text x="781" y="311" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="16px" text-anchor="middle">tree0</text></switch></g><rect x="805" y="291" width="447" height="30" fill="none" stroke="none" pointer-events="all"/><path d="M 805 291 M 1252 291 M 1252 321 M 805 321" fill="none" stroke="rgb(0, 0, 0)" stroke-linecap="square" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 439px; height: 1px; padding-top: 306px; margin-left: 813px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left; max-height: 26px; overflow: hidden;"><div style="display: inline-block; font-size: 19px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">s-nil</div></div></div></foreignObject><text x="813" y="312" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="19px">s-nil</text></switch></g></g></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/test.drawio	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,31 @@
+<mxfile host="65bd71144e">
+    <diagram id="TG3UEg7DHUoYuTF4jb0s" name="Page-1">
+        <mxGraphModel dx="1025" dy="880" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+            <root>
+                <mxCell id="0"/>
+                <mxCell id="1" parent="0"/>
+                <mxCell id="6" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;strokeWidth=3;" edge="1" parent="1" source="2" target="3">
+                    <mxGeometry relative="1" as="geometry"/>
+                </mxCell>
+                <mxCell id="2" value="&lt;font style=&quot;font-size: 20px&quot;&gt;DataGear&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;fontColor=#333333;strokeColor=#000000;strokeWidth=5;" parent="1" vertex="1">
+                    <mxGeometry x="40" y="210" width="120" height="60" as="geometry"/>
+                </mxCell>
+                <mxCell id="7" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=20;strokeWidth=3;" edge="1" parent="1" source="3" target="4">
+                    <mxGeometry relative="1" as="geometry"/>
+                </mxCell>
+                <mxCell id="3" value="CodeGear" style="ellipse;whiteSpace=wrap;html=1;fontSize=20;strokeWidth=5;" vertex="1" parent="1">
+                    <mxGeometry x="240" y="200" width="120" height="80" as="geometry"/>
+                </mxCell>
+                <mxCell id="9" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontSize=20;strokeWidth=3;" edge="1" parent="1" source="4" target="5">
+                    <mxGeometry relative="1" as="geometry"/>
+                </mxCell>
+                <mxCell id="4" value="&lt;font style=&quot;font-size: 20px&quot;&gt;DataGear&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;fontColor=#333333;strokeColor=#000000;strokeWidth=5;" vertex="1" parent="1">
+                    <mxGeometry x="440" y="210" width="120" height="60" as="geometry"/>
+                </mxCell>
+                <mxCell id="5" value="CodeGear" style="ellipse;whiteSpace=wrap;html=1;fontSize=20;strokeWidth=5;" vertex="1" parent="1">
+                    <mxGeometry x="640" y="200" width="120" height="80" as="geometry"/>
+                </mxCell>
+            </root>
+        </mxGraphModel>
+    </diagram>
+</mxfile>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/figs/test.svg	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="725px" height="85px" viewBox="-0.5 -0.5 725 85" content="&lt;mxfile&gt;&lt;diagram id=&quot;TG3UEg7DHUoYuTF4jb0s&quot; name=&quot;Page-1&quot;&gt;7VZLc5swEP41HNvBCIhzbHGaXnryoelRY61BU4FcIQzur69AKx6VnfFMU3c6CRdpv90V+/hWEJCs7B4VPRRfJAMRRCHrArIJomgVRolZeuRkkfU6tECuOEOjCdjyn+A8EW04g3phqKUUmh+W4E5WFez0AqNKyXZptpdi+dYDzcEDtjsqfPQrZ7rALKK7Cf8MPC/cm1fpvdWU1BljJnVBmWxnEHkISKak1HZXdhmIvniuLtbv0wXtGJiCSl/jkGIY+uRyA2ZSRbGSlVk+FroURlqZLXRcP83238w+fJ+gtOk7HDrh5IRKq9PTXJh59eLkNkjOby8rjb2PernWSn4fC04MYoPvI76YPkK1bNQOrSJkDFU5oBUZS284C7IEE4cxUSCo5sfl6RTJk492U33NBkt8vtz46iMVDR4aRKnQmOyiEemPRjrFu3oowwdjYLLrJqXZ5f26oZo+AlXuNBOHPdCqvSYr2VQMGBa6LbiG7YEOBWrNyC57vudCZFJINTGiP9xBQUTsM7ZopgmHx2teMgZ1pldHUBq6GeQ3BrUxThFeI+P90E5DuXKTVswGMg3/vJV3r3ByiD858Y0mh3iTk5nPiuX8730QwnwI4ApiP1umiaMeIc8U6iJHPZKGV5J0/QIkvb8BSf8W2WKfbMmNyBa/XdMvOQLxv7ynk//14khveHEYcfrnHHSzP3fy8As=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 122 42 L 191.9 42" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 198.65 42 L 189.65 46.5 L 191.9 42 L 189.65 37.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="2" y="12" width="120" height="60" fill="none" stroke="#000000" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 42px; margin-left: 3px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 20px">DataGear</font></div></div></div></foreignObject><text x="62" y="46" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">DataGear</text></switch></g><path d="M 322 42 L 391.9 42" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398.65 42 L 389.65 46.5 L 391.9 42 L 389.65 37.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="262" cy="42" rx="60" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 42px; margin-left: 203px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CodeGear</div></div></div></foreignObject><text x="262" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="20px" text-anchor="middle">CodeGear</text></switch></g><path d="M 522 42 L 591.9 42" fill="none" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 598.65 42 L 589.65 46.5 L 591.9 42 L 589.65 37.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="3" stroke-miterlimit="10" pointer-events="all"/><rect x="402" y="12" width="120" height="60" fill="none" stroke="#000000" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 42px; margin-left: 403px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;"><font style="font-size: 20px">DataGear</font></div></div></div></foreignObject><text x="462" y="46" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">DataGear</text></switch></g><ellipse cx="662" cy="42" rx="60" ry="40" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-width="5" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 42px; margin-left: 603px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">CodeGear</div></div></div></foreignObject><text x="662" y="48" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="20px" text-anchor="middle">CodeGear</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/logo.svg	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg3004"
+   version="1.1"
+   inkscape:version="0.48.5 r10040"
+   width="825.635"
+   height="268.76"
+   xml:space="preserve"
+   sodipodi:docname="logo.pdf"><metadata
+     id="metadata3010"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs3008"><clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3018"><path
+         d="m 8.504,8.504 643,0 0,198 -643,0 0,-198 z"
+         id="path3020" /></clipPath></defs><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3006"
+     showgrid="false"
+     inkscape:zoom="0.38152452"
+     inkscape:cx="412.8175"
+     inkscape:cy="134.38"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g3012" /><g
+     id="g3012"
+     inkscape:groupmode="layer"
+     inkscape:label="logo"
+     transform="matrix(1.25,0,0,-1.25,0,268.76)"><g
+       id="g3014"><g
+         id="g3016"
+         clip-path="url(#clipPath3018)"><g
+           id="g3022"
+           transform="translate(102.5332,135.6518)"><path
+             d="m 0,0 -11.408,22.813 -14.75,0 c -2.032,0 -3.681,1.648 -3.681,3.682 0,2.032 1.649,3.679 3.681,3.679 l 19.299,0 L 6.585,3.292 C 7.494,1.473 6.755,-0.737 4.938,-1.648 4.41,-1.914 3.849,-2.039 3.295,-2.038 1.944,-2.038 0.645,-1.291 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3024" /></g><g
+           id="g3026"
+           transform="translate(122.8477,70.1152)"><path
+             d="m 0,0 0,111.942 c 0,2.032 1.653,3.679 3.682,3.679 2.034,0 3.684,-1.647 3.684,-3.679 L 7.366,0 c 0,-2.034 -1.65,-3.681 -3.684,-3.681 C 1.653,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3028" /></g><g
+           id="g3030"
+           transform="translate(51.0649,133.6162)"><path
+             d="m 0,0 c -2.03,0 -3.681,1.648 -3.681,3.679 0,2.035 1.651,3.684 3.681,3.684 l 121.941,0 c 2.034,0 3.681,-1.649 3.681,-3.684 C 125.622,1.648 123.975,0 121.941,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3032" /></g><g
+           id="g3034"
+           transform="translate(102.144,70.1152)"><path
+             d="m 0,0 0,67.18 c 0,2.034 1.65,3.684 3.681,3.684 2.032,0 3.68,-1.65 3.68,-3.684 L 7.361,0 c 0,-2.034 -1.648,-3.681 -3.68,-3.681 C 1.65,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3036" /></g><g
+           id="g3038"
+           transform="translate(102.459,68.6269)"><path
+             d="m 0,0 -18.358,41.521 -16.469,0 0,-0.002 c -2.03,0 -3.679,1.652 -3.679,3.684 0,2.034 1.649,3.68 3.679,3.68 l 21.263,0 L 6.733,2.977 C 7.556,1.117 6.712,-1.057 4.853,-1.881 4.371,-2.092 3.866,-2.194 3.367,-2.194 1.955,-2.194 0.605,-1.375 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3040" /></g><g
+           id="g3042"
+           transform="translate(141.7153,70.1152)"><path
+             d="m 0,0 0,49.696 c 0,2.035 1.65,3.682 3.682,3.682 2.034,0 3.682,-1.647 3.682,-3.682 L 7.364,0 C 7.364,-2.034 5.716,-3.681 3.682,-3.681 1.65,-3.681 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3044" /></g><g
+           id="g3046"
+           transform="translate(31.2803,66.4346)"><path
+             d="m 0,0 c -2.032,0 -3.682,1.647 -3.682,3.681 0,2.032 1.65,3.678 3.682,3.678 l 147.246,0 c 2.035,0 3.684,-1.646 3.684,-3.678 C 150.93,1.647 149.281,0 147.246,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3048" /></g><g
+           id="g3050"
+           transform="translate(164.7226,156.6235)"><path
+             d="m 0,0 c -2.03,0 -3.679,1.648 -3.679,3.681 0,2.033 1.649,3.682 3.679,3.682 l 49.701,0 c 2.028,0 3.68,-1.649 3.68,-3.682 C 53.381,1.648 51.729,0 49.701,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3052" /></g><g
+           id="g3054"
+           transform="translate(165.4023,87.7905)"><path
+             d="m 0,0 c -1.929,0.645 -2.974,2.727 -2.33,4.656 l 23.008,69.021 c 0.643,1.93 2.727,2.975 4.654,2.328 1.931,-0.642 2.974,-2.726 2.33,-4.653 L 4.653,2.328 C 4.14,0.785 2.703,-0.191 1.163,-0.191 0.776,-0.191 0.385,-0.129 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3056" /></g><g
+           id="g3058"
+           transform="translate(134.8149,37.9038)"><path
+             d="m 0,0 c -2.034,0 -3.682,1.65 -3.682,3.681 0,2.033 1.648,3.684 3.682,3.684 l 45.138,0 27.183,88.347 -32.29,0 0,-0.002 c -2.034,0 -3.679,1.651 -3.679,3.685 0,2.03 1.645,3.68 3.679,3.68 l 42.257,0 L 50.575,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3060" /></g><g
+           id="g3062"
+           transform="translate(160.1216,105.5478)"><path
+             d="m 0,0 c -2.032,0 -3.677,1.645 -3.677,3.679 0,2.034 1.645,3.68 3.677,3.68 l 41.875,0 c 2.034,0 3.684,-1.646 3.684,-3.68 C 45.559,1.645 43.909,0 41.875,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3064" /></g><g
+           id="g3066"
+           transform="translate(226.3838,104.1665)"><path
+             d="m 0,0 0,41.414 c 0,2.032 1.648,3.678 3.681,3.678 2.034,0 3.682,-1.646 3.682,-3.678 L 7.363,0 C 7.363,-2.032 5.715,-3.681 3.681,-3.681 1.648,-3.681 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3068" /></g><g
+           id="g3070"
+           transform="translate(203.8359,66.4346)"><path
+             d="m 0,0 c -2.032,0 -3.681,1.647 -3.681,3.681 0,2.032 1.649,3.678 3.681,3.678 l 43.255,0.004 0,96.631 0.002,0 c 0,2.032 1.65,3.681 3.679,3.681 2.033,0 3.684,-1.649 3.684,-3.681 L 50.62,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3072" /></g><g
+           id="g3074"
+           transform="translate(257.1143,101.0381)"><path
+             d="m 0,0 c -1.728,1.074 -2.259,3.342 -1.184,5.071 l 24.291,39.141 0,26.1 0.002,0 c 0,2.032 1.646,3.682 3.681,3.682 2.033,0 3.682,-1.65 3.682,-3.682 l 0,-28.201 L 5.071,1.189 C 4.372,0.063 3.171,-0.552 1.939,-0.552 1.276,-0.552 0.604,-0.375 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3076" /></g><g
+           id="g3078"
+           transform="translate(259.4902,40.251)"><path
+             d="m 0,0 c -1.751,1.034 -2.338,3.29 -1.308,5.042 l 17.897,30.427 0.002,61.575 c 0,2.034 1.649,3.684 3.682,3.684 2.031,0 3.681,-1.65 3.681,-3.684 l 0,-63.58 L 5.04,1.31 5.04,1.308 C 4.352,0.141 3.123,-0.508 1.864,-0.508 1.23,-0.508 0.587,-0.341 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3080" /></g><g
+           id="g3082"
+           transform="translate(295.8657,133.6162)"><path
+             d="m 0,0 c -2.032,0 -3.68,1.648 -3.68,3.679 0,2.035 1.648,3.684 3.68,3.684 l 119.181,0 c 2.034,0 3.679,-1.649 3.679,-3.684 C 122.86,1.648 121.215,0 119.181,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3084" /></g><g
+           id="g3086"
+           transform="translate(300.0078,153.8618)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.65 -3.679,3.682 0,2.034 1.647,3.683 3.679,3.683 l 52.918,0 c 2.034,0 3.683,-1.649 3.683,-3.683 C 56.601,1.65 54.952,0 52.918,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3088" /></g><g
+           id="g3090"
+           transform="translate(300.0078,116.5898)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.646 -3.679,3.682 0,2.031 1.647,3.682 3.679,3.682 l 52,0 c 2.032,0 3.68,-1.651 3.68,-3.682 C 55.68,1.646 54.032,0 52,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3092" /></g><g
+           id="g3094"
+           transform="translate(300.0078,99.5669)"><path
+             d="m 0,0 c -2.032,0 -3.679,1.647 -3.679,3.679 0,2.035 1.647,3.68 3.679,3.68 l 52,0 c 2.032,0 3.68,-1.645 3.68,-3.68 C 55.68,1.647 54.032,0 52,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3096" /></g><g
+           id="g3098"
+           transform="translate(303.6885,62.7539)"><path
+             d="m 0,0 44.637,-0.001 0,20.708 L 0,20.707 0,0 z m 44.637,-24.85 0,17.488 -51.997,0 0,35.43 59.356,0 0,-31.75 0,-21.168 0.004,0 c 0,-2.03 -1.649,-3.681 -3.681,-3.681 -2.036,0 -3.682,1.651 -3.682,3.681"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3100" /></g><g
+           id="g3102"
+           transform="translate(373.6348,117.5122)"><path
+             d="M 0,0 0,3.682 0,0 z m 3.679,-11.503 33.131,0 0,11.503 -33.131,0 0,-11.503 z m -7.361,-7.363 0,22.548 0,3.679 47.854,0 0,-26.227 -47.854,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3104" /></g><g
+           id="g3106"
+           transform="translate(390.6577,63.6728)"><path
+             d="m 0,0 0,106.756 c 0,2.034 1.648,3.681 3.684,3.681 2.032,0 3.679,-1.647 3.679,-3.681 L 7.363,0 C 7.363,-2.034 5.716,-3.682 3.684,-3.682 1.648,-3.682 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3108" /></g><g
+           id="g3110"
+           transform="translate(356.6084,77.4766)"><path
+             d="m 0,0 c 0,2.034 1.645,3.682 3.681,3.682 l 15.513,0 15.473,23.211 c 1.127,1.691 3.414,2.147 5.105,1.02 1.694,-1.129 2.149,-3.414 1.022,-5.105 L 23.137,-3.679 3.681,-3.683 C 1.645,-3.683 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3112" /></g><g
+           id="g3114"
+           transform="translate(404.9238,74.7148)"><path
+             d="m 0,0 0,27.61 c 0,2.036 1.647,3.684 3.683,3.684 2.03,0 3.678,-1.648 3.678,-3.684 L 7.361,0 C 7.361,-2.03 5.713,-3.681 3.683,-3.681 1.647,-3.681 0,-2.03 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3116" /></g><g
+           id="g3118"
+           transform="translate(409.5255,153.8618)"><path
+             d="m 0,0 c -2.034,0 -3.679,1.65 -3.679,3.684 0,2.032 1.645,3.679 3.679,3.679 l 54.298,0 0,20.833 c 0,2.03 1.649,3.679 3.681,3.679 2.03,0 3.682,-1.649 3.682,-3.679 L 61.661,0 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3120" /></g><path
+           d="m 429.77,83 34.054,0 0,50.616 -34.054,0 0,-50.616 z m -7.362,-7.361 0,62.974 17.397,21.261 0.003,0 c 1.287,1.574 3.605,1.807 5.179,0.52 1.575,-1.287 1.805,-3.609 0.52,-5.183 l -11.648,-14.232 37.328,0 0,-65.34 -48.779,0 z"
+           style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           id="path3122" /><g
+           id="g3124"
+           transform="translate(426.0903,114.2891)"><path
+             d="m 0,0 c -2.034,0 -3.68,1.648 -3.68,3.681 0,2.034 1.646,3.682 3.68,3.682 l 41.414,0 c 2.03,0 3.682,-1.648 3.682,-3.682 C 45.096,1.648 43.444,0 41.414,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3126" /></g><g
+           id="g3128"
+           transform="translate(426.0903,94.9624)"><path
+             d="m 0,0 c -2.034,0 -3.68,1.648 -3.68,3.684 0,2.032 1.646,3.679 3.68,3.679 l 41.414,0 c 2.03,0 3.682,-1.647 3.682,-3.679 C 45.096,1.648 43.444,0 41.414,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3130" /></g><g
+           id="g3132"
+           transform="translate(380.9961,50.7886)"><path
+             d="m 0,0 c 0,2.032 1.648,3.682 3.682,3.682 l 39.064,0 11.437,24.56 c 0.854,1.844 3.046,2.644 4.889,1.782 1.841,-0.855 2.639,-3.045 1.782,-4.892 L 47.439,-3.681 3.682,-3.683 C 1.648,-3.683 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3134" /></g><g
+           id="g3136"
+           transform="translate(453.2397,37.9038)"><path
+             d="m 0,0 0,41.414 c 0,2.034 1.648,3.682 3.684,3.682 2.028,0 3.679,-1.648 3.679,-3.682 L 7.363,0 C 7.363,-2.03 5.712,-3.681 3.684,-3.681 1.648,-3.681 0,-2.03 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3138" /></g><g
+           id="g3140"
+           transform="translate(479.9297,140.979)"><path
+             d="m 0,0 c -2.034,0 -3.683,1.648 -3.683,3.684 0,2.029 1.649,3.677 3.683,3.677 l 42.795,0 c 2.031,0 3.679,-1.648 3.679,-3.677 C 46.474,1.648 44.826,0 42.795,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3142" /></g><g
+           id="g3144"
+           transform="translate(459.6821,79.3174)"><path
+             d="m 0,0 c 0,2.032 1.646,3.683 3.68,3.683 l 5.99,0 30.741,62.368 0.003,-0.003 c 0.897,1.827 3.103,2.574 4.926,1.678 1.825,-0.901 2.577,-3.108 1.678,-4.93 L 14.254,-3.679 3.68,-3.68 C 1.646,-3.68 0,-2.032 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3146" /></g><path
+           d="m 497.412,83 21.629,0 0,29.907 -21.629,0 0,-29.907 z m -7.363,-34.053 0,30.37 0,40.955 36.355,0 0,-44.633 -28.992,-0.002 0,-26.69 c 0,-2.032 -1.647,-3.682 -3.68,-3.682 -2.033,0 -3.683,1.65 -3.683,3.682"
+           style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+           id="path3148" /><g
+           id="g3150"
+           transform="translate(531.4644,153.8618)"><path
+             d="m 0,0 c 0,2.034 1.648,3.682 3.683,3.682 l 46.016,0 0,24.514 c 0,2.032 1.647,3.679 3.681,3.679 2.029,0 3.682,-1.647 3.682,-3.679 l 0,-31.875 -53.379,0 0,-0.003 C 1.648,-3.682 0,-2.034 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3152" /></g><g
+           id="g3154"
+           transform="translate(531.0049,112.9072)"><path
+             d="m 0,0 c -2.032,0 -3.682,1.652 -3.682,3.683 0,2.033 1.65,3.682 3.682,3.682 l 99.395,0 c 2.032,0 3.679,-1.649 3.679,-3.682 C 103.074,1.652 101.427,0 99.395,0 L 0,0 z"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3156" /></g><g
+           id="g3158"
+           transform="translate(528.7994,59.8086)"><path
+             d="m 0,0 c -1.628,1.22 -1.96,3.525 -0.738,5.155 l 11.687,15.583 0,73.315 c 0,2.034 1.648,3.682 3.68,3.682 2.034,0 3.683,-1.648 3.683,-3.682 l 0,-75.769 L 5.152,0.733 C 4.427,-0.229 3.323,-0.738 2.203,-0.738 1.432,-0.737 0.659,-0.499 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3160" /></g><g
+           id="g3162"
+           transform="translate(568.7383,36.9849)"><path
+             d="m 0,0 0,116.877 c 0,2.034 1.644,3.682 3.681,3.682 2.035,0 3.682,-1.648 3.682,-3.682 L 7.363,0 C 7.363,-2.036 5.716,-3.681 3.681,-3.681 1.644,-3.681 0,-2.036 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3164" /></g><g
+           id="g3166"
+           transform="translate(168.8662,160.3042)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.144,-4.142 -2.285,0 -4.138,1.853 -4.138,4.142 0,2.289 1.853,4.142 4.138,4.142 C -1.854,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3168" /></g><g
+           id="g3170"
+           transform="translate(162.4238,160.3042)"><path
+             d="M 0,0 C 0.003,-1.268 1.032,-2.297 2.299,-2.3 3.57,-2.297 4.6,-1.268 4.601,0 4.6,1.27 3.57,2.301 2.299,2.302 1.032,2.301 0.003,1.27 0,0 m -3.683,0 c 0.002,3.306 2.68,5.981 5.982,5.985 C 5.606,5.981 8.282,3.306 8.282,0 8.282,-3.304 5.606,-5.979 2.299,-5.981 -1.003,-5.979 -3.681,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3172" /></g><g
+           id="g3174"
+           transform="translate(55.2051,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.14,-4.142 -2.285,0 -4.14,1.853 -4.14,4.142 0,2.285 1.855,4.14 4.14,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3176" /></g><g
+           id="g3178"
+           transform="translate(48.7646,137.2983)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.299 2.3,-2.302 3.574,-2.299 4.599,-1.27 4.603,0 4.599,1.268 3.574,2.295 2.3,2.302 1.031,2.295 0.003,1.268 0,0 m -3.681,0 c 0.004,3.304 2.678,5.981 5.981,5.981 3.306,0 5.983,-2.677 5.983,-5.981 0,-3.307 -2.677,-5.983 -5.983,-5.983 -3.303,0 -5.977,2.676 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3180" /></g><g
+           id="g3182"
+           transform="translate(71.772,113.8301)"><path
+             d="m 0,0 c 0,-2.291 -1.852,-4.14 -4.138,-4.14 -2.289,0 -4.142,1.849 -4.142,4.14 0,2.285 1.853,4.14 4.142,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3184" /></g><g
+           id="g3186"
+           transform="translate(65.333,113.8301)"><path
+             d="M 0,0 C 0.002,-1.27 1.029,-2.297 2.301,-2.301 3.569,-2.297 4.596,-1.27 4.598,0 4.596,1.271 3.569,2.3 2.301,2.3 1.029,2.3 0.002,1.271 0,0 m -3.681,0 c 0,3.304 2.675,5.979 5.982,5.981 C 5.603,5.979 8.278,3.304 8.28,0 8.278,-3.306 5.603,-5.981 2.301,-5.981 c -3.307,0 -5.982,2.675 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3188" /></g><g
+           id="g3190"
+           transform="translate(35.4204,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.853,-4.142 -4.142,-4.142 -2.285,0 -4.138,1.853 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.853,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3192" /></g><g
+           id="g3194"
+           transform="translate(28.98,70.1152)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.299 2.3,-2.3 3.57,-2.299 4.598,-1.27 4.599,0 4.598,1.27 3.57,2.297 2.3,2.302 1.029,2.297 0.001,1.27 0,0 m -3.681,0 c 0,3.304 2.676,5.981 5.981,5.983 C 5.604,5.981 8.28,3.304 8.282,0 8.28,-3.304 5.604,-5.983 2.3,-5.983 c -3.305,0 -5.981,2.679 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3196" /></g><g
+           id="g3198"
+           transform="translate(80.5166,162.147)"><path
+             d="m 0,0 c 0,-2.29 -1.853,-4.143 -4.142,-4.143 -2.287,0 -4.14,1.853 -4.14,4.143 0,2.287 1.853,4.138 4.14,4.138 C -1.853,4.138 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3200" /></g><g
+           id="g3202"
+           transform="translate(74.0742,162.147)"><path
+             d="M 0,0 C 0.002,-1.271 1.029,-2.299 2.302,-2.3 3.569,-2.299 4.6,-1.271 4.601,0 4.6,1.268 3.569,2.297 2.302,2.301 1.029,2.297 0.002,1.268 0,0 m -3.679,0 c 0,3.3 2.674,5.979 5.981,5.979 3.302,0 5.98,-2.679 5.98,-5.979 0,-3.305 -2.678,-5.983 -5.98,-5.984 -3.307,0.001 -5.981,2.679 -5.981,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3204" /></g><g
+           id="g3206"
+           transform="translate(149.5425,119.811)"><path
+             d="m 0,0 c 0,-2.287 -1.856,-4.142 -4.145,-4.142 -2.285,0 -4.142,1.855 -4.142,4.142 0,2.289 1.857,4.143 4.142,4.143 C -1.856,4.143 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3208" /></g><g
+           id="g3210"
+           transform="translate(143.0952,119.811)"><path
+             d="M 0,0 C 0.005,-1.27 1.032,-2.297 2.302,-2.302 3.574,-2.297 4.603,-1.27 4.603,0 4.603,1.27 3.574,2.299 2.302,2.302 1.032,2.299 0.005,1.27 0,0 M -3.681,0 C -3.677,3.305 -1.003,5.979 2.302,5.981 5.606,5.979 8.282,3.305 8.283,0 8.282,-3.306 5.606,-5.979 2.302,-5.981 -1.003,-5.979 -3.677,-3.306 -3.681,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3212" /></g><g
+           id="g3214"
+           transform="translate(132.5146,41.5845)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.14 -4.142,-4.14 -2.288,0 -4.142,1.851 -4.142,4.14 0,2.287 1.854,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3216" /></g><g
+           id="g3218"
+           transform="translate(126.0723,41.5859)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.3 2.3,-2.302 3.572,-2.3 4.594,-1.27 4.601,0 4.594,1.27 3.572,2.297 2.3,2.303 1.029,2.297 0.001,1.27 0,0 m -3.679,0 c 0,3.304 2.674,5.981 5.979,5.981 C 5.604,5.981 8.28,3.304 8.282,0 8.28,-3.307 5.604,-5.981 2.3,-5.984 -1.005,-5.981 -3.679,-3.307 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3220" /></g><g
+           id="g3222"
+           transform="translate(130.6733,182.0576)"><path
+             d="m 0,0 c 0,-2.291 -1.856,-4.144 -4.14,-4.144 -2.287,0 -4.144,1.853 -4.144,4.144 0,2.287 1.857,4.14 4.144,4.14 C -1.856,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3224" /></g><g
+           id="g3226"
+           transform="translate(124.231,182.0576)"><path
+             d="M 0,0 C 0.002,-1.273 1.031,-2.301 2.302,-2.303 3.571,-2.301 4.596,-1.273 4.601,0 4.596,1.266 3.571,2.295 2.302,2.299 1.031,2.295 0.002,1.266 0,0 m -3.681,0 c 0,3.304 2.678,5.981 5.983,5.981 3.301,0 5.98,-2.677 5.98,-5.981 0,-3.308 -2.679,-5.983 -5.98,-5.983 -3.305,0 -5.983,2.675 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3228" /></g><g
+           id="g3230"
+           transform="translate(164.2666,109.227)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.14 -4.145,-4.14 -2.285,0 -4.14,1.851 -4.14,4.14 0,2.289 1.855,4.143 4.14,4.143 C -1.855,4.143 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3232" /></g><g
+           id="g3234"
+           transform="translate(157.8227,109.227)"><path
+             d="M 0,0 C 0.001,-1.27 1.029,-2.299 2.299,-2.301 3.57,-2.299 4.598,-1.27 4.601,0 4.598,1.271 3.57,2.297 2.299,2.302 1.029,2.297 0.001,1.271 0,0 m -3.683,0 c 0,3.305 2.68,5.984 5.982,5.984 3.304,0 5.983,-2.679 5.983,-5.984 0,-3.304 -2.679,-5.981 -5.983,-5.981 -3.302,0 -5.982,2.677 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3236" /></g><g
+           id="g3238"
+           transform="translate(170.7056,91.2817)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.14,-4.142 -2.289,0 -4.142,1.855 -4.142,4.142 0,2.287 1.853,4.14 4.142,4.14 C -1.853,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3240" /></g><g
+           id="g3242"
+           transform="translate(164.2666,91.2817)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.295 2.299,-2.301 3.569,-2.295 4.594,-1.27 4.6,0 4.594,1.27 3.569,2.297 2.299,2.302 1.029,2.297 0,1.27 0,0 M -3.684,0 C -3.682,3.304 -1.006,5.978 2.299,5.983 5.603,5.978 8.278,3.304 8.278,0 c 0,-3.306 -2.675,-5.981 -5.979,-5.981 -3.305,0 -5.981,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3244" /></g><g
+           id="g3246"
+           transform="translate(218.5615,160.3042)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.142 -4.138,-4.142 -2.289,0 -4.142,1.853 -4.142,4.142 0,2.289 1.853,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3248" /></g><g
+           id="g3250"
+           transform="translate(212.1211,160.3076)"><path
+             d="M 0,0 C 0.002,-1.273 1.031,-2.302 2.302,-2.304 3.57,-2.302 4.6,-1.273 4.601,0 4.6,1.267 3.57,2.297 2.302,2.297 1.031,2.297 0.002,1.267 0,0 m -3.682,0 c 0,3.302 2.679,5.978 5.984,5.978 C 5.606,5.978 8.28,3.302 8.282,0 8.28,-3.307 5.606,-5.981 2.302,-5.984 -1.003,-5.981 -3.682,-3.307 -3.682,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3252" /></g><g
+           id="g3254"
+           transform="translate(234.2065,145.5801)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.139,-4.142 -2.288,0 -4.143,1.853 -4.143,4.142 0,2.287 1.855,4.142 4.143,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3256" /></g><g
+           id="g3258"
+           transform="translate(227.7676,145.5801)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.299 2.297,-2.3 3.568,-2.299 4.596,-1.27 4.599,0 4.596,1.271 3.568,2.299 2.297,2.299 1.029,2.299 0,1.271 0,0 m -3.683,0 c 0,3.306 2.678,5.981 5.98,5.983 C 5.603,5.981 8.28,3.306 8.28,0 8.28,-3.304 5.603,-5.979 2.297,-5.981 -1.005,-5.979 -3.683,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3260" /></g><g
+           id="g3262"
+           transform="translate(207.9795,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.142 -4.142,-4.142 -2.287,0 -4.142,1.853 -4.142,4.142 0,2.287 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3264" /></g><g
+           id="g3266"
+           transform="translate(201.5351,70.1152)"><path
+             d="m 0,0 c 0.005,-1.27 1.031,-2.299 2.302,-2.3 1.272,10e-4 2.3,1.03 2.3,2.3 0,1.27 -1.028,2.297 -2.3,2.302 C 1.031,2.297 0.005,1.27 0,0 m -3.679,0 c 0,3.304 2.676,5.981 5.981,5.983 C 5.606,5.981 8.284,3.304 8.284,0 c 0,-3.304 -2.678,-5.983 -5.982,-5.983 -3.305,0 -5.981,2.679 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3268" /></g><g
+           id="g3270"
+           transform="translate(234.2065,104.1665)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.139,-4.142 -2.288,0 -4.143,1.855 -4.143,4.142 0,2.287 1.855,4.143 4.143,4.143 C -1.854,4.143 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3272" /></g><g
+           id="g3274"
+           transform="translate(227.7642,104.1665)"><path
+             d="M 0,0 C 0.003,-1.27 1.032,-2.299 2.3,-2.301 3.57,-2.299 4.601,-1.27 4.601,0 4.601,1.27 3.57,2.297 2.3,2.304 1.032,2.297 0.003,1.27 0,0 m -3.679,0 c 0,3.304 2.678,5.979 5.979,5.981 C 5.606,5.979 8.283,3.304 8.283,0 c 0,-3.306 -2.677,-5.981 -5.983,-5.981 -3.301,0 -5.979,2.675 -5.979,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3276" /></g><g
+           id="g3278"
+           transform="translate(182.6714,70.1152)"><path
+             d="m 0,0 c 0,-2.289 -1.857,-4.142 -4.142,-4.142 -2.287,0 -4.143,1.853 -4.143,4.142 0,2.287 1.856,4.142 4.143,4.142 C -1.857,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3280" /></g><g
+           id="g3282"
+           transform="translate(176.229,70.1152)"><path
+             d="M 0,0 C 0.001,-1.27 1.032,-2.299 2.299,-2.3 3.57,-2.299 4.6,-1.27 4.603,0 4.6,1.27 3.57,2.297 2.299,2.302 1.032,2.297 0.001,1.27 0,0 m -3.684,0 c 0,3.304 2.679,5.981 5.983,5.983 C 5.604,5.981 8.278,3.304 8.28,0 8.278,-3.304 5.604,-5.983 2.299,-5.983 c -3.304,0 -5.983,2.679 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3284" /></g><g
+           id="g3286"
+           transform="translate(265.4971,43.4258)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.14,-4.142 -2.287,0 -4.142,1.855 -4.142,4.142 0,2.288 1.855,4.142 4.142,4.142 C -1.853,4.142 0,2.288 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3288" /></g><g
+           id="g3290"
+           transform="translate(259.0552,43.4258)"><path
+             d="M 0,0 C 0.001,-1.269 1.03,-2.297 2.302,-2.301 3.572,-2.297 4.599,-1.269 4.603,0 4.599,1.271 3.572,2.3 2.302,2.302 1.03,2.3 0.001,1.271 0,0 m -3.681,0 c 0,3.305 2.676,5.981 5.983,5.981 3.305,0 5.981,-2.676 5.981,-5.981 0,-3.304 -2.676,-5.979 -5.981,-5.981 -3.307,0.002 -5.983,2.677 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3292" /></g><g
+           id="g3294"
+           transform="translate(254.915,170.4287)"><path
+             d="m 0,0 c 0,-2.288 -1.855,-4.144 -4.142,-4.144 -2.287,0 -4.142,1.856 -4.142,4.144 0,2.285 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3296" /></g><g
+           id="g3298"
+           transform="translate(248.4746,170.4287)"><path
+             d="M 0,0 C 0.001,-1.271 1.029,-2.297 2.297,-2.3 3.568,-2.297 4.596,-1.271 4.598,0 4.596,1.27 3.568,2.299 2.297,2.301 1.029,2.299 0.001,1.27 0,0 m -3.683,0 c 0,3.304 2.676,5.983 5.98,5.983 C 5.604,5.983 8.28,3.304 8.28,0 8.28,-3.305 5.604,-5.981 2.297,-5.983 -1.007,-5.981 -3.683,-3.305 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3300" /></g><g
+           id="g3302"
+           transform="translate(288.0454,171.3496)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.14 -4.142,-4.14 -2.287,0 -4.14,1.853 -4.14,4.14 0,2.285 1.853,4.142 4.14,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3304" /></g><g
+           id="g3306"
+           transform="translate(281.603,171.3496)"><path
+             d="M 0,0 C 0,-1.271 1.029,-2.299 2.301,-2.301 3.57,-2.299 4.6,-1.271 4.601,0 4.6,1.271 3.57,2.299 2.301,2.299 1.029,2.299 0,1.271 0,0 m -3.679,0 c 0,3.304 2.676,5.981 5.98,5.981 3.305,0 5.983,-2.677 5.983,-5.981 0,-3.306 -2.678,-5.981 -5.983,-5.981 -3.304,0 -5.98,2.675 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3308" /></g><g
+           id="g3310"
+           transform="translate(263.1968,104.1665)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.142 -4.142,-4.142 -2.288,0 -4.14,1.855 -4.14,4.142 0,2.287 1.852,4.143 4.14,4.143 C -1.853,4.143 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3312" /></g><g
+           id="g3314"
+           transform="translate(256.7545,104.1665)"><path
+             d="M 0,0 C 0,-1.27 1.031,-2.299 2.301,-2.301 3.57,-2.299 4.6,-1.27 4.603,0 4.6,1.27 3.57,2.299 2.301,2.304 1.031,2.299 0,1.27 0,0 m -3.682,0 c 0,3.304 2.679,5.979 5.983,5.981 C 5.604,5.979 8.282,3.304 8.284,0 8.282,-3.306 5.604,-5.981 2.301,-5.981 c -3.304,0 -5.983,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3316" /></g><g
+           id="g3318"
+           transform="translate(304.1528,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.145,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3320" /></g><g
+           id="g3322"
+           transform="translate(297.707,157.5439)"><path
+             d="M 0,0 C 0.003,-1.271 1.033,-2.295 2.301,-2.302 3.572,-2.295 4.601,-1.271 4.604,0 4.601,1.27 3.572,2.299 2.301,2.303 1.033,2.299 0.003,1.27 0,0 m -3.679,0 c 0,3.304 2.673,5.979 5.98,5.981 C 5.606,5.979 8.284,3.304 8.285,0 8.284,-3.304 5.606,-5.981 2.301,-5.981 c -3.307,0 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3324" /></g><g
+           id="g3326"
+           transform="translate(357.0693,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.143,-4.142 -2.287,0 -4.14,1.855 -4.14,4.142 0,2.287 1.853,4.142 4.14,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3328" /></g><g
+           id="g3330"
+           transform="translate(350.6255,157.5439)"><path
+             d="M 0,0 C 0.002,-1.268 1.033,-2.3 2.297,-2.302 3.571,-2.3 4.6,-1.271 4.603,0 4.6,1.27 3.571,2.299 2.297,2.303 1.033,2.299 0.002,1.27 0,0 M -3.682,0 C -3.68,3.304 -1.003,5.979 2.297,5.981 5.604,5.979 8.282,3.304 8.282,0 c 0,-3.304 -2.678,-5.981 -5.985,-5.981 -3.3,0 -5.977,2.677 -5.979,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3332" /></g><g
+           id="g3334"
+           transform="translate(300.0078,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.138,-4.142 -2.289,0 -4.142,1.853 -4.142,4.142 0,2.285 1.853,4.14 4.142,4.14 C -1.852,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3336" /></g><g
+           id="g3338"
+           transform="translate(293.5669,137.2949)"><path
+             d="M 0,0 C 0.002,-1.267 1.029,-2.295 2.303,-2.299 3.572,-2.295 4.6,-1.267 4.602,0 4.6,1.273 3.572,2.299 2.303,2.304 1.029,2.299 0.002,1.273 0,0 m -3.68,0 c 0,3.307 2.677,5.981 5.983,5.985 C 5.604,5.981 8.28,3.307 8.284,0 8.28,-3.304 5.604,-5.978 2.303,-5.979 -1.003,-5.978 -3.68,-3.304 -3.68,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3340" /></g><g
+           id="g3342"
+           transform="translate(419.1885,137.2983)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.142,-4.142 -2.285,0 -4.139,1.853 -4.139,4.142 0,2.285 1.854,4.14 4.139,4.14 C -1.854,4.14 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3344" /></g><g
+           id="g3346"
+           transform="translate(412.7461,137.2983)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.299 2.299,-2.302 3.571,-2.299 4.598,-1.27 4.602,0 4.598,1.27 3.571,2.295 2.299,2.302 1.029,2.295 0,1.27 0,0 m -3.679,0 c 0,3.306 2.674,5.978 5.978,5.981 C 5.608,5.978 8.284,3.302 8.284,0 8.284,-3.305 5.608,-5.981 2.299,-5.983 -1.005,-5.981 -3.679,-3.307 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3348" /></g><g
+           id="g3350"
+           transform="translate(304.1528,120.272)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.145,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.14 4.138,4.14 C -1.855,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3352" /></g><g
+           id="g3354"
+           transform="translate(297.707,120.272)"><path
+             d="M 0,0 C 0.003,-1.268 1.033,-2.299 2.301,-2.302 3.572,-2.299 4.601,-1.268 4.604,0 4.601,1.268 3.572,2.299 2.301,2.301 1.033,2.299 0.003,1.268 0,0 m -3.679,0 c 0,3.306 2.673,5.978 5.98,5.983 C 5.606,5.978 8.284,3.306 8.285,0 8.284,-3.304 5.606,-5.978 2.301,-5.981 -1.006,-5.978 -3.679,-3.304 -3.679,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3356" /></g><g
+           id="g3358"
+           transform="translate(304.1528,103.2456)"><path
+             d="m 0,0 c 0,-2.289 -1.855,-4.143 -4.145,-4.143 -2.285,0 -4.138,1.854 -4.138,4.143 0,2.287 1.853,4.144 4.138,4.144 C -1.855,4.144 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3360" /></g><g
+           id="g3362"
+           transform="translate(297.707,103.2456)"><path
+             d="M 0,0 C 0.003,-1.27 1.033,-2.297 2.301,-2.299 3.572,-2.297 4.601,-1.27 4.604,0 4.601,1.272 3.572,2.299 2.301,2.302 1.033,2.299 0.003,1.272 0,0 m -3.679,0 c 0,3.304 2.673,5.979 5.98,5.981 C 5.606,5.979 8.284,3.304 8.285,0 8.284,-3.304 5.606,-5.981 2.301,-5.981 c -3.307,0 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3364" /></g><g
+           id="g3366"
+           transform="translate(356.1475,37.9038)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.142 -4.14,-4.142 -2.291,0 -4.14,1.853 -4.14,4.142 0,2.287 1.849,4.14 4.14,4.14 C -1.852,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3368" /></g><g
+           id="g3370"
+           transform="translate(349.7051,37.9038)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.297 2.301,-2.299 3.57,-2.297 4.601,-1.27 4.603,0 4.601,1.271 3.57,2.299 2.301,2.3 1.032,2.299 0,1.268 0,0 M -3.683,0 C -3.681,3.305 -1.005,5.979 2.301,5.985 5.606,5.979 8.282,3.305 8.282,0 c 0,-3.304 -2.676,-5.981 -5.981,-5.981 -3.304,0 -5.982,2.677 -5.984,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3372" /></g><g
+           id="g3374"
+           transform="translate(356.1475,120.272)"><path
+             d="m 0,0 c 0,-2.287 -1.852,-4.142 -4.14,-4.142 -2.291,0 -4.14,1.855 -4.14,4.142 0,2.287 1.849,4.14 4.14,4.14 C -1.852,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3376" /></g><g
+           id="g3378"
+           transform="translate(349.7051,120.272)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.299 2.301,-2.302 3.57,-2.299 4.601,-1.27 4.603,0 4.601,1.27 3.57,2.299 2.301,2.301 1.032,2.299 0,1.268 0,0 M -3.683,0 C -3.681,3.306 -1.005,5.979 2.301,5.983 5.606,5.979 8.282,3.306 8.282,0 8.282,-3.302 5.606,-5.979 2.301,-5.983 -1.005,-5.979 -3.681,-3.305 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3380" /></g><g
+           id="g3382"
+           transform="translate(356.1475,103.2456)"><path
+             d="m 0,0 c 0,-2.289 -1.852,-4.143 -4.14,-4.143 -2.291,0 -4.14,1.854 -4.14,4.143 0,2.287 1.849,4.144 4.14,4.144 C -1.852,4.144 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3384" /></g><g
+           id="g3386"
+           transform="translate(349.7051,103.2456)"><path
+             d="M 0,0 C 0,-1.27 1.032,-2.297 2.301,-2.299 3.57,-2.297 4.601,-1.27 4.603,0 4.601,1.272 3.57,2.299 2.301,2.302 1.032,2.299 0,1.272 0,0 M -3.683,0 C -3.681,3.306 -1.005,5.979 2.301,5.981 5.606,5.979 8.282,3.306 8.282,0 8.282,-3.304 5.606,-5.981 2.301,-5.983 -1.005,-5.981 -3.681,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3388" /></g><g
+           id="g3390"
+           transform="translate(364.4292,77.4766)"><path
+             d="m 0,0 c 0,-2.287 -1.852,-4.14 -4.14,-4.14 -2.285,0 -4.142,1.853 -4.142,4.14 0,2.289 1.857,4.142 4.142,4.142 C -1.852,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3392" /></g><g
+           id="g3394"
+           transform="translate(357.9868,77.4785)"><path
+             d="M 0,0 C 0.003,-1.272 1.034,-2.299 2.302,-2.301 3.572,-2.299 4.601,-1.272 4.601,0 4.601,1.271 3.572,2.297 2.302,2.299 1.034,2.297 0.003,1.268 0,0 m -3.679,0 c 0,3.304 2.676,5.979 5.981,5.982 3.306,0 5.982,-2.678 5.982,-5.982 0,-3.306 -2.676,-5.981 -5.982,-5.981 -3.305,0 -5.981,2.675 -5.981,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3396" /></g><g
+           id="g3398"
+           transform="translate(398.4834,63.6728)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.144,-4.142 -2.285,0 -4.141,1.855 -4.141,4.142 0,2.287 1.856,4.142 4.141,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3400" /></g><g
+           id="g3402"
+           transform="translate(392.0376,63.6728)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.297 2.302,-2.302 3.574,-2.297 4.6,-1.271 4.606,0 4.6,1.271 3.574,2.297 2.302,2.301 1.031,2.297 0.003,1.271 0,0 m -3.68,0 c 0,3.306 2.679,5.979 5.982,5.983 C 5.608,5.979 8.284,3.304 8.284,0 8.284,-3.305 5.608,-5.979 2.302,-5.982 -1.001,-5.979 -3.68,-3.305 -3.68,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3404" /></g><g
+           id="g3406"
+           transform="translate(388.8185,50.7886)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.14,-4.142 -2.289,0 -4.142,1.855 -4.142,4.142 0,2.287 1.853,4.142 4.142,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3408" /></g><g
+           id="g3410"
+           transform="translate(382.376,50.7886)"><path
+             d="M 0,0 C 0.002,-1.27 1.032,-2.299 2.302,-2.301 3.57,-2.299 4.6,-1.272 4.601,0 4.6,1.271 3.57,2.297 2.302,2.3 1.032,2.297 0.002,1.266 0,0 m -3.679,0 c 0,3.305 2.676,5.981 5.981,5.981 3.306,0 5.98,-2.677 5.98,-5.981 0,-3.306 -2.674,-5.981 -5.98,-5.981 -3.305,0.002 -5.981,2.675 -5.981,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3412" /></g><g
+           id="g3414"
+           transform="translate(461.0635,37.9038)"><path
+             d="m 0,0 c 0,-2.289 -1.854,-4.142 -4.142,-4.142 -2.286,0 -4.143,1.853 -4.143,4.142 0,2.287 1.857,4.14 4.143,4.14 C -1.854,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3416" /></g><g
+           id="g3418"
+           transform="translate(454.6216,37.9038)"><path
+             d="M 0,0 C 0,-1.27 1.029,-2.297 2.3,-2.299 3.57,-2.297 4.598,-1.27 4.603,0 4.598,1.27 3.57,2.299 2.3,2.3 1.031,2.299 0,1.27 0,0 m -3.683,0 c 0,3.307 2.678,5.983 5.983,5.983 C 5.603,5.983 8.282,3.307 8.282,0 8.282,-3.304 5.603,-5.979 2.3,-5.981 -1.001,-5.979 -3.683,-3.304 -3.683,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3420" /></g><g
+           id="g3422"
+           transform="translate(398.4834,170.4287)"><path
+             d="m 0,0 c 0,-2.288 -1.855,-4.144 -4.144,-4.144 -2.285,0 -4.141,1.856 -4.141,4.144 0,2.285 1.856,4.142 4.141,4.142 C -1.855,4.142 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3424" /></g><g
+           id="g3426"
+           transform="translate(392.0376,170.4287)"><path
+             d="M 0,0 C 0.003,-1.27 1.031,-2.297 2.302,-2.3 3.574,-2.297 4.6,-1.271 4.606,0 4.6,1.27 3.574,2.299 2.302,2.299 1.031,2.299 0.003,1.27 0,0 m -3.68,0 c 0,3.306 2.679,5.981 5.982,5.981 3.306,0 5.982,-2.679 5.982,-5.981 0,-3.305 -2.676,-5.981 -5.982,-5.981 -3.303,0 -5.982,2.676 -5.982,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3428" /></g><g
+           id="g3430"
+           transform="translate(413.665,157.5439)"><path
+             d="m 0,0 c 0,-2.287 -1.854,-4.142 -4.14,-4.142 -2.285,0 -4.138,1.855 -4.138,4.142 0,2.287 1.853,4.142 4.138,4.142 C -1.854,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3432" /></g><g
+           id="g3434"
+           transform="translate(407.2246,157.5459)"><path
+             d="M 0,0 C 0,-1.271 1.032,-2.297 2.301,-2.304 3.572,-2.297 4.596,-1.273 4.601,0 4.596,1.268 3.572,2.297 2.301,2.299 1.032,2.297 0,1.268 0,0 m -3.682,0 c 0,3.306 2.677,5.978 5.983,5.981 C 5.604,5.978 8.278,3.302 8.278,0 8.278,-3.306 5.604,-5.983 2.301,-5.983 -1.005,-5.981 -3.682,-3.306 -3.682,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3436" /></g><g
+           id="g3438"
+           transform="translate(471.6475,182.0576)"><path
+             d="m 0,0 c 0,-2.291 -1.854,-4.144 -4.143,-4.144 -2.287,0 -4.142,1.853 -4.142,4.144 0,2.287 1.855,4.14 4.142,4.14 C -1.854,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3440" /></g><g
+           id="g3442"
+           transform="translate(465.2036,182.0576)"><path
+             d="M 0,0 C 0.002,-1.27 1.033,-2.301 2.301,-2.303 3.572,-2.301 4.598,-1.27 4.605,0 4.598,1.27 3.572,2.295 2.301,2.299 1.033,2.295 0.002,1.266 0,0 m -3.682,0 c 0,3.304 2.679,5.981 5.983,5.981 3.303,0 5.983,-2.677 5.983,-5.981 0,-3.304 -2.68,-5.983 -5.983,-5.983 -3.304,0 -5.983,2.675 -5.983,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3444" /></g><g
+           id="g3446"
+           transform="translate(484.0693,144.6611)"><path
+             d="m 0,0 c 0,-2.29 -1.853,-4.145 -4.14,-4.145 -2.287,0 -4.142,1.855 -4.142,4.145 0,2.287 1.855,4.139 4.142,4.139 C -1.853,4.139 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3448" /></g><g
+           id="g3450"
+           transform="translate(477.6269,144.6631)"><path
+             d="M 0,0 C 0.004,-1.271 1.033,-2.301 2.303,-2.306 3.572,-2.301 4.6,-1.275 4.602,0 4.6,1.268 3.572,2.294 2.303,2.299 1.033,2.294 0.004,1.268 0,0 m -3.679,0 c 0,3.304 2.674,5.978 5.982,5.979 3.303,0 5.979,-2.68 5.979,-5.979 0,-3.306 -2.676,-5.983 -5.979,-5.984 -3.308,0.001 -5.982,2.678 -5.982,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3452" /></g><g
+           id="g3454"
+           transform="translate(535.1471,62.7524)"><path
+             d="m 0,0 c 0,-2.287 -1.855,-4.142 -4.14,-4.142 -2.285,0 -4.142,1.855 -4.142,4.142 0,2.287 1.857,4.142 4.142,4.142 C -1.855,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3456" /></g><g
+           id="g3458"
+           transform="translate(528.7047,62.7539)"><path
+             d="M 0,0 C 0.003,-1.273 1.032,-2.297 2.302,-2.3 3.572,-2.297 4.599,-1.273 4.603,0 4.599,1.27 3.572,2.296 2.302,2.299 1.032,2.296 0.003,1.27 0,0 m -3.681,0 c 0,3.306 2.678,5.978 5.983,5.979 3.306,0 5.98,-2.677 5.98,-5.979 0,-3.305 -2.674,-5.982 -5.98,-5.982 -3.305,0.001 -5.983,2.675 -5.983,5.982"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3460" /></g><g
+           id="g3462"
+           transform="translate(576.5626,36.9849)"><path
+             d="m 0,0 c 0,-2.289 -1.856,-4.143 -4.144,-4.143 -2.285,0 -4.14,1.854 -4.14,4.143 0,2.287 1.855,4.14 4.14,4.14 C -1.856,4.14 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3464" /></g><g
+           id="g3466"
+           transform="translate(570.1168,36.9834)"><path
+             d="M 0,0 C 0.003,-1.27 1.036,-2.299 2.302,-2.301 3.572,-2.299 4.604,-1.271 4.604,0 4.604,1.271 3.572,2.3 2.302,2.302 1.036,2.3 0.003,1.27 0,0 M -3.682,0 C -3.679,3.305 -0.998,5.979 2.302,5.982 5.606,5.982 8.285,3.305 8.287,0 L 8.285,0 c 0,-3.302 -2.679,-5.979 -5.983,-5.979 -3.3,0 -5.981,2.675 -5.984,5.979"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3468" /></g><g
+           id="g3470"
+           transform="translate(526.8653,144.6611)"><path
+             d="m 0,0 c 0,-2.29 -1.854,-4.145 -4.14,-4.145 -2.289,0 -4.144,1.855 -4.144,4.145 0,2.287 1.855,4.139 4.144,4.139 C -1.854,4.139 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3472" /></g><g
+           id="g3474"
+           transform="translate(520.4194,144.6631)"><path
+             d="M 0,0 C 0.005,-1.275 1.032,-2.301 2.306,-2.304 3.574,-2.301 4.601,-1.275 4.604,0 4.601,1.268 3.574,2.297 2.306,2.299 1.032,2.297 0.005,1.265 0,0 m -3.679,0 c 0.002,3.304 2.678,5.978 5.985,5.979 3.3,0 5.979,-2.679 5.979,-5.979 0,-3.306 -2.679,-5.983 -5.979,-5.984 -3.307,0.001 -5.983,2.675 -5.985,5.984"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3476" /></g><g
+           id="g3478"
+           transform="translate(539.2887,153.8618)"><path
+             d="m 0,0 c 0,-2.287 -1.853,-4.14 -4.142,-4.14 -2.285,0 -4.14,1.853 -4.14,4.14 0,2.287 1.855,4.142 4.14,4.142 C -1.853,4.142 0,2.287 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3480" /></g><g
+           id="g3482"
+           transform="translate(532.8448,153.8618)"><path
+             d="M 0,0 C 0.003,-1.27 1.034,-2.297 2.302,-2.299 3.574,-2.297 4.598,-1.271 4.604,0 4.598,1.272 3.574,2.297 2.302,2.301 1.034,2.297 0.003,1.27 0,0 m -3.681,0 c 0,3.306 2.678,5.983 5.983,5.983 3.304,0 5.981,-2.677 5.981,-5.983 0,-3.302 -2.677,-5.979 -5.981,-5.979 -3.305,0 -5.983,2.677 -5.983,5.979"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3484" /></g><g
+           id="g3486"
+           transform="translate(535.1471,116.5898)"><path
+             d="m 0,0 c 0,-2.285 -1.855,-4.14 -4.14,-4.14 -2.285,0 -4.142,1.855 -4.142,4.14 0,2.289 1.857,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3488" /></g><g
+           id="g3490"
+           transform="translate(528.7047,116.5898)"><path
+             d="M 0,0 C 0.003,-1.271 1.032,-2.295 2.302,-2.301 3.572,-2.295 4.599,-1.271 4.603,0 4.599,1.271 3.572,2.297 2.302,2.302 1.032,2.297 0.003,1.271 0,0 m -3.681,0 c 0,3.306 2.678,5.981 5.983,5.981 3.306,0 5.98,-2.677 5.98,-5.981 0,-3.302 -2.674,-5.981 -5.98,-5.981 -3.305,0.002 -5.983,2.675 -5.983,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3492" /></g><g
+           id="g3494"
+           transform="translate(634.5416,116.5898)"><path
+             d="m 0,0 c 0,-2.285 -1.853,-4.14 -4.142,-4.14 -2.287,0 -4.142,1.855 -4.142,4.14 0,2.289 1.855,4.142 4.142,4.142 C -1.853,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3496" /></g><g
+           id="g3498"
+           transform="translate(628.0977,116.5918)"><path
+             d="M 0,0 C 0.001,-1.273 1.03,-2.297 2.302,-2.301 3.574,-2.297 4.596,-1.273 4.604,0 4.596,1.271 3.574,2.295 2.302,2.3 1.03,2.295 0.001,1.268 0,0 m -3.679,0 c 0,3.304 2.674,5.979 5.981,5.981 C 5.606,5.979 8.281,3.304 8.281,0 c 0,-3.306 -2.675,-5.983 -5.979,-5.983 -3.307,0 -5.981,2.675 -5.981,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3500" /></g><g
+           id="g3502"
+           transform="translate(588.9845,182.0591)"><path
+             d="m 0,0 c 0,-2.291 -1.854,-4.145 -4.14,-4.145 -2.287,0 -4.142,1.854 -4.142,4.145 0,2.285 1.855,4.138 4.142,4.138 C -1.854,4.138 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3504" /></g><g
+           id="g3506"
+           transform="translate(582.54,182.0591)"><path
+             d="M 0,0 C 0.005,-1.27 1.034,-2.299 2.304,-2.304 3.576,-2.299 4.6,-1.271 4.604,0 4.6,1.267 3.576,2.297 2.304,2.3 1.034,2.297 0.005,1.267 0,0 m -3.681,0 c 0.004,3.302 2.68,5.979 5.985,5.981 C 5.608,5.979 8.284,3.302 8.284,0 c 0,-3.305 -2.676,-5.981 -5.98,-5.985 -3.305,0.004 -5.981,2.68 -5.985,5.985"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3508" /></g><g
+           id="g3510"
+           transform="translate(497.875,48.9473)"><path
+             d="m 0,0 c 0,-2.285 -1.855,-4.14 -4.14,-4.14 -2.287,0 -4.142,1.855 -4.142,4.14 0,2.289 1.855,4.142 4.142,4.142 C -1.855,4.142 0,2.289 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3512" /></g><g
+           id="g3514"
+           transform="translate(491.4307,48.9473)"><path
+             d="M 0,0 C 0.005,-1.27 1.034,-2.295 2.301,-2.297 3.574,-2.295 4.6,-1.27 4.601,0 4.6,1.273 3.574,2.299 2.301,2.301 1.034,2.299 0.005,1.268 0,0 m -3.679,0 c 0,3.306 2.678,5.979 5.98,5.983 3.305,0 5.984,-2.677 5.984,-5.983 0,-3.304 -2.679,-5.978 -5.984,-5.981 -3.302,0.003 -5.98,2.677 -5.98,5.981"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3516" /></g><g
+           id="g3518"
+           transform="translate(412.7461,74.7183)"><path
+             d="m 0,0 c 0,-2.291 -1.853,-4.144 -4.14,-4.144 -2.287,0 -4.141,1.853 -4.141,4.144 0,2.285 1.854,4.138 4.141,4.138 C -1.853,4.138 0,2.285 0,0"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3520" /></g><g
+           id="g3522"
+           transform="translate(406.3042,74.7183)"><path
+             d="M 0,0 C 0.001,-1.27 1.031,-2.299 2.302,-2.304 3.57,-2.299 4.598,-1.273 4.603,0 4.598,1.27 3.57,2.299 2.302,2.3 1.031,2.299 0.001,1.266 0,0 m -3.682,0 c 0.003,3.302 2.675,5.979 5.984,5.979 3.302,0 5.98,-2.677 5.98,-5.979 0,-3.306 -2.678,-5.983 -5.98,-5.983 -3.309,0 -5.981,2.677 -5.984,5.983"
+             style="fill:#7ea3d3;fill-opacity:1;fill-rule:nonzero;stroke:none"
+             id="path3524" /></g></g></g></g></svg>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/slide3.html	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,503 @@
+<!DOCTYPE html><html lang="ja-JP"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0"><meta name="apple-mobile-web-app-capable" content="yes"><meta http-equiv="X-UA-Compatible" content="ie=edge"><meta property="og:type" content="website"><meta name="twitter:card" content="summary"><style>@media screen{body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background-color:transparent;border:0;color:inherit;cursor:pointer;font-size:inherit;opacity:.8;outline:none;padding:0;transition:opacity .2s linear}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:disabled{cursor:not-allowed;opacity:.15!important}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover{opacity:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:active{opacity:.6}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled),body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button:hover:not(:disabled){transition:none}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTAgMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJtMzIgOTAgNDAtNDAtNDAtNDAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen]{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgeD0iMTAiIHk9IjIwIiBjbGFzcz0iYSIgcng9IjUuNjciLz48cGF0aCBkPSJNNDAgNzBIMjBWNTBtMjAgMEwyMCA3MG00MC00MGgyMHYyMG0tMjAgMCAyMC0yMCIgY2xhc3M9ImEiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen]{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgeD0iMTAiIHk9IjIwIiBjbGFzcz0iYSIgcng9IjUuNjciLz48cGF0aCBkPSJNMjAgNTBoMjB2MjBtLTIwIDAgMjAtMjBtNDAgMEg2MFYzMG0yMCAwTDYwIDUwIiBjbGFzcz0iYSIvPjwvc3ZnPg==")}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter]{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNODcuOCA0Ny41Qzg5IDUwIDg3LjcgNTIgODUgNTJIMzVhOC43IDguNyAwIDAgMS03LjItNC41bC0xNS42LTMxQzExIDE0IDEyLjIgMTIgMTUgMTJoNTBhOC44IDguOCAwIDAgMSA3LjIgNC41ek02MCA1MnYzNm0tMTAgMGgyME00NSA0MmgyMCIvPjwvc3ZnPg==") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button.bespoke-marp-presenter-note-bigger{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMTIgNTBoODBNNTIgOTBWMTAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button.bespoke-marp-presenter-note-smaller{background:transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMTIgNTBoODAiLz48L3N2Zz4=") no-repeat 50%;background-size:contain;overflow:hidden;text-indent:100%;white-space:nowrap}}@keyframes __bespoke_marp_transition_reduced_outgoing__{0%{opacity:1}to{opacity:0}}@keyframes __bespoke_marp_transition_reduced_incoming__{0%{mix-blend-mode:plus-lighter;opacity:0}to{mix-blend-mode:plus-lighter;opacity:1}}.bespoke-marp-note,.bespoke-marp-osc,.bespoke-progress-parent{display:none;transition:none}@media screen{::view-transition-group(*){animation-duration:var(--marp-bespoke-transition-animation-duration,.5s);animation-timing-function:ease}::view-transition-new(*),::view-transition-old(*){animation-delay:0s;animation-direction:var(--marp-bespoke-transition-animation-direction,normal);animation-duration:var(--marp-bespoke-transition-animation-duration,.5s);animation-fill-mode:both;animation-name:var(--marp-bespoke-transition-animation-name,var(--marp-bespoke-transition-animation-name-fallback,__bespoke_marp_transition_no_animation__));mix-blend-mode:normal}::view-transition-old(*){--marp-bespoke-transition-animation-name-fallback:__bespoke_marp_transition_reduced_outgoing__;animation-timing-function:ease}::view-transition-new(*){--marp-bespoke-transition-animation-name-fallback:__bespoke_marp_transition_reduced_incoming__;animation-timing-function:ease}::view-transition-new(root),::view-transition-old(root){animation-timing-function:linear}::view-transition-new(__bespoke_marp_transition_osc__),::view-transition-old(__bespoke_marp_transition_osc__){animation-duration:0s!important;animation-name:__bespoke_marp_transition_osc__!important}::view-transition-new(__bespoke_marp_transition_osc__){opacity:0!important}.bespoke-marp-transition-warming-up::view-transition-group(*),.bespoke-marp-transition-warming-up::view-transition-new(*),.bespoke-marp-transition-warming-up::view-transition-old(*){animation-play-state:paused!important}body,html{height:100%;margin:0}body{background:#000;overflow:hidden}svg.bespoke-marp-slide{content-visibility:hidden;opacity:0;pointer-events:none;z-index:-1}svg.bespoke-marp-slide:not(.bespoke-marp-active) *{view-transition-name:none!important}svg.bespoke-marp-slide.bespoke-marp-active{content-visibility:visible;opacity:1;pointer-events:auto;z-index:0}svg.bespoke-marp-slide.bespoke-marp-active.bespoke-marp-active-ready *{animation-name:__bespoke_marp__!important}@supports not (content-visibility:hidden){svg.bespoke-marp-slide[data-bespoke-marp-load=hideable]{display:none}svg.bespoke-marp-slide[data-bespoke-marp-load=hideable].bespoke-marp-active{display:block}}}@media screen and (prefers-reduced-motion:reduce){svg.bespoke-marp-slide *{view-transition-name:none!important}}@media screen{[data-bespoke-marp-fragment=inactive]{visibility:hidden}body[data-bespoke-view=""] .bespoke-marp-parent,body[data-bespoke-view=next] .bespoke-marp-parent{inset:0;position:absolute}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc{view-transition-name:__bespoke_marp_transition_osc__;background:rgba(0,0,0,.65);border-radius:7px;bottom:50px;color:#fff;contain:paint;display:block;font-family:Helvetica,Arial,sans-serif;font-size:16px;left:50%;line-height:0;opacity:1;padding:12px;position:absolute;touch-action:manipulation;transform:translateX(-50%);transition:opacity .2s linear;-webkit-user-select:none;user-select:none;white-space:nowrap;will-change:transform;z-index:1}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>*,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>*{margin-left:6px}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>:first-child,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>:first-child{margin-left:0}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span,body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span{opacity:.8}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page]{display:inline-block;min-width:140px;text-align:center}body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter],body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev]{height:32px;line-height:32px;width:32px}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive{cursor:none}body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc,body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc{opacity:0;pointer-events:none}body[data-bespoke-view=""] svg.bespoke-marp-slide,body[data-bespoke-view=next] svg.bespoke-marp-slide{height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent{background:#222;display:flex;height:5px;width:100%}body[data-bespoke-view=""] .bespoke-progress-parent+.bespoke-marp-parent{top:5px}body[data-bespoke-view=""] .bespoke-progress-parent .bespoke-progress-bar{background:#0288d1;flex:0 0 0;transition:flex-basis .2s cubic-bezier(0,1,1,1)}body[data-bespoke-view=next]{background:transparent}body[data-bespoke-view=presenter]{background:#161616}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container{display:grid;font-family:Helvetica,Arial,sans-serif;grid-template:"current dragbar next" minmax(140px,1fr) "current dragbar note" 2fr "info    dragbar note" 3em;grid-template-columns:minmax(3px,var(--bespoke-marp-presenter-split-ratio,66%)) 0 minmax(3px,1fr);height:100%;left:0;position:absolute;top:0;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent{grid-area:current;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide{height:calc(100% - 40px);left:20px;pointer-events:none;position:absolute;top:20px;-webkit-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide.bespoke-marp-active{filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container{background:#0288d1;cursor:col-resize;grid-area:dragbar;margin-left:-3px;opacity:0;position:relative;transition:opacity .4s linear .1s;width:6px;z-index:10}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container:hover{opacity:1}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-dragbar-container.active{opacity:1;transition-delay:0s}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container{background:#222;cursor:pointer;display:none;grid-area:next;overflow:hidden;position:relative}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container iframe.bespoke-marp-presenter-next{background:transparent;border:0;display:block;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5));height:calc(100% - 40px);left:20px;pointer-events:none;position:absolute;top:20px;-webkit-user-select:none;user-select:none;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container{background:#222;color:#eee;grid-area:note;position:relative;z-index:1}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-wrapper{display:block;inset:0;position:absolute}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-buttons{background:rgba(0,0,0,.65);border-radius:4px;bottom:0;display:flex;gap:4px;margin:12px;opacity:0;padding:6px;pointer-events:none;position:absolute;right:0;transition:opacity .2s linear}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-buttons:focus-within,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-presenter-note-wrapper:focus-within+.bespoke-marp-presenter-note-buttons,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container:hover .bespoke-marp-presenter-note-buttons{opacity:1;pointer-events:auto}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note{word-wrap:break-word;box-sizing:border-box;font-size:calc(1.1em*var(--bespoke-marp-note-font-scale, 1));height:calc(100% - 40px);margin:20px;overflow:auto;padding-right:3px;scrollbar-color:hsla(0,0%,93%,.5) transparent;scrollbar-width:thin;white-space:pre-wrap;width:calc(100% - 40px)}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar{width:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-track{background:transparent}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-thumb{background:hsla(0,0%,93%,.5);border-radius:6px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note:empty{pointer-events:none}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note.active{display:block}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:first-child{margin-top:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:last-child{margin-bottom:0}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container{align-items:center;box-sizing:border-box;color:#eee;display:flex;flex-wrap:nowrap;grid-area:info;justify-content:center;overflow:hidden;padding:0 10px}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time,body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{box-sizing:border-box;display:block;padding:0 10px;white-space:nowrap;width:100%}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button{height:1.5em;line-height:1.5em;width:1.5em}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page{order:2;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page .bespoke-marp-presenter-info-page-text{display:inline-block;min-width:120px;text-align:center}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time{color:#999;order:1;text-align:left}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer{color:#999;order:3;text-align:right}body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer:hover{cursor:pointer}}@media print{.bespoke-marp-presenter-info-container,.bespoke-marp-presenter-next-container,.bespoke-marp-presenter-note-container{display:none}}</style><style>div#\:\$p>svg>foreignObject>section{width:1280px;height:720px;box-sizing:border-box;overflow:hidden;position:relative;scroll-snap-align:center center}div#\:\$p>svg>foreignObject>section:after{bottom:0;content:attr(data-marpit-pagination);padding:inherit;pointer-events:none;position:absolute;right:0}div#\:\$p>svg>foreignObject>section:not([data-marpit-pagination]):after{display:none}/* Normalization */div#\:\$p>svg>foreignObject>section :is(h1,marp-h1){font-size:2em;margin:0.67em 0}div#\:\$p>svg>foreignObject>section video::-webkit-media-controls{will-change:transform}@page{size:1280px 720px;margin:0}@media print{body,html{background-color:#fff;margin:0;page-break-inside:avoid;break-inside:avoid-page}div#\:\$p>svg>foreignObject>section{page-break-before:always;break-before:page}div#\:\$p>svg>foreignObject>section,div#\:\$p>svg>foreignObject>section *{-webkit-print-color-adjust:exact!important;animation-delay:0s!important;animation-duration:0s!important;color-adjust:exact!important;transition:none!important}div#\:\$p>svg[data-marpit-svg]{display:block;height:100vh;width:100vw}}
+/*!
+ * Marp default theme.
+ *
+ * @theme default
+ * @author Yuki Hattori
+ *
+ * @auto-scaling true
+ * @size 16:9 1280px 720px
+ * @size 4:3 960px 720px
+ */div#\:\$p>svg>foreignObject>section,div#\:\$p>svg>foreignObject>section [data-theme=light]{--color-prettylights-syntax-comment:#6e7781;--color-prettylights-syntax-constant:#0550ae;--color-prettylights-syntax-entity:#6639ba;--color-prettylights-syntax-storage-modifier-import:#24292f;--color-prettylights-syntax-entity-tag:#116329;--color-prettylights-syntax-keyword:#cf222e;--color-prettylights-syntax-string:#0a3069;--color-prettylights-syntax-variable:#953800;--color-prettylights-syntax-brackethighlighter-unmatched:#82071e;--color-prettylights-syntax-invalid-illegal-text:#f6f8fa;--color-prettylights-syntax-invalid-illegal-bg:#82071e;--color-prettylights-syntax-carriage-return-text:#f6f8fa;--color-prettylights-syntax-carriage-return-bg:#cf222e;--color-prettylights-syntax-string-regexp:#116329;--color-prettylights-syntax-markup-list:#3b2300;--color-prettylights-syntax-markup-heading:#0550ae;--color-prettylights-syntax-markup-italic:#24292f;--color-prettylights-syntax-markup-bold:#24292f;--color-prettylights-syntax-markup-deleted-text:#82071e;--color-prettylights-syntax-markup-deleted-bg:#ffebe9;--color-prettylights-syntax-markup-inserted-text:#116329;--color-prettylights-syntax-markup-inserted-bg:#dafbe1;--color-prettylights-syntax-markup-changed-text:#953800;--color-prettylights-syntax-markup-changed-bg:#ffd8b5;--color-prettylights-syntax-markup-ignored-text:#eaeef2;--color-prettylights-syntax-markup-ignored-bg:#0550ae;--color-prettylights-syntax-meta-diff-range:#8250df;--color-prettylights-syntax-brackethighlighter-angle:#57606a;--color-prettylights-syntax-sublimelinter-gutter-mark:#8c959f;--color-prettylights-syntax-constant-other-reference-link:#0a3069;--color-fg-default:#1f2328;--color-fg-muted:#656d76;--color-fg-subtle:#6e7781;--color-canvas-default:#fff;--color-canvas-subtle:#f6f8fa;--color-border-default:#d0d7de;--color-border-muted:#d8dee4;--color-neutral-muted:rgba(175,184,193,.2);--color-accent-fg:#0969da;--color-accent-emphasis:#0969da;--color-attention-subtle:#fff8c5;--color-danger-fg:#d1242f;color-scheme:light}div#\:\$p>svg>foreignObject>section [data-theme=dark],div#\:\$p>svg>foreignObject>section:where(.invert){--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-fg-default:#e6edf3;--color-fg-muted:#7d8590;--color-fg-subtle:#6e7681;--color-canvas-default:#0d1117;--color-canvas-subtle:#161b22;--color-border-default:#30363d;--color-border-muted:#21262d;--color-neutral-muted:hsla(215,8%,47%,.4);--color-accent-fg:#2f81f7;--color-accent-emphasis:#1f6feb;--color-attention-subtle:rgba(187,128,9,.15);--color-danger-fg:#f85149;color-scheme:dark}div#\:\$p>svg>foreignObject>section{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-wrap:break-word;background-color:var(--color-canvas-default);color:var(--color-fg-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5;margin:0}div#\:\$p>svg>foreignObject>section{--marpit-root-font-size:16px}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1):hover .anchor .octicon-link:before,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2):hover .anchor .octicon-link:before,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3):hover .anchor .octicon-link:before,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4):hover .anchor .octicon-link:before,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5):hover .anchor .octicon-link:before,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6):hover .anchor .octicon-link:before{background-color:currentColor;content:" ";display:inline-block;height:16px;-webkit-mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 0 0 1.06 1.06l1.25-1.25a2 2 0 1 1 2.83 2.83l-2.5 2.5a2 2 0 0 1-2.83 0 .75.75 0 0 0-1.06 1.06 3.5 3.5 0 0 0 4.95 0l2.5-2.5a3.5 3.5 0 0 0-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 0 1 0-2.83l2.5-2.5a2 2 0 0 1 2.83 0 .75.75 0 0 0 1.06-1.06 3.5 3.5 0 0 0-4.95 0l-2.5 2.5a3.5 3.5 0 0 0 4.95 4.95l1.25-1.25a.75.75 0 0 0-1.06-1.06l-1.25 1.25a2 2 0 0 1-2.83 0z"/></svg>');mask-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 0 0 1.06 1.06l1.25-1.25a2 2 0 1 1 2.83 2.83l-2.5 2.5a2 2 0 0 1-2.83 0 .75.75 0 0 0-1.06 1.06 3.5 3.5 0 0 0 4.95 0l2.5-2.5a3.5 3.5 0 0 0-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 0 1 0-2.83l2.5-2.5a2 2 0 0 1 2.83 0 .75.75 0 0 0 1.06-1.06 3.5 3.5 0 0 0-4.95 0l-2.5 2.5a3.5 3.5 0 0 0 4.95 4.95l1.25-1.25a.75.75 0 0 0-1.06-1.06l-1.25 1.25a2 2 0 0 1-2.83 0z"/></svg>');width:16px}div#\:\$p>svg>foreignObject>section details,div#\:\$p>svg>foreignObject>section figcaption,div#\:\$p>svg>foreignObject>section figure{display:block}div#\:\$p>svg>foreignObject>section summary{display:list-item}div#\:\$p>svg>foreignObject>section [hidden]{display:none!important}div#\:\$p>svg>foreignObject>section a{background-color:transparent;color:var(--color-accent-fg);text-decoration:none}div#\:\$p>svg>foreignObject>section abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}div#\:\$p>svg>foreignObject>section b,div#\:\$p>svg>foreignObject>section strong{font-weight:var(--base-text-weight-semibold,600)}div#\:\$p>svg>foreignObject>section dfn{font-style:italic}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1){border-bottom:1px solid var(--color-border-muted);font-size:2em;font-weight:var(--base-text-weight-semibold,600);margin:.67em 0;padding-bottom:.3em}div#\:\$p>svg>foreignObject>section mark{background-color:var(--color-attention-subtle);color:var(--color-fg-default)}div#\:\$p>svg>foreignObject>section small{font-size:90%}div#\:\$p>svg>foreignObject>section sub,div#\:\$p>svg>foreignObject>section sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}div#\:\$p>svg>foreignObject>section sub{bottom:-.25em}div#\:\$p>svg>foreignObject>section sup{top:-.5em}div#\:\$p>svg>foreignObject>section img{background-color:var(--color-canvas-default);border-style:none;box-sizing:content-box;max-width:100%}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre),div#\:\$p>svg>foreignObject>section code,div#\:\$p>svg>foreignObject>section kbd,div#\:\$p>svg>foreignObject>section samp{font-family:monospace;font-size:1em}div#\:\$p>svg>foreignObject>section figure{margin:1em 40px}div#\:\$p>svg>foreignObject>section hr{background:transparent;background-color:var(--color-border-default);border:0;box-sizing:content-box;height:.25em;margin:24px 0;overflow:hidden;padding:0}div#\:\$p>svg>foreignObject>section input{font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible}div#\:\$p>svg>foreignObject>section [type=button],div#\:\$p>svg>foreignObject>section [type=reset],div#\:\$p>svg>foreignObject>section [type=submit]{-webkit-appearance:button}div#\:\$p>svg>foreignObject>section [type=checkbox],div#\:\$p>svg>foreignObject>section [type=radio]{box-sizing:border-box;padding:0}div#\:\$p>svg>foreignObject>section [type=number]::-webkit-inner-spin-button,div#\:\$p>svg>foreignObject>section [type=number]::-webkit-outer-spin-button{height:auto}div#\:\$p>svg>foreignObject>section [type=search]::-webkit-search-cancel-button,div#\:\$p>svg>foreignObject>section [type=search]::-webkit-search-decoration{-webkit-appearance:none}div#\:\$p>svg>foreignObject>section ::-webkit-input-placeholder{color:inherit;opacity:.54}div#\:\$p>svg>foreignObject>section ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}div#\:\$p>svg>foreignObject>section a:hover{text-decoration:underline}div#\:\$p>svg>foreignObject>section ::-moz-placeholder{color:var(--color-fg-subtle);opacity:1}div#\:\$p>svg>foreignObject>section ::placeholder{color:var(--color-fg-subtle);opacity:1}div#\:\$p>svg>foreignObject>section hr:after,div#\:\$p>svg>foreignObject>section hr:before{content:"";display:table}div#\:\$p>svg>foreignObject>section hr:after{clear:both}div#\:\$p>svg>foreignObject>section table{border-collapse:collapse;border-spacing:0;display:block;max-width:100%;overflow:auto;width:-moz-max-content;width:max-content}div#\:\$p>svg>foreignObject>section td,div#\:\$p>svg>foreignObject>section th{padding:0}div#\:\$p>svg>foreignObject>section details summary{cursor:pointer}div#\:\$p>svg>foreignObject>section details:not([open])>:not(summary){display:none!important}div#\:\$p>svg>foreignObject>section [role=button]:focus,div#\:\$p>svg>foreignObject>section a:focus,div#\:\$p>svg>foreignObject>section input[type=checkbox]:focus,div#\:\$p>svg>foreignObject>section input[type=radio]:focus{box-shadow:none;outline:2px solid var(--color-accent-fg);outline-offset:-2px}div#\:\$p>svg>foreignObject>section [role=button]:focus:not(:focus-visible),div#\:\$p>svg>foreignObject>section a:focus:not(:focus-visible),div#\:\$p>svg>foreignObject>section input[type=checkbox]:focus:not(:focus-visible),div#\:\$p>svg>foreignObject>section input[type=radio]:focus:not(:focus-visible){outline:1px solid transparent}div#\:\$p>svg>foreignObject>section [role=button]:focus-visible,div#\:\$p>svg>foreignObject>section a:focus-visible,div#\:\$p>svg>foreignObject>section input[type=checkbox]:focus-visible,div#\:\$p>svg>foreignObject>section input[type=radio]:focus-visible{box-shadow:none;outline:2px solid var(--color-accent-fg);outline-offset:-2px}div#\:\$p>svg>foreignObject>section a:not([class]):focus,div#\:\$p>svg>foreignObject>section a:not([class]):focus-visible,div#\:\$p>svg>foreignObject>section input[type=checkbox]:focus,div#\:\$p>svg>foreignObject>section input[type=checkbox]:focus-visible,div#\:\$p>svg>foreignObject>section input[type=radio]:focus,div#\:\$p>svg>foreignObject>section input[type=radio]:focus-visible{outline-offset:0}div#\:\$p>svg>foreignObject>section kbd{background-color:var(--color-canvas-subtle);border-bottom-color:var(--color-neutral-muted);border:1px solid var(--color-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-neutral-muted);color:var(--color-fg-default);display:inline-block;font:11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section :is(h2,marp-h2),div#\:\$p>svg>foreignObject>section :is(h3,marp-h3),div#\:\$p>svg>foreignObject>section :is(h4,marp-h4),div#\:\$p>svg>foreignObject>section :is(h5,marp-h5),div#\:\$p>svg>foreignObject>section :is(h6,marp-h6){font-weight:var(--base-text-weight-semibold,600);line-height:1.25;margin-bottom:16px;margin-top:24px}div#\:\$p>svg>foreignObject>section :is(h2,marp-h2){border-bottom:1px solid var(--color-border-muted);font-size:1.5em;padding-bottom:.3em}div#\:\$p>svg>foreignObject>section :is(h2,marp-h2),div#\:\$p>svg>foreignObject>section :is(h3,marp-h3){font-weight:var(--base-text-weight-semibold,600)}div#\:\$p>svg>foreignObject>section :is(h3,marp-h3){font-size:1.25em}div#\:\$p>svg>foreignObject>section :is(h4,marp-h4){font-size:1em}div#\:\$p>svg>foreignObject>section :is(h4,marp-h4),div#\:\$p>svg>foreignObject>section :is(h5,marp-h5){font-weight:var(--base-text-weight-semibold,600)}div#\:\$p>svg>foreignObject>section :is(h5,marp-h5){font-size:.875em}div#\:\$p>svg>foreignObject>section :is(h6,marp-h6){color:var(--color-fg-muted);font-size:.85em;font-weight:var(--base-text-weight-semibold,600)}div#\:\$p>svg>foreignObject>section p{margin-bottom:10px;margin-top:0}div#\:\$p>svg>foreignObject>section blockquote{border-left:.25em solid var(--color-border-default);color:var(--color-fg-muted);margin:0;padding:0 1em}div#\:\$p>svg>foreignObject>section ol,div#\:\$p>svg>foreignObject>section ul{margin-bottom:0;margin-top:0;padding-left:2em}div#\:\$p>svg>foreignObject>section ol ol,div#\:\$p>svg>foreignObject>section ul ol{list-style-type:lower-roman}div#\:\$p>svg>foreignObject>section ol ol ol,div#\:\$p>svg>foreignObject>section ol ul ol,div#\:\$p>svg>foreignObject>section ul ol ol,div#\:\$p>svg>foreignObject>section ul ul ol{list-style-type:lower-alpha}div#\:\$p>svg>foreignObject>section dd{margin-left:0}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre),div#\:\$p>svg>foreignObject>section code,div#\:\$p>svg>foreignObject>section samp,div#\:\$p>svg>foreignObject>section tt{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre){word-wrap:normal;margin-bottom:0;margin-top:0}div#\:\$p>svg>foreignObject>section .octicon{fill:currentColor;display:inline-block;overflow:visible!important;vertical-align:text-bottom}div#\:\$p>svg>foreignObject>section input::-webkit-inner-spin-button,div#\:\$p>svg>foreignObject>section input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}div#\:\$p>svg>foreignObject>section:after,div#\:\$p>svg>foreignObject>section:before{
+  /* content:""; */display:table}div#\:\$p>svg>foreignObject>section:after{clear:both}div#\:\$p>svg>foreignObject>section>:first-child{margin-top:0!important}div#\:\$p>svg>foreignObject>section>:last-child{margin-bottom:0!important}div#\:\$p>svg>foreignObject>section a:not([href]){color:inherit;text-decoration:none}div#\:\$p>svg>foreignObject>section .absent{color:var(--color-danger-fg)}div#\:\$p>svg>foreignObject>section .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}div#\:\$p>svg>foreignObject>section .anchor:focus{outline:none}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre),div#\:\$p>svg>foreignObject>section blockquote,div#\:\$p>svg>foreignObject>section details,div#\:\$p>svg>foreignObject>section dl,div#\:\$p>svg>foreignObject>section ol,div#\:\$p>svg>foreignObject>section p,div#\:\$p>svg>foreignObject>section table,div#\:\$p>svg>foreignObject>section ul{margin-bottom:16px;margin-top:0}div#\:\$p>svg>foreignObject>section blockquote>:first-child{margin-top:0}div#\:\$p>svg>foreignObject>section blockquote>:last-child{margin-bottom:0}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) .octicon-link,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) .octicon-link{color:var(--color-fg-default);vertical-align:middle;visibility:hidden}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5):hover .anchor,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6):hover .anchor{text-decoration:none}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5):hover .anchor .octicon-link,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6):hover .anchor .octicon-link{visibility:visible}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) code,div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) tt,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) code,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) tt,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) code,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) tt,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) code,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) tt,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) code,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) tt,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) code,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) tt{font-size:inherit;padding:0 .2em}div#\:\$p>svg>foreignObject>section summary :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section summary :is(h2,marp-h2),div#\:\$p>svg>foreignObject>section summary :is(h3,marp-h3),div#\:\$p>svg>foreignObject>section summary :is(h4,marp-h4),div#\:\$p>svg>foreignObject>section summary :is(h5,marp-h5),div#\:\$p>svg>foreignObject>section summary :is(h6,marp-h6){display:inline-block}div#\:\$p>svg>foreignObject>section summary :is(h1,marp-h1) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h2,marp-h2) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h3,marp-h3) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h4,marp-h4) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h5,marp-h5) .anchor,div#\:\$p>svg>foreignObject>section summary :is(h6,marp-h6) .anchor{margin-left:-40px}div#\:\$p>svg>foreignObject>section summary :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section summary :is(h2,marp-h2){border-bottom:0;padding-bottom:0}div#\:\$p>svg>foreignObject>section ol.no-list,div#\:\$p>svg>foreignObject>section ul.no-list{list-style-type:none;padding:0}div#\:\$p>svg>foreignObject>section ol[type="a s"]{list-style-type:lower-alpha}div#\:\$p>svg>foreignObject>section ol[type="A s"]{list-style-type:upper-alpha}div#\:\$p>svg>foreignObject>section ol[type="i s"]{list-style-type:lower-roman}div#\:\$p>svg>foreignObject>section ol[type="I s"]{list-style-type:upper-roman}div#\:\$p>svg>foreignObject>section div>ol:not([type]),div#\:\$p>svg>foreignObject>section ol[type="1"]{list-style-type:decimal}div#\:\$p>svg>foreignObject>section ol ol,div#\:\$p>svg>foreignObject>section ol ul,div#\:\$p>svg>foreignObject>section ul ol,div#\:\$p>svg>foreignObject>section ul ul{margin-bottom:0;margin-top:0}div#\:\$p>svg>foreignObject>section li>p{margin-top:16px}div#\:\$p>svg>foreignObject>section li+li{margin-top:.25em}div#\:\$p>svg>foreignObject>section dl{padding:0}div#\:\$p>svg>foreignObject>section dl dt{font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold,600);margin-top:16px;padding:0}div#\:\$p>svg>foreignObject>section dl dd{margin-bottom:16px;padding:0 16px}div#\:\$p>svg>foreignObject>section table th{font-weight:var(--base-text-weight-semibold,600)}div#\:\$p>svg>foreignObject>section table td,div#\:\$p>svg>foreignObject>section table th{border:1px solid var(--color-border-default);padding:6px 13px}div#\:\$p>svg>foreignObject>section table td>:last-child{margin-bottom:0}div#\:\$p>svg>foreignObject>section table tr{background-color:var(--color-canvas-default);border-top:1px solid var(--color-border-muted)}div#\:\$p>svg>foreignObject>section table tr:nth-child(2n){background-color:var(--color-canvas-subtle)}div#\:\$p>svg>foreignObject>section table img{background-color:transparent}div#\:\$p>svg>foreignObject>section img[align=right]{padding-left:20px}div#\:\$p>svg>foreignObject>section img[align=left]{padding-right:20px}div#\:\$p>svg>foreignObject>section .emoji{background-color:transparent;max-width:none;vertical-align:text-top}div#\:\$p>svg>foreignObject>section :is(span,marp-span).frame,div#\:\$p>svg>foreignObject>section :is(span,marp-span).frame>:is(span,marp-span){display:block;overflow:hidden}div#\:\$p>svg>foreignObject>section :is(span,marp-span).frame>:is(span,marp-span){border:1px solid var(--color-border-default);float:left;margin:13px 0 0;padding:7px;width:auto}div#\:\$p>svg>foreignObject>section :is(span,marp-span).frame :is(span,marp-span) img{display:block;float:left}div#\:\$p>svg>foreignObject>section :is(span,marp-span).frame :is(span,marp-span) :is(span,marp-span){clear:both;color:var(--color-fg-default);display:block;padding:5px 0 0}div#\:\$p>svg>foreignObject>section :is(span,marp-span).align-center{clear:both;display:block;overflow:hidden}div#\:\$p>svg>foreignObject>section :is(span,marp-span).align-center>:is(span,marp-span){display:block;margin:13px auto 0;overflow:hidden;text-align:center}div#\:\$p>svg>foreignObject>section :is(span,marp-span).align-center :is(span,marp-span) img{margin:0 auto;text-align:center}div#\:\$p>svg>foreignObject>section :is(span,marp-span).align-right{clear:both;display:block;overflow:hidden}div#\:\$p>svg>foreignObject>section :is(span,marp-span).align-right>:is(span,marp-span){display:block;margin:13px 0 0;overflow:hidden;text-align:right}div#\:\$p>svg>foreignObject>section :is(span,marp-span).align-right :is(span,marp-span) img{margin:0;text-align:right}div#\:\$p>svg>foreignObject>section :is(span,marp-span).float-left{display:block;float:left;margin-right:13px;overflow:hidden}div#\:\$p>svg>foreignObject>section :is(span,marp-span).float-left :is(span,marp-span){margin:13px 0 0}div#\:\$p>svg>foreignObject>section :is(span,marp-span).float-right{display:block;float:right;margin-left:13px;overflow:hidden}div#\:\$p>svg>foreignObject>section :is(span,marp-span).float-right>:is(span,marp-span){display:block;margin:13px auto 0;overflow:hidden;text-align:right}div#\:\$p>svg>foreignObject>section code,div#\:\$p>svg>foreignObject>section tt{background-color:var(--color-neutral-muted);border-radius:6px;font-size:85%;margin:0;padding:.2em .4em;white-space:break-spaces}div#\:\$p>svg>foreignObject>section code br,div#\:\$p>svg>foreignObject>section tt br{display:none}div#\:\$p>svg>foreignObject>section del code{text-decoration:inherit}div#\:\$p>svg>foreignObject>section samp{font-size:85%}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) code{font-size:100%}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre)>code{background:transparent;border:0;margin:0;padding:0;white-space:pre;word-break:normal}div#\:\$p>svg>foreignObject>section .highlight{margin-bottom:16px}div#\:\$p>svg>foreignObject>section .highlight :is(pre,marp-pre){margin-bottom:0;word-break:normal}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre){background-color:var(--color-canvas-subtle);border-radius:6px;color:var(--color-fg-default);font-size:85%;line-height:1.45;overflow:auto;padding:16px}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) code,div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) tt{word-wrap:normal;background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0}div#\:\$p>svg>foreignObject>section .csv-data td,div#\:\$p>svg>foreignObject>section .csv-data th{font-size:12px;line-height:1;overflow:hidden;padding:5px;text-align:left;white-space:nowrap}div#\:\$p>svg>foreignObject>section .csv-data .blob-num{background:var(--color-canvas-default);border:0;padding:10px 8px 9px;text-align:right}div#\:\$p>svg>foreignObject>section .csv-data tr{border-top:0}div#\:\$p>svg>foreignObject>section .csv-data th{background:var(--color-canvas-subtle);border-top:0;font-weight:var(--base-text-weight-semibold,600)}div#\:\$p>svg>foreignObject>section [data-footnote-ref]:before{content:"["}div#\:\$p>svg>foreignObject>section [data-footnote-ref]:after{content:"]"}div#\:\$p>svg>foreignObject>section .footnotes{border-top:1px solid var(--color-border-default);color:var(--color-fg-muted);font-size:12px}div#\:\$p>svg>foreignObject>section div#\:\$p>svg>foreignObject>section section.footnotes{--marpit-root-font-size:12px}div#\:\$p>svg>foreignObject>section .footnotes ol{padding-left:16px}div#\:\$p>svg>foreignObject>section .footnotes ol ul{display:inline-block;margin-top:16px;padding-left:16px}div#\:\$p>svg>foreignObject>section .footnotes li{position:relative}div#\:\$p>svg>foreignObject>section .footnotes li:target:before{border:2px solid var(--color-accent-emphasis);border-radius:6px;bottom:-8px;content:"";left:-24px;pointer-events:none;position:absolute;right:-8px;top:-8px}div#\:\$p>svg>foreignObject>section .footnotes li:target{color:var(--color-fg-default)}div#\:\$p>svg>foreignObject>section .footnotes .data-footnote-backref g-emoji{font-family:monospace}div#\:\$p>svg>foreignObject>section .pl-c{color:var(--color-prettylights-syntax-comment)}div#\:\$p>svg>foreignObject>section .pl-c1,div#\:\$p>svg>foreignObject>section .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}div#\:\$p>svg>foreignObject>section .pl-e,div#\:\$p>svg>foreignObject>section .pl-en{color:var(--color-prettylights-syntax-entity)}div#\:\$p>svg>foreignObject>section .pl-s .pl-s1,div#\:\$p>svg>foreignObject>section .pl-smi{color:var(--color-prettylights-syntax-storage-modifier-import)}div#\:\$p>svg>foreignObject>section .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}div#\:\$p>svg>foreignObject>section .pl-k{color:var(--color-prettylights-syntax-keyword)}div#\:\$p>svg>foreignObject>section .pl-pds,div#\:\$p>svg>foreignObject>section .pl-s,div#\:\$p>svg>foreignObject>section .pl-s .pl-pse .pl-s1,div#\:\$p>svg>foreignObject>section .pl-sr,div#\:\$p>svg>foreignObject>section .pl-sr .pl-cce,div#\:\$p>svg>foreignObject>section .pl-sr .pl-sra,div#\:\$p>svg>foreignObject>section .pl-sr .pl-sre{color:var(--color-prettylights-syntax-string)}div#\:\$p>svg>foreignObject>section .pl-smw,div#\:\$p>svg>foreignObject>section .pl-v{color:var(--color-prettylights-syntax-variable)}div#\:\$p>svg>foreignObject>section .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}div#\:\$p>svg>foreignObject>section .pl-ii{background-color:var(--color-prettylights-syntax-invalid-illegal-bg);color:var(--color-prettylights-syntax-invalid-illegal-text)}div#\:\$p>svg>foreignObject>section .pl-c2{background-color:var(--color-prettylights-syntax-carriage-return-bg);color:var(--color-prettylights-syntax-carriage-return-text)}div#\:\$p>svg>foreignObject>section .pl-sr .pl-cce{color:var(--color-prettylights-syntax-string-regexp);font-weight:700}div#\:\$p>svg>foreignObject>section .pl-ml{color:var(--color-prettylights-syntax-markup-list)}div#\:\$p>svg>foreignObject>section .pl-mh,div#\:\$p>svg>foreignObject>section .pl-mh .pl-en,div#\:\$p>svg>foreignObject>section .pl-ms{color:var(--color-prettylights-syntax-markup-heading);font-weight:700}div#\:\$p>svg>foreignObject>section .pl-mi{color:var(--color-prettylights-syntax-markup-italic);font-style:italic}div#\:\$p>svg>foreignObject>section .pl-mb{color:var(--color-prettylights-syntax-markup-bold);font-weight:700}div#\:\$p>svg>foreignObject>section .pl-md{background-color:var(--color-prettylights-syntax-markup-deleted-bg);color:var(--color-prettylights-syntax-markup-deleted-text)}div#\:\$p>svg>foreignObject>section .pl-mi1{background-color:var(--color-prettylights-syntax-markup-inserted-bg);color:var(--color-prettylights-syntax-markup-inserted-text)}div#\:\$p>svg>foreignObject>section .pl-mc{background-color:var(--color-prettylights-syntax-markup-changed-bg);color:var(--color-prettylights-syntax-markup-changed-text)}div#\:\$p>svg>foreignObject>section .pl-mi2{background-color:var(--color-prettylights-syntax-markup-ignored-bg);color:var(--color-prettylights-syntax-markup-ignored-text)}div#\:\$p>svg>foreignObject>section .pl-mdr{color:var(--color-prettylights-syntax-meta-diff-range);font-weight:700}div#\:\$p>svg>foreignObject>section .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}div#\:\$p>svg>foreignObject>section .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}div#\:\$p>svg>foreignObject>section .pl-corl{color:var(--color-prettylights-syntax-constant-other-reference-link);text-decoration:underline}div#\:\$p>svg>foreignObject>section g-emoji{display:inline-block;font-family:Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal,400);line-height:1;min-width:1ch;vertical-align:-.075em}div#\:\$p>svg>foreignObject>section g-emoji img{height:1em;width:1em}div#\:\$p>svg>foreignObject>section .task-list-item{list-style-type:none}div#\:\$p>svg>foreignObject>section .task-list-item label{font-weight:var(--base-text-weight-normal,400)}div#\:\$p>svg>foreignObject>section .task-list-item.enabled label{cursor:pointer}div#\:\$p>svg>foreignObject>section .task-list-item+.task-list-item{margin-top:4px}div#\:\$p>svg>foreignObject>section .task-list-item .handle{display:none}div#\:\$p>svg>foreignObject>section .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}div#\:\$p>svg>foreignObject>section .contains-task-list:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}div#\:\$p>svg>foreignObject>section .contains-task-list{position:relative}div#\:\$p>svg>foreignObject>section .contains-task-list:focus-within .task-list-item-convert-container,div#\:\$p>svg>foreignObject>section .contains-task-list:hover .task-list-item-convert-container{clip:auto;display:block;height:24px;overflow:visible;width:auto}div#\:\$p>svg>foreignObject>section ::-webkit-calendar-picker-indicator{filter:invert(50%)}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1){color:var(--h1-color);font-size:1.6em}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section :is(h2,marp-h2){border-bottom:none}div#\:\$p>svg>foreignObject>section :is(h2,marp-h2){font-size:1.3em}div#\:\$p>svg>foreignObject>section :is(h3,marp-h3){font-size:1.1em}div#\:\$p>svg>foreignObject>section :is(h4,marp-h4){font-size:1.05em}div#\:\$p>svg>foreignObject>section :is(h5,marp-h5){font-size:1em}div#\:\$p>svg>foreignObject>section :is(h6,marp-h6){font-size:.9em}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1) strong,div#\:\$p>svg>foreignObject>section :is(h2,marp-h2) strong,div#\:\$p>svg>foreignObject>section :is(h3,marp-h3) strong,div#\:\$p>svg>foreignObject>section :is(h4,marp-h4) strong,div#\:\$p>svg>foreignObject>section :is(h5,marp-h5) strong,div#\:\$p>svg>foreignObject>section :is(h6,marp-h6) strong{color:var(--heading-strong-color);font-weight:inherit}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h2,marp-h2)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h3,marp-h3)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h4,marp-h4)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h5,marp-h5)::part(auto-scaling),div#\:\$p>svg>foreignObject>section :is(h6,marp-h6)::part(auto-scaling){max-height:563px}div#\:\$p>svg>foreignObject>section hr{height:0;padding-top:.25em}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre){border:1px solid var(--color-border-default);line-height:1.15;overflow:visible}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre)::part(auto-scaling){max-height:529px}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs){color:var(--color-prettylights-syntax-storage-modifier-import)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-doctag),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-keyword),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-meta .hljs-keyword),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-template-tag),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-template-variable),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-type),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-variable.language_){color:var(--color-prettylights-syntax-keyword)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-title),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-title.class_),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-title.class_.inherited__),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-title.function_){color:var(--color-prettylights-syntax-entity)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-attr),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-attribute),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-literal),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-meta),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-number),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-operator),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-selector-attr),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-selector-class),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-selector-id),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-variable){color:var(--color-prettylights-syntax-constant)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-meta .hljs-string),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-regexp),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-string){color:var(--color-prettylights-syntax-string)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-built_in),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-symbol){color:var(--color-prettylights-syntax-variable)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-code),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-comment),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-formula){color:var(--color-prettylights-syntax-comment)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-name),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-quote),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-selector-pseudo),div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-selector-tag){color:var(--color-prettylights-syntax-entity-tag)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-subst){color:var(--color-prettylights-syntax-storage-modifier-import)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-section){color:var(--color-prettylights-syntax-markup-heading);font-weight:700}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-bullet){color:var(--color-prettylights-syntax-markup-list)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-emphasis){color:var(--color-prettylights-syntax-markup-italic);font-style:italic}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-strong){color:var(--color-prettylights-syntax-markup-bold);font-weight:700}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-addition){background-color:var(--color-prettylights-syntax-markup-inserted-bg);color:var(--color-prettylights-syntax-markup-inserted-text)}div#\:\$p>svg>foreignObject>section :is(pre,marp-pre) :where(.hljs-deletion){background-color:var(--color-prettylights-syntax-markup-deleted-bg);color:var(--color-prettylights-syntax-markup-deleted-text)}div#\:\$p>svg>foreignObject>section footer,div#\:\$p>svg>foreignObject>section header{color:var(--header-footer-color);font-size:18px;left:30px;margin:0;position:absolute}div#\:\$p>svg>foreignObject>section header{top:21px}div#\:\$p>svg>foreignObject>section footer{bottom:21px}div#\:\$p>svg>foreignObject>section{--h1-color:#246;--header-footer-color:hsla(0,0%,40%,.75);--heading-strong-color:#48c;--paginate-color:#777;align-items:stretch;display:flex;flex-flow:column nowrap;font-size:29px;height:720px;justify-content:center;padding:78.5px;width:1280px}div#\:\$p>svg>foreignObject>section{--marpit-root-font-size:29px}div#\:\$p>svg>foreignObject>section:where(.invert){--h1-color:#cee7ff;--header-footer-color:hsla(0,0%,60%,.75);--heading-strong-color:#7bf;--paginate-color:#999}div#\:\$p>svg>foreignObject>section>:last-child,div#\:\$p>svg>foreignObject>section[data-footer]>:nth-last-child(2){margin-bottom:0}div#\:\$p>svg>foreignObject>section>:first-child,div#\:\$p>svg>foreignObject>section>header:first-child+*{margin-top:0}div#\:\$p>svg>foreignObject>section:after{bottom:21px;color:var(--paginate-color);font-size:24px;padding:0;position:absolute;right:30px}div#\:\$p>svg>foreignObject>section:after{--marpit-root-font-size:24px}div#\:\$p>svg>foreignObject>section[data-color] :is(h1,marp-h1),div#\:\$p>svg>foreignObject>section[data-color] :is(h2,marp-h2),div#\:\$p>svg>foreignObject>section[data-color] :is(h3,marp-h3),div#\:\$p>svg>foreignObject>section[data-color] :is(h4,marp-h4),div#\:\$p>svg>foreignObject>section[data-color] :is(h5,marp-h5),div#\:\$p>svg>foreignObject>section[data-color] :is(h6,marp-h6){color:currentcolor}div#\:\$p>svg>foreignObject>:where(section){container-type:size}div#\:\$p>svg>foreignObject>section img[data-marp-twemoji]{background:transparent;height:1em;margin:0 .05em 0 .1em;vertical-align:-.1em;width:1em}
+
+/* @theme cr */div#\:\$p>svg>foreignObject>section{background-image:url('./logo.svg');background-repeat:no-repeat;background-position:right calc(var(--marpit-root-font-size, 1rem) * 2) bottom calc(var(--marpit-root-font-size, 1rem) * 0.6);background-size:12%}div#\:\$p>svg>foreignObject>section :is(h1,marp-h1){color:#828db2;font-size:calc(var(--marpit-root-font-size, 1rem) * 2.1)}div#\:\$p>svg>foreignObject>section :is(h2,marp-h2){background-color:#828db2;color:#fff;padding:calc(var(--marpit-root-font-size, 1rem) * 0.3);font-size:calc(var(--marpit-root-font-size, 1rem) * 2.1)}div#\:\$p>svg>foreignObject>section p{font-size:calc(var(--marpit-root-font-size, 1rem) * 1.3)}div#\:\$p>svg>foreignObject>section ol,div#\:\$p>svg>foreignObject>section ul{font-size:calc(var(--marpit-root-font-size, 1rem) * 1.2)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]{columns:initial!important;display:block!important;padding:0!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]:before,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:after,div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content]:before{display:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]{all:initial;display:flex;flex-direction:row;height:100%;overflow:hidden;width:100%}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction=vertical]{flex-direction:column}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container]{width:var(--marpit-advanced-background-split,50%)}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background][data-marpit-advanced-background-split=right]>div[data-marpit-advanced-background-container]{margin-left:calc(100% - var(--marpit-advanced-background-split, 50%))}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure{all:initial;background-position:center;background-repeat:no-repeat;background-size:cover;flex:auto;margin:0}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=background]>div[data-marpit-advanced-background-container]>figure>figcaption{position:absolute;border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;white-space:nowrap;width:1px}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=content],div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo]{background:transparent!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background=pseudo],div#\:\$p>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background=pseudo]{pointer-events:none!important}div#\:\$p>svg>foreignObject>section[data-marpit-advanced-background-split]{width:100%;height:100%}</style></head><body><div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" title="Open presenter view (p)">Open presenter view</button></div><div id=":$p"><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="1" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="1" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h1 id="gearsagda-%E3%81%AB%E3%82%88%E3%82%8B-red-black-tree-%E3%81%AE%E8%A8%BC%E6%98%8E%E4%BB%98%E3%81%8D%E5%AE%9F%E8%A3%85%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E7%A0%94%E7%A9%B6">GearsAgda による Red Black Tree の証明付き実装に関する研究</h1>
+
+<p>琉球大学 工学部工学科 知能情報コース<br />
+並列信頼研究室</p>
+<p>森 逸汰</p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="2" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="2" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="gearsagda%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AE%E8%A8%BC%E6%98%8E">GearsAgdaを使ったプログラムの証明</h2>
+<ul>
+<li>GearsAgdaは、gotoからgotoまでのコードの一部を指す
+<ul>
+<li>例えば,赤黒木を一段下がるコード</li>
+</ul>
+</li>
+<li>関数呼び出しを含まない特徴を持つ</li>
+<li>GearsAgdaは、入力のInvariantから出力のInvariantを生成する</li>
+<li>LoopConnectorでcodeGearを接続する
+<ul>
+<li>ループの停止性とInvariantの接続を示す</li>
+</ul>
+</li>
+<li>GearsAgdaのコードはGearOSの実行単位であるcodeGearに直接対応する</li>
+</ul>
+<p>これにより、codeGearの正しさを証明できる</p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="3" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="3" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="binarytree%E3%81%AE%E5%AE%9A%E7%BE%A9">BinaryTreeの定義</h2>
+<ul>
+<li>bt型を定義している</li>
+<li>Aは任意の型になっている</li>
+<li>leafとnodeはコンストラクタになっている</li>
+<li>nodeは左の子と右の子を再帰的に持つ</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">data bt {n : Level} (A : Set n) : Set n where
+ leaf : bt A
+ node : (key : N) → (value : A) →
+ (left : bt A ) → (right : bt A ) → bt A
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="4" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="4" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="color%E3%81%AE%E5%AE%9A%E7%BE%A9">Colorの定義</h2>
+<ul>
+<li>Color型を定義している</li>
+<li>Colorは赤と黒の場合に分けられる</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">data Color : Set where
+ Red : Color
+ Black : Color
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="5" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="5" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="agda%E3%81%A7redblacktree%E3%81%AE%E6%A7%8B%E9%80%A0%E3%82%92%E4%BD%9C%E3%82%8B">AgdaでRedBlackTreeの構造を作る</h2>
+<ul>
+<li>valueにColorを組として渡すように設計した。</li>
+<li>これにより、BinaryTreeのコードを応用することが可能になる。</li>
+<li>BinaryTreeのコードを応用してRedBlackTreeを構成している。</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">RBTreeTest : bt (Color ∧ N) 
+RBTreeTest = node <span class="hljs-number">8</span> ⟪ Black , <span class="hljs-number">200</span> ⟫ (node <span class="hljs-number">5</span> ⟪ Red , <span class="hljs-number">100</span> ⟫ (leaf) (leaf)) (node <span class="hljs-number">10</span> ⟪ Red , <span class="hljs-number">300</span> ⟫ (leaf) (leaf))
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="6" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="6" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%A8find%E3%81%AE%E9%96%A2%E4%BF%82">Insertとfindの関係</h2>
+<p>木の操作としてInsertなどを実装したい</p>
+<ul>
+<li>Insert操作では、挿入する場所を探す必要がある。</li>
+<li>そのため、指定したKeyと一致するノードを探し出すfind操作が必要になる。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="7" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="7" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="findrbt%E3%81%AE%E5%8B%95%E4%BD%9C%E3%81%A8%E7%9B%AE%E7%9A%84">findRBTの動作と目的</h2>
+<ul>
+<li>動作
+<ul>
+<li>RedBlackTreeを辿っていき、指定されたKeyを探す</li>
+</ul>
+</li>
+<li>目的
+<ul>
+<li>指定されたKeyを見つけるまでに辿った正しい経路をstackに保存して返したい</li>
+</ul>
+</li>
+</ul>
+<p>木を保存したstackが正しい順番で構成されているかを証明する必要がある</p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="8" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="8" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="invariant%E3%82%92%E7%94%A8%E3%81%84%E3%81%9F%E8%A8%BC%E6%98%8E">Invariantを用いた証明</h2>
+<ul>
+<li>Invariantとはループや再帰で不変である条件や命題<br />
+例えば...
+<ul>
+<li>「stackが辿った木の順番通りに保存されている」ことを示すInvariantがある</li>
+<li>木の操作ではループや再帰などの処理が行われる</li>
+<li>処理の後にInvariantが正しく保持されていることを示すことで、stackが木の順番通りに構成されていることが証明できる。</li>
+</ul>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="9" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="9" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="stack%E3%81%A8stackinvariant%E3%81%AE%E8%AA%AC%E6%98%8E">stackとstackInvariantの説明</h2>
+<p><img src="figs/stack4.svg" alt="Width 50" /></p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="10" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="10" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="stackinvariant%E5%9E%8B%E3%81%AE%E5%AE%9A%E7%BE%A9">stackInvariant型の定義</h2>
+<ul>
+<li>s-nil : 初期化状態で、stackに元の木以外は何も入っていない</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">data stackInvariant {n : Level} {A : Set n}  (key : ℕ) : (top orig : bt A) → (<span class="hljs-built_in">stack</span>  : List (bt A)) → Set n where
+s-nil :  {tree0 : bt A} → stackInvariant key tree0 <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree0 ∷ [])</span>
+</code></pre>
+<ul>
+<li>s-right : 右側を辿った木がstackに入っている</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">s-right :  (tree tree0 tree₁ : bt A) → {st : List (bt A)}
+      → key₁ &lt; key  →  stackInvariant <span class="hljs-title function_">key</span> <span class="hljs-params">(node key₁ v1 tree₁ tree)</span> tree0 st → stackInvariant key tree <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree ∷ st)</span>
+</code></pre>
+<ul>
+<li>s-left : 左側を辿った木がstackに入っている</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">s-left :  (tree₁ tree0 tree : bt A) → {st : List (bt A)}
+        → key  &lt; key₁ →  stackInvariant <span class="hljs-title function_">key</span> <span class="hljs-params">(node key₁ v1 tree₁ tree)</span> tree0 st → stackInvariant key tree₁ <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree₁ ∷ st)</span>
+</code></pre>
+<p>stackがtreeを辿っていることを示す命題であることがわかる</p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="11" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="11" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="stackinvariant%E3%81%AE%E5%80%A4%E3%81%AE%E4%BE%8B">stackInvariantの値の例</h2>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c"> s-left (<span class="hljs-number">14</span> &lt; <span class="hljs-number">15</span>)(s-right (<span class="hljs-number">10</span> &lt; <span class="hljs-number">15</span>)(s-right (<span class="hljs-number">8</span> &lt; <span class="hljs-number">10</span>)) s-nil)
+</code></pre>
+<ul>
+<li>stackが辿ったtreeを保存していることを示す証明になっている</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="12" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="12" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="findrbt%E3%81%AE%E5%AE%9F%E8%A3%85%E5%AE%9A%E7%BE%A9%E9%83%A8%E5%88%86">findRBTの実装:定義部分</h2>
+<ul>
+<li>findRBTは、treeとstackとInvariantを受け取って、Loopであるnext又は、exitに渡す</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c"> findRBT : {n m : Level} {A : Set n} {t : Set m}
+ → (key : N)
+ → (tree tree0 : bt (Color ∧ A) )
+ → (<span class="hljs-built_in">stack</span> : List (bt (Color ∧ A)))
+ → RBtreeInvariant tree ∧ stackInvariant key tree tree0 <span class="hljs-built_in">stack</span>
+ → (next : ... → t)
+ → (<span class="hljs-built_in">exit</span> : ... → t) 
+ → t
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="13" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="13" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="findrbt%E3%81%AE%E5%AE%9F%E8%A3%85%E5%AE%9A%E7%BE%A9%E9%83%A8%E5%88%86next">findRBTの実装:定義部分next</h2>
+<ul>
+<li>次のLoopに接続する部分</li>
+<li>新しいstackとstackInvariantが作られている</li>
+<li>nextには、次の木の高さは元の木の高さより低くなることが条件として含まれている</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c"> → (next : (tree1 : bt (Color ∧ A) )
+    → (<span class="hljs-built_in">stack</span> : List (bt (Color ∧ A)))
+    → RBtreeInvariant tree1 ∧ stackInvariant key tree1 tree0 <span class="hljs-built_in">stack</span>
+    → bt-depth tree1 &lt; bt-depth tree
+    → t )
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="14" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="14" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="findrbt%E3%81%AE%E5%AE%9F%E8%A3%85%E5%AE%9A%E7%BE%A9%E9%83%A8%E5%88%86exit">findRBTの実装:定義部分exit</h2>
+<ul>
+<li>leafに到達するか指定したKeyのノードが見つかってLoopから脱出する部分</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c"> → (<span class="hljs-built_in">exit</span> : (tree1 : bt (Color ∧ A))
+    → (<span class="hljs-built_in">stack</span> : List (bt (Color ∧ A)))
+    → RBtreeInvariant tree1 ∧ stackInvariant key tree1 tree0 <span class="hljs-built_in">stack</span>
+    → (tree1 ≡ leaf ) ∨ ( node-key tree1 ≡ just key )
+    → t )
+ → t
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="15" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="15" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="loopconnector%E3%81%AFfindrbt%E3%81%AEnext%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B">LoopConnectorはfindRBTのnextを接続する</h2>
+<ul>
+<li>LoopConnectorは引数として<br />
+(loop : (r : Index)  → Invraiant r<br />
+→ (next : (r1 : Index)  → Invraiant r1 → reduce r1 &lt; reduce r  → t ) → t)をとる</li>
+<li>ここにcodeGearが入り、codeGearにあるtreeやInvariantを接続できる</li>
+<li>自然数reduceが減少することによりLoopの停止性を証明できる</li>
+<li>LoopConnectorで接続することによりInvariantの接続と停止性が証明される</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="16" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="16" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="terminatingloops%E3%81%AE%E5%AE%9F%E9%9A%9B%E3%81%AE%E5%9E%8B">TerminatingLoopSの実際の型</h2>
+<ul>
+<li>Indexにはtreeとstackが入る</li>
+<li>Invariantが(Set m)の形になるため任意の命題を入れることができる</li>
+<li>reduceはIndexから減少する自然数を得る関数が入る</li>
+<li>TermnatingLoopSの証明は実際に記述されている</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">TerminatingLoopS : {l m : Level} {t : Set l} (Index : Set m ) → {Invraiant : Index → Set m } → ( reduce : Index → ℕ)
+   → (r : Index) → (p : Invraiant r)
+   → (loop : (r : Index)  → Invraiant r → (next : (r1 : Index)  → Invraiant r1 → reduce r1 &lt; reduce r  → t ) → t) → t
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="17" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="17" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="terminatingloops%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E6%8E%A5%E7%B6%9A">TerminatingLoopSを使った接続</h2>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">findTest {n} {m} {A} {t} k tr0 rb0 <span class="hljs-built_in">exit</span> = TerminatingLoopS (bt (Color ∧ A) ∧ List (bt (Color ∧ A)))
+                                                                            Index
+ {λ p → RBtreeInvariant (proj1 p) ∧ stackInvariant k (proj1 p) tr0 (proj2 p) } 
+                        Invariant
+  (λ p → bt-depth (proj1 p)) ⟪ tr0 , tr0 ∷ [] ⟫ ⟪ rb0 , s-nil ⟫
+           reduce                              初期値 
+       $ λ p RBP loop → findRBT k (proj1 p) tr0 (proj2 p) RBP  (λ t1 s1 P2 lt1 → loop ⟪ t1 ,  s1  ⟫ P2 lt1 )
+                       GearsAgdaの呼び出し
+       $ λ tr1 st P2 O → <span class="hljs-built_in">exit</span> tr1 st P2 O
+                       GearsAgdaからの脱出
+</code></pre>
+<ul>
+<li>LoopConnectorでcodeGearが接続されていることが確認できる。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="18" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="18" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="findrbt%E3%81%AE%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C">findRBTの実行結果</h2>
+<ul>
+<li>stackとstackInvariantが出力されている</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">--指定したKeyの値 <span class="hljs-number">14</span> (木の中に存在するKey)
+record
+ { tree = node <span class="hljs-number">14</span> ⟪ Red , <span class="hljs-number">1400</span> ⟫ leaf leaf
+ ; <span class="hljs-built_in">stack</span> =
+ node <span class="hljs-number">14</span> ⟪ Red , <span class="hljs-number">1400</span> ⟫ leaf leaf
+ :: node <span class="hljs-number">15</span> ⟪ Black , <span class="hljs-number">1500</span> ⟫ (node <span class="hljs-number">14</span> ⟪ Red , <span class="hljs-number">1400</span> ⟫ leaf leaf)leaf
+ :: node <span class="hljs-number">10</span> ⟪ Red , <span class="hljs-number">1000</span> ⟫ leaf (node <span class="hljs-number">15</span> ⟪ Black , <span class="hljs-number">1500</span> ⟫ (node <span class="hljs-number">14</span> ⟪ Red , <span class="hljs-number">1400</span> ⟫ leaf leaf) leaf)
+ :: node <span class="hljs-number">8</span> ⟪ Black , <span class="hljs-number">800</span> ⟫
+ (node <span class="hljs-number">5</span> ⟪ Red , <span class="hljs-number">500</span> ⟫ (node <span class="hljs-number">2</span> ⟪ Black , <span class="hljs-number">200</span> ⟫ leaf leaf)
+ (node <span class="hljs-number">6</span> ⟪ Black , <span class="hljs-number">600</span> ⟫ leaf leaf))
+ (node <span class="hljs-number">10</span> ⟪ Red , <span class="hljs-number">1000</span> ⟫ leaf
+ (node <span class="hljs-number">15</span> ⟪ Black , <span class="hljs-number">1500</span> ⟫ (node <span class="hljs-number">14</span> ⟪ Red , <span class="hljs-number">1400</span> ⟫ leaf leaf) leaf))
+ :: []
+ ; ti = rb-single <span class="hljs-number">14</span> <span class="hljs-number">1400</span>
+ ; si =
+ s-left
+ (s≤s(s≤s (s≤s(s≤s(s≤s (s≤s(s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s z≤n)))))))))))))))
+ (s-right (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s z≤n)))))))))))
+ (s-right (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s z≤n))))))))) s-nil))
+ ; <span class="hljs-built_in">exit</span> = case2 refl
+ }
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="19" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="19" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="findrbt%E3%81%AE%E5%AE%9F%E8%A1%8C%E7%B5%90%E6%9E%9C%E3%81%8B%E3%82%89">findRBTの実行結果から</h2>
+<ul>
+<li>stackInvariantを導出できたことにより、stackが正しい順序を保っていることが証明できる</li>
+</ul>
+<p>このことから、「目的の木への正しい経路を保存したstack」を返したことになるため、findRBTの動作が正しいことが証明できたと言える。</p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="20" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="20" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="%E3%81%BE%E3%81%A8%E3%82%81">まとめ</h2>
+<ul>
+<li>stackInvariantを用いることで、findRBTの正しさを証明することができた。</li>
+<li>LoopConnectorを用いることで、GearsOSで複雑なアルゴリズムを実装することが可能になった。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="21" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="21" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="%E4%BB%8A%E5%BE%8C%E3%81%AE%E8%AA%B2%E9%A1%8C">今後の課題</h2>
+<ul>
+<li>Insertなどの証明を完成させる
+<ul>
+<li>Insert操作の証明は未完成だが、大枠を掴むことができている。</li>
+<li>Insertは木がバランスするところまで置き換えながら上昇する</li>
+<li>必要ならばParent GrandParent  Uncleで木の回転を行う</li>
+<li>ルートまで木を置き換えながら上昇する</li>
+<li>これらの部分は途中までかけている</li>
+</ul>
+</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="22" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="22" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="%E3%81%8A%E3%81%BE%E3%81%91">おまけ</h2>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="23" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;figs/RedBlackTree.png&quot;);background-size:80%;"><figcaption>:</figcaption></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="23" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="23" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
+<h2 id="red-black-tree">Red Black Tree</h2>
+
+<ul>
+<li>バランスした平衡二分木の一種</li>
+<li>木はnodeとleafからなる</li>
+<li>nodeにはkeyという数値が与えられる</li>
+</ul>
+</section>
+</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="23" style="" data-marpit-pagination-total="44" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="24" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;figs/RedBlackTree.png&quot;);background-size:80%;"><figcaption>:</figcaption></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="24" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="24" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
+<h2 id="red-black-tree-1">Red Black Tree</h2>
+
+<ul>
+<li>nodeの配置はKeyの大小関係によって決定する</li>
+<li>左の子のKey &lt; 親のKey &lt; 右の子のKey という大小関係を持つ</li>
+</ul>
+<p>これらは、BinaryTreeと同じ性質となっている。</p>
+</section>
+</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="24" style="" data-marpit-pagination-total="44" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="25" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;figs/RedBlackTree.png&quot;);background-size:70%;"><figcaption>:</figcaption></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="25" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="25" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
+<h2 id="redblacktree%E3%81%AE%E7%89%B9%E5%BE%B4">RedBlackTreeの特徴</h2>
+
+<ul>
+<li>各ノードは赤か黒の色を持つ</li>
+<li>赤のノードは赤のノードを子に持たない</li>
+<li>リーフノードはすべて黒である</li>
+</ul>
+</section>
+</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="25" style="" data-marpit-pagination-total="44" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="26" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;figs/RedBlackTree.png&quot;);background-size:80%;"><figcaption>:</figcaption></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="26" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="26" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
+<h2 id="redblacktree%E3%81%AE%E7%89%B9%E5%BE%B4-1">RedBlackTreeの特徴</h2>
+
+<ul>
+<li>任意のノードについて、そのノードから子孫の葉までの道に含まれる黒いノードの数は、選んだ葉によらず一定である。</li>
+</ul>
+</section>
+</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="26" style="" data-marpit-pagination-total="44" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="27" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="background" data-marpit-advanced-background-split="right"><div data-marpit-advanced-background-container="true" data-marpit-advanced-background-direction="horizontal"><figure style="background-image:url(&quot;figs/RedBlackTree.png&quot;);background-size:80%;"><figcaption>:</figcaption></figure></div></section></foreignObject><foreignObject width="50%" height="720"><section id="27" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="27" style="--paginate:true;--theme:cr;--marpit-advanced-background-split:50%;" data-marpit-pagination-total="44" data-marpit-advanced-background="content" data-marpit-advanced-background-split="right">
+<h2 id="redblacktree%E3%81%AE%E7%89%B9%E5%BE%B4-2">RedBlackTreeの特徴</h2>
+
+<ul>
+<li>根から葉まで道で最長のものの長さは、根から葉までの道で最短のものの長さの二倍を超えない。</li>
+</ul>
+<p>このことから、RedBlackTreeがある程度の平衡性を持つことがわかる。</p>
+</section>
+</foreignObject><foreignObject width="1280" height="720" data-marpit-advanced-background="pseudo"><section data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="27" style="" data-marpit-pagination-total="44" data-marpit-advanced-background="pseudo" data-marpit-advanced-background-split="right"></section></foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="28" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="28" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="%E5%AE%9A%E7%90%86%E8%A8%BC%E6%98%8E%E6%94%AF%E6%8F%B4%E7%B3%BB%E8%A8%80%E8%AA%9Eagda%E3%81%A8%E3%81%AF">定理証明支援系言語Agdaとは</h2>
+<ul>
+<li>Curry-Howard同型対応により、型付きラムダ計算と命題が1対1で対応するため、Agdaで書かれたプログラムは証明を書くことができる</li>
+<li>Curry-Howard同型対応とは、型と命題が一致するという論理学の性質</li>
+<li>型が正しいことを示すことで、命題が正しいと言える</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="29" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="29" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="stackinvariant%E3%81%AE%E8%A9%B3%E7%B4%B0">stackInvariantの詳細</h2>
+<ul>
+<li>s-nil : stackの初期化状態であり、stackに元の木以外は何も入っていないことを示す</li>
+<li>s-right,s-left :  1つ前の木からみて、どちら側の木をstackに積んだかを示している</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">data stackInvariant {n : Level} {A : Set n}  (key : ℕ) : (top orig : bt A) → (<span class="hljs-built_in">stack</span>  : List (bt A)) → Set n where
+    s-nil :  {tree0 : bt A} → stackInvariant key tree0 <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree0 ∷ [])</span>
+    s-right :  <span class="hljs-params">(tree tree0 tree₁ : bt A)</span> → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key₁ &lt; key  →  stackInvariant <span class="hljs-title function_">key</span> <span class="hljs-params">(node key₁ v1 tree₁ tree)</span> tree0 st → stackInvariant key tree <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree ∷ st)</span>
+    s-left :  <span class="hljs-params">(tree₁ tree0 tree : bt A)</span> → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key  &lt; key₁ →  stackInvariant <span class="hljs-title function_">key</span> <span class="hljs-params">(node key₁ v1 tree₁ tree)</span> tree0 st → stackInvariant key tree₁ <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree₁ ∷ st)</span>
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="30" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="30" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="stackinvariant%E3%81%AE%E8%A9%B3%E7%B4%B0-1">stackInvariantの詳細</h2>
+<p>s-right,s-leftでは、</p>
+<ul>
+<li>keyの大小関係を引数として渡す必要がある</li>
+<li>1つ前の木を積んだ時のstackInvariantを引数として渡す必要がある</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">data stackInvariant {n : Level} {A : Set n}  (key : ℕ) : (top orig : bt A) → (<span class="hljs-built_in">stack</span>  : List (bt A)) → Set n where
+    s-nil :  {tree0 : bt A} → stackInvariant key tree0 <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree0 ∷ [])</span>
+    s-right :  <span class="hljs-params">(tree tree0 tree₁ : bt A)</span> → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key₁ &lt; key  →  stackInvariant <span class="hljs-title function_">key</span> <span class="hljs-params">(node key₁ v1 tree₁ tree)</span> tree0 st → stackInvariant key tree <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree ∷ st)</span>
+    s-left :  <span class="hljs-params">(tree₁ tree0 tree : bt A)</span> → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key  &lt; key₁ →  stackInvariant <span class="hljs-title function_">key</span> <span class="hljs-params">(node key₁ v1 tree₁ tree)</span> tree0 st → stackInvariant key tree₁ <span class="hljs-title function_">tree0</span> <span class="hljs-params">(tree₁ ∷ st)</span>
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="31" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="31" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="%E2%89%A4-%E3%81%AE%E8%AA%AC%E6%98%8E"><em>≤</em> の説明</h2>
+<ul>
+<li>自然数の大小関係を表す</li>
+<li>以下の2通りのパターンですべてを記述することができる</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c"> data _≤_ : (a b : ℕ) → Set Where  
+    z≤n : {n : ℕ } → zero ≤ n 
+    s≤s : {a b : ℕ } → a ≤ b  → suc a ≤ suc b
+</code></pre>
+<p>例えば 3 ≤ 6 を表したいときは、s≤s (s≤s (s≤s z≤n)) と書ける<br />
+これは、Keyの大小関係を証明する際などに使用する。</p>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="32" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="32" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="terminatingloops">TerminatingLoopS</h2>
+<ul>
+<li>t : 不定の型。codeGearとの接続のために使用する</li>
+<li>Index : 任意の型</li>
+<li>Invariant : ループで不変な条件</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">TerminatingLoopS : {l m : Level} {t : Set l} (Index : Set m ) → {Invraiant : Index → Set m } → ( reduce : Index → ℕ)
+   → (r : Index) → (p : Invraiant r)
+   → (loop : (r : Index)  → Invraiant r → (next : (r1 : Index)  → Invraiant r1 → reduce r1 &lt; reduce r  → t ) → t) → t
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="33" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="33" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="terminatingloops-1">TerminatingLoopS</h2>
+<ul>
+<li>reduce : ループで減少していく数値(ループの停止性を示すことができる)</li>
+<li>r , p : IndexとInvariantの初期値</li>
+<li>loop : codeGearに渡すnextの部分。reduceが減っていることの証明を引数として受け取る。tを返す</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">TerminatingLoopS : {l m : Level} {t : Set l} (Index : Set m ) → {Invraiant : Index → Set m } → ( reduce : Index → ℕ)
+   → (r : Index) → (p : Invraiant r)
+   → (loop : (r : Index)  → Invraiant r → (next : (r1 : Index)  → Invraiant r1 → reduce r1 &lt; reduce r  → t ) → t) → t
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="34" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="34" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="terminatingloops%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E6%8E%A5%E7%B6%9A-1">TerminatingLoopSを使った接続</h2>
+<ul>
+<li>Index部分 : RedBlackTreeとstackを渡している。</li>
+<li>Invariant部分 : RBtreeInvariantとstackInvariantを渡している。</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">findTest {n} {m} {A} {t} k tr0 rb0 <span class="hljs-built_in">exit</span> = TerminatingLoopS (bt (Color ∧ A) ∧ List (bt (Color ∧ A)))
+ {λ p → RBtreeInvariant (proj1 p) ∧ stackInvariant k (proj1 p) tr0 (proj2 p) } (λ p → bt-depth (proj1 p)) ⟪ tr0 , tr0 ∷ [] ⟫ ⟪ rb0 , s-nil ⟫
+       $ λ p RBP loop → findRBT k (proj1 p) tr0 (proj2 p) RBP  (λ t1 s1 P2 lt1 → loop ⟪ t1 ,  s1  ⟫ P2 lt1 )
+       $ λ tr1 st P2 O → <span class="hljs-built_in">exit</span> tr1 st P2 O
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="35" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="35" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="terminatingloops%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E6%8E%A5%E7%B6%9A-2">TerminatingLoopSを使った接続</h2>
+<ul>
+<li>reduce部分 : 木の深さを数値として渡している。</li>
+<li>初期値部分 : 元の木と元の木のみが入っているstackを渡している。また、それぞれのInvariantを渡している。</li>
+<li>loop部分 : findRBTを呼び出すことでnextとexitを接続している</li>
+</ul>
+<pre is="marp-pre" data-auto-scaling="downscale-only"><code class="language-c">findTest {n} {m} {A} {t} k tr0 rb0 <span class="hljs-built_in">exit</span> = TerminatingLoopS (bt (Color ∧ A) ∧ List (bt (Color ∧ A)))
+ {λ p → RBtreeInvariant (proj1 p) ∧ stackInvariant k (proj1 p) tr0 (proj2 p) } (λ p → bt-depth (proj1 p)) ⟪ tr0 , tr0 ∷ [] ⟫ ⟪ rb0 , s-nil ⟫
+       $ λ p RBP loop → findRBT k (proj1 p) tr0 (proj2 p) RBP  (λ t1 s1 P2 lt1 → loop ⟪ t1 ,  s1  ⟫ P2 lt1 )
+       $ λ tr1 st P2 O → <span class="hljs-built_in">exit</span> tr1 st P2 O
+</code></pre>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="36" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="36" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="redblacktree%E3%81%AE%E3%81%BB%E3%81%8B%E3%81%AEinvariant">RedBlackTreeのほかのInvariant</h2>
+<ul>
+<li>RBtreeInvariant<br />
+木がRedBlackTreeであることを示すInvariant</li>
+<li>treeInvariant<br />
+木がBinaryTreeであることを示すInvariant</li>
+<li>replacedTree<br />
+木が置き換えられたということを示すInvariant</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="37" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="37" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="redblacktree%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Binsert">RedBlackTreeにおけるInsert</h2>
+<ul>
+<li>RedBlackTreeのInsert操作では、黒の深さでバランスをとる必要がある。</li>
+<li>バランスを行うためには、replaceやrotateなどの操作を行う。</li>
+<li>対象のnodeから見た親、祖父、おじの色で6つの場合分けを行う必要がある。</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="38" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="38" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%AE%E3%82%B1%E3%83%BC%E3%82%B91">Insertのケース1</h2>
+<ul>
+<li>親が黒の場合<br />
+そのまま赤のnodeを挿入することができる</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="39" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="39" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%AE%E3%82%B1%E3%83%BC%E3%82%B92">Insertのケース2</h2>
+<ul>
+<li>親が赤 祖父が黒 おじが赤の場合</li>
+<li>親が赤のためそのまま挿入できない</li>
+<li>親とおじの色を黒に変更し、祖父の色を赤にすることでバランスする。</li>
+<li>祖父の親が赤の場合、赤が連続してしまう</li>
+<li>注目するノードを祖父に変更し1つ上の黒のノードまで戻る必要がある</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="40" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="40" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%AE%E3%82%B1%E3%83%BC%E3%82%B93">Insertのケース3</h2>
+<ul>
+<li>ノードが存在しない場合<br />
+そのまま挿入することができる</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="41" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="41" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%AE%E3%82%B1%E3%83%BC%E3%82%B94">Insertのケース4</h2>
+<ul>
+<li>親が赤 祖父、おじがいない場合</li>
+<li>親が赤のためそのまま挿入できない<br />
+親の色を黒に変更し、子ノードとして挿入する</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="42" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="42" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%AE%E3%82%B1%E3%83%BC%E3%82%B95">Insertのケース5</h2>
+<ul>
+<li>親が赤 祖父が黒 おじが黒の場合且つ木が内側に曲がっている場合</li>
+<li>親が赤なのでそのまま挿入できない</li>
+<li>内側に曲がっていると回転がうまくできない</li>
+<li>親と子の間で回転を行い、木を外側向きに修正する必要がある</li>
+<li>修正した後の状態はケース6と同じであるため、ケース6に遷移する</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="43" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="43" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44">
+<h2 id="insert%E3%81%AE%E3%82%B1%E3%83%BC%E3%82%B96">Insertのケース6</h2>
+<ul>
+<li>親が赤 祖父が黒 おじが黒の場合且つ木が外側に曲がっている場合</li>
+<li>親が赤なのでそのまま挿入できない</li>
+<li>祖父ノードと親ノードの間で回転を行う</li>
+<li>親ノードを黒、祖父ノードを赤に変更することで挿入する</li>
+</ul>
+</section>
+</foreignObject></svg><svg data-marpit-svg="" viewBox="0 0 1280 720"><foreignObject width="1280" height="720"><section id="44" data-paginate="true" data-theme="cr" lang="ja-JP" data-marpit-pagination="44" style="--paginate:true;--theme:cr;" data-marpit-pagination-total="44"></section>
+<script>!function(){"use strict";const t={h1:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"1"},style:"display: block; font-size: 2em; margin-block-start: 0.67em; margin-block-end: 0.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h2:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"2"},style:"display: block; font-size: 1.5em; margin-block-start: 0.83em; margin-block-end: 0.83em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h3:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"3"},style:"display: block; font-size: 1.17em; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h4:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"4"},style:"display: block; margin-block-start: 1.33em; margin-block-end: 1.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h5:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"5"},style:"display: block; font-size: 0.83em; margin-block-start: 1.67em; margin-block-end: 1.67em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},h6:{proto:()=>HTMLHeadingElement,attrs:{role:"heading","aria-level":"6"},style:"display: block; font-size: 0.67em; margin-block-start: 2.33em; margin-block-end: 2.33em; margin-inline-start: 0px; margin-inline-end: 0px; font-weight: bold;"},span:{proto:()=>HTMLSpanElement},pre:{proto:()=>HTMLElement,style:"display: block; font-family: monospace; white-space: pre; margin: 1em 0; --marp-auto-scaling-white-space: pre;"}},e="data-marp-auto-scaling-wrapper",i="data-marp-auto-scaling-svg",n="data-marp-auto-scaling-container";class s extends HTMLElement{constructor(){super(),this.svgPreserveAspectRatio="xMinYMid meet";const t=t=>([e])=>{const{width:i,height:n}=e.contentRect;this[t]={width:i,height:n},this.updateSVGRect()};this.attachShadow({mode:"open"}),this.containerObserver=new ResizeObserver(t("containerSize")),this.wrapperObserver=new ResizeObserver(((...e)=>{t("wrapperSize")(...e),this.flushSvgDisplay()}))}static get observedAttributes(){return["data-downscale-only"]}connectedCallback(){var t,s,o,r,a;this.shadowRoot.innerHTML=`\n<style>\n  svg[${i}] { display: block; width: 100%; height: auto; vertical-align: top; }\n  span[${n}] { display: table; white-space: var(--marp-auto-scaling-white-space, nowrap); width: max-content; }\n</style>\n<div ${e}>\n  <svg part="svg" ${i}>\n    <foreignObject><span ${n}><slot></slot></span></foreignObject>\n  </svg>\n</div>\n    `.split(/\n\s*/).join(""),this.wrapper=null!==(t=this.shadowRoot.querySelector(`div[${e}]`))&&void 0!==t?t:void 0;const l=this.svg;this.svg=null!==(o=null===(s=this.wrapper)||void 0===s?void 0:s.querySelector(`svg[${i}]`))&&void 0!==o?o:void 0,this.svg!==l&&(this.svgComputedStyle=this.svg?window.getComputedStyle(this.svg):void 0),this.container=null!==(a=null===(r=this.svg)||void 0===r?void 0:r.querySelector(`span[${n}]`))&&void 0!==a?a:void 0,this.observe()}disconnectedCallback(){this.svg=void 0,this.svgComputedStyle=void 0,this.wrapper=void 0,this.container=void 0,this.observe()}attributeChangedCallback(){this.observe()}flushSvgDisplay(){const{svg:t}=this;t&&(t.style.display="inline",requestAnimationFrame((()=>{t.style.display=""})))}observe(){this.containerObserver.disconnect(),this.wrapperObserver.disconnect(),this.wrapper&&this.wrapperObserver.observe(this.wrapper),this.container&&this.containerObserver.observe(this.container),this.svgComputedStyle&&this.observeSVGStyle(this.svgComputedStyle)}observeSVGStyle(t){const e=()=>{const i=(()=>{const e=t.getPropertyValue("--preserve-aspect-ratio");if(e)return e.trim();return`x${(({textAlign:t,direction:e})=>{if(t.endsWith("left"))return"Min";if(t.endsWith("right"))return"Max";if("start"===t||"end"===t){let i="rtl"===e;return"end"===t&&(i=!i),i?"Max":"Min"}return"Mid"})(t)}YMid meet`})();i!==this.svgPreserveAspectRatio&&(this.svgPreserveAspectRatio=i,this.updateSVGRect()),t===this.svgComputedStyle&&requestAnimationFrame(e)};e()}updateSVGRect(){var t,e,i,n,s,o,r;let a=Math.ceil(null!==(e=null===(t=this.containerSize)||void 0===t?void 0:t.width)&&void 0!==e?e:0);const l=Math.ceil(null!==(n=null===(i=this.containerSize)||void 0===i?void 0:i.height)&&void 0!==n?n:0);void 0!==this.dataset.downscaleOnly&&(a=Math.max(a,null!==(o=null===(s=this.wrapperSize)||void 0===s?void 0:s.width)&&void 0!==o?o:0));const c=null===(r=this.svg)||void 0===r?void 0:r.querySelector(":scope > foreignObject");if(null==c||c.setAttribute("width",`${a}`),null==c||c.setAttribute("height",`${l}`),this.svg&&(this.svg.setAttribute("viewBox",`0 0 ${a} ${l}`),this.svg.setAttribute("preserveAspectRatio",this.svgPreserveAspectRatio),this.svg.style.height=a<=0||l<=0?"0":""),this.container){const t=this.svgPreserveAspectRatio.toLowerCase();this.container.style.marginLeft=t.startsWith("xmid")||t.startsWith("xmax")?"auto":"0",this.container.style.marginRight=t.startsWith("xmi")?"auto":"0"}}}const o=(t,{attrs:e={},style:i})=>class extends t{constructor(...t){super(...t);for(const[t,i]of Object.entries(e))this.hasAttribute(t)||this.setAttribute(t,i);this.attachShadow({mode:"open"})}static get observedAttributes(){return["data-auto-scaling"]}connectedCallback(){this._update()}attributeChangedCallback(){this._update()}_update(){const t=i?`<style>:host { ${i} }</style>`:"";let e="<slot></slot>";const{autoScaling:n}=this.dataset;if(void 0!==n){e=`<marp-auto-scaling exportparts="svg:auto-scaling" ${"downscale-only"===n?"data-downscale-only":""}>${e}</marp-auto-scaling>`}this.shadowRoot.innerHTML=t+e}};let r;const a=Symbol();let l;const c="marpitSVGPolyfill:setZoomFactor,",d=Symbol(),g=Symbol();const h=()=>{const t="Apple Computer, Inc."===navigator.vendor,e=t?[u]:[],i={then:e=>(t?(async()=>{if(void 0===l){const t=document.createElement("canvas");t.width=10,t.height=10;const e=t.getContext("2d"),i=new Image(10,10),n=new Promise((t=>{i.addEventListener("load",(()=>t()))}));i.crossOrigin="anonymous",i.src="data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%201%201%22%3E%3CforeignObject%20width%3D%221%22%20height%3D%221%22%20requiredExtensions%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3Cdiv%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%20style%3D%22width%3A%201px%3B%20height%3A%201px%3B%20background%3A%20red%3B%20position%3A%20relative%22%3E%3C%2Fdiv%3E%3C%2FforeignObject%3E%3C%2Fsvg%3E",await n,e.drawImage(i,0,0),l=e.getImageData(5,5,1,1).data[3]<128}return l})().then((t=>{null==e||e(t?[u]:[])})):null==e||e([]),i)};return Object.assign(e,i)};let p,m;function u(t){const e="object"==typeof t&&t.target||document,i="object"==typeof t?t.zoom:t;window[g]||(Object.defineProperty(window,g,{configurable:!0,value:!0}),document.body.style.zoom=1.0001,document.body.offsetHeight,document.body.style.zoom=1,window.addEventListener("message",(({data:t,origin:e})=>{if(e===window.origin)try{if(t&&"string"==typeof t&&t.startsWith(c)){const[,e]=t.split(","),i=Number.parseFloat(e);Number.isNaN(i)||(m=i)}}catch(t){console.error(t)}})));let n=!1;Array.from(e.querySelectorAll("svg[data-marpit-svg]"),(t=>{var e,s,o,r;t.style.transform||(t.style.transform="translateZ(0)");const a=i||m||t.currentScale||1;p!==a&&(p=a,n=a);const l=t.getBoundingClientRect(),{length:c}=t.children;for(let i=0;i<c;i+=1){const n=t.children[i];if(n.getScreenCTM){const t=n.getScreenCTM();if(t){const i=null!==(s=null===(e=n.x)||void 0===e?void 0:e.baseVal.value)&&void 0!==s?s:0,c=null!==(r=null===(o=n.y)||void 0===o?void 0:o.baseVal.value)&&void 0!==r?r:0,d=n.children.length;for(let e=0;e<d;e+=1){const s=n.children[e];if("SECTION"===s.tagName){const{style:e}=s;e.transformOrigin||(e.transformOrigin=`${-i}px ${-c}px`),e.transform=`scale(${a}) matrix(${t.a}, ${t.b}, ${t.c}, ${t.d}, ${t.e-l.left}, ${t.f-l.top}) translateZ(0.0001px)`;break}}}}}})),!1!==n&&Array.from(e.querySelectorAll("iframe"),(({contentWindow:t})=>{null==t||t.postMessage(`${c}${n}`,"null"===window.origin?"*":window.origin)}))}function v({once:t=!1,target:e=document}={}){const i=function(t=document){if(t[d])return t[d];let e=!0;const i=()=>{e=!1,delete t[d]};Object.defineProperty(t,d,{configurable:!0,value:i});let n=[],s=!1;(async()=>{try{n=await h()}finally{s=!0}})();const o=()=>{for(const e of n)e({target:t});s&&0===n.length||e&&window.requestAnimationFrame(o)};return o(),i}(e);return t?(i(),()=>{}):i}p=1,m=void 0;const b=Symbol(),w=(e=document)=>{if("undefined"==typeof window)throw new Error("Marp Core's browser script is valid only in browser context.");if(((e=document)=>{const i=window[a];i||customElements.define("marp-auto-scaling",s);for(const n of Object.keys(t)){const s=`marp-${n}`,a=t[n].proto();null!=r||(r=!!document.createElement("div",{is:"marp-auto-scaling"}).outerHTML.startsWith("<div is")),r&&a!==HTMLElement?i||customElements.define(s,o(a,{style:t[n].style}),{extends:n}):(i||customElements.define(s,o(HTMLElement,t[n])),e.querySelectorAll(`${n}[is="${s}"]`).forEach((t=>{t.outerHTML=t.outerHTML.replace(new RegExp(`^<${n}`,"i"),`<${s}`).replace(new RegExp(`</${n}>$`,"i"),`</${s}>`)})))}window[a]=!0})(e),e[b])return e[b];const i=v({target:e}),n=()=>{i(),delete e[b]},l=Object.assign(n,{cleanup:n,update:()=>w(e)});return Object.defineProperty(e,b,{configurable:!0,value:l}),l},y=document.currentScript;w(y?y.getRootNode():document)}();
+</script></foreignObject></svg></div><div class="bespoke-marp-note" data-index="0" tabindex="0"><p>スピーカーノート</p></div><script>/*!! License: https://unpkg.com/@marp-team/marp-cli@3.4.0/lib/bespoke.js.LICENSE.txt */
+!function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={from:function(e,t){var n,r=1===(e.parent||e).nodeType?e.parent||e:document.querySelector(e.parent||e),o=[].filter.call("string"==typeof e.slides?r.querySelectorAll(e.slides):e.slides||r.children,(function(e){return"SCRIPT"!==e.nodeName})),i={},a=function(e,t){return(t=t||{}).index=o.indexOf(e),t.slide=e,t},s=function(e,t){i[e]=(i[e]||[]).filter((function(e){return e!==t}))},l=function(e,t){return(i[e]||[]).reduce((function(e,n){return e&&!1!==n(t)}),!0)},c=function(e,t){o[e]&&(n&&l("deactivate",a(n,t)),n=o[e],l("activate",a(n,t)))},d=function(e,t){var r=o.indexOf(n)+e;l(e>0?"next":"prev",a(n,t))&&c(r,t)},u={off:s,on:function(e,t){return(i[e]||(i[e]=[])).push(t),s.bind(null,e,t)},fire:l,slide:function(e,t){if(!arguments.length)return o.indexOf(n);l("slide",a(o[e],t))&&c(e,t)},next:d.bind(null,1),prev:d.bind(null,-1),parent:r,slides:o,destroy:function(e){l("destroy",a(n,e)),i={}}};return(t||[]).forEach((function(e){e(u)})),n||c(0),u}},n=e(t);const r=document.body,o=(...e)=>history.replaceState(...e),i="presenter",a="next",s=["",i,a],l="bespoke-marp-",c=`data-${l}`,d=(e,{protocol:t,host:n,pathname:r,hash:o}=location)=>{const i=e.toString();return`${t}//${n}${r}${i?"?":""}${i}${o}`},u=()=>r.dataset.bespokeView,f=e=>new URLSearchParams(location.search).get(e),m=(e,t={})=>{var n;const r={location,setter:o,...t},i=new URLSearchParams(r.location.search);for(const t of Object.keys(e)){const n=e[t];"string"==typeof n?i.set(t,n):i.delete(t)}try{r.setter({...null!==(n=window.history.state)&&void 0!==n?n:{}},"",d(i,r.location))}catch(e){console.error(e)}},g=(()=>{const e="bespoke-marp";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(e){return!1}})(),p=e=>{try{return localStorage.getItem(e)}catch(e){return null}},v=(e,t)=>{try{return localStorage.setItem(e,t),!0}catch(e){return!1}},h=e=>{try{return localStorage.removeItem(e),!0}catch(e){return!1}},y=(e,t)=>{const n="aria-hidden";t?e.setAttribute(n,"true"):e.removeAttribute(n)},b=e=>{e.parent.classList.add(`${l}parent`),e.slides.forEach((e=>e.classList.add(`${l}slide`))),e.on("activate",(t=>{const n=`${l}active`,r=t.slide,o=r.classList,i=!o.contains(n);if(e.slides.forEach((e=>{e.classList.remove(n),y(e,!0)})),o.add(n),y(r,!1),i){const e=`${n}-ready`;o.add(e),document.body.clientHeight,o.remove(e)}}))},w=e=>{let t=0,n=0;Object.defineProperty(e,"fragments",{enumerable:!0,value:e.slides.map((e=>[null,...e.querySelectorAll("[data-marpit-fragment]")]))});const r=r=>void 0!==e.fragments[t][n+r],o=(r,o)=>{t=r,n=o,e.fragments.forEach(((e,t)=>{e.forEach(((e,n)=>{if(null==e)return;const i=t<r||t===r&&n<=o;e.setAttribute(`${c}fragment`,(i?"":"in")+"active");const a=`${c}current-fragment`;t===r&&n===o?e.setAttribute(a,"current"):e.removeAttribute(a)}))})),e.fragmentIndex=o;const i={slide:e.slides[r],index:r,fragments:e.fragments[r],fragmentIndex:o};e.fire("fragment",i)};e.on("next",(({fragment:i=!0})=>{if(i){if(r(1))return o(t,n+1),!1;const i=t+1;e.fragments[i]&&o(i,0)}else{const r=e.fragments[t].length;if(n+1<r)return o(t,r-1),!1;const i=e.fragments[t+1];i&&o(t+1,i.length-1)}})),e.on("prev",(({fragment:i=!0})=>{if(r(-1)&&i)return o(t,n-1),!1;const a=t-1;e.fragments[a]&&o(a,e.fragments[a].length-1)})),e.on("slide",(({index:t,fragment:n})=>{let r=0;if(void 0!==n){const o=e.fragments[t];if(o){const{length:e}=o;r=-1===n?e-1:Math.min(Math.max(n,0),e-1)}}o(t,r)})),o(0,0)},x=document,k=()=>!(!x.fullscreenEnabled&&!x.webkitFullscreenEnabled),$=()=>!(!x.fullscreenElement&&!x.webkitFullscreenElement),E=e=>{e.fullscreen=()=>{k()&&(async()=>{return $()?null===(e=x.exitFullscreen||x.webkitExitFullscreen)||void 0===e?void 0:e.call(x):((e=x.body)=>{var t;return null===(t=e.requestFullscreen||e.webkitRequestFullscreen)||void 0===t?void 0:t.call(e)})();var e})()},document.addEventListener("keydown",(t=>{"f"!==t.key&&"F11"!==t.key||t.altKey||t.ctrlKey||t.metaKey||!k()||(e.fullscreen(),t.preventDefault())}))},L=`${l}inactive`,S=(e=2e3)=>({parent:t,fire:n})=>{const r=t.classList,o=e=>n(`marp-${e?"":"in"}active`);let i;const a=()=>{i&&clearTimeout(i),i=setTimeout((()=>{r.add(L),o()}),e),r.contains(L)&&(r.remove(L),o(!0))};for(const e of["mousedown","mousemove","touchend"])document.addEventListener(e,a);setTimeout(a,0)},P=["AUDIO","BUTTON","INPUT","SELECT","TEXTAREA","VIDEO"],_=e=>{e.parent.addEventListener("keydown",(e=>{if(!e.target)return;const t=e.target;(P.includes(t.nodeName)||"true"===t.contentEditable)&&e.stopPropagation()}))},T=e=>{window.addEventListener("load",(()=>{for(const t of e.slides){const e=t.querySelector("marp-auto-scaling, [data-auto-scaling], [data-marp-fitting]");t.setAttribute(`${c}load`,e?"":"hideable")}}))},I=({interval:e=250}={})=>t=>{document.addEventListener("keydown",(e=>{if(" "===e.key&&e.shiftKey)t.prev();else if("ArrowLeft"===e.key||"ArrowUp"===e.key||"PageUp"===e.key)t.prev({fragment:!e.shiftKey});else if(" "!==e.key||e.shiftKey)if("ArrowRight"===e.key||"ArrowDown"===e.key||"PageDown"===e.key)t.next({fragment:!e.shiftKey});else if("End"===e.key)t.slide(t.slides.length-1,{fragment:-1});else{if("Home"!==e.key)return;t.slide(0)}else t.next();e.preventDefault()}));let n,r,o=0;t.parent.addEventListener("wheel",(i=>{let a=!1;const s=(e,t)=>{e&&(a=a||((e,t)=>((e,t)=>{const n="X"===t?"Width":"Height";return e[`client${n}`]<e[`scroll${n}`]})(e,t)&&((e,t)=>{const{overflow:n}=e,r=e[`overflow${t}`];return"auto"===n||"scroll"===n||"auto"===r||"scroll"===r})(getComputedStyle(e),t))(e,t)),(null==e?void 0:e.parentElement)&&s(e.parentElement,t)};if(0!==i.deltaX&&s(i.target,"X"),0!==i.deltaY&&s(i.target,"Y"),a)return;i.preventDefault();const l=Math.sqrt(i.deltaX**2+i.deltaY**2);if(void 0!==i.wheelDelta){if(void 0===i.webkitForce&&Math.abs(i.wheelDelta)<40)return;if(i.deltaMode===i.DOM_DELTA_PIXEL&&l<4)return}else if(i.deltaMode===i.DOM_DELTA_PIXEL&&l<12)return;r&&clearTimeout(r),r=setTimeout((()=>{n=0}),e);const c=Date.now()-o<e,d=l<=n;if(n=l,c||d)return;let u;(i.deltaX>0||i.deltaY>0)&&(u="next"),(i.deltaX<0||i.deltaY<0)&&(u="prev"),u&&(t[u](),o=Date.now())}))},M=(e=`.${l}osc`)=>{const t=document.querySelector(e);if(!t)return()=>{};const n=(e,n)=>{t.querySelectorAll(`[${c}osc=${JSON.stringify(e)}]`).forEach(n)};return k()||n("fullscreen",(e=>e.style.display="none")),g||n("presenter",(e=>{e.disabled=!0,e.title="Presenter view is disabled due to restricted localStorage."})),e=>{t.addEventListener("click",(t=>{if(t.target instanceof HTMLElement){const{bespokeMarpOsc:n}=t.target.dataset;n&&t.target.blur();const r={fragment:!t.shiftKey};"next"===n?e.next(r):"prev"===n?e.prev(r):"fullscreen"===n?null==e||e.fullscreen():"presenter"===n&&e.openPresenterView()}})),e.parent.appendChild(t),e.on("activate",(({index:t})=>{n("page",(n=>n.textContent=`Page ${t+1} of ${e.slides.length}`))})),e.on("fragment",(({index:t,fragments:r,fragmentIndex:o})=>{n("prev",(e=>e.disabled=0===t&&0===o)),n("next",(n=>n.disabled=t===e.slides.length-1&&o===r.length-1))})),e.on("marp-active",(()=>y(t,!1))),e.on("marp-inactive",(()=>y(t,!0))),k()&&(e=>{for(const t of["","webkit"])x.addEventListener(t+"fullscreenchange",e)})((()=>n("fullscreen",(e=>e.classList.toggle("exit",k()&&$())))))}},O=e=>{window.addEventListener("message",(t=>{if(t.origin!==window.origin)return;const[n,r]=t.data.split(":");if("navigate"===n){const[t,n]=r.split(",");let o=Number.parseInt(t,10),i=Number.parseInt(n,10)+1;i>=e.fragments[o].length&&(o+=1,i=0),e.slide(o,{fragment:i})}}))};var A=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];let C=e=>String(e).replace(/[&<>"']/g,(e=>`&${D[e]};`)),D={"&":"amp","<":"lt",">":"gt",'"':"quot","'":"apos"},N="dangerouslySetInnerHTML",B={className:"class",htmlFor:"for"},q={};function K(e,t){let n=[],r="";t=t||{};for(let e=arguments.length;e-- >2;)n.push(arguments[e]);if("function"==typeof e)return t.children=n.reverse(),e(t);if(e){if(r+="<"+e,t)for(let e in t)!1!==t[e]&&null!=t[e]&&e!==N&&(r+=` ${B[e]?B[e]:C(e)}="${C(t[e])}"`);r+=">"}if(-1===A.indexOf(e)){if(t[N])r+=t[N].__html;else for(;n.length;){let e=n.pop();if(e)if(e.pop)for(let t=e.length;t--;)n.push(e[t]);else r+=!0===q[e]?e:C(e)}r+=e?`</${e}>`:""}return q[r]=!0,r}const j=({children:e})=>K(null,null,...e),F=`${l}presenter-`,V={container:`${F}container`,dragbar:`${F}dragbar-container`,next:`${F}next`,nextContainer:`${F}next-container`,noteContainer:`${F}note-container`,noteWrapper:`${F}note-wrapper`,noteButtons:`${F}note-buttons`,infoContainer:`${F}info-container`,infoPage:`${F}info-page`,infoPageText:`${F}info-page-text`,infoPagePrev:`${F}info-page-prev`,infoPageNext:`${F}info-page-next`,noteButtonsBigger:`${F}note-bigger`,noteButtonsSmaller:`${F}note-smaller`,infoTime:`${F}info-time`,infoTimer:`${F}info-timer`},U=e=>{const{title:t}=document;document.title="[Presenter view]"+(t?` - ${t}`:"");const n={},r=e=>(n[e]=n[e]||document.querySelector(`.${e}`),n[e]);document.body.appendChild((e=>{const t=document.createElement("div");return t.className=V.container,t.appendChild(e),t.insertAdjacentHTML("beforeend",K(j,null,K("div",{class:V.nextContainer},K("iframe",{class:V.next,src:"?view=next"})),K("div",{class:V.dragbar}),K("div",{class:V.noteContainer},K("div",{class:V.noteWrapper}),K("div",{class:V.noteButtons},K("button",{class:V.noteButtonsSmaller,tabindex:"-1",title:"Smaller notes font size"},"Smaller notes font size"),K("button",{class:V.noteButtonsBigger,tabindex:"-1",title:"Bigger notes font size"},"Bigger notes font size"))),K("div",{class:V.infoContainer},K("div",{class:V.infoPage},K("button",{class:V.infoPagePrev,tabindex:"-1",title:"Previous"},"Previous"),K("span",{class:V.infoPageText}),K("button",{class:V.infoPageNext,tabindex:"-1",title:"Next"},"Next")),K("time",{class:V.infoTime,title:"Current time"}),K("time",{class:V.infoTimer,title:"Timer"})))),t})(e.parent)),(e=>{let t=!1;r(V.dragbar).addEventListener("mousedown",(()=>{t=!0,r(V.dragbar).classList.add("active")})),window.addEventListener("mouseup",(()=>{t=!1,r(V.dragbar).classList.remove("active")})),window.addEventListener("mousemove",(e=>{if(!t)return;const n=e.clientX/document.documentElement.clientWidth*100;r(V.container).style.setProperty("--bespoke-marp-presenter-split-ratio",`${Math.max(0,Math.min(100,n))}%`)})),r(V.nextContainer).addEventListener("click",(()=>e.next()));const n=r(V.next),o=(i=n,(e,t)=>{var n;return null===(n=i.contentWindow)||void 0===n?void 0:n.postMessage(`navigate:${e},${t}`,"null"===window.origin?"*":window.origin)});var i;n.addEventListener("load",(()=>{r(V.nextContainer).classList.add("active"),o(e.slide(),e.fragmentIndex),e.on("fragment",(({index:e,fragmentIndex:t})=>o(e,t)))}));const a=document.querySelectorAll(".bespoke-marp-note");a.forEach((e=>{e.addEventListener("keydown",(e=>e.stopPropagation())),r(V.noteWrapper).appendChild(e)})),e.on("activate",(()=>a.forEach((t=>t.classList.toggle("active",t.dataset.index==e.slide())))));let s=0;const l=e=>{s=Math.max(-5,s+e),r(V.noteContainer).style.setProperty("--bespoke-marp-note-font-scale",(1.2**s).toFixed(4))},c=()=>l(1),d=()=>l(-1),u=r(V.noteButtonsBigger),f=r(V.noteButtonsSmaller);u.addEventListener("click",(()=>{u.blur(),c()})),f.addEventListener("click",(()=>{f.blur(),d()})),document.addEventListener("keydown",(e=>{"+"===e.key&&c(),"-"===e.key&&d()}),!0),e.on("activate",(({index:t})=>{r(V.infoPageText).textContent=`${t+1} / ${e.slides.length}`}));const m=r(V.infoPagePrev),g=r(V.infoPageNext);m.addEventListener("click",(t=>{m.blur(),e.prev({fragment:!t.shiftKey})})),g.addEventListener("click",(t=>{g.blur(),e.next({fragment:!t.shiftKey})})),e.on("fragment",(({index:t,fragments:n,fragmentIndex:r})=>{m.disabled=0===t&&0===r,g.disabled=t===e.slides.length-1&&r===n.length-1}));let p=new Date;const v=()=>{const e=new Date,t=e=>`${Math.floor(e)}`.padStart(2,"0"),n=e.getTime()-p.getTime(),o=t(n/1e3%60),i=t(n/1e3/60%60),a=t(n/36e5%24);r(V.infoTime).textContent=e.toLocaleTimeString(),r(V.infoTimer).textContent=`${a}:${i}:${o}`};v(),setInterval(v,250),r(V.infoTimer).addEventListener("click",(()=>{p=new Date}))})(e)},X=e=>{if(!(e=>e.syncKey&&"string"==typeof e.syncKey)(e))throw new Error("The current instance of Bespoke.js is invalid for Marp bespoke presenter plugin.");Object.defineProperties(e,{openPresenterView:{enumerable:!0,value:H},presenterUrl:{enumerable:!0,get:R}}),g&&document.addEventListener("keydown",(t=>{"p"!==t.key||t.altKey||t.ctrlKey||t.metaKey||(t.preventDefault(),e.openPresenterView())}))};function H(){const{max:e,floor:t}=Math,n=e(t(.85*window.innerWidth),640),r=e(t(.85*window.innerHeight),360);return window.open(this.presenterUrl,F+this.syncKey,`width=${n},height=${r},menubar=no,toolbar=no`)}function R(){const e=new URLSearchParams(location.search);return e.set("view","presenter"),e.set("sync",this.syncKey),d(e)}const W=e=>{const t=u();return t===a&&e.appendChild(document.createElement("span")),{"":X,[i]:U,[a]:O}[t]},J=e=>{e.on("activate",(t=>{document.querySelectorAll(".bespoke-progress-parent > .bespoke-progress-bar").forEach((n=>{n.style.flexBasis=100*t.index/(e.slides.length-1)+"%"}))}))},Y=e=>{const t=Number.parseInt(e,10);return Number.isNaN(t)?null:t},z=(e={})=>{const t={history:!0,...e};return e=>{let n=!0;const r=e=>{const t=n;try{return n=!0,e()}finally{n=t}},o=(t={fragment:!0})=>{let n=t.fragment?Y(f("f")||""):null;((t,n)=>{const{min:r,max:o}=Math,{fragments:i,slides:a}=e,s=o(0,r(t,a.length-1)),l=o(0,r(n||0,i[s].length-1));s===e.slide()&&l===e.fragmentIndex||e.slide(s,{fragment:l})})((()=>{var t,r;if(location.hash){const[o]=location.hash.slice(1).split(":~:");if(/^\d+$/.test(o))return(null!==(t=Y(o))&&void 0!==t?t:1)-1;const i=document.getElementById(o)||document.querySelector(`a[name="${CSS.escape(o)}"]`);if(i){const{length:t}=e.slides;for(let o=0;o<t;o+=1)if(e.slides[o].contains(i)){const t=null===(r=e.fragments)||void 0===r?void 0:r[o],a=i.closest("[data-marpit-fragment]");if(t&&a){const e=t.indexOf(a);e>=0&&(n=e)}return o}}}return 0})(),n)};e.on("fragment",(({index:e,fragmentIndex:r})=>{n||m({f:0===r||r.toString()},{location:{...location,hash:`#${e+1}`},setter:(...e)=>t.history?history.pushState(...e):history.replaceState(...e)})})),setTimeout((()=>{o(),window.addEventListener("hashchange",(()=>r((()=>{o({fragment:!1}),m({f:void 0})})))),window.addEventListener("popstate",(()=>{n||r((()=>o()))})),n=!1}),0)}},G=(e={})=>{var t;const n=e.key||(null===(t=window.history.state)||void 0===t?void 0:t.marpBespokeSyncKey)||Math.random().toString(36).slice(2),r=`bespoke-marp-sync-${n}`;var i;i={marpBespokeSyncKey:n},m({},{setter:(e,...t)=>o({...e,...i},...t)});const a=()=>{const e=p(r);return e?JSON.parse(e):Object.create(null)},s=e=>{const t=a(),n={...t,...e(t)};return v(r,JSON.stringify(n)),n},l=()=>{window.removeEventListener("pageshow",l),s((e=>({reference:(e.reference||0)+1})))};return e=>{l(),Object.defineProperty(e,"syncKey",{value:n,enumerable:!0});let t=!0;setTimeout((()=>{e.on("fragment",(e=>{t&&s((()=>({index:e.index,fragmentIndex:e.fragmentIndex})))}))}),0),window.addEventListener("storage",(n=>{if(n.key===r&&n.oldValue&&n.newValue){const r=JSON.parse(n.oldValue),o=JSON.parse(n.newValue);if(r.index!==o.index||r.fragmentIndex!==o.fragmentIndex)try{t=!1,e.slide(o.index,{fragment:o.fragmentIndex,forSync:!0})}finally{t=!0}}}));const o=()=>{const{reference:e}=a();void 0===e||e<=1?h(r):s((()=>({reference:e-1})))};window.addEventListener("pagehide",(e=>{e.persisted&&window.addEventListener("pageshow",l),o()})),e.on("destroy",o)}},{PI:Q,abs:Z,sqrt:ee,atan2:te}=Math,ne={passive:!0},re=({slope:e=-.7,swipeThreshold:t=30}={})=>n=>{let r;const o=n.parent,i=e=>{const t=o.getBoundingClientRect();return{x:e.pageX-(t.left+t.right)/2,y:e.pageY-(t.top+t.bottom)/2}};o.addEventListener("touchstart",(({touches:e})=>{r=1===e.length?i(e[0]):void 0}),ne),o.addEventListener("touchmove",(e=>{if(r)if(1===e.touches.length){e.preventDefault();const t=i(e.touches[0]),n=t.x-r.x,o=t.y-r.y;r.delta=ee(Z(n)**2+Z(o)**2),r.radian=te(n,o)}else r=void 0})),o.addEventListener("touchend",(o=>{if(r){if(r.delta&&r.delta>=t&&r.radian){const t=(r.radian-e+Q)%(2*Q)-Q;n[t<0?"next":"prev"](),o.stopPropagation()}r=void 0}}),ne)},oe=new Map;oe.clear(),oe.set("none",{backward:{both:void 0,incoming:void 0,outgoing:void 0},forward:{both:void 0,incoming:void 0,outgoing:void 0}});const ie={both:"",outgoing:"outgoing-",incoming:"incoming-"},ae={forward:"",backward:"-backward"},se=e=>`--marp-bespoke-transition-animation-${e}`,le=e=>`--marp-transition-${e}`,ce=se("name"),de=se("duration"),ue=e=>new Promise((t=>{const n={},r=document.createElement("div"),o=e=>{r.remove(),t(e)};r.addEventListener("animationstart",(()=>o(n))),Object.assign(r.style,{animationName:e,animationDuration:"1s",animationFillMode:"both",animationPlayState:"paused",position:"absolute",pointerEvents:"none"}),document.body.appendChild(r);const i=getComputedStyle(r).getPropertyValue(le("duration"));i&&(n.defaultDuration=i),((e,t)=>{requestAnimationFrame((()=>{e.style.animationPlayState="running",requestAnimationFrame((()=>t(void 0)))}))})(r,o)})),fe=async e=>oe.has(e)?oe.get(e):(e=>{const t={},n=[];for(const[r,o]of Object.entries(ie))for(const[i,a]of Object.entries(ae)){const s=`marp-${o}transition${a}-${e}`;n.push(ue(s).then((e=>{t[i]=t[i]||{},t[i][r]=e?{...e,name:s}:void 0})))}return Promise.all(n).then((()=>t))})(e).then((t=>(oe.set(e,t),t))),me=e=>Object.values(e).flatMap(Object.values).every((e=>!e)),ge=(e,{type:t,backward:n})=>{const r=e[n?"backward":"forward"],o=(()=>{const e=r[t],n=e=>({[ce]:e.name});if(e)return n(e);if(r.both){const e=n(r.both);return"incoming"===t&&(e[se("direction")]="reverse"),e}})();return!o&&n?ge(e,{type:t,backward:!1}):o||{[ce]:"__bespoke_marp_transition_no_animation__"}},pe=e=>{if(e)try{const t=JSON.parse(e);if((e=>{if("object"!=typeof e)return!1;const t=e;return"string"==typeof t.name&&(void 0===t.duration||"string"==typeof t.duration)})(t))return t}catch(e){}},ve="_tSId",he="_tA",ye="bespoke-marp-transition-warming-up",be=window.matchMedia("(prefers-reduced-motion: reduce)"),we="__bespoke_marp_transition_reduced_outgoing__",xe="__bespoke_marp_transition_reduced_incoming__",ke={forward:{both:void 0,incoming:{name:xe},outgoing:{name:we}},backward:{both:void 0,incoming:{name:xe},outgoing:{name:we}}},$e=e=>{if(!document.startViewTransition)return;const t=t=>(void 0!==t&&(e._tD=t),e._tD);let n;t(!1),((...e)=>{const t=[...new Set(e).values()];return Promise.all(t.map((e=>fe(e)))).then()})(...Array.from(document.querySelectorAll("section[data-transition], section[data-transition-back]")).flatMap((e=>[e.dataset.transition,e.dataset.transitionBack].flatMap((e=>{const t=pe(e);return[null==t?void 0:t.name,(null==t?void 0:t.builtinFallback)?`__builtin__${t.name}`:void 0]})).filter((e=>!!e))))).then((()=>{document.querySelectorAll("style").forEach((e=>{e.innerHTML=e.innerHTML.replace(/--marp-transition-duration:[^;}]*[;}]/g,(e=>e.slice(0,-1)+"!important"+e.slice(-1)))}))}));const r=(n,{back:r,cond:o})=>i=>{var a;const s=t();if(s)return!!i[he]||!("object"!=typeof s||(s.skipTransition(),!i.forSync));if(!o(i))return!0;const l=e.slides[e.slide()],c=()=>{var e;return null!==(e=i.back)&&void 0!==e?e:r},d="data-transition"+(c()?"-back":""),u=l.querySelector(`section[${d}]`);if(!u)return!0;const f=pe(null!==(a=u.getAttribute(d))&&void 0!==a?a:void 0);return!f||((async(e,{builtinFallback:t=!0}={})=>{let n=await fe(e);if(me(n)){if(!t)return;return n=await fe(`__builtin__${e}`),me(n)?void 0:n}return n})(f.name,{builtinFallback:f.builtinFallback}).then((e=>{if(!e){t(!0);try{n(i)}finally{t(!1)}return}let r=e;be.matches&&(console.warn("Use a constant animation to transition because preferring reduced motion by viewer has detected."),r=ke);const o=document.getElementById(ve);o&&o.remove();const a=document.createElement("style");a.id=ve,document.head.appendChild(a),((e,t)=>{const n=[`:root{${le("direction")}:${t.backward?-1:1};}`,":root:has(.bespoke-marp-inactive){cursor:none;}"],r=t=>{var n,o,i;const a=(null===(n=e[t].both)||void 0===n?void 0:n.defaultDuration)||(null===(o=e[t].outgoing)||void 0===o?void 0:o.defaultDuration)||(null===(i=e[t].incoming)||void 0===i?void 0:i.defaultDuration);return"forward"===t?a:a||r("forward")},o=t.duration||r(t.backward?"backward":"forward");void 0!==o&&n.push(`::view-transition-group(*){${de}:${o};}`);const i=e=>Object.entries(e).map((([e,t])=>`${e}:${t};`)).join("");return n.push(`::view-transition-old(root){${i(ge(e,{...t,type:"outgoing"}))}}`,`::view-transition-new(root){${i(ge(e,{...t,type:"incoming"}))}}`),n})(r,{backward:c(),duration:f.duration}).forEach((e=>{var t;return null===(t=a.sheet)||void 0===t?void 0:t.insertRule(e)}));const s=document.documentElement.classList;s.add(ye);let l=!1;const d=()=>{l||(n(i),l=!0,s.remove(ye))},u=()=>{t(!1),a.remove(),s.remove(ye)};try{t(!0);const e=document.startViewTransition(d);t(e),e.finished.finally(u)}catch(e){console.error(e),d(),u()}})),!1)};e.on("prev",r((t=>e.prev({...t,[he]:!0})),{back:!0,cond:e=>{var t;return e.index>0&&!((null===(t=e.fragment)||void 0===t||t)&&n.fragmentIndex>0)}})),e.on("next",r((t=>e.next({...t,[he]:!0})),{cond:t=>t.index+1<e.slides.length&&!(n.fragmentIndex+1<n.fragments.length)})),setTimeout((()=>{e.on("slide",r((t=>e.slide(t.index,{...t,[he]:!0})),{cond:t=>{const n=e.slide();return t.index!==n&&(t.back=t.index<n,!0)}}))}),0),e.on("fragment",(e=>{n=e}))};let Ee;const Le=()=>(void 0===Ee&&(Ee="wakeLock"in navigator&&navigator.wakeLock),Ee),Se=async()=>{const e=Le();if(e)try{return await e.request("screen")}catch(e){console.warn(e)}return null},Pe=async()=>{if(!Le())return;let e;const t=()=>{e&&"visible"===document.visibilityState&&Se()};for(const e of["visibilitychange","fullscreenchange"])document.addEventListener(e,t);return e=await Se(),e};((e=document.getElementById(":$p"))=>{(()=>{const e=f("view");r.dataset.bespokeView=e===a||e===i?e:""})();const t=(e=>{const t=f(e);return m({[e]:void 0}),t})("sync")||void 0;n.from(e,((...e)=>{const t=s.findIndex((e=>u()===e));return e.map((([e,n])=>e[t]&&n)).filter((e=>e))})([[1,1,0],G({key:t})],[[1,1,1],W(e)],[[1,1,0],_],[[1,1,1],b],[[1,0,0],S()],[[1,1,1],T],[[1,1,1],z({history:!1})],[[1,1,0],I()],[[1,1,0],E],[[1,0,0],J],[[1,1,0],re()],[[1,0,0],M()],[[1,0,0],$e],[[1,1,1],w],[[1,1,0],Pe]))})()}();</script></body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Slide/slide3.md	Thu Feb 08 15:46:29 2024 +0900
@@ -0,0 +1,422 @@
+---
+marp: false
+theme: cr
+paginate: true
+---
+
+# GearsAgda による Red Black Tree の証明付き実装に関する研究
+
+<!--
+スピーカーノート
+-->
+
+琉球大学 工学部工学科 知能情報コース
+並列信頼研究室
+
+森 逸汰
+
+---
+## GearsAgdaを使ったプログラムの証明
+- GearsAgdaは、gotoからgotoまでのコードの一部を指す
+  - 例えば,赤黒木を一段下がるコード
+- 関数呼び出しを含まない特徴を持つ
+- GearsAgdaは、入力のInvariantから出力のInvariantを生成する
+- LoopConnectorでcodeGearを接続する
+  - ループの停止性とInvariantの接続を示す
+- GearsAgdaのコードはGearOSの実行単位であるcodeGearに直接対応する
+
+これにより、codeGearの正しさを証明できる
+
+---
+
+## BinaryTreeの定義
+- bt型を定義している
+- Aは任意の型になっている
+- leafとnodeはコンストラクタになっている
+- nodeは左の子と右の子を再帰的に持つ
+```c
+data bt {n : Level} (A : Set n) : Set n where
+ leaf : bt A
+ node : (key : N) → (value : A) →
+ (left : bt A ) → (right : bt A ) → bt A
+```
+
+---
+## Colorの定義
+- Color型を定義している
+- Colorは赤と黒の場合に分けられる
+```c
+data Color : Set where
+ Red : Color
+ Black : Color
+```
+---
+
+## AgdaでRedBlackTreeの構造を作る
+- valueにColorを組として渡すように設計した。
+- これにより、BinaryTreeのコードを応用することが可能になる。
+- BinaryTreeのコードを応用してRedBlackTreeを構成している。
+```c
+RBTreeTest : bt (Color ∧ N) 
+RBTreeTest = node 8 ⟪ Black , 200 ⟫ (node 5 ⟪ Red , 100 ⟫ (leaf) (leaf)) (node 10 ⟪ Red , 300 ⟫ (leaf) (leaf))
+```
+---
+
+## Insertとfindの関係
+木の操作としてInsertなどを実装したい
+- Insert操作では、挿入する場所を探す必要がある。
+- そのため、指定したKeyと一致するノードを探し出すfind操作が必要になる。
+---
+## findRBTの動作と目的
+- 動作
+  - RedBlackTreeを辿っていき、指定されたKeyを探す
+- 目的
+  - 指定されたKeyを見つけるまでに辿った正しい経路をstackに保存して返したい
+
+木を保存したstackが正しい順番で構成されているかを証明する必要がある
+
+---
+## Invariantを用いた証明
+- Invariantとはループや再帰で不変である条件や命題
+例えば...
+  - 「stackが辿った木の順番通りに保存されている」ことを示すInvariantがある
+  - 木の操作ではループや再帰などの処理が行われる
+  - 処理の後にInvariantが正しく保持されていることを示すことで、stackが木の順番通りに構成されていることが証明できる。
+
+---
+
+## stackとstackInvariantの説明
+![Width 50](figs/stack4.svg)
+
+---
+## stackInvariant型の定義
+- s-nil : 初期化状態で、stackに元の木以外は何も入っていない
+```c
+data stackInvariant {n : Level} {A : Set n}  (key : ℕ) : (top orig : bt A) → (stack  : List (bt A)) → Set n where
+s-nil :  {tree0 : bt A} → stackInvariant key tree0 tree0 (tree0 ∷ [])
+```
+- s-right : 右側を辿った木がstackに入っている
+```c
+s-right :  (tree tree0 tree₁ : bt A) → {st : List (bt A)}
+      → key₁ < key  →  stackInvariant key (node key₁ v1 tree₁ tree) tree0 st → stackInvariant key tree tree0 (tree ∷ st)
+```
+- s-left : 左側を辿った木がstackに入っている
+```c
+s-left :  (tree₁ tree0 tree : bt A) → {st : List (bt A)}
+        → key  < key₁ →  stackInvariant key (node key₁ v1 tree₁ tree) tree0 st → stackInvariant key tree₁ tree0 (tree₁ ∷ st)
+```
+
+stackがtreeを辿っていることを示す命題であることがわかる
+
+---
+
+## stackInvariantの値の例
+```c
+ s-left (14 < 15)(s-right (10 < 15)(s-right (8 < 10)) s-nil)
+```
+- stackが辿ったtreeを保存していることを示す証明になっている
+
+---
+## findRBTの実装:定義部分
+- findRBTは、treeとstackとInvariantを受け取って、Loopであるnext又は、exitに渡す
+
+```c
+ findRBT : {n m : Level} {A : Set n} {t : Set m}
+ → (key : N)
+ → (tree tree0 : bt (Color ∧ A) )
+ → (stack : List (bt (Color ∧ A)))
+ → RBtreeInvariant tree ∧ stackInvariant key tree tree0 stack
+ → (next : ... → t)
+ → (exit : ... → t) 
+ → t
+```
+---
+
+## findRBTの実装:定義部分next
+- 次のLoopに接続する部分
+- 新しいstackとstackInvariantが作られている
+- nextには、次の木の高さは元の木の高さより低くなることが条件として含まれている
+```c
+ → (next : (tree1 : bt (Color ∧ A) )
+    → (stack : List (bt (Color ∧ A)))
+    → RBtreeInvariant tree1 ∧ stackInvariant key tree1 tree0 stack
+    → bt-depth tree1 < bt-depth tree
+    → t )
+```
+
+---
+## findRBTの実装:定義部分exit
+- leafに到達するか指定したKeyのノードが見つかってLoopから脱出する部分
+```c
+ → (exit : (tree1 : bt (Color ∧ A))
+    → (stack : List (bt (Color ∧ A)))
+    → RBtreeInvariant tree1 ∧ stackInvariant key tree1 tree0 stack
+    → (tree1 ≡ leaf ) ∨ ( node-key tree1 ≡ just key )
+    → t )
+ → t
+```
+---
+
+## LoopConnectorはfindRBTのnextを接続する
+- LoopConnectorは引数として
+(loop : (r : Index)  → Invraiant r 
+ → (next : (r1 : Index)  → Invraiant r1 → reduce r1 < reduce r  → t ) → t)をとる 
+- ここにcodeGearが入り、codeGearにあるtreeやInvariantを接続できる
+- 自然数reduceが減少することによりLoopの停止性を証明できる
+- LoopConnectorで接続することによりInvariantの接続と停止性が証明される
+---
+
+## TerminatingLoopSの実際の型
+- Indexにはtreeとstackが入る
+- Invariantが(Set m)の形になるため任意の命題を入れることができる
+- reduceはIndexから減少する自然数を得る関数が入る
+- TermnatingLoopSの証明は実際に記述されている
+```c
+TerminatingLoopS : {l m : Level} {t : Set l} (Index : Set m ) → {Invraiant : Index → Set m } → ( reduce : Index → ℕ)
+   → (r : Index) → (p : Invraiant r)
+   → (loop : (r : Index)  → Invraiant r → (next : (r1 : Index)  → Invraiant r1 → reduce r1 < reduce r  → t ) → t) → t
+```
+---
+## TerminatingLoopSを使った接続
+```c
+findTest {n} {m} {A} {t} k tr0 rb0 exit = TerminatingLoopS (bt (Color ∧ A) ∧ List (bt (Color ∧ A)))
+                                                                            Index
+ {λ p → RBtreeInvariant (proj1 p) ∧ stackInvariant k (proj1 p) tr0 (proj2 p) } 
+                        Invariant
+  (λ p → bt-depth (proj1 p)) ⟪ tr0 , tr0 ∷ [] ⟫ ⟪ rb0 , s-nil ⟫
+           reduce                              初期値 
+       $ λ p RBP loop → findRBT k (proj1 p) tr0 (proj2 p) RBP  (λ t1 s1 P2 lt1 → loop ⟪ t1 ,  s1  ⟫ P2 lt1 )
+                       GearsAgdaの呼び出し
+       $ λ tr1 st P2 O → exit tr1 st P2 O
+                       GearsAgdaからの脱出
+```
+- LoopConnectorでcodeGearが接続されていることが確認できる。
+---
+## findRBTの実行結果
+- stackとstackInvariantが出力されている
+```c
+--指定したKeyの値 14 (木の中に存在するKey)
+record
+ { tree = node 14 ⟪ Red , 1400 ⟫ leaf leaf
+ ; stack =
+ node 14 ⟪ Red , 1400 ⟫ leaf leaf
+ :: node 15 ⟪ Black , 1500 ⟫ (node 14 ⟪ Red , 1400 ⟫ leaf leaf)leaf
+ :: node 10 ⟪ Red , 1000 ⟫ leaf (node 15 ⟪ Black , 1500 ⟫ (node 14 ⟪ Red , 1400 ⟫ leaf leaf) leaf)
+ :: node 8 ⟪ Black , 800 ⟫
+ (node 5 ⟪ Red , 500 ⟫ (node 2 ⟪ Black , 200 ⟫ leaf leaf)
+ (node 6 ⟪ Black , 600 ⟫ leaf leaf))
+ (node 10 ⟪ Red , 1000 ⟫ leaf
+ (node 15 ⟪ Black , 1500 ⟫ (node 14 ⟪ Red , 1400 ⟫ leaf leaf) leaf))
+ :: []
+ ; ti = rb-single 14 1400
+ ; si =
+ s-left
+ (s≤s(s≤s (s≤s(s≤s(s≤s (s≤s(s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s z≤n)))))))))))))))
+ (s-right (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s z≤n)))))))))))
+ (s-right (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s (s≤s z≤n))))))))) s-nil))
+ ; exit = case2 refl
+ }
+```
+---
+## findRBTの実行結果から
+- stackInvariantを導出できたことにより、stackが正しい順序を保っていることが証明できる
+  
+このことから、「目的の木への正しい経路を保存したstack」を返したことになるため、findRBTの動作が正しいことが証明できたと言える。
+
+---
+
+## まとめ
+
+- stackInvariantを用いることで、findRBTの正しさを証明することができた。
+- LoopConnectorを用いることで、GearsOSで複雑なアルゴリズムを実装することが可能になった。
+---
+
+## 今後の課題
+- Insertなどの証明を完成させる
+  - Insert操作の証明は未完成だが、大枠を掴むことができている。
+  - Insertは木がバランスするところまで置き換えながら上昇する
+  - 必要ならばParent GrandParent  Uncleで木の回転を行う
+  - ルートまで木を置き換えながら上昇する
+  - これらの部分は途中までかけている 
+---
+
+## おまけ
+---
+
+## Red Black Tree
+![bg right : 80%](figs/RedBlackTree.png)
+- バランスした平衡二分木の一種
+- 木はnodeとleafからなる
+- nodeにはkeyという数値が与えられる
+
+---
+
+## Red Black Tree
+![bg right : 80%](figs/RedBlackTree.png)
+- nodeの配置はKeyの大小関係によって決定する
+- 左の子のKey < 親のKey < 右の子のKey という大小関係を持つ
+
+これらは、BinaryTreeと同じ性質となっている。
+
+---
+
+## RedBlackTreeの特徴
+![bg right : 70%](figs/RedBlackTree.png)
+- 各ノードは赤か黒の色を持つ
+- 赤のノードは赤のノードを子に持たない
+- リーフノードはすべて黒である
+---
+## RedBlackTreeの特徴
+![bg right : 80%](figs/RedBlackTree.png)
+- 任意のノードについて、そのノードから子孫の葉までの道に含まれる黒いノードの数は、選んだ葉によらず一定である。
+
+---
+## RedBlackTreeの特徴
+![bg right : 80%](figs/RedBlackTree.png)
+- 根から葉まで道で最長のものの長さは、根から葉までの道で最短のものの長さの二倍を超えない。
+
+このことから、RedBlackTreeがある程度の平衡性を持つことがわかる。
+
+---
+
+## 定理証明支援系言語Agdaとは
+- Curry-Howard同型対応により、型付きラムダ計算と命題が1対1で対応するため、Agdaで書かれたプログラムは証明を書くことができる
+- Curry-Howard同型対応とは、型と命題が一致するという論理学の性質
+- 型が正しいことを示すことで、命題が正しいと言える
+
+
+---
+## stackInvariantの詳細
+- s-nil : stackの初期化状態であり、stackに元の木以外は何も入っていないことを示す
+- s-right,s-left :  1つ前の木からみて、どちら側の木をstackに積んだかを示している
+
+```c
+data stackInvariant {n : Level} {A : Set n}  (key : ℕ) : (top orig : bt A) → (stack  : List (bt A)) → Set n where
+    s-nil :  {tree0 : bt A} → stackInvariant key tree0 tree0 (tree0 ∷ [])
+    s-right :  (tree tree0 tree₁ : bt A) → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key₁ < key  →  stackInvariant key (node key₁ v1 tree₁ tree) tree0 st → stackInvariant key tree tree0 (tree ∷ st)
+    s-left :  (tree₁ tree0 tree : bt A) → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key  < key₁ →  stackInvariant key (node key₁ v1 tree₁ tree) tree0 st → stackInvariant key tree₁ tree0 (tree₁ ∷ st)
+```
+---
+
+## stackInvariantの詳細
+s-right,s-leftでは、
+- keyの大小関係を引数として渡す必要がある
+- 1つ前の木を積んだ時のstackInvariantを引数として渡す必要がある
+
+```c
+data stackInvariant {n : Level} {A : Set n}  (key : ℕ) : (top orig : bt A) → (stack  : List (bt A)) → Set n where
+    s-nil :  {tree0 : bt A} → stackInvariant key tree0 tree0 (tree0 ∷ [])
+    s-right :  (tree tree0 tree₁ : bt A) → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key₁ < key  →  stackInvariant key (node key₁ v1 tree₁ tree) tree0 st → stackInvariant key tree tree0 (tree ∷ st)
+    s-left :  (tree₁ tree0 tree : bt A) → {key₁ : ℕ } → {v1 : A } → {st : List (bt A)}
+        → key  < key₁ →  stackInvariant key (node key₁ v1 tree₁ tree) tree0 st → stackInvariant key tree₁ tree0 (tree₁ ∷ st)
+```
+---
+
+## _≤_ の説明
+- 自然数の大小関係を表す
+- 以下の2通りのパターンですべてを記述することができる
+```c
+ data _≤_ : (a b : ℕ) → Set Where  
+    z≤n : {n : ℕ } → zero ≤ n 
+    s≤s : {a b : ℕ } → a ≤ b  → suc a ≤ suc b
+```
+例えば 3 ≤ 6 を表したいときは、s≤s (s≤s (s≤s z≤n)) と書ける
+これは、Keyの大小関係を証明する際などに使用する。
+
+---
+
+## TerminatingLoopS
+- t : 不定の型。codeGearとの接続のために使用する
+- Index : 任意の型
+- Invariant : ループで不変な条件
+```c
+TerminatingLoopS : {l m : Level} {t : Set l} (Index : Set m ) → {Invraiant : Index → Set m } → ( reduce : Index → ℕ)
+   → (r : Index) → (p : Invraiant r)
+   → (loop : (r : Index)  → Invraiant r → (next : (r1 : Index)  → Invraiant r1 → reduce r1 < reduce r  → t ) → t) → t
+```
+---
+## TerminatingLoopS
+- reduce : ループで減少していく数値(ループの停止性を示すことができる)
+- r , p : IndexとInvariantの初期値
+- loop : codeGearに渡すnextの部分。reduceが減っていることの証明を引数として受け取る。tを返す
+```c
+TerminatingLoopS : {l m : Level} {t : Set l} (Index : Set m ) → {Invraiant : Index → Set m } → ( reduce : Index → ℕ)
+   → (r : Index) → (p : Invraiant r)
+   → (loop : (r : Index)  → Invraiant r → (next : (r1 : Index)  → Invraiant r1 → reduce r1 < reduce r  → t ) → t) → t
+```
+---
+
+## TerminatingLoopSを使った接続
+- Index部分 : RedBlackTreeとstackを渡している。
+- Invariant部分 : RBtreeInvariantとstackInvariantを渡している。
+```c
+findTest {n} {m} {A} {t} k tr0 rb0 exit = TerminatingLoopS (bt (Color ∧ A) ∧ List (bt (Color ∧ A)))
+ {λ p → RBtreeInvariant (proj1 p) ∧ stackInvariant k (proj1 p) tr0 (proj2 p) } (λ p → bt-depth (proj1 p)) ⟪ tr0 , tr0 ∷ [] ⟫ ⟪ rb0 , s-nil ⟫
+       $ λ p RBP loop → findRBT k (proj1 p) tr0 (proj2 p) RBP  (λ t1 s1 P2 lt1 → loop ⟪ t1 ,  s1  ⟫ P2 lt1 )
+       $ λ tr1 st P2 O → exit tr1 st P2 O
+```
+---
+## TerminatingLoopSを使った接続
+- reduce部分 : 木の深さを数値として渡している。
+- 初期値部分 : 元の木と元の木のみが入っているstackを渡している。また、それぞれのInvariantを渡している。
+- loop部分 : findRBTを呼び出すことでnextとexitを接続している
+```c
+findTest {n} {m} {A} {t} k tr0 rb0 exit = TerminatingLoopS (bt (Color ∧ A) ∧ List (bt (Color ∧ A)))
+ {λ p → RBtreeInvariant (proj1 p) ∧ stackInvariant k (proj1 p) tr0 (proj2 p) } (λ p → bt-depth (proj1 p)) ⟪ tr0 , tr0 ∷ [] ⟫ ⟪ rb0 , s-nil ⟫
+       $ λ p RBP loop → findRBT k (proj1 p) tr0 (proj2 p) RBP  (λ t1 s1 P2 lt1 → loop ⟪ t1 ,  s1  ⟫ P2 lt1 )
+       $ λ tr1 st P2 O → exit tr1 st P2 O
+```
+---
+
+## RedBlackTreeのほかのInvariant
+- RBtreeInvariant
+  木がRedBlackTreeであることを示すInvariant
+- treeInvariant
+  木がBinaryTreeであることを示すInvariant
+- replacedTree
+  木が置き換えられたということを示すInvariant
+
+---
+
+## RedBlackTreeにおけるInsert
+- RedBlackTreeのInsert操作では、黒の深さでバランスをとる必要がある。
+- バランスを行うためには、replaceやrotateなどの操作を行う。
+- 対象のnodeから見た親、祖父、おじの色で6つの場合分けを行う必要がある。
+
+---
+## Insertのケース1
+- 親が黒の場合
+  そのまま赤のnodeを挿入することができる
+---
+## Insertのケース2
+- 親が赤 祖父が黒 おじが赤の場合
+- 親が赤のためそのまま挿入できない
+- 親とおじの色を黒に変更し、祖父の色を赤にすることでバランスする。
+- 祖父の親が赤の場合、赤が連続してしまう
+- 注目するノードを祖父に変更し1つ上の黒のノードまで戻る必要がある
+---
+## Insertのケース3
+- ノードが存在しない場合
+  そのまま挿入することができる
+---
+## Insertのケース4
+- 親が赤 祖父、おじがいない場合
+- 親が赤のためそのまま挿入できない
+  親の色を黒に変更し、子ノードとして挿入する
+---
+## Insertのケース5
+- 親が赤 祖父が黒 おじが黒の場合且つ木が内側に曲がっている場合
+- 親が赤なのでそのまま挿入できない
+- 内側に曲がっていると回転がうまくできない
+- 親と子の間で回転を行い、木を外側向きに修正する必要がある
+- 修正した後の状態はケース6と同じであるため、ケース6に遷移する
+---
+## Insertのケース6
+- 親が赤 祖父が黒 おじが黒の場合且つ木が外側に曲がっている場合
+- 親が赤なのでそのまま挿入できない
+- 祖父ノードと親ノードの間で回転を行う
+- 親ノードを黒、祖父ノードを赤に変更することで挿入する
+---
\ No newline at end of file
Binary file Slide/slide3.pdf has changed