changeset 15:33d8077a5d45

commit
author tatsuki
date Thu, 09 Feb 2017 17:25:56 +0900
parents e4da23b04260
children 33f56478f7a4
files databases.tex differential.tex figures/RedBlackTreeDelete5.graffle figures/badDifTree2.graffle figures/badDifTree2.pdf figures/findDifTree.graffle figures/findDifTree.pdf indexupdate.tex introduciton.tex jungle.tex jungleUpdatePoint.tex master_paper.pdf redBlackJungleTree.tex redBlackTree.tex renderingEngine.tex
diffstat 15 files changed, 6346 insertions(+), 415 deletions(-) [+]
line wrap: on
line diff
--- a/databases.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/databases.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -10,35 +10,39 @@
 データの格納を行う際は、まずテーブルのデータの型と・制約を定義する。
 テーブルの定義は、
 
+{\tt
 \vspace{0.1in}
 CREATE TABLE table名 ( \\
 \ \ 値の名前 型 制約 , …… \\
 ) \\
-
+}
 の構文で行う。
-制約というのは、値の重複を許さない行を特定する際に用いる{\tt PRIMARY KEY}などがある。
+制約というのは、テーブルに値を入れる際に守らなければならない条件のことである。
+値の重複を許さない行を特定する際に用いる{\tt PRIMARY KEY}などがある。
 また、テーブル同士は{\tt PRIMARY KEY}を用いて参照を行うことが可能である。
 
 
 テーブルへのデータの格納は、
 
 \vspace{0.1in}
+{\tt
 INSERT INTO テーブル名 VALUES( \\
 \ \ 格納するデータ \\
 ); \\
-
+}
 の構文で行う。
 テーブルにデータを格納する際にはスキーマの定義に沿ってなければならない。
 もし、スキーマに反するデータを格納した場合
 エラーが発生しデータの格納に失敗する。
-このようにPostgreSqlは、厳密な型に守られている。
 
 
 作成したテーブルからのデータの取得は、
 
+
 \vspace{0.1in}
+{\tt
 Select 表示する値 FROM テーブル名;\\
-
+}
 
 の構文で行う。
 またテーブル名の後ろに表示する値の絞込や、データの並び替えなどのオプションをつけることも可能である。
@@ -67,7 +71,9 @@
 コレクションへのデータの格納は、
 
 \vspace{0.1in}
+{\tt
 db.コレクション名.insert({Jsonフォーマットで記述されたデータ});\\
+}
 
 の構文で行う。
 Json形式のデータは任意の深さまでネストすることが可能である。
@@ -76,7 +82,9 @@
 作成したコレクションからのデータの取得は、
 
 \vspace{0.1in}
+{\tt
 db.コレクション名.find(検索条件,表示する値の絞込);\\
+}
 
 の構文で行う。
 引数を渡さなかった場合、コレクションの中身が全て表示される。
@@ -86,7 +94,7 @@
 findで使用するクエリもJavaScriptで記述できる。
 
 
-このようにMongoDBは、非常に柔軟なデータモデルを扱える。
+このようにMongoDBは、非常に柔軟なデータモデルを扱え、 JavaScript を用いることで複雑な検索も可能である。
 一方でデータの設計を行わないと、そのパフォーマンスを活かすことはできない。
 
 
@@ -105,7 +113,9 @@
 KeySpaceは、
 
 \vspace{0.1in}
+{\tt
 create keyspace KeySpace名 with replication = {レプリケーションの設定};\\
+}
 
 の構文で行う。
 レプリケーションとは、データベースを別のノードに複製し、データの編集時に同期を取ることである。
@@ -119,7 +129,9 @@
 ColumnSpace は、
 
 \vspace{0.1in}
+{\tt
 create table テーブル名 (Key Column  PRIMARY KEY, Key Column); \\
+}
 
 の構文で行う。
 また、テーブルの定義で最低1つは Key にオプションで PRIMARY KEY を指定する必要がある。
@@ -128,7 +140,9 @@
 作成したColumnFamily への値の挿入は、
 
 \vspace{0.1in}
+{\tt
 INSERT INTO テーブル名 (key1,key2) VALUES (column1, column2);\\
+}
 
 の構文で行う。
 また、Cassandra は、PRIMARY KEY で指定した Key で、Column を管理しているため、重複した PRIMARY KEY で 値を挿入すると、データの更新扱いになり上書きされる。
@@ -136,8 +150,28 @@
 作成した ColumnFamily からのデータの取得は、
 
 \vspace{0.1in}
+{\tt
 SELECT 表示する値 FROM テーブル名 オプション;\\
+}
 
 で行う。
 またテーブル名の後ろに表示する値の絞込や、データの並び替えなどのオプションをつけることも可能である。
 
+
+\section{非破壊的木構造データベースJungle}
+Jungleは、当研究室で開発を行っているデータベースで、Javaを用いて実装されている。
+Jungleは名前付きの複数の木の集合からなり、木は複数のノードの集合で出来ている。
+ノードは自身の子のリストと属性名と属性値の組でデータを持ち、データベースのレコードに相当する。
+通常のレコードと異なるのは、ノードに子供となる複数のノードが付くところである。
+Jungleでは、親から子への片方向の参照しか持たない。
+
+通常のRDBと異なり、Jungleは木構造をそのまま読み込むことができる。例えば、XMLやJsonで記述された構造を、データベースを設計することなく読み込むことが可能である。
+また、この木を、そのままデータベースとして使用することも可能である。しかし、木の変更の手間は木の構造に依存する。
+特に非破壊木構造を採用しているJungleでは、木構造の変更の手間はO(1)からO(n)となりえる。つまり、アプリケーションに合わせて木を設計しない限り、
+十分な性能を出すことはできない。逆に、正しい木の設計を行えば高速な処理が可能である。
+
+Jungleは基本的にon memoryで使用することを考えており、一度、木のルートを取得すれば、その上で木構造として自由にアクセスして良い。
+Jungleは分散データベースを構成するように設計されており、分散ノード間の通信は木の変更のログを交換することによって行われる。
+持続性のある分散ノードを用いることでJungleの持続性を保証することができる。
+
+詳しいAPIについては次章で記述する。
--- a/differential.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/differential.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -1,82 +1,74 @@
 \chapter{Differential Jungle Tree}
-Jungleの木の変更の手間は形によって異なる。
-特に線形の木は、変更の手間がO(n)となってしまう。
-線形の木をO(1)で変更するために、Jungleは、ルートノードを追加していくPushPopの機能を持つ。
-しかし、PushPopはルートノードを追加していくため、図\ref{fig:pushpop}のようにノードの並びが逆順になってしまう。
-Logなどの正順の木でなければデータを表現できない場合、木の編集時 PushPop を使用できない。
+Jungleは木の編集時、編集を行うノードと、経路にあるノードの複製を行う。
+そのため、木の編集の手間は、木構造の形によって異なる。
+特に線形の木は、全てのノードの複製を行うため、変更の手間がO(n)になってしまう。
+そこで、Jungle は、線形の木をO(1)で変更する、PushPopの機能を持つ。
+PushPopとは、ルートノードの上に新しいルートノードを付け加えるAPIである(図\ref{fig:pushpop})。
+すると、木の複製を行う必要が無いため、木の変更の手間がO(1)でノードの追加を行える。
+
 
 \begin{figure}[htpb]
 \begin{center}
 \includegraphics[scale=0.3]{figures/PushPopDemerit.pdf}
-\caption{PushPopの問題点}
+\caption{PushPop}
 \label{fig:pushpop}
 \end{center}
 \end{figure}
 
+しかし、PushPopはルートノードを追加していくため、図\ref{fig:pushpop}のようにノードの並びが逆順になってしまう。
+Logなどの正順の木でなければデータを表現できない場合、木の編集時 PushPop を使用できない。
 その問題を解決するために、木の編集の手間をO(1)で、正順の木を構築できるDifferential Jungle Treeの実装を行った。
 Differential Jungle Treeは、木のバージョンごとに、自身の木の最後尾を表す末尾のノードを保持する。
 
+\newpage
 
 \section{Differential Tree Context}
-Jungleの木はTreeContextというオブジェクトに自身の木の情報を保持している(表\ref{TreeContext})。
+Jungleの木はTreeContextというオブジェクトに自身の木の情報を保持している。
+Differential Jungle Treeでは、現在の版の木構造の末尾ノード保持することが可能な Differential Tree Context 作成した。
 
-\newpage 
+
+\section{Differential Jungle Treeの作成}
+Differential Jungle Treeを作成するためにJungleに、新しいAPIを実装した(表\ref{createDifTreeAPI})。
 
 \begin{table}[htb]
 \begin{center}
-\caption{TreeContextが保持している値}
-\begin{tabular}{|l|}        \hline
-{\tt } 自身のルートノード\\ \hline
-{\tt } 1つ前のversionのTreeContext\\ \hline
-{\tt } 編集のログ\\ \hline
-{\tt } 木のuuid    \\ \hline
-{\tt } 木の名前    \\ \hline
-{\tt } 木のversion    \\ \hline
-{\tt } 木の検索に使うTraverser    \\ \hline
-\end{tabular}           
-\label{TreeContext}
-\end{center}                  
-\end{table}  
-
-Differential Jungle Treeでは、現在の版の木構造の末尾ノード保持することが可能な Differential Tree Context 作成した。
-
-
-
-\section{Differential Jungle Treeの作成}
-Differential Jungle Treeを作成するためにJungleに、{\tt createNewDifferentialTree(String treeName) }を実装した。
-これは、第一引数String {\tt treeName}で受け取った名前の Differential Tree を作成する。
-その際、名前が重複した場合木の生成に失敗する。
+\caption{Jungleに新しく実装したAPI}
+\begin{tabular}{|p{15em}|p{24em}|}        \hline
+{\small {\tt JungleTree createNewDifferentialTree(String treeName)}} &{\small Jungleに新しくDifferential Jungle Tree を生成する。木の名前が重複した場合、生成に失敗しnullを返す。}     \\ \hline
+\end{tabular}
+\label{createDifTreeAPI}
+\end{center}
+\end{table}
 
 
 ソースコード\ref{newDifferentialTree}に新しいDifferential Jungle Treeを作成するサンプルコードを記載する。
 \begin{lstlisting}[frame=lrbt,numbers=left,label=newDifferentialTree,caption=Differential Jungle Treeの生成]
-Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTraverser()); // jungleの作成
-String treeName = "difTree"; //treeNameの設定
-JungleTree tree = jungle.createNewDifferenceTree(treeName]); //Differential Treeの作成
+Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTraverser()); 
+String treeName = "difTree"; 
+JungleTree tree = jungle.createNewDifferenceTree(treeName); 
 \end{lstlisting}
 
+
 Jungle では、{\tt TreeMap<String,Jungle Tree>} を用いて Jungle Tree を管理している。
 Differential Jungle Tree と Default Jungle Tree は、同じ TreeMap に保持されるため、別々の木に同じ名前をつけることはできない(ソースコード\ref{src:nameFail})。
 \begin{lstlisting}[frame=lrbt,numbers=left,label=src:nameFail,caption=名前の重複]
-Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTraverser()); // jungleの作成
-String treeName = "treeName"; //treeNameの設定
-JungleTree defaultTree = jungle.createNewTree(treeName) //Default Treeの作成
-JungleTree dfTree = jungle.createNewDifferenceTree(treeName); //Differential Treeの作成
+Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTraverser()); 
+String treeName = "treeName"; 
+JungleTree defaultTree = jungle.createNewTree(treeName) 
+JungleTree dfTree = jungle.createNewDifferenceTree(treeName); 
 \end{lstlisting}
 
 ソースコード\ref{src:nameFail}では、4行目で Differentail Jungle Tree の名前が、3行目で生成した Default Jungle Tree の名前と重複するため、木の生成に失敗する。
 
-\newpage
 
 \section{末尾ノードを使用した木の編集}
 Differential Jungle Treeの木の編集は、Differential Jungle Tree Editorを使用して行う。
-%Differential Jungle Tree Editorは、Jungle Tree Editor インターフェースを実装しているため、使い方はDefault Jungle Tree Editorと同じである。
-
-Default Jungle Tree との、木の編集時の処理の違いは、Default Jungle Tree の Editorは、木の複製を行い、過去の木を保持するのに対して、Differential Jungle TreeのEditor は、自身が保持している Sub Tree に対して破壊的に編集を行う。
-そして、Commitを行う際に、構築したSub Treeを末尾ノードにAppendする。
+Differential Jungle Tree Editor は、Default Jungle Tree Editor と違い、生成時に新しい木構造(Sub Tree)を自身の中に構築する。
+そして、木の編集は、Editor が保持している木構造に対して行う。
+編集後、Commitを行う際に構築した木構造を、 Differential Jungle Tree の末尾ノードにAppendする。
 そうすることで、木の複製を行う必要がないため、木の変更の手間はO(1)で行える。
 
-また、Differential TreeはSub Treeに対する変更しか行えないため、一度Commitした木に対して変更は行えない。
+また、Differential Treeは自身が保持している木構造に対する変更しか行えないため、一度Commitした木に対して変更は行えない。
 図\ref{fig:EditDifTree}にDifferential Jungle Treeの編集の流れを記述する。
 
 \begin{figure}[htpb]
@@ -88,59 +80,66 @@
 \end{figure}
 
 \begin{enumerate}
-\item  木から{\tt getJungleTreeEditor}でEditorを取得する。(このとき取得するEditorはSub Treeを持つ)。
-\item  SubTreeに対して{\tt addNewChild(<-1,0>)}を実行し、ノードの追加を行う。
-\item  Commitを行い、Treeの末尾ノードにSub TreeをAppendする。
+\item  木から{\tt getJungleTreeEditor}でEditorを取得する。(このときEditorは新しい木構造(Sub Tree)を持つ)。
+\item  Editor が保持している木構造に対して{\tt addNewChild(<-1,0>)}を実行し、ノードの追加を行う。
+\item  Commitを行い、Treeの末尾ノードに Editor が保持している木構造をAppendする。
 \end{enumerate}
 
-Sub Tree に最後に追加したノードが、新しい木の末尾ノードとなる。
-また、Differential TreeのIndexのアップデートは、Commit 時に Sub Treeの中身をIndexに追加するだけで良い。
+Editor が保持している木構造に最後に追加したノードが、新しい木の末尾ノードとなる。
+また、Differential TreeのIndexのアップデートは、Commit 時に Editor が保持している木構造のデータをIndexに追加するだけで良い。
+
+
+
+\section{Differential Jungle Treeの検索}
+Differential Jungle Tree は、末尾ノードを使って、現在の木構造を表現している。
+なので、過去の木に対して、Indexを使わずに全探索を行った場合、その版の木には無いはずのノードが取得できてしまう。
+例として、編集前の木である {\tt Tree ver1} と編集後の木である {\tt Tree ver2}があるとする(図\ref{fig:multiTree})。
+ここで、{\tt Tree ver1}に対して、検索をIndexを使わず行った場合、
+本来{\tt Tree ver1}に存在しないノード3・4も検索対象に含まれてしまう。
+
+そこで、その版の木が持つ末尾ノード以下のSub Treeを検索対象から除外する検索を持つ、Differential Interface Traverser を実装した。
+Differential Interface Traverser を用いて Index を使用せず木の全探索を行った場合、{\tt Tree ver1}に存在しないノード3・4は検索対象から省かれる。
+
+\begin{figure}[htpb]
+\begin{center}
+\includegraphics[scale=0.25]{figures/findDifTree.pdf}
+\caption{複数の版の木の表現}
+\label{fig:multiTree}
+\end{center}
+\end{figure}
+
+
+Indexを使用した検索を行う場合、各版の木に対応したIndexがあるため、Default Treeと検索のアルゴリズムは変わらない。
+これらの実装により Differential Jungle Tree は木構造の構築・検索を行う。
 
 
 \section{Differential Jungle Treeの整合性}
+Default Jungle Tree への Commit は、 編集後の木のデータを持つ TreeContext を作り、編集前の木が持つ TreeContext と入れ替えることで行われる。
+しかし、Differentail Jungle Tree への Commit は、Default Jungle Tree のCommit と異なり、
+TreeContext の入れ替えと、Editor が保持している木構造の末尾ノードへの Append の2つのプロセスからなる。
+TreeContext の入れ替えに関しては、 Default Jungle Tree と同じように行う。
 
-Differential Jungle Treeに対する変更が競合した場合、先にCommitを行った方の変更が適応される。
-末尾ノードへのAppendは、破壊的な変更であるため、Commit成功後に行う。
-そうすることで、編集が競合した際の整合性を保っている。
+末尾ノードへの Editor が持っている木構造の Append は、 TreeContext の入れ替えが成功した際に行う。
+そうすることで、TreeContext を入れ替えた Thread と別 Thread が Append を行い、木の整合性が崩れることを回避している。
 
 
-また、Differential Jungle Treeは、木を破壊的に変更するため、過去の木を取得し変更を加えた場合、末尾ノードに複数のSub TreeがAppendされてしまい、木の整合性が崩れてしまう。
-その問題を解決するため、末尾ノードは1つしか子ノードを持つことができない。
-ノードのAppend時、末尾ノードが子ノードを持っていた場合、過去に木に対する変更と判断し、木の Commit は失敗する。
-
-\begin{comment}
-ソースコード\ref{src:Append}にSub TreeのAppend部分のコードを記述する。
+また、過去の版の木に対して、編集を加え Commit を行った場合、木の整合性が崩れてしまう問題もある。
+図\ref{fig:multiTree}・\ref{fig:badDifTree2}を例に解説する。
+最新版の木が {\tt Tree ver2}とする。
 
-\begin{lstlisting}[frame=lrbt,label=src:Append,caption=Sub TreeのAppend部分のコード,numbers=left]
-Either<Error, TreeNode> appendSubTree(TreeNode subTreeRoot) {
-  TreeNode appendedNode = treeContext.getEndNode();
-  TreeNodeChildren children = appendedNode.getChildren();
-  if (children.size() != 0)
-    return DefaultEither.newA(APPEND_FAILD); 
-  return children.addNewChildAt(0, subTreeRoot);
-}
-\end{lstlisting}
-
-ソースコード\ref{src:Append}の解説を行う。
+図\ref{fig:multiTree}の過去の版の木 {\tt Tree ver1}に新しいノード5を追加・Commit を行うと、新しい木 {\tt Tree ver`2} が構築される。
+ここで、木である{\tt Tree ver`2} に対して Index を使用しないで検索を行う。
+Differential Jungle Tree に対する Index を使用しない検索は、末尾ノードより上にあるノードを検索対象にする。
+しかしノード3・4という、本来存在しないはずのノードが検索対象に含まれてしまう。
 
-\begin{enumerate}
-\item 関数{\tt appendSubTree}でSub TreeのAppendを行う。引数にSub Treeのルートを持つ。
-\item Differential Treeから末尾ノードを取得する。
-\item 末尾ノードからChildrenを取得する。
-\item 末尾ノードにSub TreeがすでにAppendされているか(子供を持っているか)を調べる。
-\item 他のSub TreeがAppendされている(今編集を行っているのが過去の木)場合、木のAppendは失敗するため、エラーを返す。
-\item そうでない場合、Sub Treeを末尾ノードにAppendする。
-\end{enumerate}
+\begin{figure}[htpb]
+\begin{center}
+\includegraphics[scale=0.25]{figures/badDifTree2.pdf}
+\caption{木の整合性が崩れる例}
+\label{fig:badDifTree2}
+\end{center}
+\end{figure}
 
-このように、末尾ノードが複数の子を持つことを禁止することで、過去の木を取得した際の木の整合性を保証している。
-\end{comment}
-
-
-\section{Differential Jungle Treeの検索}
-Differential Treeは、木を破壊的に編集する。
-そのため、過去の木に対して、Indexを使わずに全探索を行った場合、その版の木には無いはずのノードが取得できてしまう。
-そこで、その版の木が持つ末尾ノード以下のSub Treeを検索対象から除外する検索を持つ、Differential Interface Traverser を実装した。
-
-Indexを使用した検索を行う場合、各版に対応したIndexがあるため、Default Treeと検索のアルゴリズムは変わらない。
-
-これらの実装により Differential Jungle Tree は木構造の構築・検索を行う。
+この問題を解決するために、Differential Jungle Tree では、過去の木に対する変更を禁止している。
+具体的には、末尾ノードは子を1つしか持つことができない。
+そうすることで木の整合性を保証している。
--- a/figures/RedBlackTreeDelete5.graffle	Wed Feb 08 17:26:22 2017 +0900
+++ b/figures/RedBlackTreeDelete5.graffle	Thu Feb 09 17:25:56 2017 +0900
@@ -57,10 +57,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>493</integer>
+				<integer>551</integer>
 			</dict>
 			<key>ID</key>
-			<integer>494</integer>
+			<integer>552</integer>
 			<key>Points</key>
 			<array>
 				<string>{574.9773759804915, 363.87360014180553}</string>
@@ -94,7 +94,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>493</integer>
+			<integer>551</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -136,10 +136,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>491</integer>
+				<integer>547</integer>
 			</dict>
 			<key>ID</key>
-			<integer>492</integer>
+			<integer>548</integer>
 			<key>Points</key>
 			<array>
 				<string>{574.9773759804915, 363.87360014180553}</string>
@@ -173,7 +173,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>491</integer>
+			<integer>547</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -215,10 +215,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>489</integer>
+				<integer>553</integer>
 			</dict>
 			<key>ID</key>
-			<integer>490</integer>
+			<integer>554</integer>
 			<key>Points</key>
 			<array>
 				<string>{466.76909350978838, 363.87360014180558}</string>
@@ -241,7 +241,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>484</integer>
+				<integer>543</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -259,7 +259,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>489</integer>
+			<integer>553</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -301,10 +301,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>487</integer>
+				<integer>549</integer>
 			</dict>
 			<key>ID</key>
-			<integer>488</integer>
+			<integer>550</integer>
 			<key>Points</key>
 			<array>
 				<string>{466.76909350978838, 363.87360014180558}</string>
@@ -327,7 +327,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>484</integer>
+				<integer>543</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -345,7 +345,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>487</integer>
+			<integer>549</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -387,10 +387,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>484</integer>
+				<integer>543</integer>
 			</dict>
 			<key>ID</key>
-			<integer>486</integer>
+			<integer>544</integer>
 			<key>Points</key>
 			<array>
 				<string>{517.36027621852861, 272.4248010085048}</string>
@@ -413,7 +413,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>456</integer>
+				<integer>512</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -440,7 +440,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>485</integer>
+			<integer>541</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -510,7 +510,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>484</integer>
+			<integer>543</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -552,10 +552,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>481</integer>
+				<integer>542</integer>
 			</dict>
 			<key>ID</key>
-			<integer>483</integer>
+			<integer>545</integer>
 			<key>Points</key>
 			<array>
 				<string>{517.36027621852861, 272.4248010085048}</string>
@@ -578,7 +578,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>486</integer>
+				<integer>544</integer>
 			</dict>
 		</dict>
 		<dict>
@@ -603,7 +603,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>482</integer>
+			<integer>546</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -673,7 +673,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>481</integer>
+			<integer>542</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -715,10 +715,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>475</integer>
+				<integer>514</integer>
 			</dict>
 			<key>ID</key>
-			<integer>476</integer>
+			<integer>515</integer>
 			<key>Points</key>
 			<array>
 				<string>{816.3582353554915, 181.33090209960938}</string>
@@ -752,7 +752,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>475</integer>
+			<integer>514</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -794,10 +794,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>473</integer>
+				<integer>518</integer>
 			</dict>
 			<key>ID</key>
-			<integer>474</integer>
+			<integer>519</integer>
 			<key>Points</key>
 			<array>
 				<string>{816.3582353554915, 181.33090209960938}</string>
@@ -831,7 +831,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>473</integer>
+			<integer>518</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -873,10 +873,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>471</integer>
+				<integer>537</integer>
 			</dict>
 			<key>ID</key>
-			<integer>472</integer>
+			<integer>538</integer>
 			<key>Points</key>
 			<array>
 				<string>{671.08034228908525, 272.42481626729381}</string>
@@ -910,7 +910,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>471</integer>
+			<integer>537</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -952,10 +952,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>469</integer>
+				<integer>539</integer>
 			</dict>
 			<key>ID</key>
-			<integer>470</integer>
+			<integer>540</integer>
 			<key>Points</key>
 			<array>
 				<string>{671.08034228908525, 272.42481626729381}</string>
@@ -989,7 +989,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>469</integer>
+			<integer>539</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1031,12 +1031,12 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>456</integer>
+				<integer>512</integer>
 				<key>Info</key>
 				<integer>2</integer>
 			</dict>
 			<key>ID</key>
-			<integer>458</integer>
+			<integer>513</integer>
 			<key>Points</key>
 			<array>
 				<string>{591.99743520087907, 181.3309217394411}</string>
@@ -1059,7 +1059,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>447</integer>
+				<integer>508</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -1086,7 +1086,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>457</integer>
+			<integer>507</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -1156,7 +1156,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>456</integer>
+			<integer>512</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1198,12 +1198,12 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>453</integer>
+				<integer>516</integer>
 				<key>Info</key>
 				<integer>2</integer>
 			</dict>
 			<key>ID</key>
-			<integer>455</integer>
+			<integer>517</integer>
 			<key>Points</key>
 			<array>
 				<string>{591.99743520087907, 181.3309217394411}</string>
@@ -1226,7 +1226,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>447</integer>
+				<integer>508</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -1253,7 +1253,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>454</integer>
+			<integer>520</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -1323,7 +1323,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>453</integer>
+			<integer>516</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1381,7 +1381,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>452</integer>
+			<integer>506</integer>
 			<key>Shape</key>
 			<string>Rectangle</string>
 			<key>Style</key>
@@ -1458,7 +1458,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>451</integer>
+			<integer>505</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -1537,7 +1537,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>450</integer>
+			<integer>500</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -1600,12 +1600,12 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>446</integer>
+				<integer>510</integer>
 				<key>Info</key>
 				<integer>2</integer>
 			</dict>
 			<key>ID</key>
-			<integer>449</integer>
+			<integer>511</integer>
 			<key>Points</key>
 			<array>
 				<string>{691.10736226110225, 101.56261827594868}</string>
@@ -1628,7 +1628,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>445</integer>
+				<integer>501</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -1639,12 +1639,12 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>447</integer>
+				<integer>508</integer>
 				<key>Info</key>
 				<integer>2</integer>
 			</dict>
 			<key>ID</key>
-			<integer>448</integer>
+			<integer>509</integer>
 			<key>Points</key>
 			<array>
 				<string>{691.10736226110225, 101.56261827594868}</string>
@@ -1667,7 +1667,7 @@
 			<key>Tail</key>
 			<dict>
 				<key>ID</key>
-				<integer>445</integer>
+				<integer>501</integer>
 				<key>Info</key>
 				<integer>1</integer>
 			</dict>
@@ -1685,7 +1685,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>447</integer>
+			<integer>508</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1734,7 +1734,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>446</integer>
+			<integer>510</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1783,7 +1783,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>445</integer>
+			<integer>501</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1841,7 +1841,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>406</integer>
+			<integer>504</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -1904,10 +1904,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>302</integer>
+				<integer>525</integer>
 			</dict>
 			<key>ID</key>
-			<integer>303</integer>
+			<integer>526</integer>
 			<key>Points</key>
 			<array>
 				<string>{380.58720820378994, 272.42480708673304}</string>
@@ -1948,7 +1948,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>302</integer>
+			<integer>525</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -1990,10 +1990,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>300</integer>
+				<integer>527</integer>
 			</dict>
 			<key>ID</key>
-			<integer>301</integer>
+			<integer>528</integer>
 			<key>Points</key>
 			<array>
 				<string>{380.58720820378994, 272.42480708673304}</string>
@@ -2034,7 +2034,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>300</integer>
+			<integer>527</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2076,10 +2076,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>298</integer>
+				<integer>531</integer>
 			</dict>
 			<key>ID</key>
-			<integer>299</integer>
+			<integer>532</integer>
 			<key>Points</key>
 			<array>
 				<string>{271.89639758693681, 268.14511108398438}</string>
@@ -2113,7 +2113,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>298</integer>
+			<integer>531</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2155,10 +2155,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>296</integer>
+				<integer>523</integer>
 			</dict>
 			<key>ID</key>
-			<integer>297</integer>
+			<integer>524</integer>
 			<key>Points</key>
 			<array>
 				<string>{271.89639758693681, 268.14511108398438}</string>
@@ -2192,7 +2192,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>296</integer>
+			<integer>523</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2234,10 +2234,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>294</integer>
+				<integer>529</integer>
 			</dict>
 			<key>ID</key>
-			<integer>295</integer>
+			<integer>530</integer>
 			<key>Points</key>
 			<array>
 				<string>{168.13063525783525, 268.14511503438365}</string>
@@ -2271,7 +2271,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>294</integer>
+			<integer>529</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2313,10 +2313,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>292</integer>
+				<integer>535</integer>
 			</dict>
 			<key>ID</key>
-			<integer>293</integer>
+			<integer>536</integer>
 			<key>Points</key>
 			<array>
 				<string>{168.13063525783525, 268.14511503438365}</string>
@@ -2350,7 +2350,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>292</integer>
+			<integer>535</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2392,10 +2392,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>286</integer>
+				<integer>533</integer>
 			</dict>
 			<key>ID</key>
-			<integer>287</integer>
+			<integer>534</integer>
 			<key>Points</key>
 			<array>
 				<string>{59.922352787132112, 268.14511503438371}</string>
@@ -2436,7 +2436,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>286</integer>
+			<integer>533</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2478,10 +2478,10 @@
 			<key>Head</key>
 			<dict>
 				<key>ID</key>
-				<integer>284</integer>
+				<integer>521</integer>
 			</dict>
 			<key>ID</key>
-			<integer>285</integer>
+			<integer>522</integer>
 			<key>Points</key>
 			<array>
 				<string>{59.922352787132112, 268.14511503438371}</string>
@@ -2522,7 +2522,7 @@
 				<real>12</real>
 			</dict>
 			<key>ID</key>
-			<integer>284</integer>
+			<integer>521</integer>
 			<key>Magnets</key>
 			<array>
 				<string>{0, 1}</string>
@@ -2567,12 +2567,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -2679,6 +2817,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -2762,12 +3047,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -2839,6 +3262,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -2880,6 +3450,8 @@
 				<key>VerticalPad</key>
 				<integer>0</integer>
 			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
 		</dict>
 		<dict>
 			<key>Class</key>
@@ -2920,12 +3492,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -2997,6 +3707,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -3085,12 +3942,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -3162,6 +4157,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -3213,12 +4355,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -3226,7 +4506,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>245</integer>
+			<integer>499</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -3292,12 +4572,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -3371,12 +4789,150 @@
 			<dict>
 				<key>Color</key>
 				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
 					<key>b</key>
-					<string>1</string>
+					<string>0</string>
 					<key>g</key>
-					<string>1</string>
+					<string>0</string>
 					<key>r</key>
-					<string>1</string>
+					<string>0</string>
 				</dict>
 				<key>Font</key>
 				<string>HiraKakuPro-W3</string>
@@ -3526,6 +5082,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -3575,6 +5278,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -3624,6 +5474,153 @@
 			<string>ShapedGraphic</string>
 			<key>FontInfo</key>
 			<dict>
+				<key>Color</key>
+				<dict>
+					<key>archive</key>
+					<data>
+					YnBsaXN0MDDUAQIDBAUGLC1YJHZlcnNpb25Y
+					JG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGG
+					oKcHCBMZHSQoVSRudWxs1QkKCwwNDg8QERJc
+					TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT
+					cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk
+					Y2xhc3NHMCAwIDAgMUYwIDAgMAAQAYACgAbT
+					FBUNFhcYVE5TSURVTlNJQ0MQB4ADgAXSGg0b
+					HFdOUy5kYXRhTxEMSAAADEhMaW5vAhAAAG1u
+					dHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
+					U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAA
+					AAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+					AAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIE
+					AAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAA
+					FGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRt
+					ZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcA
+					AAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQM
+					AAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAI
+					DGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+					eHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhl
+					d2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
+					AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA
+					AAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4x
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVog
+					AAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAA
+					AAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
+					A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAA
+					AAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAW
+					SUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
+					AAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNo
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAA
+					AAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+					R0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA
+					AAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVs
+					dCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAA
+					AAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25k
+					aXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
+					AAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29u
+					ZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAA
+					AAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAA
+					AAAAE6T+ABRfLgAQzxQAA+3MAAQTCwADXJ4A
+					AAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFz
+					AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
+					jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAA
+					BAAAAAAFAAoADwAUABkAHgAjACgALQAyADcA
+					OwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8
+					AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwA
+					wQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH
+					AQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkB
+					YAFnAW4BdQF8AYMBiwGSAZoBoQGpAbEBuQHB
+					AckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8C
+					OAJBAksCVAJdAmcCcQJ6AoQCjgKYAqICrAK2
+					AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MD
+					TwNaA2YDcgN+A4oDlgOiA64DugPHA9MD4APs
+					A/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoE
+					qAS2BMQE0wThBPAE/gUNBRwFKwU6BUkFWAVn
+					BXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcG
+					SAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcr
+					Bz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8I
+					MghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6
+					CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQK
+					agqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
+					C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM
+					8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J
+					DmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MP
+					zw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFP
+					EW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMT
+					AxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixSt
+					FM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwW
+					jxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhl
+					GIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEa
+					dxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+					HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+					vh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDw
+					IRwhSCF1IaEhziH7IiciVSKCIq8i3SMKIzgj
+					ZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXH
+					JfcmJyZXJocmtyboJxgnSSd6J6sn3CgNKD8o
+					cSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysC
+					KzYraSudK9EsBSw5LG4soizXLQwtQS12Last
+					4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk
+					MNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
+					uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjau
+					Nuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5
+					+To2OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0i
+					PWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRA
+					pkDnQSlBakGsQe5CMEJyQrVC90M6Q31DwEQD
+					REdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+					wEgFSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtT
+					S5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBP
+					SU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MT
+					U19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdX
+					RFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtF
+					W5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+					s2AFYFdgqmD8YU9homH1YklinGLwY0Njl2Pr
+					ZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9o
+					lmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I
+					bWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx
+					8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2Pnab
+					dvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7
+					wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+					gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauG
+					DoZyhteHO4efiASIaYjOiTOJmYn+imSKyosw
+					i5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q
+					1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0
+					lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtCm6+c
+					HJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2
+					oiailqMGo3aj5qRWpMelOKWpphqmi6b9p26n
+					4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24
+					ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4s660
+					JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7
+					urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA
+					7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB
+					x7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXO
+					Ns62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL
+					1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724Dc
+					BdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb
+					42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDq
+					W+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy
+					8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
+					OPnH+lf65/t3/Af8mP0p/br+S/7c/23//4AE
+					0h4fICFaJGNsYXNzbmFtZVgkY2xhc3Nlc11O
+					U011dGFibGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+					YmplY3TSHh8lJlxOU0NvbG9yU3BhY2WiJyNc
+					TlNDb2xvclNwYWNl0h4fKSpXTlNDb2xvcqIr
+					I1dOU0NvbG9yXxAPTlNLZXllZEFyY2hpdmVy
+					0S4vVHJvb3SAAQAIABEAGgAjAC0AMgA3AD8A
+					RQBQAF0AYwBwAIUAjACUAJsAnQCfAKEAqACt
+					ALMAtQC3ALkAvgDGDRINFA0ZDSQNLQ07DT8N
+					Rg1PDVQNYQ1kDXENdg1+DYENiQ2bDZ4NowAA
+					AAAAAAIBAAAAAAAAADAAAAAAAAAAAAAAAAAA
+					AA2l
+					</data>
+					<key>b</key>
+					<string>0</string>
+					<key>g</key>
+					<string>0</string>
+					<key>r</key>
+					<string>0</string>
+				</dict>
 				<key>Font</key>
 				<string>HiraKakuProN-W3</string>
 				<key>Size</key>
@@ -3665,6 +5662,8 @@
 				<key>VerticalPad</key>
 				<integer>0</integer>
 			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
 		</dict>
 		<dict>
 			<key>Bounds</key>
@@ -3692,7 +5691,7 @@
 				<real>24</real>
 			</dict>
 			<key>ID</key>
-			<integer>118</integer>
+			<integer>502</integer>
 			<key>Shape</key>
 			<string>Circle</string>
 			<key>Style</key>
@@ -3753,7 +5752,7 @@
 			<key>Class</key>
 			<string>LineGraphic</string>
 			<key>ID</key>
-			<integer>117</integer>
+			<integer>503</integer>
 			<key>Points</key>
 			<array>
 				<string>{352.25993728637695, 103.00321976937084}</string>
@@ -3822,7 +5821,7 @@
 	<key>MasterSheets</key>
 	<array/>
 	<key>ModificationDate</key>
-	<string>2017-02-07 09:16:06 +0000</string>
+	<string>2017-02-09 08:22:50 +0000</string>
 	<key>Modifier</key>
 	<string>sister_clown</string>
 	<key>NotesVisible</key>
@@ -3912,7 +5911,7 @@
 		<key>SidebarWidth</key>
 		<integer>120</integer>
 		<key>VisibleRegion</key>
-		<string>{{16, 0}, {904, 764}}</string>
+		<string>{{0, 0}, {918, 779}}</string>
 		<key>Zoom</key>
 		<real>1</real>
 		<key>ZoomValues</key>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/figures/badDifTree2.graffle	Thu Feb 09 17:25:56 2017 +0900
@@ -0,0 +1,1974 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ActiveLayerIndex</key>
+	<integer>0</integer>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGraffle</string>
+		<string>139.16.0.171715</string>
+	</array>
+	<key>AutoAdjust</key>
+	<true/>
+	<key>BackgroundGraphic</key>
+	<dict>
+		<key>Bounds</key>
+		<string>{{0, 0}, {1118, 783}}</string>
+		<key>Class</key>
+		<string>SolidGraphic</string>
+		<key>ID</key>
+		<integer>2</integer>
+		<key>Style</key>
+		<dict>
+			<key>shadow</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+			<key>stroke</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+		</dict>
+	</dict>
+	<key>BaseZoom</key>
+	<integer>0</integer>
+	<key>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2017-02-08 19:06:16 +0000</string>
+	<key>Creator</key>
+	<string>sister_clown</string>
+	<key>DisplayScale</key>
+	<string>1 0/72 in = 1 0/72 in</string>
+	<key>GraphDocumentVersion</key>
+	<integer>8</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>183</integer>
+				<key>Info</key>
+				<integer>2</integer>
+			</dict>
+			<key>ID</key>
+			<integer>184</integer>
+			<key>Points</key>
+			<array>
+				<string>{490.625, 374.25}</string>
+				<string>{436, 391.49999151757834}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NPEBMwIDAu
+						MDE2MDYyNjA4ODcgMSAxTxARMCAw
+						IDAuOTk4MTkwMDQ1NAAQAYACgAbT
+						FBUNFhcYVE5TSURVTlNJQ0MQB4AD
+						gAXSGg0bHFdOUy5kYXRhTxEMSAAA
+						DEhMaW5vAhAAAG1udHJSR0IgWFla
+						IAfOAAIACQAGADEAAGFjc3BNU0ZU
+						AAAAAElFQyBzUkdCAAAAAAAAAAAA
+						AAAAAAD21gABAAAAANMtSFAgIAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+						AAGEAAAAbHd0cHQAAAHwAAAAFGJr
+						cHQAAAIEAAAAFHJYWVoAAAIYAAAA
+						FGdYWVoAAAIsAAAAFGJYWVoAAAJA
+						AAAAFGRtbmQAAAJUAAAAcGRtZGQA
+						AALEAAAAiHZ1ZWQAAANMAAAAhnZp
+						ZXcAAAPUAAAAJGx1bWkAAAP4AAAA
+						FG1lYXMAAAQMAAAAJHRlY2gAAAQw
+						AAAADHJUUkMAAAQ8AAAIDGdUUkMA
+						AAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+						eHQAAAAAQ29weXJpZ2h0IChjKSAx
+						OTk4IEhld2xldHQtUGFja2FyZCBD
+						b21wYW55AABkZXNjAAAAAAAAABJz
+						UkdCIElFQzYxOTY2LTIuMQAAAAAA
+						AAAAAAAAEnNSR0IgSUVDNjE5NjYt
+						Mi4xAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAABYWVogAAAAAAAA
+						81EAAQAAAAEWzFhZWiAAAAAAAAAA
+						AAAAAAAAAAAAWFlaIAAAAAAAAG+i
+						AAA49QAAA5BYWVogAAAAAAAAYpkA
+						ALeFAAAY2lhZWiAAAAAAAAAkoAAA
+						D4QAALbPZGVzYwAAAAAAAAAWSUVD
+						IGh0dHA6Ly93d3cuaWVjLmNoAAAA
+						AAAAAAAAAAAWSUVDIGh0dHA6Ly93
+						d3cuaWVjLmNoAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAGRlc2MAAAAA
+						AAAALklFQyA2MTk2Ni0yLjEgRGVm
+						YXVsdCBSR0IgY29sb3VyIHNwYWNl
+						IC0gc1JHQgAAAAAAAAAAAAAALklF
+						QyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+						R0IgY29sb3VyIHNwYWNlIC0gc1JH
+						QgAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AABkZXNjAAAAAAAAACxSZWZlcmVu
+						Y2UgVmlld2luZyBDb25kaXRpb24g
+						aW4gSUVDNjE5NjYtMi4xAAAAAAAA
+						AAAAAAAsUmVmZXJlbmNlIFZpZXdp
+						bmcgQ29uZGl0aW9uIGluIElFQzYx
+						OTY2LTIuMQAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAdmlldwAAAAAA
+						E6T+ABRfLgAQzxQAA+3MAAQTCwAD
+						XJ4AAAABWFlaIAAAAAAATAlWAFAA
+						AABXH+dtZWFzAAAAAAAAAAEAAAAA
+						AAAAAAAAAAAAAAAAAAACjwAAAAJz
+						aWcgAAAAAENSVCBjdXJ2AAAAAAAA
+						BAAAAAAFAAoADwAUABkAHgAjACgA
+						LQAyADcAOwBAAEUASgBPAFQAWQBe
+						AGMAaABtAHIAdwB8AIEAhgCLAJAA
+						lQCaAJ8ApACpAK4AsgC3ALwAwQDG
+						AMsA0ADVANsA4ADlAOsA8AD2APsB
+						AQEHAQ0BEwEZAR8BJQErATIBOAE+
+						AUUBTAFSAVkBYAFnAW4BdQF8AYMB
+						iwGSAZoBoQGpAbEBuQHBAckB0QHZ
+						AeEB6QHyAfoCAwIMAhQCHQImAi8C
+						OAJBAksCVAJdAmcCcQJ6AoQCjgKY
+						AqICrAK2AsECywLVAuAC6wL1AwAD
+						CwMWAyEDLQM4A0MDTwNaA2YDcgN+
+						A4oDlgOiA64DugPHA9MD4APsA/kE
+						BgQTBCAELQQ7BEgEVQRjBHEEfgSM
+						BJoEqAS2BMQE0wThBPAE/gUNBRwF
+						KwU6BUkFWAVnBXcFhgWWBaYFtQXF
+						BdUF5QX2BgYGFgYnBjcGSAZZBmoG
+						ewaMBp0GrwbABtEG4wb1BwcHGQcr
+						Bz0HTwdhB3QHhgeZB6wHvwfSB+UH
+						+AgLCB8IMghGCFoIbgiCCJYIqgi+
+						CNII5wj7CRAJJQk6CU8JZAl5CY8J
+						pAm6Cc8J5Qn7ChEKJwo9ClQKagqB
+						CpgKrgrFCtwK8wsLCyILOQtRC2kL
+						gAuYC7ALyAvhC/kMEgwqDEMMXAx1
+						DI4MpwzADNkM8w0NDSYNQA1aDXQN
+						jg2pDcMN3g34DhMOLg5JDmQOfw6b
+						DrYO0g7uDwkPJQ9BD14Peg+WD7MP
+						zw/sEAkQJhBDEGEQfhCbELkQ1xD1
+						ERMRMRFPEW0RjBGqEckR6BIHEiYS
+						RRJkEoQSoxLDEuMTAxMjE0MTYxOD
+						E6QTxRPlFAYUJxRJFGoUixStFM4U
+						8BUSFTQVVhV4FZsVvRXgFgMWJhZJ
+						FmwWjxayFtYW+hcdF0EXZReJF64X
+						0hf3GBsYQBhlGIoYrxjVGPoZIBlF
+						GWsZkRm3Gd0aBBoqGlEadxqeGsUa
+						7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+						HKMczBz1HR4dRx1wHZkdwx3sHhYe
+						QB5qHpQevh7pHxMfPh9pH5Qfvx/q
+						IBUgQSBsIJggxCDwIRwhSCF1IaEh
+						ziH7IiciVSKCIq8i3SMKIzgjZiOU
+						I8Ij8CQfJE0kfCSrJNolCSU4JWgl
+						lyXHJfcmJyZXJocmtyboJxgnSSd6
+						J6sn3CgNKD8ocSiiKNQpBik4KWsp
+						nSnQKgIqNSpoKpsqzysCKzYraSud
+						K9EsBSw5LG4soizXLQwtQS12Last
+						4S4WLkwugi63Lu4vJC9aL5Evxy/+
+						MDUwbDCkMNsxEjFKMYIxujHyMioy
+						YzKbMtQzDTNGM38zuDPxNCs0ZTSe
+						NNg1EzVNNYc1wjX9Njc2cjauNuk3
+						JDdgN5w31zgUOFA4jDjIOQU5Qjl/
+						Obw5+To2OnQ6sjrvOy07azuqO+g8
+						JzxlPKQ84z0iPWE9oT3gPiA+YD6g
+						PuA/IT9hP6I/4kAjQGRApkDnQSlB
+						akGsQe5CMEJyQrVC90M6Q31DwEQD
+						REdEikTORRJFVUWaRd5GIkZnRqtG
+						8Ec1R3tHwEgFSEtIkUjXSR1JY0mp
+						SfBKN0p9SsRLDEtTS5pL4kwqTHJM
+						uk0CTUpNk03cTiVObk63TwBPSU+T
+						T91QJ1BxULtRBlFQUZtR5lIxUnxS
+						x1MTU19TqlP2VEJUj1TbVShVdVXC
+						Vg9WXFapVvdXRFeSV+BYL1h9WMtZ
+						GllpWbhaB1pWWqZa9VtFW5Vb5Vw1
+						XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+						s2AFYFdgqmD8YU9homH1YklinGLw
+						Y0Njl2PrZEBklGTpZT1lkmXnZj1m
+						kmboZz1nk2fpaD9olmjsaUNpmmnx
+						akhqn2r3a09rp2v/bFdsr20IbWBt
+						uW4SbmtuxG8eb3hv0XArcIZw4HE6
+						cZVx8HJLcqZzAXNdc7h0FHRwdMx1
+						KHWFdeF2Pnabdvh3VnezeBF4bnjM
+						eSp5iXnnekZ6pXsEe2N7wnwhfIF8
+						4X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+						gQqBa4HNgjCCkoL0g1eDuoQdhICE
+						44VHhauGDoZyhteHO4efiASIaYjO
+						iTOJmYn+imSKyoswi5aL/IxjjMqN
+						MY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
+						kaiSEZJ6kuOTTZO2lCCUipT0lV+V
+						yZY0lp+XCpd1l+CYTJi4mSSZkJn8
+						mmia1ZtCm6+cHJyJnPedZJ3SnkCe
+						rp8dn4uf+qBpoNihR6G2oiailqMG
+						o3aj5qRWpMelOKWpphqmi6b9p26n
+						4KhSqMSpN6mpqhyqj6sCq3Wr6axc
+						rNCtRK24ri2uoa8Wr4uwALB1sOqx
+						YLHWskuywrM4s660JbSctRO1irYB
+						tnm28Ldot+C4WbjRuUq5wro7urW7
+						LrunvCG8m70VvY++Cr6Evv+/er/1
+						wHDA7MFnwePCX8Lbw1jD1MRRxM7F
+						S8XIxkbGw8dBx7/IPci8yTrJuco4
+						yrfLNsu2zDXMtc01zbXONs62zzfP
+						uNA50LrRPNG+0j/SwdNE08bUSdTL
+						1U7V0dZV1tjXXNfg2GTY6Nls2fHa
+						dtr724DcBdyK3RDdlt4c3qLfKd+v
+						4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+						hOYN5pbnH+ep6DLovOlG6dDqW+rl
+						63Dr++yG7RHtnO4o7rTvQO/M8Fjw
+						5fFy8f/yjPMZ86f0NPTC9VD13vZt
+						9vv3ivgZ+Kj5OPnH+lf65/t3/Af8
+						mP0p/br+S/7c/23//4AE0h4fICFa
+						JGNsYXNzbmFtZVgkY2xhc3Nlc11O
+						U011dGFibGVEYXRhoyAiI1ZOU0Rh
+						dGFYTlNPYmplY3TSHh8lJlxOU0Nv
+						bG9yU3BhY2WiJyNcTlNDb2xvclNw
+						YWNl0h4fKSpXTlNDb2xvcqIrI1dO
+						U0NvbG9yXxAPTlNLZXllZEFyY2hp
+						dmVy0S4vVHJvb3SAAQAIABEAGgAj
+						AC0AMgA3AD8ARQBQAF0AYwBwAIUA
+						jACiALYAuAC6ALwAwwDIAM4A0ADS
+						ANQA2QDhDS0NLw00DT8NSA1WDVoN
+						YQ1qDW8NfA1/DYwNkQ2ZDZwNpA22
+						DbkNvgAAAAAAAAIBAAAAAAAAADAA
+						AAAAAAAAAAAAAAAAAA3A
+						</data>
+						<key>b</key>
+						<string>0.99819</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>173</integer>
+				<key>Info</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{396, 391.50001101757823}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>183</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NPEBQwLjAw
+						MTI2NTg2NDM5NSAwIDEgMU8QETAg
+						MCAwLjk5ODE4OTA5MTcAEAGAAoAG
+						0xQVDRYXGFROU0lEVU5TSUNDEAeA
+						A4AF0hoNGxxXTlMuZGF0YU8RDEgA
+						AAxITGlubwIQAABtbnRyUkdCIFhZ
+						WiAHzgACAAkABgAxAABhY3NwTVNG
+						VAAAAABJRUMgc1JHQgAAAAAAAAAA
+						AAAAAAAA9tYAAQAAAADTLUhQICAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAABFjcHJ0AAABUAAAADNkZXNj
+						AAABhAAAAGx3dHB0AAAB8AAAABRi
+						a3B0AAACBAAAABRyWFlaAAACGAAA
+						ABRnWFlaAAACLAAAABRiWFlaAAAC
+						QAAAABRkbW5kAAACVAAAAHBkbWRk
+						AAACxAAAAIh2dWVkAAADTAAAAIZ2
+						aWV3AAAD1AAAACRsdW1pAAAD+AAA
+						ABRtZWFzAAAEDAAAACR0ZWNoAAAE
+						MAAAAAxyVFJDAAAEPAAACAxnVFJD
+						AAAEPAAACAxiVFJDAAAEPAAACAx0
+						ZXh0AAAAAENvcHlyaWdodCAoYykg
+						MTk5OCBIZXdsZXR0LVBhY2thcmQg
+						Q29tcGFueQAAZGVzYwAAAAAAAAAS
+						c1JHQiBJRUM2MTk2Ni0yLjEAAAAA
+						AAAAAAAAABJzUkdCIElFQzYxOTY2
+						LTIuMQAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAWFlaIAAAAAAA
+						APNRAAEAAAABFsxYWVogAAAAAAAA
+						AAAAAAAAAAAAAFhZWiAAAAAAAABv
+						ogAAOPUAAAOQWFlaIAAAAAAAAGKZ
+						AAC3hQAAGNpYWVogAAAAAAAAJKAA
+						AA+EAAC2z2Rlc2MAAAAAAAAAFklF
+						QyBodHRwOi8vd3d3LmllYy5jaAAA
+						AAAAAAAAAAAAFklFQyBodHRwOi8v
+						d3d3LmllYy5jaAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAABkZXNjAAAA
+						AAAAAC5JRUMgNjE5NjYtMi4xIERl
+						ZmF1bHQgUkdCIGNvbG91ciBzcGFj
+						ZSAtIHNSR0IAAAAAAAAAAAAAAC5J
+						RUMgNjE5NjYtMi4xIERlZmF1bHQg
+						UkdCIGNvbG91ciBzcGFjZSAtIHNS
+						R0IAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAZGVzYwAAAAAAAAAsUmVmZXJl
+						bmNlIFZpZXdpbmcgQ29uZGl0aW9u
+						IGluIElFQzYxOTY2LTIuMQAAAAAA
+						AAAAAAAALFJlZmVyZW5jZSBWaWV3
+						aW5nIENvbmRpdGlvbiBpbiBJRUM2
+						MTk2Ni0yLjEAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAHZpZXcAAAAA
+						ABOk/gAUXy4AEM8UAAPtzAAEEwsA
+						A1yeAAAAAVhZWiAAAAAAAEwJVgBQ
+						AAAAVx/nbWVhcwAAAAAAAAABAAAA
+						AAAAAAAAAAAAAAAAAAAAAo8AAAAC
+						c2lnIAAAAABDUlQgY3VydgAAAAAA
+						AAQAAAAABQAKAA8AFAAZAB4AIwAo
+						AC0AMgA3ADsAQABFAEoATwBUAFkA
+						XgBjAGgAbQByAHcAfACBAIYAiwCQ
+						AJUAmgCfAKQAqQCuALIAtwC8AMEA
+						xgDLANAA1QDbAOAA5QDrAPAA9gD7
+						AQEBBwENARMBGQEfASUBKwEyATgB
+						PgFFAUwBUgFZAWABZwFuAXUBfAGD
+						AYsBkgGaAaEBqQGxAbkBwQHJAdEB
+						2QHhAekB8gH6AgMCDAIUAh0CJgIv
+						AjgCQQJLAlQCXQJnAnECegKEAo4C
+						mAKiAqwCtgLBAssC1QLgAusC9QMA
+						AwsDFgMhAy0DOANDA08DWgNmA3ID
+						fgOKA5YDogOuA7oDxwPTA+AD7AP5
+						BAYEEwQgBC0EOwRIBFUEYwRxBH4E
+						jASaBKgEtgTEBNME4QTwBP4FDQUc
+						BSsFOgVJBVgFZwV3BYYFlgWmBbUF
+						xQXVBeUF9gYGBhYGJwY3BkgGWQZq
+						BnsGjAadBq8GwAbRBuMG9QcHBxkH
+						Kwc9B08HYQd0B4YHmQesB78H0gfl
+						B/gICwgfCDIIRghaCG4IggiWCKoI
+						vgjSCOcI+wkQCSUJOglPCWQJeQmP
+						CaQJugnPCeUJ+woRCicKPQpUCmoK
+						gQqYCq4KxQrcCvMLCwsiCzkLUQtp
+						C4ALmAuwC8gL4Qv5DBIMKgxDDFwM
+						dQyODKcMwAzZDPMNDQ0mDUANWg10
+						DY4NqQ3DDd4N+A4TDi4OSQ5kDn8O
+						mw62DtIO7g8JDyUPQQ9eD3oPlg+z
+						D88P7BAJECYQQxBhEH4QmxC5ENcQ
+						9RETETERTxFtEYwRqhHJEegSBxIm
+						EkUSZBKEEqMSwxLjEwMTIxNDE2MT
+						gxOkE8UT5RQGFCcUSRRqFIsUrRTO
+						FPAVEhU0FVYVeBWbFb0V4BYDFiYW
+						SRZsFo8WshbWFvoXHRdBF2UXiReu
+						F9IX9xgbGEAYZRiKGK8Y1Rj6GSAZ
+						RRlrGZEZtxndGgQaKhpRGncanhrF
+						GuwbFBs7G2MbihuyG9ocAhwqHFIc
+						exyjHMwc9R0eHUcdcB2ZHcMd7B4W
+						HkAeah6UHr4e6R8THz4faR+UH78f
+						6iAVIEEgbCCYIMQg8CEcIUghdSGh
+						Ic4h+yInIlUigiKvIt0jCiM4I2Yj
+						lCPCI/AkHyRNJHwkqyTaJQklOCVo
+						JZclxyX3JicmVyaHJrcm6CcYJ0kn
+						eierJ9woDSg/KHEooijUKQYpOClr
+						KZ0p0CoCKjUqaCqbKs8rAis2K2kr
+						nSvRLAUsOSxuLKIs1y0MLUEtdi2r
+						LeEuFi5MLoIuty7uLyQvWi+RL8cv
+						/jA1MGwwpDDbMRIxSjGCMbox8jIq
+						MmMymzLUMw0zRjN/M7gz8TQrNGU0
+						njTYNRM1TTWHNcI1/TY3NnI2rjbp
+						NyQ3YDecN9c4FDhQOIw4yDkFOUI5
+						fzm8Ofk6Njp0OrI67zstO2s7qjvo
+						PCc8ZTykPOM9Ij1hPaE94D4gPmA+
+						oD7gPyE/YT+iP+JAI0BkQKZA50Ep
+						QWpBrEHuQjBCckK1QvdDOkN9Q8BE
+						A0RHRIpEzkUSRVVFmkXeRiJGZ0ar
+						RvBHNUd7R8BIBUhLSJFI10kdSWNJ
+						qUnwSjdKfUrESwxLU0uaS+JMKkxy
+						TLpNAk1KTZNN3E4lTm5Ot08AT0lP
+						k0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+						UsdTE1NfU6pT9lRCVI9U21UoVXVV
+						wlYPVlxWqVb3V0RXklfgWC9YfVjL
+						WRpZaVm4WgdaVlqmWvVbRVuVW+Vc
+						NVyGXNZdJ114XcleGl5sXr1fD19h
+						X7NgBWBXYKpg/GFPYaJh9WJJYpxi
+						8GNDY5dj62RAZJRk6WU9ZZJl52Y9
+						ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp
+						8WpIap9q92tPa6dr/2xXbK9tCG1g
+						bbluEm5rbsRvHm94b9FwK3CGcOBx
+						OnGVcfByS3KmcwFzXXO4dBR0cHTM
+						dSh1hXXhdj52m3b4d1Z3s3gReG54
+						zHkqeYl553pGeqV7BHtje8J8IXyB
+						fOF9QX2hfgF+Yn7CfyN/hH/lgEeA
+						qIEKgWuBzYIwgpKC9INXg7qEHYSA
+						hOOFR4Wrhg6GcobXhzuHn4gEiGmI
+						zokziZmJ/opkisqLMIuWi/yMY4zK
+						jTGNmI3/jmaOzo82j56QBpBukNaR
+						P5GokhGSepLjk02TtpQglIqU9JVf
+						lcmWNJaflwqXdZfgmEyYuJkkmZCZ
+						/JpomtWbQpuvnByciZz3nWSd0p5A
+						nq6fHZ+Ln/qgaaDYoUehtqImopaj
+						BqN2o+akVqTHpTilqaYapoum/adu
+						p+CoUqjEqTepqaocqo+rAqt1q+ms
+						XKzQrUStuK4trqGvFq+LsACwdbDq
+						sWCx1rJLssKzOLOutCW0nLUTtYq2
+						AbZ5tvC3aLfguFm40blKucK6O7q1
+						uy67p7whvJu9Fb2Pvgq+hL7/v3q/
+						9cBwwOzBZ8Hjwl/C28NYw9TEUcTO
+						xUvFyMZGxsPHQce/yD3IvMk6ybnK
+						OMq3yzbLtsw1zLXNNc21zjbOts83
+						z7jQOdC60TzRvtI/0sHTRNPG1EnU
+						y9VO1dHWVdbY11zX4Nhk2OjZbNnx
+						2nba+9uA3AXcit0Q3ZbeHN6i3ynf
+						r+A24L3hROHM4lPi2+Nj4+vkc+T8
+						5YTmDeaW5x/nqegy6LzpRunQ6lvq
+						5etw6/vshu0R7ZzuKO6070DvzPBY
+						8OXxcvH/8ozzGfOn9DT0wvVQ9d72
+						bfb794r4Gfio+Tj5x/pX+uf7d/wH
+						/Jj9Kf26/kv+3P9t//+ABNIeHyAh
+						WiRjbGFzc25hbWVYJGNsYXNzZXNd
+						TlNNdXRhYmxlRGF0YaMgIiNWTlNE
+						YXRhWE5TT2JqZWN00h4fJSZcTlND
+						b2xvclNwYWNloicjXE5TQ29sb3JT
+						cGFjZdIeHykqV05TQ29sb3KiKyNX
+						TlNDb2xvcl8QD05TS2V5ZWRBcmNo
+						aXZlctEuL1Ryb290gAEACAARABoA
+						IwAtADIANwA/AEUAUABdAGMAcACF
+						AIwAowC3ALkAuwC9AMQAyQDPANEA
+						0wDVANoA4g0uDTANNQ1ADUkNVw1b
+						DWINaw1wDX0NgA2NDZINmg2dDaUN
+						tw26Db8AAAAAAAACAQAAAAAAAAAw
+						AAAAAAAAAAAAAAAAAAANwQ==
+						</data>
+						<key>b</key>
+						<string>0.998189</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 5\
+\'96\'96\'94\'f6\
+\'83\'6d\'81\'5b\'83\'68}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{261, 194.75}, {58, 47}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuPro-W3</string>
+				<key>Size</key>
+				<real>24</real>
+			</dict>
+			<key>ID</key>
+			<integer>182</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.974573</string>
+						<key>g</key>
+						<string>0.998064</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>a</key>
+						<string>0.75</string>
+						<key>b</key>
+						<string>0.94523</string>
+						<key>g</key>
+						<string>0.987116</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs48 \cf0 \'95\'db\'8e\'9d}</string>
+			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>181</integer>
+			<key>Points</key>
+			<array>
+				<string>{490.625, 374.25}</string>
+				<string>{539.625, 397.74993048242209}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NHMCAwIDAg
+						MUYwIDAgMAAQAYACgAbTFBUNFhcY
+						VE5TSURVTlNJQ0MQB4ADgAXSGg0b
+						HFdOUy5kYXRhTxEMSAAADEhMaW5v
+						AhAAAG1udHJSR0IgWFlaIAfOAAIA
+						CQAGADEAAGFjc3BNU0ZUAAAAAElF
+						QyBzUkdCAAAAAAAAAAAAAAAAAAD2
+						1gABAAAAANMtSFAgIAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAEWNw
+						cnQAAAFQAAAAM2Rlc2MAAAGEAAAA
+						bHd0cHQAAAHwAAAAFGJrcHQAAAIE
+						AAAAFHJYWVoAAAIYAAAAFGdYWVoA
+						AAIsAAAAFGJYWVoAAAJAAAAAFGRt
+						bmQAAAJUAAAAcGRtZGQAAALEAAAA
+						iHZ1ZWQAAANMAAAAhnZpZXcAAAPU
+						AAAAJGx1bWkAAAP4AAAAFG1lYXMA
+						AAQMAAAAJHRlY2gAAAQwAAAADHJU
+						UkMAAAQ8AAAIDGdUUkMAAAQ8AAAI
+						DGJUUkMAAAQ8AAAIDHRleHQAAAAA
+						Q29weXJpZ2h0IChjKSAxOTk4IEhl
+						d2xldHQtUGFja2FyZCBDb21wYW55
+						AABkZXNjAAAAAAAAABJzUkdCIElF
+						QzYxOTY2LTIuMQAAAAAAAAAAAAAA
+						EnNSR0IgSUVDNjE5NjYtMi4xAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAABYWVogAAAAAAAA81EAAQAA
+						AAEWzFhZWiAAAAAAAAAAAAAAAAAA
+						AAAAWFlaIAAAAAAAAG+iAAA49QAA
+						A5BYWVogAAAAAAAAYpkAALeFAAAY
+						2lhZWiAAAAAAAAAkoAAAD4QAALbP
+						ZGVzYwAAAAAAAAAWSUVDIGh0dHA6
+						Ly93d3cuaWVjLmNoAAAAAAAAAAAA
+						AAAWSUVDIGh0dHA6Ly93d3cuaWVj
+						LmNoAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAGRlc2MAAAAAAAAALklF
+						QyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+						R0IgY29sb3VyIHNwYWNlIC0gc1JH
+						QgAAAAAAAAAAAAAALklFQyA2MTk2
+						Ni0yLjEgRGVmYXVsdCBSR0IgY29s
+						b3VyIHNwYWNlIC0gc1JHQgAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAABkZXNj
+						AAAAAAAAACxSZWZlcmVuY2UgVmll
+						d2luZyBDb25kaXRpb24gaW4gSUVD
+						NjE5NjYtMi4xAAAAAAAAAAAAAAAs
+						UmVmZXJlbmNlIFZpZXdpbmcgQ29u
+						ZGl0aW9uIGluIElFQzYxOTY2LTIu
+						MQAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAdmlldwAAAAAAE6T+ABRf
+						LgAQzxQAA+3MAAQTCwADXJ4AAAAB
+						WFlaIAAAAAAATAlWAFAAAABXH+dt
+						ZWFzAAAAAAAAAAEAAAAAAAAAAAAA
+						AAAAAAAAAAACjwAAAAJzaWcgAAAA
+						AENSVCBjdXJ2AAAAAAAABAAAAAAF
+						AAoADwAUABkAHgAjACgALQAyADcA
+						OwBAAEUASgBPAFQAWQBeAGMAaABt
+						AHIAdwB8AIEAhgCLAJAAlQCaAJ8A
+						pACpAK4AsgC3ALwAwQDGAMsA0ADV
+						ANsA4ADlAOsA8AD2APsBAQEHAQ0B
+						EwEZAR8BJQErATIBOAE+AUUBTAFS
+						AVkBYAFnAW4BdQF8AYMBiwGSAZoB
+						oQGpAbEBuQHBAckB0QHZAeEB6QHy
+						AfoCAwIMAhQCHQImAi8COAJBAksC
+						VAJdAmcCcQJ6AoQCjgKYAqICrAK2
+						AsECywLVAuAC6wL1AwADCwMWAyED
+						LQM4A0MDTwNaA2YDcgN+A4oDlgOi
+						A64DugPHA9MD4APsA/kEBgQTBCAE
+						LQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+						BMQE0wThBPAE/gUNBRwFKwU6BUkF
+						WAVnBXcFhgWWBaYFtQXFBdUF5QX2
+						BgYGFgYnBjcGSAZZBmoGewaMBp0G
+						rwbABtEG4wb1BwcHGQcrBz0HTwdh
+						B3QHhgeZB6wHvwfSB+UH+AgLCB8I
+						MghGCFoIbgiCCJYIqgi+CNII5wj7
+						CRAJJQk6CU8JZAl5CY8JpAm6Cc8J
+						5Qn7ChEKJwo9ClQKagqBCpgKrgrF
+						CtwK8wsLCyILOQtRC2kLgAuYC7AL
+						yAvhC/kMEgwqDEMMXAx1DI4MpwzA
+						DNkM8w0NDSYNQA1aDXQNjg2pDcMN
+						3g34DhMOLg5JDmQOfw6bDrYO0g7u
+						DwkPJQ9BD14Peg+WD7MPzw/sEAkQ
+						JhBDEGEQfhCbELkQ1xD1ERMRMRFP
+						EW0RjBGqEckR6BIHEiYSRRJkEoQS
+						oxLDEuMTAxMjE0MTYxODE6QTxRPl
+						FAYUJxRJFGoUixStFM4U8BUSFTQV
+						VhV4FZsVvRXgFgMWJhZJFmwWjxay
+						FtYW+hcdF0EXZReJF64X0hf3GBsY
+						QBhlGIoYrxjVGPoZIBlFGWsZkRm3
+						Gd0aBBoqGlEadxqeGsUa7BsUGzsb
+						YxuKG7Ib2hwCHCocUhx7HKMczBz1
+						HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+						vh7pHxMfPh9pH5Qfvx/qIBUgQSBs
+						IJggxCDwIRwhSCF1IaEhziH7Iici
+						VSKCIq8i3SMKIzgjZiOUI8Ij8CQf
+						JE0kfCSrJNolCSU4JWgllyXHJfcm
+						JyZXJocmtyboJxgnSSd6J6sn3CgN
+						KD8ocSiiKNQpBik4KWspnSnQKgIq
+						NSpoKpsqzysCKzYraSudK9EsBSw5
+						LG4soizXLQwtQS12Last4S4WLkwu
+						gi63Lu4vJC9aL5Evxy/+MDUwbDCk
+						MNsxEjFKMYIxujHyMioyYzKbMtQz
+						DTNGM38zuDPxNCs0ZTSeNNg1EzVN
+						NYc1wjX9Njc2cjauNuk3JDdgN5w3
+						1zgUOFA4jDjIOQU5Qjl/Obw5+To2
+						OnQ6sjrvOy07azuqO+g8JzxlPKQ8
+						4z0iPWE9oT3gPiA+YD6gPuA/IT9h
+						P6I/4kAjQGRApkDnQSlBakGsQe5C
+						MEJyQrVC90M6Q31DwEQDREdEikTO
+						RRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+						wEgFSEtIkUjXSR1JY0mpSfBKN0p9
+						SsRLDEtTS5pL4kwqTHJMuk0CTUpN
+						k03cTiVObk63TwBPSU+TT91QJ1Bx
+						ULtRBlFQUZtR5lIxUnxSx1MTU19T
+						qlP2VEJUj1TbVShVdVXCVg9WXFap
+						VvdXRFeSV+BYL1h9WMtZGllpWbha
+						B1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
+						XXhdyV4aXmxevV8PX2Ffs2AFYFdg
+						qmD8YU9homH1YklinGLwY0Njl2Pr
+						ZEBklGTpZT1lkmXnZj1mkmboZz1n
+						k2fpaD9olmjsaUNpmmnxakhqn2r3
+						a09rp2v/bFdsr20IbWBtuW4Sbmtu
+						xG8eb3hv0XArcIZw4HE6cZVx8HJL
+						cqZzAXNdc7h0FHRwdMx1KHWFdeF2
+						Pnabdvh3VnezeBF4bnjMeSp5iXnn
+						ekZ6pXsEe2N7wnwhfIF84X1BfaF+
+						AX5ifsJ/I3+Ef+WAR4CogQqBa4HN
+						gjCCkoL0g1eDuoQdhICE44VHhauG
+						DoZyhteHO4efiASIaYjOiTOJmYn+
+						imSKyoswi5aL/IxjjMqNMY2Yjf+O
+						Zo7OjzaPnpAGkG6Q1pE/kaiSEZJ6
+						kuOTTZO2lCCUipT0lV+VyZY0lp+X
+						Cpd1l+CYTJi4mSSZkJn8mmia1ZtC
+						m6+cHJyJnPedZJ3SnkCerp8dn4uf
+						+qBpoNihR6G2oiailqMGo3aj5qRW
+						pMelOKWpphqmi6b9p26n4KhSqMSp
+						N6mpqhyqj6sCq3Wr6axcrNCtRK24
+						ri2uoa8Wr4uwALB1sOqxYLHWskuy
+						wrM4s660JbSctRO1irYBtnm28Ldo
+						t+C4WbjRuUq5wro7urW7LrunvCG8
+						m70VvY++Cr6Evv+/er/1wHDA7MFn
+						wePCX8Lbw1jD1MRRxM7FS8XIxkbG
+						w8dBx7/IPci8yTrJuco4yrfLNsu2
+						zDXMtc01zbXONs62zzfPuNA50LrR
+						PNG+0j/SwdNE08bUSdTL1U7V0dZV
+						1tjXXNfg2GTY6Nls2fHadtr724Dc
+						BdyK3RDdlt4c3qLfKd+v4DbgveFE
+						4cziU+Lb42Pj6+Rz5PzlhOYN5pbn
+						H+ep6DLovOlG6dDqW+rl63Dr++yG
+						7RHtnO4o7rTvQO/M8Fjw5fFy8f/y
+						jPMZ86f0NPTC9VD13vZt9vv3ivgZ
+						+Kj5OPnH+lf65/t3/Af8mP0p/br+
+						S/7c/23//4AE0h4fICFaJGNsYXNz
+						bmFtZVgkY2xhc3Nlc11OU011dGFi
+						bGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+						YmplY3TSHh8lJlxOU0NvbG9yU3Bh
+						Y2WiJyNcTlNDb2xvclNwYWNl0h4f
+						KSpXTlNDb2xvcqIrI1dOU0NvbG9y
+						XxAPTlNLZXllZEFyY2hpdmVy0S4v
+						VHJvb3SAAQAIABEAGgAjAC0AMgA3
+						AD8ARQBQAF0AYwBwAIUAjACUAJsA
+						nQCfAKEAqACtALMAtQC3ALkAvgDG
+						DRINFA0ZDSQNLQ07DT8NRg1PDVQN
+						YQ1kDXENdg1+DYENiQ2bDZ4NowAA
+						AAAAAAIBAAAAAAAAADAAAAAAAAAA
+						AAAAAAAAAA2l
+						</data>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>173</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>180</integer>
+			<key>Points</key>
+			<array>
+				<string>{539.625, 475.74994574121115}</string>
+				<string>{539.625, 499.24990674121136}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NHMCAwIDAg
+						MUYwIDAgMAAQAYACgAbTFBUNFhcY
+						VE5TSURVTlNJQ0MQB4ADgAXSGg0b
+						HFdOUy5kYXRhTxEMSAAADEhMaW5v
+						AhAAAG1udHJSR0IgWFlaIAfOAAIA
+						CQAGADEAAGFjc3BNU0ZUAAAAAElF
+						QyBzUkdCAAAAAAAAAAAAAAAAAAD2
+						1gABAAAAANMtSFAgIAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAEWNw
+						cnQAAAFQAAAAM2Rlc2MAAAGEAAAA
+						bHd0cHQAAAHwAAAAFGJrcHQAAAIE
+						AAAAFHJYWVoAAAIYAAAAFGdYWVoA
+						AAIsAAAAFGJYWVoAAAJAAAAAFGRt
+						bmQAAAJUAAAAcGRtZGQAAALEAAAA
+						iHZ1ZWQAAANMAAAAhnZpZXcAAAPU
+						AAAAJGx1bWkAAAP4AAAAFG1lYXMA
+						AAQMAAAAJHRlY2gAAAQwAAAADHJU
+						UkMAAAQ8AAAIDGdUUkMAAAQ8AAAI
+						DGJUUkMAAAQ8AAAIDHRleHQAAAAA
+						Q29weXJpZ2h0IChjKSAxOTk4IEhl
+						d2xldHQtUGFja2FyZCBDb21wYW55
+						AABkZXNjAAAAAAAAABJzUkdCIElF
+						QzYxOTY2LTIuMQAAAAAAAAAAAAAA
+						EnNSR0IgSUVDNjE5NjYtMi4xAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAABYWVogAAAAAAAA81EAAQAA
+						AAEWzFhZWiAAAAAAAAAAAAAAAAAA
+						AAAAWFlaIAAAAAAAAG+iAAA49QAA
+						A5BYWVogAAAAAAAAYpkAALeFAAAY
+						2lhZWiAAAAAAAAAkoAAAD4QAALbP
+						ZGVzYwAAAAAAAAAWSUVDIGh0dHA6
+						Ly93d3cuaWVjLmNoAAAAAAAAAAAA
+						AAAWSUVDIGh0dHA6Ly93d3cuaWVj
+						LmNoAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAGRlc2MAAAAAAAAALklF
+						QyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+						R0IgY29sb3VyIHNwYWNlIC0gc1JH
+						QgAAAAAAAAAAAAAALklFQyA2MTk2
+						Ni0yLjEgRGVmYXVsdCBSR0IgY29s
+						b3VyIHNwYWNlIC0gc1JHQgAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAABkZXNj
+						AAAAAAAAACxSZWZlcmVuY2UgVmll
+						d2luZyBDb25kaXRpb24gaW4gSUVD
+						NjE5NjYtMi4xAAAAAAAAAAAAAAAs
+						UmVmZXJlbmNlIFZpZXdpbmcgQ29u
+						ZGl0aW9uIGluIElFQzYxOTY2LTIu
+						MQAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAdmlldwAAAAAAE6T+ABRf
+						LgAQzxQAA+3MAAQTCwADXJ4AAAAB
+						WFlaIAAAAAAATAlWAFAAAABXH+dt
+						ZWFzAAAAAAAAAAEAAAAAAAAAAAAA
+						AAAAAAAAAAACjwAAAAJzaWcgAAAA
+						AENSVCBjdXJ2AAAAAAAABAAAAAAF
+						AAoADwAUABkAHgAjACgALQAyADcA
+						OwBAAEUASgBPAFQAWQBeAGMAaABt
+						AHIAdwB8AIEAhgCLAJAAlQCaAJ8A
+						pACpAK4AsgC3ALwAwQDGAMsA0ADV
+						ANsA4ADlAOsA8AD2APsBAQEHAQ0B
+						EwEZAR8BJQErATIBOAE+AUUBTAFS
+						AVkBYAFnAW4BdQF8AYMBiwGSAZoB
+						oQGpAbEBuQHBAckB0QHZAeEB6QHy
+						AfoCAwIMAhQCHQImAi8COAJBAksC
+						VAJdAmcCcQJ6AoQCjgKYAqICrAK2
+						AsECywLVAuAC6wL1AwADCwMWAyED
+						LQM4A0MDTwNaA2YDcgN+A4oDlgOi
+						A64DugPHA9MD4APsA/kEBgQTBCAE
+						LQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+						BMQE0wThBPAE/gUNBRwFKwU6BUkF
+						WAVnBXcFhgWWBaYFtQXFBdUF5QX2
+						BgYGFgYnBjcGSAZZBmoGewaMBp0G
+						rwbABtEG4wb1BwcHGQcrBz0HTwdh
+						B3QHhgeZB6wHvwfSB+UH+AgLCB8I
+						MghGCFoIbgiCCJYIqgi+CNII5wj7
+						CRAJJQk6CU8JZAl5CY8JpAm6Cc8J
+						5Qn7ChEKJwo9ClQKagqBCpgKrgrF
+						CtwK8wsLCyILOQtRC2kLgAuYC7AL
+						yAvhC/kMEgwqDEMMXAx1DI4MpwzA
+						DNkM8w0NDSYNQA1aDXQNjg2pDcMN
+						3g34DhMOLg5JDmQOfw6bDrYO0g7u
+						DwkPJQ9BD14Peg+WD7MPzw/sEAkQ
+						JhBDEGEQfhCbELkQ1xD1ERMRMRFP
+						EW0RjBGqEckR6BIHEiYSRRJkEoQS
+						oxLDEuMTAxMjE0MTYxODE6QTxRPl
+						FAYUJxRJFGoUixStFM4U8BUSFTQV
+						VhV4FZsVvRXgFgMWJhZJFmwWjxay
+						FtYW+hcdF0EXZReJF64X0hf3GBsY
+						QBhlGIoYrxjVGPoZIBlFGWsZkRm3
+						Gd0aBBoqGlEadxqeGsUa7BsUGzsb
+						YxuKG7Ib2hwCHCocUhx7HKMczBz1
+						HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+						vh7pHxMfPh9pH5Qfvx/qIBUgQSBs
+						IJggxCDwIRwhSCF1IaEhziH7Iici
+						VSKCIq8i3SMKIzgjZiOUI8Ij8CQf
+						JE0kfCSrJNolCSU4JWgllyXHJfcm
+						JyZXJocmtyboJxgnSSd6J6sn3CgN
+						KD8ocSiiKNQpBik4KWspnSnQKgIq
+						NSpoKpsqzysCKzYraSudK9EsBSw5
+						LG4soizXLQwtQS12Last4S4WLkwu
+						gi63Lu4vJC9aL5Evxy/+MDUwbDCk
+						MNsxEjFKMYIxujHyMioyYzKbMtQz
+						DTNGM38zuDPxNCs0ZTSeNNg1EzVN
+						NYc1wjX9Njc2cjauNuk3JDdgN5w3
+						1zgUOFA4jDjIOQU5Qjl/Obw5+To2
+						OnQ6sjrvOy07azuqO+g8JzxlPKQ8
+						4z0iPWE9oT3gPiA+YD6gPuA/IT9h
+						P6I/4kAjQGRApkDnQSlBakGsQe5C
+						MEJyQrVC90M6Q31DwEQDREdEikTO
+						RRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+						wEgFSEtIkUjXSR1JY0mpSfBKN0p9
+						SsRLDEtTS5pL4kwqTHJMuk0CTUpN
+						k03cTiVObk63TwBPSU+TT91QJ1Bx
+						ULtRBlFQUZtR5lIxUnxSx1MTU19T
+						qlP2VEJUj1TbVShVdVXCVg9WXFap
+						VvdXRFeSV+BYL1h9WMtZGllpWbha
+						B1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
+						XXhdyV4aXmxevV8PX2Ffs2AFYFdg
+						qmD8YU9homH1YklinGLwY0Njl2Pr
+						ZEBklGTpZT1lkmXnZj1mkmboZz1n
+						k2fpaD9olmjsaUNpmmnxakhqn2r3
+						a09rp2v/bFdsr20IbWBtuW4Sbmtu
+						xG8eb3hv0XArcIZw4HE6cZVx8HJL
+						cqZzAXNdc7h0FHRwdMx1KHWFdeF2
+						Pnabdvh3VnezeBF4bnjMeSp5iXnn
+						ekZ6pXsEe2N7wnwhfIF84X1BfaF+
+						AX5ifsJ/I3+Ef+WAR4CogQqBa4HN
+						gjCCkoL0g1eDuoQdhICE44VHhauG
+						DoZyhteHO4efiASIaYjOiTOJmYn+
+						imSKyoswi5aL/IxjjMqNMY2Yjf+O
+						Zo7OjzaPnpAGkG6Q1pE/kaiSEZJ6
+						kuOTTZO2lCCUipT0lV+VyZY0lp+X
+						Cpd1l+CYTJi4mSSZkJn8mmia1ZtC
+						m6+cHJyJnPedZJ3SnkCerp8dn4uf
+						+qBpoNihR6G2oiailqMGo3aj5qRW
+						pMelOKWpphqmi6b9p26n4KhSqMSp
+						N6mpqhyqj6sCq3Wr6axcrNCtRK24
+						ri2uoa8Wr4uwALB1sOqxYLHWskuy
+						wrM4s660JbSctRO1irYBtnm28Ldo
+						t+C4WbjRuUq5wro7urW7LrunvCG8
+						m70VvY++Cr6Evv+/er/1wHDA7MFn
+						wePCX8Lbw1jD1MRRxM7FS8XIxkbG
+						w8dBx7/IPci8yTrJuco4yrfLNsu2
+						zDXMtc01zbXONs62zzfPuNA50LrR
+						PNG+0j/SwdNE08bUSdTL1U7V0dZV
+						1tjXXNfg2GTY6Nls2fHadtr724Dc
+						BdyK3RDdlt4c3qLfKd+v4DbgveFE
+						4cziU+Lb42Pj6+Rz5PzlhOYN5pbn
+						H+ep6DLovOlG6dDqW+rl63Dr++yG
+						7RHtnO4o7rTvQO/M8Fjw5fFy8f/y
+						jPMZ86f0NPTC9VD13vZt9vv3ivgZ
+						+Kj5OPnH+lf65/t3/Af8mP0p/br+
+						S/7c/23//4AE0h4fICFaJGNsYXNz
+						bmFtZVgkY2xhc3Nlc11OU011dGFi
+						bGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+						YmplY3TSHh8lJlxOU0NvbG9yU3Bh
+						Y2WiJyNcTlNDb2xvclNwYWNl0h4f
+						KSpXTlNDb2xvcqIrI1dOU0NvbG9y
+						XxAPTlNLZXllZEFyY2hpdmVy0S4v
+						VHJvb3SAAQAIABEAGgAjAC0AMgA3
+						AD8ARQBQAF0AYwBwAIUAjACUAJsA
+						nQCfAKEAqACtALMAtQC3ALkAvgDG
+						DRINFA0ZDSQNLQ07DT8NRg1PDVQN
+						YQ1kDXENdg1+DYENiQ2bDZ4NowAA
+						AAAAAAIBAAAAAAAAADAAAAAAAAAA
+						AAAAAAAAAA2l
+						</data>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{499.625, 499.24992624121126}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>179</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NHMCAwIDAg
+						MUYwIDAgMAAQAYACgAbTFBUNFhcY
+						VE5TSURVTlNJQ0MQB4ADgAXSGg0b
+						HFdOUy5kYXRhTxEMSAAADEhMaW5v
+						AhAAAG1udHJSR0IgWFlaIAfOAAIA
+						CQAGADEAAGFjc3BNU0ZUAAAAAElF
+						QyBzUkdCAAAAAAAAAAAAAAAAAAD2
+						1gABAAAAANMtSFAgIAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAEWNw
+						cnQAAAFQAAAAM2Rlc2MAAAGEAAAA
+						bHd0cHQAAAHwAAAAFGJrcHQAAAIE
+						AAAAFHJYWVoAAAIYAAAAFGdYWVoA
+						AAIsAAAAFGJYWVoAAAJAAAAAFGRt
+						bmQAAAJUAAAAcGRtZGQAAALEAAAA
+						iHZ1ZWQAAANMAAAAhnZpZXcAAAPU
+						AAAAJGx1bWkAAAP4AAAAFG1lYXMA
+						AAQMAAAAJHRlY2gAAAQwAAAADHJU
+						UkMAAAQ8AAAIDGdUUkMAAAQ8AAAI
+						DGJUUkMAAAQ8AAAIDHRleHQAAAAA
+						Q29weXJpZ2h0IChjKSAxOTk4IEhl
+						d2xldHQtUGFja2FyZCBDb21wYW55
+						AABkZXNjAAAAAAAAABJzUkdCIElF
+						QzYxOTY2LTIuMQAAAAAAAAAAAAAA
+						EnNSR0IgSUVDNjE5NjYtMi4xAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAABYWVogAAAAAAAA81EAAQAA
+						AAEWzFhZWiAAAAAAAAAAAAAAAAAA
+						AAAAWFlaIAAAAAAAAG+iAAA49QAA
+						A5BYWVogAAAAAAAAYpkAALeFAAAY
+						2lhZWiAAAAAAAAAkoAAAD4QAALbP
+						ZGVzYwAAAAAAAAAWSUVDIGh0dHA6
+						Ly93d3cuaWVjLmNoAAAAAAAAAAAA
+						AAAWSUVDIGh0dHA6Ly93d3cuaWVj
+						LmNoAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAGRlc2MAAAAAAAAALklF
+						QyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+						R0IgY29sb3VyIHNwYWNlIC0gc1JH
+						QgAAAAAAAAAAAAAALklFQyA2MTk2
+						Ni0yLjEgRGVmYXVsdCBSR0IgY29s
+						b3VyIHNwYWNlIC0gc1JHQgAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAABkZXNj
+						AAAAAAAAACxSZWZlcmVuY2UgVmll
+						d2luZyBDb25kaXRpb24gaW4gSUVD
+						NjE5NjYtMi4xAAAAAAAAAAAAAAAs
+						UmVmZXJlbmNlIFZpZXdpbmcgQ29u
+						ZGl0aW9uIGluIElFQzYxOTY2LTIu
+						MQAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAdmlldwAAAAAAE6T+ABRf
+						LgAQzxQAA+3MAAQTCwADXJ4AAAAB
+						WFlaIAAAAAAATAlWAFAAAABXH+dt
+						ZWFzAAAAAAAAAAEAAAAAAAAAAAAA
+						AAAAAAAAAAACjwAAAAJzaWcgAAAA
+						AENSVCBjdXJ2AAAAAAAABAAAAAAF
+						AAoADwAUABkAHgAjACgALQAyADcA
+						OwBAAEUASgBPAFQAWQBeAGMAaABt
+						AHIAdwB8AIEAhgCLAJAAlQCaAJ8A
+						pACpAK4AsgC3ALwAwQDGAMsA0ADV
+						ANsA4ADlAOsA8AD2APsBAQEHAQ0B
+						EwEZAR8BJQErATIBOAE+AUUBTAFS
+						AVkBYAFnAW4BdQF8AYMBiwGSAZoB
+						oQGpAbEBuQHBAckB0QHZAeEB6QHy
+						AfoCAwIMAhQCHQImAi8COAJBAksC
+						VAJdAmcCcQJ6AoQCjgKYAqICrAK2
+						AsECywLVAuAC6wL1AwADCwMWAyED
+						LQM4A0MDTwNaA2YDcgN+A4oDlgOi
+						A64DugPHA9MD4APsA/kEBgQTBCAE
+						LQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+						BMQE0wThBPAE/gUNBRwFKwU6BUkF
+						WAVnBXcFhgWWBaYFtQXFBdUF5QX2
+						BgYGFgYnBjcGSAZZBmoGewaMBp0G
+						rwbABtEG4wb1BwcHGQcrBz0HTwdh
+						B3QHhgeZB6wHvwfSB+UH+AgLCB8I
+						MghGCFoIbgiCCJYIqgi+CNII5wj7
+						CRAJJQk6CU8JZAl5CY8JpAm6Cc8J
+						5Qn7ChEKJwo9ClQKagqBCpgKrgrF
+						CtwK8wsLCyILOQtRC2kLgAuYC7AL
+						yAvhC/kMEgwqDEMMXAx1DI4MpwzA
+						DNkM8w0NDSYNQA1aDXQNjg2pDcMN
+						3g34DhMOLg5JDmQOfw6bDrYO0g7u
+						DwkPJQ9BD14Peg+WD7MPzw/sEAkQ
+						JhBDEGEQfhCbELkQ1xD1ERMRMRFP
+						EW0RjBGqEckR6BIHEiYSRRJkEoQS
+						oxLDEuMTAxMjE0MTYxODE6QTxRPl
+						FAYUJxRJFGoUixStFM4U8BUSFTQV
+						VhV4FZsVvRXgFgMWJhZJFmwWjxay
+						FtYW+hcdF0EXZReJF64X0hf3GBsY
+						QBhlGIoYrxjVGPoZIBlFGWsZkRm3
+						Gd0aBBoqGlEadxqeGsUa7BsUGzsb
+						YxuKG7Ib2hwCHCocUhx7HKMczBz1
+						HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+						vh7pHxMfPh9pH5Qfvx/qIBUgQSBs
+						IJggxCDwIRwhSCF1IaEhziH7Iici
+						VSKCIq8i3SMKIzgjZiOUI8Ij8CQf
+						JE0kfCSrJNolCSU4JWgllyXHJfcm
+						JyZXJocmtyboJxgnSSd6J6sn3CgN
+						KD8ocSiiKNQpBik4KWspnSnQKgIq
+						NSpoKpsqzysCKzYraSudK9EsBSw5
+						LG4soizXLQwtQS12Last4S4WLkwu
+						gi63Lu4vJC9aL5Evxy/+MDUwbDCk
+						MNsxEjFKMYIxujHyMioyYzKbMtQz
+						DTNGM38zuDPxNCs0ZTSeNNg1EzVN
+						NYc1wjX9Njc2cjauNuk3JDdgN5w3
+						1zgUOFA4jDjIOQU5Qjl/Obw5+To2
+						OnQ6sjrvOy07azuqO+g8JzxlPKQ8
+						4z0iPWE9oT3gPiA+YD6gPuA/IT9h
+						P6I/4kAjQGRApkDnQSlBakGsQe5C
+						MEJyQrVC90M6Q31DwEQDREdEikTO
+						RRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+						wEgFSEtIkUjXSR1JY0mpSfBKN0p9
+						SsRLDEtTS5pL4kwqTHJMuk0CTUpN
+						k03cTiVObk63TwBPSU+TT91QJ1Bx
+						ULtRBlFQUZtR5lIxUnxSx1MTU19T
+						qlP2VEJUj1TbVShVdVXCVg9WXFap
+						VvdXRFeSV+BYL1h9WMtZGllpWbha
+						B1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
+						XXhdyV4aXmxevV8PX2Ffs2AFYFdg
+						qmD8YU9homH1YklinGLwY0Njl2Pr
+						ZEBklGTpZT1lkmXnZj1mkmboZz1n
+						k2fpaD9olmjsaUNpmmnxakhqn2r3
+						a09rp2v/bFdsr20IbWBtuW4Sbmtu
+						xG8eb3hv0XArcIZw4HE6cZVx8HJL
+						cqZzAXNdc7h0FHRwdMx1KHWFdeF2
+						Pnabdvh3VnezeBF4bnjMeSp5iXnn
+						ekZ6pXsEe2N7wnwhfIF84X1BfaF+
+						AX5ifsJ/I3+Ef+WAR4CogQqBa4HN
+						gjCCkoL0g1eDuoQdhICE44VHhauG
+						DoZyhteHO4efiASIaYjOiTOJmYn+
+						imSKyoswi5aL/IxjjMqNMY2Yjf+O
+						Zo7OjzaPnpAGkG6Q1pE/kaiSEZJ6
+						kuOTTZO2lCCUipT0lV+VyZY0lp+X
+						Cpd1l+CYTJi4mSSZkJn8mmia1ZtC
+						m6+cHJyJnPedZJ3SnkCerp8dn4uf
+						+qBpoNihR6G2oiailqMGo3aj5qRW
+						pMelOKWpphqmi6b9p26n4KhSqMSp
+						N6mpqhyqj6sCq3Wr6axcrNCtRK24
+						ri2uoa8Wr4uwALB1sOqxYLHWskuy
+						wrM4s660JbSctRO1irYBtnm28Ldo
+						t+C4WbjRuUq5wro7urW7LrunvCG8
+						m70VvY++Cr6Evv+/er/1wHDA7MFn
+						wePCX8Lbw1jD1MRRxM7FS8XIxkbG
+						w8dBx7/IPci8yTrJuco4yrfLNsu2
+						zDXMtc01zbXONs62zzfPuNA50LrR
+						PNG+0j/SwdNE08bUSdTL1U7V0dZV
+						1tjXXNfg2GTY6Nls2fHadtr724Dc
+						BdyK3RDdlt4c3qLfKd+v4DbgveFE
+						4cziU+Lb42Pj6+Rz5PzlhOYN5pbn
+						H+ep6DLovOlG6dDqW+rl63Dr++yG
+						7RHtnO4o7rTvQO/M8Fjw5fFy8f/y
+						jPMZ86f0NPTC9VD13vZt9vv3ivgZ
+						+Kj5OPnH+lf65/t3/Af8mP0p/br+
+						S/7c/23//4AE0h4fICFaJGNsYXNz
+						bmFtZVgkY2xhc3Nlc11OU011dGFi
+						bGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+						YmplY3TSHh8lJlxOU0NvbG9yU3Bh
+						Y2WiJyNcTlNDb2xvclNwYWNl0h4f
+						KSpXTlNDb2xvcqIrI1dOU0NvbG9y
+						XxAPTlNLZXllZEFyY2hpdmVy0S4v
+						VHJvb3SAAQAIABEAGgAjAC0AMgA3
+						AD8ARQBQAF0AYwBwAIUAjACUAJsA
+						nQCfAKEAqACtALMAtQC3ALkAvgDG
+						DRINFA0ZDSQNLQ07DT8NRg1PDVQN
+						YQ1kDXENdg1+DYENiQ2bDZ4NowAA
+						AAAAAAIBAAAAAAAAADAAAAAAAAAA
+						AAAAAAAAAA2l
+						</data>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 4\
+}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{499.625, 397.74991522363302}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>178</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NHMCAwIDAg
+						MUYwIDAgMAAQAYACgAbTFBUNFhcY
+						VE5TSURVTlNJQ0MQB4ADgAXSGg0b
+						HFdOUy5kYXRhTxEMSAAADEhMaW5v
+						AhAAAG1udHJSR0IgWFlaIAfOAAIA
+						CQAGADEAAGFjc3BNU0ZUAAAAAElF
+						QyBzUkdCAAAAAAAAAAAAAAAAAAD2
+						1gABAAAAANMtSFAgIAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAEWNw
+						cnQAAAFQAAAAM2Rlc2MAAAGEAAAA
+						bHd0cHQAAAHwAAAAFGJrcHQAAAIE
+						AAAAFHJYWVoAAAIYAAAAFGdYWVoA
+						AAIsAAAAFGJYWVoAAAJAAAAAFGRt
+						bmQAAAJUAAAAcGRtZGQAAALEAAAA
+						iHZ1ZWQAAANMAAAAhnZpZXcAAAPU
+						AAAAJGx1bWkAAAP4AAAAFG1lYXMA
+						AAQMAAAAJHRlY2gAAAQwAAAADHJU
+						UkMAAAQ8AAAIDGdUUkMAAAQ8AAAI
+						DGJUUkMAAAQ8AAAIDHRleHQAAAAA
+						Q29weXJpZ2h0IChjKSAxOTk4IEhl
+						d2xldHQtUGFja2FyZCBDb21wYW55
+						AABkZXNjAAAAAAAAABJzUkdCIElF
+						QzYxOTY2LTIuMQAAAAAAAAAAAAAA
+						EnNSR0IgSUVDNjE5NjYtMi4xAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAABYWVogAAAAAAAA81EAAQAA
+						AAEWzFhZWiAAAAAAAAAAAAAAAAAA
+						AAAAWFlaIAAAAAAAAG+iAAA49QAA
+						A5BYWVogAAAAAAAAYpkAALeFAAAY
+						2lhZWiAAAAAAAAAkoAAAD4QAALbP
+						ZGVzYwAAAAAAAAAWSUVDIGh0dHA6
+						Ly93d3cuaWVjLmNoAAAAAAAAAAAA
+						AAAWSUVDIGh0dHA6Ly93d3cuaWVj
+						LmNoAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAGRlc2MAAAAAAAAALklF
+						QyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+						R0IgY29sb3VyIHNwYWNlIC0gc1JH
+						QgAAAAAAAAAAAAAALklFQyA2MTk2
+						Ni0yLjEgRGVmYXVsdCBSR0IgY29s
+						b3VyIHNwYWNlIC0gc1JHQgAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAABkZXNj
+						AAAAAAAAACxSZWZlcmVuY2UgVmll
+						d2luZyBDb25kaXRpb24gaW4gSUVD
+						NjE5NjYtMi4xAAAAAAAAAAAAAAAs
+						UmVmZXJlbmNlIFZpZXdpbmcgQ29u
+						ZGl0aW9uIGluIElFQzYxOTY2LTIu
+						MQAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAdmlldwAAAAAAE6T+ABRf
+						LgAQzxQAA+3MAAQTCwADXJ4AAAAB
+						WFlaIAAAAAAATAlWAFAAAABXH+dt
+						ZWFzAAAAAAAAAAEAAAAAAAAAAAAA
+						AAAAAAAAAAACjwAAAAJzaWcgAAAA
+						AENSVCBjdXJ2AAAAAAAABAAAAAAF
+						AAoADwAUABkAHgAjACgALQAyADcA
+						OwBAAEUASgBPAFQAWQBeAGMAaABt
+						AHIAdwB8AIEAhgCLAJAAlQCaAJ8A
+						pACpAK4AsgC3ALwAwQDGAMsA0ADV
+						ANsA4ADlAOsA8AD2APsBAQEHAQ0B
+						EwEZAR8BJQErATIBOAE+AUUBTAFS
+						AVkBYAFnAW4BdQF8AYMBiwGSAZoB
+						oQGpAbEBuQHBAckB0QHZAeEB6QHy
+						AfoCAwIMAhQCHQImAi8COAJBAksC
+						VAJdAmcCcQJ6AoQCjgKYAqICrAK2
+						AsECywLVAuAC6wL1AwADCwMWAyED
+						LQM4A0MDTwNaA2YDcgN+A4oDlgOi
+						A64DugPHA9MD4APsA/kEBgQTBCAE
+						LQQ7BEgEVQRjBHEEfgSMBJoEqAS2
+						BMQE0wThBPAE/gUNBRwFKwU6BUkF
+						WAVnBXcFhgWWBaYFtQXFBdUF5QX2
+						BgYGFgYnBjcGSAZZBmoGewaMBp0G
+						rwbABtEG4wb1BwcHGQcrBz0HTwdh
+						B3QHhgeZB6wHvwfSB+UH+AgLCB8I
+						MghGCFoIbgiCCJYIqgi+CNII5wj7
+						CRAJJQk6CU8JZAl5CY8JpAm6Cc8J
+						5Qn7ChEKJwo9ClQKagqBCpgKrgrF
+						CtwK8wsLCyILOQtRC2kLgAuYC7AL
+						yAvhC/kMEgwqDEMMXAx1DI4MpwzA
+						DNkM8w0NDSYNQA1aDXQNjg2pDcMN
+						3g34DhMOLg5JDmQOfw6bDrYO0g7u
+						DwkPJQ9BD14Peg+WD7MPzw/sEAkQ
+						JhBDEGEQfhCbELkQ1xD1ERMRMRFP
+						EW0RjBGqEckR6BIHEiYSRRJkEoQS
+						oxLDEuMTAxMjE0MTYxODE6QTxRPl
+						FAYUJxRJFGoUixStFM4U8BUSFTQV
+						VhV4FZsVvRXgFgMWJhZJFmwWjxay
+						FtYW+hcdF0EXZReJF64X0hf3GBsY
+						QBhlGIoYrxjVGPoZIBlFGWsZkRm3
+						Gd0aBBoqGlEadxqeGsUa7BsUGzsb
+						YxuKG7Ib2hwCHCocUhx7HKMczBz1
+						HR4dRx1wHZkdwx3sHhYeQB5qHpQe
+						vh7pHxMfPh9pH5Qfvx/qIBUgQSBs
+						IJggxCDwIRwhSCF1IaEhziH7Iici
+						VSKCIq8i3SMKIzgjZiOUI8Ij8CQf
+						JE0kfCSrJNolCSU4JWgllyXHJfcm
+						JyZXJocmtyboJxgnSSd6J6sn3CgN
+						KD8ocSiiKNQpBik4KWspnSnQKgIq
+						NSpoKpsqzysCKzYraSudK9EsBSw5
+						LG4soizXLQwtQS12Last4S4WLkwu
+						gi63Lu4vJC9aL5Evxy/+MDUwbDCk
+						MNsxEjFKMYIxujHyMioyYzKbMtQz
+						DTNGM38zuDPxNCs0ZTSeNNg1EzVN
+						NYc1wjX9Njc2cjauNuk3JDdgN5w3
+						1zgUOFA4jDjIOQU5Qjl/Obw5+To2
+						OnQ6sjrvOy07azuqO+g8JzxlPKQ8
+						4z0iPWE9oT3gPiA+YD6gPuA/IT9h
+						P6I/4kAjQGRApkDnQSlBakGsQe5C
+						MEJyQrVC90M6Q31DwEQDREdEikTO
+						RRJFVUWaRd5GIkZnRqtG8Ec1R3tH
+						wEgFSEtIkUjXSR1JY0mpSfBKN0p9
+						SsRLDEtTS5pL4kwqTHJMuk0CTUpN
+						k03cTiVObk63TwBPSU+TT91QJ1Bx
+						ULtRBlFQUZtR5lIxUnxSx1MTU19T
+						qlP2VEJUj1TbVShVdVXCVg9WXFap
+						VvdXRFeSV+BYL1h9WMtZGllpWbha
+						B1pWWqZa9VtFW5Vb5Vw1XIZc1l0n
+						XXhdyV4aXmxevV8PX2Ffs2AFYFdg
+						qmD8YU9homH1YklinGLwY0Njl2Pr
+						ZEBklGTpZT1lkmXnZj1mkmboZz1n
+						k2fpaD9olmjsaUNpmmnxakhqn2r3
+						a09rp2v/bFdsr20IbWBtuW4Sbmtu
+						xG8eb3hv0XArcIZw4HE6cZVx8HJL
+						cqZzAXNdc7h0FHRwdMx1KHWFdeF2
+						Pnabdvh3VnezeBF4bnjMeSp5iXnn
+						ekZ6pXsEe2N7wnwhfIF84X1BfaF+
+						AX5ifsJ/I3+Ef+WAR4CogQqBa4HN
+						gjCCkoL0g1eDuoQdhICE44VHhauG
+						DoZyhteHO4efiASIaYjOiTOJmYn+
+						imSKyoswi5aL/IxjjMqNMY2Yjf+O
+						Zo7OjzaPnpAGkG6Q1pE/kaiSEZJ6
+						kuOTTZO2lCCUipT0lV+VyZY0lp+X
+						Cpd1l+CYTJi4mSSZkJn8mmia1ZtC
+						m6+cHJyJnPedZJ3SnkCerp8dn4uf
+						+qBpoNihR6G2oiailqMGo3aj5qRW
+						pMelOKWpphqmi6b9p26n4KhSqMSp
+						N6mpqhyqj6sCq3Wr6axcrNCtRK24
+						ri2uoa8Wr4uwALB1sOqxYLHWskuy
+						wrM4s660JbSctRO1irYBtnm28Ldo
+						t+C4WbjRuUq5wro7urW7LrunvCG8
+						m70VvY++Cr6Evv+/er/1wHDA7MFn
+						wePCX8Lbw1jD1MRRxM7FS8XIxkbG
+						w8dBx7/IPci8yTrJuco4yrfLNsu2
+						zDXMtc01zbXONs62zzfPuNA50LrR
+						PNG+0j/SwdNE08bUSdTL1U7V0dZV
+						1tjXXNfg2GTY6Nls2fHadtr724Dc
+						BdyK3RDdlt4c3qLfKd+v4DbgveFE
+						4cziU+Lb42Pj6+Rz5PzlhOYN5pbn
+						H+ep6DLovOlG6dDqW+rl63Dr++yG
+						7RHtnO4o7rTvQO/M8Fjw5fFy8f/y
+						jPMZ86f0NPTC9VD13vZt9vv3ivgZ
+						+Kj5OPnH+lf65/t3/Af8mP0p/br+
+						S/7c/23//4AE0h4fICFaJGNsYXNz
+						bmFtZVgkY2xhc3Nlc11OU011dGFi
+						bGVEYXRhoyAiI1ZOU0RhdGFYTlNP
+						YmplY3TSHh8lJlxOU0NvbG9yU3Bh
+						Y2WiJyNcTlNDb2xvclNwYWNl0h4f
+						KSpXTlNDb2xvcqIrI1dOU0NvbG9y
+						XxAPTlNLZXllZEFyY2hpdmVy0S4v
+						VHJvb3SAAQAIABEAGgAjAC0AMgA3
+						AD8ARQBQAF0AYwBwAIUAjACUAJsA
+						nQCfAKEAqACtALMAtQC3ALkAvgDG
+						DRINFA0ZDSQNLQ07DT8NRg1PDVQN
+						YQ1kDXENdg1+DYENiQ2bDZ4NowAA
+						AAAAAAIBAAAAAAAAADAAAAAAAAAA
+						AAAAAAAAAA2l
+						</data>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 3}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>171</integer>
+			</dict>
+			<key>ID</key>
+			<integer>177</integer>
+			<key>Points</key>
+			<array>
+				<string>{490.625, 90.750020749999891}</string>
+				<string>{490.625, 93.249980500000106}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>175</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>183</integer>
+				<key>Info</key>
+				<integer>3</integer>
+			</dict>
+			<key>ID</key>
+			<integer>176</integer>
+			<key>Points</key>
+			<array>
+				<string>{448.6271292501275, 48.828757565196867}</string>
+				<string>{366, 48}</string>
+				<string>{364.375, 429}</string>
+				<string>{395.51512446545888, 429.41845931841215}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>175</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{448.625, 7.75}, {84, 83}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuPro-W3</string>
+				<key>Size</key>
+				<real>24</real>
+			</dict>
+			<key>ID</key>
+			<integer>175</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.974573</string>
+						<key>g</key>
+						<string>0.998064</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>a</key>
+						<string>0.75</string>
+						<key>b</key>
+						<string>0.94523</string>
+						<key>g</key>
+						<string>0.987116</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs48 \cf0 Tree\
+ver `2}</string>
+			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>174</integer>
+			<key>Points</key>
+			<array>
+				<string>{490.625, 272.75}</string>
+				<string>{490.625, 296.24996100000021}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{450.625, 296.24998050000011}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>173</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 \'82\'51}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>172</integer>
+			<key>Points</key>
+			<array>
+				<string>{490.625, 171.25001949999989}</string>
+				<string>{490.625, 194.74998050000011}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>171</integer>
+				<key>Info</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{450.625, 93.25}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>171</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 0\
+(root)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{450.625, 194.75}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>170</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+	</array>
+	<key>GridInfo</key>
+	<dict/>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>HPages</key>
+	<integer>2</integer>
+	<key>ImageCounter</key>
+	<integer>1</integer>
+	<key>KeepToScale</key>
+	<false/>
+	<key>Layers</key>
+	<array>
+		<dict>
+			<key>Lock</key>
+			<string>NO</string>
+			<key>Name</key>
+			<string>レイヤー 1</string>
+			<key>Print</key>
+			<string>YES</string>
+			<key>View</key>
+			<string>YES</string>
+		</dict>
+	</array>
+	<key>LayoutInfo</key>
+	<dict>
+		<key>Animate</key>
+		<string>NO</string>
+		<key>circoMinDist</key>
+		<real>18</real>
+		<key>circoSeparation</key>
+		<real>0.0</real>
+		<key>layoutEngine</key>
+		<string>dot</string>
+		<key>neatoSeparation</key>
+		<real>0.0</real>
+		<key>twopiSeparation</key>
+		<real>0.0</real>
+	</dict>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheets</key>
+	<array/>
+	<key>ModificationDate</key>
+	<string>2017-02-09 03:17:48 +0000</string>
+	<key>Modifier</key>
+	<string>sister_clown</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>Orientation</key>
+	<integer>2</integer>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>float</string>
+			<string>41</string>
+		</array>
+		<key>NSHorizonalPagination</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595, 842}</string>
+		</array>
+		<key>NSPrintReverseOrientation</key>
+		<array>
+			<string>int</string>
+			<string>0</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+	</dict>
+	<key>PrintOnePage</key>
+	<false/>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>RowAlign</key>
+	<integer>1</integer>
+	<key>RowSpacing</key>
+	<real>36</real>
+	<key>SheetTitle</key>
+	<string>キャンバス 1</string>
+	<key>SmartAlignmentGuidesActive</key>
+	<string>YES</string>
+	<key>SmartDistanceGuidesActive</key>
+	<string>YES</string>
+	<key>UniqueID</key>
+	<integer>1</integer>
+	<key>UseEntirePage</key>
+	<false/>
+	<key>VPages</key>
+	<integer>1</integer>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<integer>0</integer>
+		<key>ExpandedCanvases</key>
+		<array/>
+		<key>Frame</key>
+		<string>{{655, 67}, {1063, 1088}}</string>
+		<key>ListView</key>
+		<true/>
+		<key>OutlineWidth</key>
+		<integer>142</integer>
+		<key>RightSidebar</key>
+		<false/>
+		<key>ShowRuler</key>
+		<true/>
+		<key>Sidebar</key>
+		<true/>
+		<key>SidebarWidth</key>
+		<integer>120</integer>
+		<key>VisibleRegion</key>
+		<string>{{0, -81}, {928, 946}}</string>
+		<key>Zoom</key>
+		<real>1</real>
+		<key>ZoomValues</key>
+		<array>
+			<array>
+				<string>キャンバス 1</string>
+				<real>1</real>
+				<real>1</real>
+			</array>
+		</array>
+	</dict>
+</dict>
+</plist>
Binary file figures/badDifTree2.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/figures/findDifTree.graffle	Thu Feb 09 17:25:56 2017 +0900
@@ -0,0 +1,1871 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>ActiveLayerIndex</key>
+	<integer>0</integer>
+	<key>ApplicationVersion</key>
+	<array>
+		<string>com.omnigroup.OmniGraffle</string>
+		<string>139.16.0.171715</string>
+	</array>
+	<key>AutoAdjust</key>
+	<true/>
+	<key>BackgroundGraphic</key>
+	<dict>
+		<key>Bounds</key>
+		<string>{{0, 0}, {1118, 783}}</string>
+		<key>Class</key>
+		<string>SolidGraphic</string>
+		<key>ID</key>
+		<integer>2</integer>
+		<key>Style</key>
+		<dict>
+			<key>shadow</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+			<key>stroke</key>
+			<dict>
+				<key>Draws</key>
+				<string>NO</string>
+			</dict>
+		</dict>
+	</dict>
+	<key>BaseZoom</key>
+	<integer>0</integer>
+	<key>CanvasOrigin</key>
+	<string>{0, 0}</string>
+	<key>ColumnAlign</key>
+	<integer>1</integer>
+	<key>ColumnSpacing</key>
+	<real>36</real>
+	<key>CreationDate</key>
+	<string>2017-02-08 16:19:42 +0000</string>
+	<key>Creator</key>
+	<string>sister_clown</string>
+	<key>DisplayScale</key>
+	<string>1 0/72 in = 1 0/72 in</string>
+	<key>GraphDocumentVersion</key>
+	<integer>8</integer>
+	<key>GraphicsList</key>
+	<array>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>168</integer>
+				<key>Info</key>
+				<integer>2</integer>
+			</dict>
+			<key>ID</key>
+			<integer>169</integer>
+			<key>Points</key>
+			<array>
+				<string>{456, 374.25}</string>
+				<string>{406.5, 397.74996100000021}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NPEBMwIDAu
+						MDE2MDYyNjA4ODcgMSAxTxARMCAw
+						IDAuOTk4MTkwMDQ1NAAQAYACgAbT
+						FBUNFhcYVE5TSURVTlNJQ0MQB4AD
+						gAXSGg0bHFdOUy5kYXRhTxEMSAAA
+						DEhMaW5vAhAAAG1udHJSR0IgWFla
+						IAfOAAIACQAGADEAAGFjc3BNU0ZU
+						AAAAAElFQyBzUkdCAAAAAAAAAAAA
+						AAAAAAD21gABAAAAANMtSFAgIAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAEWNwcnQAAAFQAAAAM2Rlc2MA
+						AAGEAAAAbHd0cHQAAAHwAAAAFGJr
+						cHQAAAIEAAAAFHJYWVoAAAIYAAAA
+						FGdYWVoAAAIsAAAAFGJYWVoAAAJA
+						AAAAFGRtbmQAAAJUAAAAcGRtZGQA
+						AALEAAAAiHZ1ZWQAAANMAAAAhnZp
+						ZXcAAAPUAAAAJGx1bWkAAAP4AAAA
+						FG1lYXMAAAQMAAAAJHRlY2gAAAQw
+						AAAADHJUUkMAAAQ8AAAIDGdUUkMA
+						AAQ8AAAIDGJUUkMAAAQ8AAAIDHRl
+						eHQAAAAAQ29weXJpZ2h0IChjKSAx
+						OTk4IEhld2xldHQtUGFja2FyZCBD
+						b21wYW55AABkZXNjAAAAAAAAABJz
+						UkdCIElFQzYxOTY2LTIuMQAAAAAA
+						AAAAAAAAEnNSR0IgSUVDNjE5NjYt
+						Mi4xAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAABYWVogAAAAAAAA
+						81EAAQAAAAEWzFhZWiAAAAAAAAAA
+						AAAAAAAAAAAAWFlaIAAAAAAAAG+i
+						AAA49QAAA5BYWVogAAAAAAAAYpkA
+						ALeFAAAY2lhZWiAAAAAAAAAkoAAA
+						D4QAALbPZGVzYwAAAAAAAAAWSUVD
+						IGh0dHA6Ly93d3cuaWVjLmNoAAAA
+						AAAAAAAAAAAWSUVDIGh0dHA6Ly93
+						d3cuaWVjLmNoAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAGRlc2MAAAAA
+						AAAALklFQyA2MTk2Ni0yLjEgRGVm
+						YXVsdCBSR0IgY29sb3VyIHNwYWNl
+						IC0gc1JHQgAAAAAAAAAAAAAALklF
+						QyA2MTk2Ni0yLjEgRGVmYXVsdCBS
+						R0IgY29sb3VyIHNwYWNlIC0gc1JH
+						QgAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AABkZXNjAAAAAAAAACxSZWZlcmVu
+						Y2UgVmlld2luZyBDb25kaXRpb24g
+						aW4gSUVDNjE5NjYtMi4xAAAAAAAA
+						AAAAAAAsUmVmZXJlbmNlIFZpZXdp
+						bmcgQ29uZGl0aW9uIGluIElFQzYx
+						OTY2LTIuMQAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAdmlldwAAAAAA
+						E6T+ABRfLgAQzxQAA+3MAAQTCwAD
+						XJ4AAAABWFlaIAAAAAAATAlWAFAA
+						AABXH+dtZWFzAAAAAAAAAAEAAAAA
+						AAAAAAAAAAAAAAAAAAACjwAAAAJz
+						aWcgAAAAAENSVCBjdXJ2AAAAAAAA
+						BAAAAAAFAAoADwAUABkAHgAjACgA
+						LQAyADcAOwBAAEUASgBPAFQAWQBe
+						AGMAaABtAHIAdwB8AIEAhgCLAJAA
+						lQCaAJ8ApACpAK4AsgC3ALwAwQDG
+						AMsA0ADVANsA4ADlAOsA8AD2APsB
+						AQEHAQ0BEwEZAR8BJQErATIBOAE+
+						AUUBTAFSAVkBYAFnAW4BdQF8AYMB
+						iwGSAZoBoQGpAbEBuQHBAckB0QHZ
+						AeEB6QHyAfoCAwIMAhQCHQImAi8C
+						OAJBAksCVAJdAmcCcQJ6AoQCjgKY
+						AqICrAK2AsECywLVAuAC6wL1AwAD
+						CwMWAyEDLQM4A0MDTwNaA2YDcgN+
+						A4oDlgOiA64DugPHA9MD4APsA/kE
+						BgQTBCAELQQ7BEgEVQRjBHEEfgSM
+						BJoEqAS2BMQE0wThBPAE/gUNBRwF
+						KwU6BUkFWAVnBXcFhgWWBaYFtQXF
+						BdUF5QX2BgYGFgYnBjcGSAZZBmoG
+						ewaMBp0GrwbABtEG4wb1BwcHGQcr
+						Bz0HTwdhB3QHhgeZB6wHvwfSB+UH
+						+AgLCB8IMghGCFoIbgiCCJYIqgi+
+						CNII5wj7CRAJJQk6CU8JZAl5CY8J
+						pAm6Cc8J5Qn7ChEKJwo9ClQKagqB
+						CpgKrgrFCtwK8wsLCyILOQtRC2kL
+						gAuYC7ALyAvhC/kMEgwqDEMMXAx1
+						DI4MpwzADNkM8w0NDSYNQA1aDXQN
+						jg2pDcMN3g34DhMOLg5JDmQOfw6b
+						DrYO0g7uDwkPJQ9BD14Peg+WD7MP
+						zw/sEAkQJhBDEGEQfhCbELkQ1xD1
+						ERMRMRFPEW0RjBGqEckR6BIHEiYS
+						RRJkEoQSoxLDEuMTAxMjE0MTYxOD
+						E6QTxRPlFAYUJxRJFGoUixStFM4U
+						8BUSFTQVVhV4FZsVvRXgFgMWJhZJ
+						FmwWjxayFtYW+hcdF0EXZReJF64X
+						0hf3GBsYQBhlGIoYrxjVGPoZIBlF
+						GWsZkRm3Gd0aBBoqGlEadxqeGsUa
+						7BsUGzsbYxuKG7Ib2hwCHCocUhx7
+						HKMczBz1HR4dRx1wHZkdwx3sHhYe
+						QB5qHpQevh7pHxMfPh9pH5Qfvx/q
+						IBUgQSBsIJggxCDwIRwhSCF1IaEh
+						ziH7IiciVSKCIq8i3SMKIzgjZiOU
+						I8Ij8CQfJE0kfCSrJNolCSU4JWgl
+						lyXHJfcmJyZXJocmtyboJxgnSSd6
+						J6sn3CgNKD8ocSiiKNQpBik4KWsp
+						nSnQKgIqNSpoKpsqzysCKzYraSud
+						K9EsBSw5LG4soizXLQwtQS12Last
+						4S4WLkwugi63Lu4vJC9aL5Evxy/+
+						MDUwbDCkMNsxEjFKMYIxujHyMioy
+						YzKbMtQzDTNGM38zuDPxNCs0ZTSe
+						NNg1EzVNNYc1wjX9Njc2cjauNuk3
+						JDdgN5w31zgUOFA4jDjIOQU5Qjl/
+						Obw5+To2OnQ6sjrvOy07azuqO+g8
+						JzxlPKQ84z0iPWE9oT3gPiA+YD6g
+						PuA/IT9hP6I/4kAjQGRApkDnQSlB
+						akGsQe5CMEJyQrVC90M6Q31DwEQD
+						REdEikTORRJFVUWaRd5GIkZnRqtG
+						8Ec1R3tHwEgFSEtIkUjXSR1JY0mp
+						SfBKN0p9SsRLDEtTS5pL4kwqTHJM
+						uk0CTUpNk03cTiVObk63TwBPSU+T
+						T91QJ1BxULtRBlFQUZtR5lIxUnxS
+						x1MTU19TqlP2VEJUj1TbVShVdVXC
+						Vg9WXFapVvdXRFeSV+BYL1h9WMtZ
+						GllpWbhaB1pWWqZa9VtFW5Vb5Vw1
+						XIZc1l0nXXhdyV4aXmxevV8PX2Ff
+						s2AFYFdgqmD8YU9homH1YklinGLw
+						Y0Njl2PrZEBklGTpZT1lkmXnZj1m
+						kmboZz1nk2fpaD9olmjsaUNpmmnx
+						akhqn2r3a09rp2v/bFdsr20IbWBt
+						uW4SbmtuxG8eb3hv0XArcIZw4HE6
+						cZVx8HJLcqZzAXNdc7h0FHRwdMx1
+						KHWFdeF2Pnabdvh3VnezeBF4bnjM
+						eSp5iXnnekZ6pXsEe2N7wnwhfIF8
+						4X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
+						gQqBa4HNgjCCkoL0g1eDuoQdhICE
+						44VHhauGDoZyhteHO4efiASIaYjO
+						iTOJmYn+imSKyoswi5aL/IxjjMqN
+						MY2Yjf+OZo7OjzaPnpAGkG6Q1pE/
+						kaiSEZJ6kuOTTZO2lCCUipT0lV+V
+						yZY0lp+XCpd1l+CYTJi4mSSZkJn8
+						mmia1ZtCm6+cHJyJnPedZJ3SnkCe
+						rp8dn4uf+qBpoNihR6G2oiailqMG
+						o3aj5qRWpMelOKWpphqmi6b9p26n
+						4KhSqMSpN6mpqhyqj6sCq3Wr6axc
+						rNCtRK24ri2uoa8Wr4uwALB1sOqx
+						YLHWskuywrM4s660JbSctRO1irYB
+						tnm28Ldot+C4WbjRuUq5wro7urW7
+						LrunvCG8m70VvY++Cr6Evv+/er/1
+						wHDA7MFnwePCX8Lbw1jD1MRRxM7F
+						S8XIxkbGw8dBx7/IPci8yTrJuco4
+						yrfLNsu2zDXMtc01zbXONs62zzfP
+						uNA50LrRPNG+0j/SwdNE08bUSdTL
+						1U7V0dZV1tjXXNfg2GTY6Nls2fHa
+						dtr724DcBdyK3RDdlt4c3qLfKd+v
+						4DbgveFE4cziU+Lb42Pj6+Rz5Pzl
+						hOYN5pbnH+ep6DLovOlG6dDqW+rl
+						63Dr++yG7RHtnO4o7rTvQO/M8Fjw
+						5fFy8f/yjPMZ86f0NPTC9VD13vZt
+						9vv3ivgZ+Kj5OPnH+lf65/t3/Af8
+						mP0p/br+S/7c/23//4AE0h4fICFa
+						JGNsYXNzbmFtZVgkY2xhc3Nlc11O
+						U011dGFibGVEYXRhoyAiI1ZOU0Rh
+						dGFYTlNPYmplY3TSHh8lJlxOU0Nv
+						bG9yU3BhY2WiJyNcTlNDb2xvclNw
+						YWNl0h4fKSpXTlNDb2xvcqIrI1dO
+						U0NvbG9yXxAPTlNLZXllZEFyY2hp
+						dmVy0S4vVHJvb3SAAQAIABEAGgAj
+						AC0AMgA3AD8ARQBQAF0AYwBwAIUA
+						jACiALYAuAC6ALwAwwDIAM4A0ADS
+						ANQA2QDhDS0NLw00DT8NSA1WDVoN
+						YQ1qDW8NfA1/DYwNkQ2ZDZwNpA22
+						DbkNvgAAAAAAAAIBAAAAAAAAADAA
+						AAAAAAAAAAAAAAAAAA3A
+						</data>
+						<key>b</key>
+						<string>0.99819</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>106</integer>
+				<key>Info</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{366.5, 397.74998050000011}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>168</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>archive</key>
+						<data>
+						YnBsaXN0MDDUAQIDBAUGLC1YJHZl
+						cnNpb25YJG9iamVjdHNZJGFyY2hp
+						dmVyVCR0b3ASAAGGoKcHCBMZHSQo
+						VSRudWxs1QkKCwwNDg8QERJcTlND
+						b21wb25lbnRzVU5TUkdCXE5TQ29s
+						b3JTcGFjZV8QEk5TQ3VzdG9tQ29s
+						b3JTcGFjZVYkY2xhc3NPEBQwLjAw
+						MTI2NTg2NDM5NSAwIDEgMU8QETAg
+						MCAwLjk5ODE4OTA5MTcAEAGAAoAG
+						0xQVDRYXGFROU0lEVU5TSUNDEAeA
+						A4AF0hoNGxxXTlMuZGF0YU8RDEgA
+						AAxITGlubwIQAABtbnRyUkdCIFhZ
+						WiAHzgACAAkABgAxAABhY3NwTVNG
+						VAAAAABJRUMgc1JHQgAAAAAAAAAA
+						AAAAAAAA9tYAAQAAAADTLUhQICAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAABFjcHJ0AAABUAAAADNkZXNj
+						AAABhAAAAGx3dHB0AAAB8AAAABRi
+						a3B0AAACBAAAABRyWFlaAAACGAAA
+						ABRnWFlaAAACLAAAABRiWFlaAAAC
+						QAAAABRkbW5kAAACVAAAAHBkbWRk
+						AAACxAAAAIh2dWVkAAADTAAAAIZ2
+						aWV3AAAD1AAAACRsdW1pAAAD+AAA
+						ABRtZWFzAAAEDAAAACR0ZWNoAAAE
+						MAAAAAxyVFJDAAAEPAAACAxnVFJD
+						AAAEPAAACAxiVFJDAAAEPAAACAx0
+						ZXh0AAAAAENvcHlyaWdodCAoYykg
+						MTk5OCBIZXdsZXR0LVBhY2thcmQg
+						Q29tcGFueQAAZGVzYwAAAAAAAAAS
+						c1JHQiBJRUM2MTk2Ni0yLjEAAAAA
+						AAAAAAAAABJzUkdCIElFQzYxOTY2
+						LTIuMQAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAWFlaIAAAAAAA
+						APNRAAEAAAABFsxYWVogAAAAAAAA
+						AAAAAAAAAAAAAFhZWiAAAAAAAABv
+						ogAAOPUAAAOQWFlaIAAAAAAAAGKZ
+						AAC3hQAAGNpYWVogAAAAAAAAJKAA
+						AA+EAAC2z2Rlc2MAAAAAAAAAFklF
+						QyBodHRwOi8vd3d3LmllYy5jaAAA
+						AAAAAAAAAAAAFklFQyBodHRwOi8v
+						d3d3LmllYy5jaAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAABkZXNjAAAA
+						AAAAAC5JRUMgNjE5NjYtMi4xIERl
+						ZmF1bHQgUkdCIGNvbG91ciBzcGFj
+						ZSAtIHNSR0IAAAAAAAAAAAAAAC5J
+						RUMgNjE5NjYtMi4xIERlZmF1bHQg
+						UkdCIGNvbG91ciBzcGFjZSAtIHNS
+						R0IAAAAAAAAAAAAAAAAAAAAAAAAA
+						AAAAZGVzYwAAAAAAAAAsUmVmZXJl
+						bmNlIFZpZXdpbmcgQ29uZGl0aW9u
+						IGluIElFQzYxOTY2LTIuMQAAAAAA
+						AAAAAAAALFJlZmVyZW5jZSBWaWV3
+						aW5nIENvbmRpdGlvbiBpbiBJRUM2
+						MTk2Ni0yLjEAAAAAAAAAAAAAAAAA
+						AAAAAAAAAAAAAAAAAHZpZXcAAAAA
+						ABOk/gAUXy4AEM8UAAPtzAAEEwsA
+						A1yeAAAAAVhZWiAAAAAAAEwJVgBQ
+						AAAAVx/nbWVhcwAAAAAAAAABAAAA
+						AAAAAAAAAAAAAAAAAAAAAo8AAAAC
+						c2lnIAAAAABDUlQgY3VydgAAAAAA
+						AAQAAAAABQAKAA8AFAAZAB4AIwAo
+						AC0AMgA3ADsAQABFAEoATwBUAFkA
+						XgBjAGgAbQByAHcAfACBAIYAiwCQ
+						AJUAmgCfAKQAqQCuALIAtwC8AMEA
+						xgDLANAA1QDbAOAA5QDrAPAA9gD7
+						AQEBBwENARMBGQEfASUBKwEyATgB
+						PgFFAUwBUgFZAWABZwFuAXUBfAGD
+						AYsBkgGaAaEBqQGxAbkBwQHJAdEB
+						2QHhAekB8gH6AgMCDAIUAh0CJgIv
+						AjgCQQJLAlQCXQJnAnECegKEAo4C
+						mAKiAqwCtgLBAssC1QLgAusC9QMA
+						AwsDFgMhAy0DOANDA08DWgNmA3ID
+						fgOKA5YDogOuA7oDxwPTA+AD7AP5
+						BAYEEwQgBC0EOwRIBFUEYwRxBH4E
+						jASaBKgEtgTEBNME4QTwBP4FDQUc
+						BSsFOgVJBVgFZwV3BYYFlgWmBbUF
+						xQXVBeUF9gYGBhYGJwY3BkgGWQZq
+						BnsGjAadBq8GwAbRBuMG9QcHBxkH
+						Kwc9B08HYQd0B4YHmQesB78H0gfl
+						B/gICwgfCDIIRghaCG4IggiWCKoI
+						vgjSCOcI+wkQCSUJOglPCWQJeQmP
+						CaQJugnPCeUJ+woRCicKPQpUCmoK
+						gQqYCq4KxQrcCvMLCwsiCzkLUQtp
+						C4ALmAuwC8gL4Qv5DBIMKgxDDFwM
+						dQyODKcMwAzZDPMNDQ0mDUANWg10
+						DY4NqQ3DDd4N+A4TDi4OSQ5kDn8O
+						mw62DtIO7g8JDyUPQQ9eD3oPlg+z
+						D88P7BAJECYQQxBhEH4QmxC5ENcQ
+						9RETETERTxFtEYwRqhHJEegSBxIm
+						EkUSZBKEEqMSwxLjEwMTIxNDE2MT
+						gxOkE8UT5RQGFCcUSRRqFIsUrRTO
+						FPAVEhU0FVYVeBWbFb0V4BYDFiYW
+						SRZsFo8WshbWFvoXHRdBF2UXiReu
+						F9IX9xgbGEAYZRiKGK8Y1Rj6GSAZ
+						RRlrGZEZtxndGgQaKhpRGncanhrF
+						GuwbFBs7G2MbihuyG9ocAhwqHFIc
+						exyjHMwc9R0eHUcdcB2ZHcMd7B4W
+						HkAeah6UHr4e6R8THz4faR+UH78f
+						6iAVIEEgbCCYIMQg8CEcIUghdSGh
+						Ic4h+yInIlUigiKvIt0jCiM4I2Yj
+						lCPCI/AkHyRNJHwkqyTaJQklOCVo
+						JZclxyX3JicmVyaHJrcm6CcYJ0kn
+						eierJ9woDSg/KHEooijUKQYpOClr
+						KZ0p0CoCKjUqaCqbKs8rAis2K2kr
+						nSvRLAUsOSxuLKIs1y0MLUEtdi2r
+						LeEuFi5MLoIuty7uLyQvWi+RL8cv
+						/jA1MGwwpDDbMRIxSjGCMbox8jIq
+						MmMymzLUMw0zRjN/M7gz8TQrNGU0
+						njTYNRM1TTWHNcI1/TY3NnI2rjbp
+						NyQ3YDecN9c4FDhQOIw4yDkFOUI5
+						fzm8Ofk6Njp0OrI67zstO2s7qjvo
+						PCc8ZTykPOM9Ij1hPaE94D4gPmA+
+						oD7gPyE/YT+iP+JAI0BkQKZA50Ep
+						QWpBrEHuQjBCckK1QvdDOkN9Q8BE
+						A0RHRIpEzkUSRVVFmkXeRiJGZ0ar
+						RvBHNUd7R8BIBUhLSJFI10kdSWNJ
+						qUnwSjdKfUrESwxLU0uaS+JMKkxy
+						TLpNAk1KTZNN3E4lTm5Ot08AT0lP
+						k0/dUCdQcVC7UQZRUFGbUeZSMVJ8
+						UsdTE1NfU6pT9lRCVI9U21UoVXVV
+						wlYPVlxWqVb3V0RXklfgWC9YfVjL
+						WRpZaVm4WgdaVlqmWvVbRVuVW+Vc
+						NVyGXNZdJ114XcleGl5sXr1fD19h
+						X7NgBWBXYKpg/GFPYaJh9WJJYpxi
+						8GNDY5dj62RAZJRk6WU9ZZJl52Y9
+						ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp
+						8WpIap9q92tPa6dr/2xXbK9tCG1g
+						bbluEm5rbsRvHm94b9FwK3CGcOBx
+						OnGVcfByS3KmcwFzXXO4dBR0cHTM
+						dSh1hXXhdj52m3b4d1Z3s3gReG54
+						zHkqeYl553pGeqV7BHtje8J8IXyB
+						fOF9QX2hfgF+Yn7CfyN/hH/lgEeA
+						qIEKgWuBzYIwgpKC9INXg7qEHYSA
+						hOOFR4Wrhg6GcobXhzuHn4gEiGmI
+						zokziZmJ/opkisqLMIuWi/yMY4zK
+						jTGNmI3/jmaOzo82j56QBpBukNaR
+						P5GokhGSepLjk02TtpQglIqU9JVf
+						lcmWNJaflwqXdZfgmEyYuJkkmZCZ
+						/JpomtWbQpuvnByciZz3nWSd0p5A
+						nq6fHZ+Ln/qgaaDYoUehtqImopaj
+						BqN2o+akVqTHpTilqaYapoum/adu
+						p+CoUqjEqTepqaocqo+rAqt1q+ms
+						XKzQrUStuK4trqGvFq+LsACwdbDq
+						sWCx1rJLssKzOLOutCW0nLUTtYq2
+						AbZ5tvC3aLfguFm40blKucK6O7q1
+						uy67p7whvJu9Fb2Pvgq+hL7/v3q/
+						9cBwwOzBZ8Hjwl/C28NYw9TEUcTO
+						xUvFyMZGxsPHQce/yD3IvMk6ybnK
+						OMq3yzbLtsw1zLXNNc21zjbOts83
+						z7jQOdC60TzRvtI/0sHTRNPG1EnU
+						y9VO1dHWVdbY11zX4Nhk2OjZbNnx
+						2nba+9uA3AXcit0Q3ZbeHN6i3ynf
+						r+A24L3hROHM4lPi2+Nj4+vkc+T8
+						5YTmDeaW5x/nqegy6LzpRunQ6lvq
+						5etw6/vshu0R7ZzuKO6070DvzPBY
+						8OXxcvH/8ozzGfOn9DT0wvVQ9d72
+						bfb794r4Gfio+Tj5x/pX+uf7d/wH
+						/Jj9Kf26/kv+3P9t//+ABNIeHyAh
+						WiRjbGFzc25hbWVYJGNsYXNzZXNd
+						TlNNdXRhYmxlRGF0YaMgIiNWTlNE
+						YXRhWE5TT2JqZWN00h4fJSZcTlND
+						b2xvclNwYWNloicjXE5TQ29sb3JT
+						cGFjZdIeHykqV05TQ29sb3KiKyNX
+						TlNDb2xvcl8QD05TS2V5ZWRBcmNo
+						aXZlctEuL1Ryb290gAEACAARABoA
+						IwAtADIANwA/AEUAUABdAGMAcACF
+						AIwAowC3ALkAuwC9AMQAyQDPANEA
+						0wDVANoA4g0uDTANNQ1ADUkNVw1b
+						DWINaw1wDX0NgA2NDZINmg2dDaUN
+						tw26Db8AAAAAAAACAQAAAAAAAAAw
+						AAAAAAAAAAAAAAAAAAANwQ==
+						</data>
+						<key>b</key>
+						<string>0.998189</string>
+						<key>g</key>
+						<string>0</string>
+						<key>r</key>
+						<string>0</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 5}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>126</integer>
+			<key>Points</key>
+			<array>
+				<string>{164, 374.25}</string>
+				<string>{164, 397.74996100000021}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>125</integer>
+			<key>Points</key>
+			<array>
+				<string>{164, 475.74997625878927}</string>
+				<string>{164, 499.24993725878949}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{124, 499.24995675878938}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>124</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 4}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{124, 397.74994574121115}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>123</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 3\
+(subTreeRoot)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{548.5, 397.74996948242188}, {58, 47}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuPro-W3</string>
+				<key>Size</key>
+				<real>24</real>
+			</dict>
+			<key>ID</key>
+			<integer>120</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.974573</string>
+						<key>g</key>
+						<string>0.998064</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>a</key>
+						<string>0.75</string>
+						<key>b</key>
+						<string>0.94523</string>
+						<key>g</key>
+						<string>0.987116</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs48 \cf0 \'95\'db\'8e\'9d}</string>
+			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{266, 194.75}, {58, 47}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuPro-W3</string>
+				<key>Size</key>
+				<real>24</real>
+			</dict>
+			<key>ID</key>
+			<integer>119</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.974573</string>
+						<key>g</key>
+						<string>0.998064</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>a</key>
+						<string>0.75</string>
+						<key>b</key>
+						<string>0.94523</string>
+						<key>g</key>
+						<string>0.987116</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs48 \cf0 \'95\'db\'8e\'9d}</string>
+			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>118</integer>
+			<key>Points</key>
+			<array>
+				<string>{456, 374.25}</string>
+				<string>{505, 397.74993048242209}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>106</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>117</integer>
+			<key>Points</key>
+			<array>
+				<string>{505, 475.74994574121115}</string>
+				<string>{505, 499.24990674121136}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{465, 499.24992624121126}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>116</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 4\
+(\'96\'96\'94\'f6\
+\'83\'6d\'81\'5b\'83\'68)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{465, 397.74991522363302}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>115</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0</string>
+						<key>g</key>
+						<string>0.0381768</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 3\
+(subTreeRoot)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>104</integer>
+			</dict>
+			<key>ID</key>
+			<integer>114</integer>
+			<key>Points</key>
+			<array>
+				<string>{456, 90.750020749999891}</string>
+				<string>{456, 93.249980500000106}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>112</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>116</integer>
+				<key>Info</key>
+				<integer>3</integer>
+			</dict>
+			<key>ID</key>
+			<integer>113</integer>
+			<key>Points</key>
+			<array>
+				<string>{487.99919946335871, 49.54739032958512}</string>
+				<string>{590.5, 50.5}</string>
+				<string>{583.5, 538.5}</string>
+				<string>{545.00001999999984, 538.24992624121126}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>112</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{424, 7.75}, {64, 83}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuPro-W3</string>
+				<key>Size</key>
+				<real>24</real>
+			</dict>
+			<key>ID</key>
+			<integer>112</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.974573</string>
+						<key>g</key>
+						<string>0.998064</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>a</key>
+						<string>0.75</string>
+						<key>b</key>
+						<string>0.94523</string>
+						<key>g</key>
+						<string>0.987116</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs48 \cf0 Tree\
+ver2}</string>
+			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>107</integer>
+			<key>Points</key>
+			<array>
+				<string>{456, 272.75}</string>
+				<string>{456, 296.24996100000021}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{416, 296.24998050000011}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>106</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 \'82\'51}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>105</integer>
+			<key>Points</key>
+			<array>
+				<string>{456, 171.25001949999989}</string>
+				<string>{456, 194.74998050000011}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>104</integer>
+				<key>Info</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{416, 93.25}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>104</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 0\
+(root)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{416, 194.75}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>103</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>62</integer>
+			</dict>
+			<key>ID</key>
+			<integer>86</integer>
+			<key>Points</key>
+			<array>
+				<string>{164, 88.250020749999891}</string>
+				<string>{164, 90.749980500000106}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>82</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>Head</key>
+			<dict>
+				<key>ID</key>
+				<integer>64</integer>
+				<key>Info</key>
+				<integer>3</integer>
+			</dict>
+			<key>ID</key>
+			<integer>84</integer>
+			<key>Points</key>
+			<array>
+				<string>{195.999297031726, 46.470936363095412}</string>
+				<string>{250, 46}</string>
+				<string>{249, 333}</string>
+				<string>{204.00001999999989, 332.74998050000011}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>FilledArrow</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>82</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{132, 5.25}, {64, 83}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FitText</key>
+			<string>YES</string>
+			<key>Flow</key>
+			<string>Resize</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuPro-W3</string>
+				<key>Size</key>
+				<real>24</real>
+			</dict>
+			<key>ID</key>
+			<integer>82</integer>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>fill</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>b</key>
+						<string>0.974573</string>
+						<key>g</key>
+						<string>0.998064</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>shadow</key>
+				<dict>
+					<key>Color</key>
+					<dict>
+						<key>a</key>
+						<string>0.75</string>
+						<key>b</key>
+						<string>0.94523</string>
+						<key>g</key>
+						<string>0.987116</string>
+						<key>r</key>
+						<string>1</string>
+					</dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+				<key>stroke</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuPro-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs48 \cf0 Tree\
+ver1}</string>
+			</dict>
+			<key>TextRelativeArea</key>
+			<string>{{0, 0}, {1, 1}}</string>
+			<key>Wrap</key>
+			<string>NO</string>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>65</integer>
+			<key>Points</key>
+			<array>
+				<string>{164, 270.25}</string>
+				<string>{164, 293.74996100000021}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{124, 293.74998050000011}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>64</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 \'82\'51\
+(\'96\'96\'94\'f6\
+\'83\'6d\'81\'5b\'83\'68)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Class</key>
+			<string>LineGraphic</string>
+			<key>ID</key>
+			<integer>63</integer>
+			<key>Points</key>
+			<array>
+				<string>{164, 168.75001949999989}</string>
+				<string>{164, 192.24998050000011}</string>
+			</array>
+			<key>Style</key>
+			<dict>
+				<key>stroke</key>
+				<dict>
+					<key>HeadArrow</key>
+					<string>0</string>
+					<key>Join</key>
+					<integer>0</integer>
+					<key>Legacy</key>
+					<true/>
+					<key>TailArrow</key>
+					<string>0</string>
+				</dict>
+			</dict>
+			<key>Tail</key>
+			<dict>
+				<key>ID</key>
+				<integer>62</integer>
+				<key>Info</key>
+				<integer>1</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{124, 90.75}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>62</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 0\
+(root)}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+		<dict>
+			<key>Bounds</key>
+			<string>{{124, 192.25}, {80, 78}}</string>
+			<key>Class</key>
+			<string>ShapedGraphic</string>
+			<key>FontInfo</key>
+			<dict>
+				<key>Font</key>
+				<string>HiraKakuProN-W3</string>
+				<key>Size</key>
+				<real>12</real>
+			</dict>
+			<key>ID</key>
+			<integer>61</integer>
+			<key>Magnets</key>
+			<array>
+				<string>{0, 1}</string>
+				<string>{0, -1}</string>
+				<string>{1, 0}</string>
+				<string>{-1, 0}</string>
+			</array>
+			<key>Shape</key>
+			<string>Circle</string>
+			<key>Style</key>
+			<dict>
+				<key>shadow</key>
+				<dict>
+					<key>Draws</key>
+					<string>NO</string>
+				</dict>
+			</dict>
+			<key>Text</key>
+			<dict>
+				<key>Text</key>
+				<string>{\rtf1\ansi\ansicpg932\cocoartf1504\cocoasubrtf810
+\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc
+
+\f0\fs24 \cf0 1}</string>
+				<key>VerticalPad</key>
+				<integer>0</integer>
+			</dict>
+		</dict>
+	</array>
+	<key>GridInfo</key>
+	<dict/>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>HPages</key>
+	<integer>2</integer>
+	<key>ImageCounter</key>
+	<integer>1</integer>
+	<key>KeepToScale</key>
+	<false/>
+	<key>Layers</key>
+	<array>
+		<dict>
+			<key>Lock</key>
+			<string>NO</string>
+			<key>Name</key>
+			<string>レイヤー 1</string>
+			<key>Print</key>
+			<string>YES</string>
+			<key>View</key>
+			<string>YES</string>
+		</dict>
+	</array>
+	<key>LayoutInfo</key>
+	<dict>
+		<key>Animate</key>
+		<string>NO</string>
+		<key>circoMinDist</key>
+		<real>18</real>
+		<key>circoSeparation</key>
+		<real>0.0</real>
+		<key>layoutEngine</key>
+		<string>dot</string>
+		<key>neatoSeparation</key>
+		<real>0.0</real>
+		<key>twopiSeparation</key>
+		<real>0.0</real>
+	</dict>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheets</key>
+	<array/>
+	<key>ModificationDate</key>
+	<string>2017-02-08 19:05:18 +0000</string>
+	<key>Modifier</key>
+	<string>sister_clown</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>Orientation</key>
+	<integer>2</integer>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>float</string>
+			<string>41</string>
+		</array>
+		<key>NSHorizonalPagination</key>
+		<array>
+			<string>coded</string>
+			<string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595, 842}</string>
+		</array>
+		<key>NSPrintReverseOrientation</key>
+		<array>
+			<string>int</string>
+			<string>0</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>float</string>
+			<string>18</string>
+		</array>
+	</dict>
+	<key>PrintOnePage</key>
+	<false/>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>RowAlign</key>
+	<integer>1</integer>
+	<key>RowSpacing</key>
+	<real>36</real>
+	<key>SheetTitle</key>
+	<string>キャンバス 1</string>
+	<key>SmartAlignmentGuidesActive</key>
+	<string>YES</string>
+	<key>SmartDistanceGuidesActive</key>
+	<string>YES</string>
+	<key>UniqueID</key>
+	<integer>1</integer>
+	<key>UseEntirePage</key>
+	<false/>
+	<key>VPages</key>
+	<integer>1</integer>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<integer>0</integer>
+		<key>ExpandedCanvases</key>
+		<array/>
+		<key>Frame</key>
+		<string>{{417, 163}, {1373, 992}}</string>
+		<key>ListView</key>
+		<true/>
+		<key>OutlineWidth</key>
+		<integer>142</integer>
+		<key>RightSidebar</key>
+		<false/>
+		<key>ShowRuler</key>
+		<true/>
+		<key>Sidebar</key>
+		<true/>
+		<key>SidebarWidth</key>
+		<integer>120</integer>
+		<key>VisibleRegion</key>
+		<string>{{-60, -33}, {1238, 850}}</string>
+		<key>Zoom</key>
+		<real>1</real>
+		<key>ZoomValues</key>
+		<array>
+			<array>
+				<string>キャンバス 1</string>
+				<real>1</real>
+				<real>1</real>
+			</array>
+		</array>
+	</dict>
+</dict>
+</plist>
Binary file figures/findDifTree.pdf has changed
--- a/indexupdate.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/indexupdate.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -1,16 +1,17 @@
 \chapter{Indexの差分Update}
-Jungleの木はIndexを持っており、木のCommit時に、Full Updateを行っている。
-そのため、Commitを行うたび、O(n)のIndexのUpdateが入り、木の編集時大きなネックとなっていた。
-なので、高速にIndexの更新を行う差分アップデートを実装した。
+Jungleの木はIndexを持っており、木のCommit時にFull Updateを行っている。
+そのため、Commitを行うたびO(n)のIndexのUpdateが入り、木の編集時大きなネックとなっていた。
+なので、高速にIndexの更新を行うため、Index の差分アップデートを実装した。
 
 \section{差分 Updateの実装}
 Indexの差分 Updateを行うためには、編集を行ったノードを覚えておく必要がある。
-Jungleの木に編集を行ったノードをリストに格納する。
-そして、Commit時にリストにあるノードと、そのノードまでの経路にあるノードに対して、IndexをのUpdateを行う。
+そこで、Jungle Tree Editor 内に、編集を加えたノードを覚えておくためのリストを定義した。
+Editor は、木に編集を加えたら、リストに編集前のノードを保存する。
+そして、Commit 時にリストにあるノードを使って Index の Update を行う。
 
-Indexの Update は、ノードの削除とノードの挿入の2つのプロセスで行われる。
+Indexの Update は、削除と挿入の2つのプロセスで行われる。
 
-\section{Indexの中身の削除}
+\section{Indexの削除}
 IndexのUpdateを行う際、初めに、編集後の木に存在しないノードをIndexから削除する。
 削除の対象は、変更を加えたノードと、ルートから変更を加えたノードまでの経路にあるノードである。
 ノードの削除は、以下の手順で行われる。
@@ -24,6 +25,9 @@
 \item 1 - 5をリストからノードが無くなるまで続ける。
 \end{enumerate}
 
+Parent Index から値が取得できない場合は、以降ルートまでのノードは Index から削除されていることが保証されているため、削除を終えて次のノードに行っても構わない。
+
+
 
 \section{Indexへのノードの挿入}
 Indexから不要なノードを削除した後は、新しく作られたノードをIndexに挿入する。
--- a/introduciton.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/introduciton.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -34,9 +34,10 @@
 \section{本論文の構成}
 本論文では、初めに既存のデータベースについて記述する。
 第 3 章では、Jungleの基本的な機能・APIについて記述する。
-第 4 章では、改良後のIndexの実装に使用する非破壊 TreeMap の実装について記述する。
-第 5 章では、Indexの差分 Update の実装について記述する。
-第 6 章では、線形の木を、正順でO(1)で構築することが可能な、Differential Jungle Tree の実装について記述する。
-第 7 章では、自身が Index としての機能を持つ、 Red Black Jungle Treeの実装について記述する。
-第 8 章では、実際に Jungle を使用した、例題アプリケーションの実装について記述する。
-第 9 章では、今回実装した機能の測定について記述する。
+第 4 章では、Jungleに新しく加えた構成要素について述べる。
+第 5 章では、改良後のIndexの実装に使用する非破壊 TreeMap の実装について記述する。
+第 6 章では、Indexの差分 Update の実装について記述する。
+第 7 章では、線形の木を、正順でO(1)で構築することが可能な、Differential Jungle Tree の実装について記述する。
+第 8 章では、自身が Index としての機能を持つ、 Red Black Jungle Treeの実装について記述する。
+第 9 章では、実際に Jungle を使用した、例題アプリケーションの実装について記述する。
+第 10 章では、今回実装した機能の測定について記述する。
--- a/jungle.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/jungle.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -1,30 +1,11 @@
 \chapter{非破壊的木構造データベースJungle}
-本章では、当研究室で開発を行っているデータベース Jungle について記述する。
-
-\section{概要}
-Jungleは、当研究室で開発を行っているデータベースで、Javaを用いて実装されている。
-Jungleは名前付きの複数の木の集合からなり、木は複数のノードの集合で出来ている。
-ノードは自身の子のリストと属性名と属性値の組でデータを持ち、データベースのレコードに相当する。
-通常のレコードと異なるのは、ノードに子供となる複数のノードが付くところである。
-Jungleでは、親から子への片方向の参照しか持たない。
+本章では、Jungleの基本的な解説を行う。
+初めに Jungle の特徴である非破壊的木構造の説明をし、その後提供しているAPIについて述べる。
 
-通常のRDBと異なり、Jungleは木構造をそのまま読み込むことができる。例えば、XMLやJsonで記述された構造を、データベースを設計することなく読み込むことが可能である。
-また、この木を、そのままデータベースとして使用することも可能である。しかし、木の変更の手間は木の構造に依存する。
-%特に非破壊木構造を採用しているJungleでは木構造の変更にo(1)からo(n)の様々な選択肢がある。つまり、アプリケーションに合わせて木を設計しない限り、
-特に非破壊木構造を採用しているJungleでは、木構造の変更の手間はO(1)からO(n)となりえる。つまり、アプリケーションに合わせて木を設計しない限り、
-十分な性能を出すことはできない。逆に、正しい木の設計を行えば高速な処理が可能である。
-
-Jungleは基本的にon memoryで使用することを考えており、一度、木のルートを取得すれば、その上で木構造として自由にアクセスして良い。
-Jungleは分散データベースを構成するように設計されており、分散ノード間の通信は木の変更のログを交換することによって行われる。
-持続性のある分散ノードを用いることでJungleの持続性を保証することができる。本論文では基本的に分散実装部分ではなく on memory DBの
-部分について考察する。
-本章ではまず破壊的木構造と、非破壊的木構造の説明をし、その後Jungleの提供しているAPIについて述べる。
-
-\newpage
 
 \section{非破壊的木構造}
 Jungle は、非破壊的木構造という特殊な木構造を持つ。
-本節では、初めに破壊的木構造と非破壊的木構造の編集・メリットデメリットについて記述する。
+本節では、破壊的木構造と非破壊的木構造の編集・メリットデメリットについて記述する。
 
 \vspace{0.3in}
 {\Large 破壊的木構造の編集}
@@ -61,7 +42,6 @@
   \end{center}
 \end{figure}
 
-\newpage
 非破壊的木構造においてデータのロックが必要となる部分は、木のコピーを作り終えた後に
 ルートノードを更新するときだけである。
 データ編集を行っている間ロックが必要な破壊的木構造に比べ、編集中においてもデータの読み込みが可能であるが、
@@ -103,10 +83,10 @@
 \begin{center}
 \caption{Eitherに実装されているAPI}
 \begin{tabular}{|p{15em}|p{24em}|}        \hline
-{\tt boolean isA()} & EitherがAを持っているかどうかを調べる。持っている場合trueを返す。\\ \hline
-{\tt boolean isB()} & EitherがBを持っているかどうかを調べる。持っている場合trueを返す。\\ \hline
-{\tt A a()} & Aの値を取得する。\\ \hline
-{\tt B b()} & Bの値を取得する。\\ \hline
+{\small{\tt boolean isA()}} & {\small EitherがAを持っているかどうかを調べる。持っている場合trueを返す。}\\ \hline
+{\small{\tt boolean isB()}} & {\small EitherがBを持っているかどうかを調べる。持っている場合trueを返す。}\\ \hline
+{\small{\tt A a()}} &{\small Aの値を取得する。}\\ \hline
+{\small{\tt B b()}} &{\small Bの値を取得する。}\\ \hline
 \end{tabular}
 \label{EitherAPI}
 \end{center}
@@ -125,8 +105,8 @@
   \begin{center}
   \caption{Jungleに実装されているAPI}
     \begin{tabular}{|p{15em}|p{24em}|}        \hline
-      {\tt JungleTree createNewTree(String treeName) } & Jungleに新しく木を生成する。木の名前が重複した場合、生成に失敗しnullを返す。     \\ \hline
-      {\tt JungleTree getTreeByName(String treeName)}  & JungleからtreeNameと名前が一致するtreeを取得する。名前が一致するTreeがない場合取得は失敗しnullを返す       \\ \hline
+     {\small {\tt JungleTree createNewTree(String treeName)}} &{\small Jungleに新しく木を生成する。木の名前が重複した場合、生成に失敗しnullを返す。}     \\ \hline
+     {\small {\tt JungleTree getTreeByName(String treeName)}} &{\small JungleからtreeNameと名前が一致するtreeを取得する。名前が一致するTreeがない場合取得は失敗しnullを返す。}       \\ \hline
     \end{tabular}
     \label{jungleAPI}
   \end{center}
@@ -135,20 +115,40 @@
 
 \section{JungleTree}
 Jungleは複数の木の集合で出来ている。
-Jungleの木は、変更を加えるためのEditor・検索を行うTraversreなどを保持しており、ユーザーはそれらを用いてデータにアクセスする。
-過去のバージョンの木に対するアクセスや、特定のノードのPathを検索する機能も持っている。
+Jungleの木は、自身の情報をTreeContext というオブジェクトに保持している。
+TreeContextとは、木構造のデータ(表\ref{TreeContext1})を持つクラスである。
+
+\newpage
+\begin{table}[htb]
+\begin{center}
+\caption{TreeContextが保持している値}
+\begin{tabular}{|l|}        \hline
+{\tt } 自身のルートノード\\ \hline
+{\tt } 1つ前のバージョンのTreeContext\\ \hline
+{\tt } 編集のログ\\ \hline
+{\tt } 木のuuid    \\ \hline
+{\tt } 木の名前    \\ \hline
+{\tt } 木のversion    \\ \hline
+{\tt } 木の検索に使うTraverser    \\ \hline
+\end{tabular}
+\label{TreeContext1}
+\end{center}
+\end{table}
+
+Jungle の木は、自身の木構造に編集を行う Editor や 検索に使用する Traverser を提供しており、ユーザーはそれを用いて木構造にアクセスする。
+また、過去のバージョンの木に対するアクセスや、特定のノードのPathを検索する機能も持っている。
 以下にJungleTreeクラスが提供しているAPI(表\ref{JungleTreeAPI})を記す
 \begin{table}[htb]
 \begin{center}
 \caption{JungleTreeに実装されているAPI}
 \begin{tabular}{|p{15em}|p{24em}|}        \hline
-{\tt TreeNode getRootNode()} &木のルートノードを取得する。   \\ \hline
-{\tt long revision()} & 木のバーションを取得する。初めは0から始まり、木への変更がCommitされる度に1上昇する。 \\ \hline
-{\tt JungleTreeEditor getJungleTreeEditor()} & 木へ変更を加えるEditorを取得する。\\ \hline
-{\tt Either<Error, JungleTree> getOldTree(long revision)} & 引数で指定したint revisionに等しいバージョンの木を取得する。 \\ \hline
-{\tt InterfaceTraverser getTraverser()} & 木の検索を行うTraverserを取得する。 \\ \hline
-{\tt Either<Error, TreeNode> getNodeOfPath(NodePath path)} & {\tt NodePathで指定した位置と値なるノードを取得する。}  \\ \hline
-{\tt NodePath getNodePath(TreeNode node)} & 引数で渡したノードの位置を表す{\tt NodePath}を返す。\\ \hline
+{\small {\tt TreeNode getRootNode()}} &{\small 木のルートノードを取得する。}   \\ \hline
+{\small {\tt long revision()}} & {\small 木のバーションを取得する。初めは0から始まり、木への変更がCommitされる度に1上昇する。} \\ \hline
+{\small {\tt JungleTreeEditor getJungleTreeEditor()}} &{\small  木へ変更を加えるEditorを取得する。}\\ \hline
+{\small {\tt Either<Error, JungleTree> getOldTree(long revision)}} & {\small 引数で指定したint revisionに等しいバージョンの木を取得する。} \\ \hline
+{\small {\tt InterfaceTraverser getTraverser()}} & {\small 木の検索を行うTraverserを取得する。} \\ \hline
+{\small {\tt Either<Error, TreeNode> getNodeOfPath(NodePath path)}} &{\small  {\tt NodePathで指定した位置と値なるノードを取得する。}}  \\ \hline
+{\small {\tt NodePath getNodePath(TreeNode node)}} & {\small 引数で渡したノードの位置を表す{\tt NodePath}を返す。}\\ \hline
 \end{tabular}
 \label{JungleTreeAPI}
 \end{center}
@@ -164,8 +164,8 @@
   \begin{center}
     \caption{TreeNodeに実装されているAPI}
     \begin{tabular}{|p{15em}|p{24em}|}                                  \hline
-      {\tt Children getChildren()} & ノードの子供を扱うChildrenオブジェクトを返す。\\ \hline
-      {\tt Attribute getAttribute()} &ノードが保持しているデータを扱うAttribteオブジェクトを返す。    \\ \hline
+      {\small {\tt Children getChildren()}} &{\small  ノードの子供を扱うChildrenオブジェクトを返す} \\ \hline
+      {\small {\tt Attribute getAttribute()}} &{\small ノードが保持しているデータを扱うAttribteオブジェクトを返す。}   \\ \hline
     \end{tabular}
     \label{TreeNodeAPI}
   \end{center}
@@ -177,8 +177,8 @@
   \begin{center}
     \caption{Childrenに実装されているAPI}
     \begin{tabular}{|p{15em}|p{24em}|}                                  \hline
-      {\tt int size()}  &  子供の数を返す。\\ \hline
-      {\tt <Either Error,TreeNode> at(int num)} &ノードが持つ子供の中から、 変数{\tt num}で指定された位置にある子ノードを返す。存在しない位置を指定した場合、{\tt Error} を返す。   \\ \hline
+      {\small{\tt int size()}}  & {\small 子供の数を返す。}\\ \hline
+      {\small{\tt <Either Error,TreeNode> at(int num)}} &{\small ノードが持つ子供の中から、 変数{\tt num}で指定された位置にある子ノードを返す。存在しない位置を指定した場合、{\tt Error} を返す。}   \\ \hline
     \end{tabular}
   \label{Children}
   \end{center}
@@ -190,8 +190,8 @@
   \begin{center}
     \caption{Attributeに実装されているAPI}
     \begin{tabular}{|p{15em}|p{24em}|} \hline
-      {\tt ByteBuffer get(String key)}   &ノードが持つ値から、属性名 {\tt key}とペアの属性値を{\tt ByteBuffer}型で返す。ノードが保持していない{\tt key}を渡した場合エラーを返す。 \\ \hline
-      {\tt String getString(String key)} &ノードが持つ値から、属性名 {\tt key} とペアの属性値を{\tt String}型で返す。ノードが保持していない{\tt key}を渡した場合エラーを返す。 \\ \hline
+      {\small{\tt ByteBuffer get(String key)}}   &{\small ノードが持つ値から、属性名 {\tt key}とペアの属性値を{\tt ByteBuffer}型で返す。ノードが保持していない{\tt key}を渡した場合エラーを返す。} \\ \hline
+      {\small{\tt String getString(String key)}} &{\small ノードが持つ値から、属性名 {\tt key} とペアの属性値を{\tt String}型で返す。ノードが保持していない{\tt key}を渡した場合エラーを返す。} \\ \hline
     \end{tabular}
   \label{Attribute}
   \end{center}
@@ -212,7 +212,11 @@
 \end{lstlisting}
 
 ソースコード\ref{getAttributeCode}の説明を行う。
-1行目から2行目で
+
+1行目で Jungle から木を取得し、
+2行目で、取得した木のルートノードを取得している。
+3 - 7行目でルートノードの1番目の子ノードを取得し、
+8 - 9行目で、ルートの1番目の子ノードから、属性名 "name" とペアの属性値を取得している。
 
 \section{木の編集API}
 Jungleの木の編集は{\tt Default Jungle Tree Editor}クラスを用いて行われる。
@@ -220,22 +224,21 @@
 Default Jungle Tree Editorは、Jungle Tree から、{\tt getTreeEditor()}を用いて取得する。
 表\ref{editor}にJungle Tree Editorインターフェースに定義されているAPIを記述する。
 また、表\ref{editor}に記述しているAPIは全て、{\tt Either<Error,JungleTreeEditor>} を返す。
-\newpage
 
 \begin{table}[htb]
   \begin{center}
     \caption{Editorに実装されているAPI}
     \begin{tabular*}{\textwidth}{|p{15em}|p{22em}|}         \hline
       {\small\tt addNewChildAt( NodePath path,  int pos)} &
-      {\tt path}で指定したノードの{\tt pos}番目の子の後にノードを追加する。\\ \hline
+      {\small\tt path}で指定したノードの{\tt pos}番目の子の後にノードを追加する。\\ \hline
       {\small\tt deleteChildAt( NodePath path,int pos)}      &
-      {\tt path}で指定したノードの{\tt pos}番目の子ノードを削除する。 \\ \hline
+      {\small\tt path}で指定したノードの{\tt pos}番目の子ノードを削除する。 \\ \hline
       {\small\tt putAttribute( NodePath path,String key,ByteBuffer value)} &
-      {\tt path}で指定したノードに属性名 {\tt key} 属性値 {\tt value} のペアで値を挿入する。 \\ \hline
+      {\small\tt path}で指定したノードに属性名 {\tt key} 属性値 {\tt value} のペアで値を挿入する。 \\ \hline
       {\small\tt deleteAttribute( NodePath path,String key)}&
-      {\tt path}で指定したノードが持つ、属性名 {\tt key}とペアで保存されている属性値を削除する。\\ \hline
+      {\small\tt path}で指定したノードが持つ、属性名 {\tt key}とペアで保存されている属性値を削除する。\\ \hline
       {\small\tt moveChild( NodePath path,int num,String move)} &
-      {\tt path}で指定したノードの{\tt num}番目の子供を{\tt move}の方向に移動させる。 \\ \hline %あとで直す
+      {\small\tt path}で指定したノードの{\tt num}番目の子供を{\tt move}の方向に移動させる。 \\ \hline %あとで直す
       {\small\tt pushPop()} &
       ルートノードの上に新しいルートノードを追加する。線形の木を作る際に使用することで木の変更の手間をO(n)からO(1)にできる。\\ \hline
       {\small\tt success()}  &
@@ -247,14 +250,12 @@
 
 
 
-編集後に返される{\tt JungleTreeEditor}クラスは、編集後の木構造を保持しているため、編集前の木構造を保持している{\tt JungleTreeEditor}クラスとは別のオブジェクトである。
-編集を行った後は、関数{\tt editor.success()}で今までの編集をコミットすることができる。他の{\tt JungleTreeEditor}クラスによって木が更新されていた場合はコミットは失敗し、{\tt success()}は{\tt Error}を返す。
+編集後に返される{\tt Default Jungle Tree Editor}クラスは、編集後の木構造を保持しているため、編集前の木構造を保持している{\tt Default Jungle Tree Editor}クラスとは別のオブジェクトである。
+編集を行った後は、関数{\tt editor.success()}で今までの編集をコミットすることができる。他の{\tt Default Jungle Tree Editor}クラスによって木が更新されていた場合はコミットは失敗し、{\tt success()}は{\tt Error}を返す。
 その場合は、木の編集を最初からやり直す必要がある。
 
 以下に{\tt JungleTreeEditor}クラスを用いて、木の編集を行うサンプルコードを記述する。
 
-\newpage 
-
 \begin{lstlisting}[frame=lrbt,numbers=left,label=editorCode]
 JungleTreeEditor editor = tree.getTreeEditor();
 DefaultNodePath editNodePath = new DefaultNodePath();
@@ -265,6 +266,12 @@
 editor.success();
 \end{lstlisting}
 
+1行目で、木から Editor を取得している。
+2行目で、編集を行うノードの Path を作成している。Default Node Path は、生成時はルートノードを指しているため、今回はルートノードに対する変更であることがわかる。
+3行目で、実際にルートノードに対して、子ノードの追加を行っている。
+4行目以降で、編集が成功したかどうかを {\tt Either }を使って確かめ、成功していた場合7行目で変更を木に Commit している。
+
+\begin{comment}
 \begin{enumerate}
   \item 関数{\tt tree.getEditor()}で編集を行う木から、{\tt JungleTreeEditor}クラスを取得する。 
   \item 次に変更するノードの場所を示す、{\tt NodePath}クラスを作成する。
@@ -274,8 +281,27 @@
   \item 編集に成功していた場合、編集後木を持った、{\tt JungleTreeEditor}クラスを取得する。
   \item 取得した{\tt JungleTreeEditor}クラスを用いて木の変更をコミットする。
 \end{enumerate}
+\end{comment}
 
 また、木に対して行われた変更は、Logとして書き出される。
+
+\section{Commit}
+Jungle Tree Editor を用いて木に変更を加えた後は、Commit を行う必要がある。
+Commit は、前節で記述した Jungle Tree Editor が持つ関数 {\tt success()} を使用することで行われる。
+
+Commit を行うと、Jungle Tree Editor が保持している編集後の木構造のデータを持つ TreeContext を作成する。
+そして、編集前の木が持つ TreeContext と 新しく作った TreeContext を置き換えることで Commit は完了する。
+TreeContext の置き換えは、編集を行っている他の Thread と競合した際に、木の整合性を保つために以下の手順で行われる。
+
+\begin{enumerate}
+\item 新しく作った TreeContext が持つ、1つ前のバージョンの TreeContext と、編集前の木構造の TreeContext を比較する。
+
+\item 一致しなかった場合、他のが Thread が Commit をすでに行っているため、失敗する(競合に負けた)。
+
+\item 一致した場合、TreeContext を Atomic に入れ替える(競合に勝った)。
+\end{enumerate}
+
+競合に負けた場合は、新しい木に対してもう一度同じ変更を行う必要がある。
 これらのAPIにより、Jungleは木構造を格納、編集する機能を持っている。
 
 \section{Log}
@@ -287,9 +313,9 @@
 \begin{lstlisting}[frame=lrbt,label=src:treeoperationlog,caption=TreeOperationLogの仕様,numbers=left]
 public interface TreeOperationLog extends Iterable<TreeOperation>
 {
-    public TreeOperationLog add(NodePath _p,NodeOperation _op);
-      public TreeOperationLog append(TreeOperationLog _log);
-        public int length();
+  public TreeOperationLog add(NodePath _p,NodeOperation _op);
+  public TreeOperationLog append(TreeOperationLog _log);
+  public int length();
 }
 \end{lstlisting}
 
@@ -303,43 +329,54 @@
 
 \section{検索API}
 これまでに紹介したAPIにより、Jungleは木構造を構築できるようになった。
-しかし、木に問い合わせを行う検索APIが実装されていなかったため、木の走査を行う{\tt Traverser}クラス内に、lambda式を用いて実装した。
+しかし、木に問い合わせを行う検索APIが実装されていなかったため、木の走査を行う{\tt Interface Traverser}クラス内に、lambda式を用いて実装した。
 以下に検索を行う関数{\tt find}の定義を記述する。
 \begin{lstlisting}[frame=lrbt,label=query,numbers=left]
 public Iterator<TreeNode> find(Query query, String key, String searchValue);
 \end{lstlisting}
 
-関数{\tt find}は、第一引数には、探索の条件を記述する関数{\tt boolean comdition(TreeNode)}を定義した{\tt Query}を。
+関数{\tt find}は、第一引数には、探索の条件を記述する関数{\tt boolean comdition(TreeNode)}を定義した{\tt Query}を、
 第二、第三引数には、Indexを用いた絞込に使用する{\tt String key、String value}を取り、条件に一致したノードの{\tt Iterator}を返す。
 {\tt 関数find}の使用例を以下に記す。
 
 \begin{lstlisting}[frame=lrbt,label=find,numbers=left]
 InterfaceTraverser traverser = tree.getTraverser(true);
 Iterator<TreeNode> resultNodeIterator = traverser.find((TreeNode node) -> {
-    String personId = node.getAttributes().getString("name");
-      if (personId == null) return false;
-        return personId.equals("kanagawa");
-}, "belong", "ryukyu");
+    String name = node.getAttributes().getString("name");
+    if (name == null) return false;
+    return name.equals("kanagawa");
+    }, "belong", "ryukyu");
 \end{lstlisting}
 
 
 上記コードについて解説する。
-\begin{enumerate}
-  \item 木の走査を行う{\tt Traverser}クラスを取得する。
+
+1行目で検索対象の木から、検索に使用する {\tt Interface Traverser} を取得する。
+2行目で、検索を行う関数 {\tt find()} を使用する。
+今回は、Index を使って、属性名 {\tt "belong"} 属性値 {\tt "ryukyu"} を持つノード取得し、
+3 - 5行目で定義されたクエリに渡す。
 
-  \item Indexから{\tt find}の第2、第3引数である、属性名 {\tt belong}、属性値 {\tt ryukyu}の組のデータを持つノードを取得し、Queryに渡す(ノードの絞込を行う)。
+そして、クエリの中で属性名 {\tt "name"} 属性値 {\tt "kanagawa"} を持つノードかどうかを確かめる。
+
+結果として、属性名 {\tt "belong"} 属性値{\tt "ryukyu"}と、属性名 {\tt "name"} 属性値{\tt kanagawa}の2つのデータを持つノードの {\tt Iterator} が取得できる。
+
+検索の際に使用する Index の実装については次節に記述する。
 
-  \item 引数のノードから関数{\tt getAttributes().getString("name")}で属性名 {\tt name}とペアになっている属性値を取得する。
-  
-  \item 属性値が{\tt null}だった場合、このノードには属性名が{\tt name}の組のデータは存在しないので、{\tt false}を返し次のノードの評価を行う。
+\begin{comment}
+\begin{enumerate}
+\item 木の走査を行う{\tt Traverser}クラスを取得する。
+
+\item Indexから{\tt find}の第2、第3引数である、属性名 {\tt belong}、属性値 {\tt ryukyu}の組のデータを持つノードを取得し、Queryに渡す(ノードの絞込を行う)。
 
-  \item 属性値が{\tt null}でなかった場合、{\tt kanagawa}と一致するかどうかを調べ結果を返す。
+\item 引数のノードから関数{\tt getAttributes().getString("name")}で属性名 {\tt name}とペアになっている属性値を取得する。
+
+\item 属性値が{\tt null}だった場合、このノードには属性名が{\tt name}の組のデータは存在しないので、{\tt false}を返し次のノードの評価を行う。
+
+\item 属性値が{\tt null}でなかった場合、{\tt kanagawa}と一致するかどうかを調べ結果を返す。
 
 \end{enumerate}
+\end{comment}
 
-結果として、{\tt ryukyu}に所属する、名前が{\tt kanagawa}のデータを持つノードが取得できる。
-
-検索の際に使用する Index の実装については次節に記述する。
 
 \section{Index}
 Jungleは、非破壊的木構造というデータ構造上、過去の版の木構造を全て保持している。
@@ -364,33 +401,38 @@
 Optional<TreeMap<String, List<TreeNode>>> indexOp = indexMap.get("name");
 if (!indexOp.isPresent())
   return new NulIterator<TreeNode>();
-TreeMap<String, List<TreeNode>> index = indexOp.get();
-Optional<List<TreeNode>> nodeListOp = index.get("kanagawa");
+  TreeMap<String, List<TreeNode>> index = indexOp.get();
+  Optional<List<TreeNode>> nodeListOp = index.get("kanagawa");
 if (!nodeListOp.isPresent())
   return new NulIterator<TreeNode>();
 return nodeListOp.get().iterator();
-\end{lstlisting}
+  \end{lstlisting}
+
+1 - 4行目で IndexMap から 属性名 "name" に対する値を持つ Index を取得している。
+5 - 8行目で 取得した Index から、 属性名 "kanagawa" を持つノードの{ \tt Iterator}を取得している。
 
 
-\begin{enumerate}
-\item {\tt indexMap}に、今回検索で使用する属性名 {\tt name}を使用して{\tt get("name")}を行う。すると属性名 {\tt "name"}に対応したIndexが、{\tt Optional}クラスで包まれて返ってくる。
+\begin{comment}
+  \begin{enumerate}
+  \item {\tt indexMap}に、今回検索で使用する属性名 {\tt name}を使用して{\tt get("name")}を行う。すると属性名 {\tt "name"}に対応したIndexが、{\tt Optional}クラスで包まれて返ってくる。
 
-\item {\tt Optional}オブジェクトに対して、中身を保持しているか(属性名 {\tt name}に対応したIndexを木が持っているか)を調べる。
+  \item {\tt Optional}オブジェクトに対して、中身を保持しているか(属性名 {\tt name}に対応したIndexを木が持っているか)を調べる。
 
-\item 持っていなかった場合、空の{\tt Iterator}オブジェクトを返す。
+  \item 持っていなかった場合、空の{\tt Iterator}オブジェクトを返す。
 
-\item 持っていた場合、{\tt Optional}オブジェクトからIndexを取得する。
+  \item 持っていた場合、{\tt Optional}オブジェクトからIndexを取得する。
 
-\item 取得したIndexに、検索で使用する属性値{\tt "kanagawa"}で{\tt get()}を行う。すると、属性名 {\tt "name"} 属性値{\tt  "kanagawa"}の値を持つノードのリストが、{\tt Optional}クラスに包まれて返ってくる。
+  \item 取得したIndexに、検索で使用する属性値{\tt "kanagawa"}で{\tt get()}を行う。すると、属性名 {\tt "name"} 属性値{\tt  "kanagawa"}の値を持つノードのリストが、{\tt Optional}クラスに包まれて返ってくる。
 
-\item {\tt Optional}オブジェクトに対して中身を保持しているか(属性名 {\tt "name"} 属性値 {\tt "kanagawa"}を持つノードを木が持っているか)を調べる。
+  \item {\tt Optional}オブジェクトに対して中身を保持しているか(属性名 {\tt "name"} 属性値 {\tt "kanagawa"}を持つノードを木が持っているか)を調べる。
 
-\item 持っていなかった場合、空の{\tt Iterator}オブジェクトを返す。
+  \item 持っていなかった場合、空の{\tt Iterator}オブジェクトを返す。
 
-\item 持っていた場合{\tt Optional}オブジェクトからノードリストの{\tt Iterator}を返す。
+  \item 持っていた場合{\tt Optional}オブジェクトからノードリストの{\tt Iterator}を返す。
 
-\end{enumerate}
+  \end{enumerate}
+\end{comment}
 
-JungleはこれらのAPIにより、木構造を格納、編集、検索する機能を持っている。
+  JungleはこれらのAPIにより、木構造を格納、編集、検索する機能を持っている。
 
-\newpage
+  \newpage
--- a/jungleUpdatePoint.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/jungleUpdatePoint.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -1,5 +1,5 @@
-\chapter{データベースJungleの構成要素}
-本章では、本研究で既存のJungleに行った大まかな変更概要を記述する。
+\chapter{データベースJungleに\\新たに追加した構成要素}
+本章では、本研究で既存のJungleに追加した、大まかな構成要素の概要を記述する。
 
 \section{非破壊 Red Black Treeの実装}
 JungleのIndexは、Java上で関数型プログラミングが行えるFunctional Java の非破壊 TreeMapを使って実装されていた。
Binary file master_paper.pdf has changed
--- a/redBlackJungleTree.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/redBlackJungleTree.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -1,25 +1,53 @@
 \chapter{Red Black Jungle Tree}
-Default Jungle Treeにおいて、Indexの更新は大きな手間となっている。
-Indexに使用する属性名が1種類で、木構造の形がデータを表現していない場合、Jungle Tree自身をIndexとしたほうが、効率的に木構造を変更できる。
-そこで、Red Black Treeの性質を組み込んだRed Black Jungle Treeの実装を行った。
-Red Black Jungle Tree は、木にノードの削除・追加を行った際、前述した、非破壊 Tree Map のバランスと同じアルゴリズムで木のバランスを取る。
+Jungle は、木に編集を加えた際、編集を加えたノードと、経路にあるノードの複製を取る。
+その為、木の編集の手間は、木の大きさにも依存している。
+最適なバランスの取れた木構造を構築することで、編集の手間をn(logN)にすることは可能だが、
+Default Jungle Tree だと、ユーザーが Path を用いて、木のバランスを取る必要ある。
+しかし、ユーザーが全ての木構造の形を把握し、バランスの取れた木を構築するのは難しい。
+そこで、自動で木のバランスを取り、最適な木構造を構築する機能を Jungle Tree に実装した。
+バランスは、木の生成時に{\tt Balance Key} 決定し、それを使って行う。
+木のバランスを取るアルゴリズムは、前述した非破壊 TreeMap と同じものを使用する。
+
+しかし、木の編集を加えた際、木がどのようにバランスを取るか予想するのは困難であるため、木の構造で、組織構造等のデータを表現するのは難しい。
+なので、この機能が使えるのは、木の構造自体がデータを表現していない場合に限る。
+
+また、自身の木構造が、{\tt Balance Key} を使った Index と同じ働きを持つため、木の Commit 時に別途 Index を構築する必要が無い、といったメリットもある。
+
 
 \section{Red Black Jungle Treeの作成}
-Red Black Jungle Treeを作成するため、Jungleに{\tt createNewRedBlackTree(String treeName, String balanceKey)}を実装した。
-これは、第一引数{\tt treeName}で受け取った名前の、第二引数{\tt balanceKey}とペアになる属性値でバランスを取るRed Black Treeを構築する。
-その際、名前が重複した場合は木の生成に失敗する。
+Red Black Jungle Treeを作成するため、Jungle に新しい API を実装した(表\ref{createRedBlackTreeAPI})。
 
-またこれ以降の説明で使用するBalanceKeyとは、Red Black Jungle Treeを作成する時に設定したKey、BalanceValueは属性名 BalanceKeyとペアの属性値のことである。
+\begin{table}[htb]
+\begin{center}
+\caption{Jungleに新しく実装したAPI}
+\begin{tabular}{|p{15em}|p{24em}|}        \hline
+{\small {\tt createNewRedBlackTree(String treeName, String balanceKey)}} &{\small Jungleに新しく Red Black Jungle Tree を生成する。第一引数に木の名前、第二引数に木のバランスを取る時に使用する {\tt Blance Key} を受け取る。木の名前が重複した場合、生成に失敗しnullを返す。}     \\ \hline
+\end{tabular}
+\label{createRedBlackTreeAPI}
+\end{center}
+\end{table}
+
+{\tt createNewRedBlackTree} を使用したサンプルコード\ref{createRedBlackTree}を記述する。
+
+\begin{lstlisting}[frame=lrbt,numbers=left,label=createRedBlackTree,caption=Red Black Jungle Treeの生成]
+Jungle jungle = new DefaultJungle(null, "hogehoge", new DefaultTraverser());
+String treeName = "redBlackTree";
+String balanceKey = "balanceKey";
+JungleTree tree = jungle.createNewRedBlackTree(treeName,balanceKey);
+\end{lstlisting}
+
+サンプルコード\ref{createRedBlackTree}では、3行目で指定した {\tt balance Key} を用いて木のバランスを取る、Red Black Jungle Tree が構築される。
 
 \section{NodePath の拡張}
 Red Black Jungle Treeは、ノードを追加・削除するたびに木のバランスが行われ、各ノードの Path が変わってしまう。
 その為、数字を使った NodePath では、編集を加える際、編集対象のノードの Path をいちいち調べる必要がある。
-その問題を解決するために、NodePath を拡張した RedBlackTreeNodePath を作成し 属性名 BalanceKey 属性値 valueのペアでノードを指定できるようにした。
-RedBlackTreeNodePathは、引数にString型のBalanceKeyとByteBuffer型のBalanceValueを取る。
+その問題を解決するために、NodePath を拡張した Red Black Tree Node Path を作成し 属性名 BalanceKey 属性値 value  のペアでノードを指定できるようにした。
+RedBlackTreeNodePathは、引数にString型のBalanceKeyとByteBuffer型のvalueを取る。
 
 \section{Red Black Jungle Treeの編集}
 
-Red Black Jungle Treeへノードの追加を行う際は、追加するノードに、木のバランスを取るために必要な属性名 BalanceKeyとそのペアの属性値 BalanceValue が必要になる。
+\begin{comment}
+Red Black Jungle Treeへノードの追加を行う際は、追加するノードに、木のバランスを取るために必要な属性名 BalanceKey が必要になる。
 しかし、JungleTreeEditorには、ノードと値を同時に追加するAPIは存在しなかったため、新しく実装した。
 表\ref{NewEditorAPI}に新しく実装したAPIを記述する。
 
@@ -32,20 +60,20 @@
 \label{NewEditorAPI}
 \end{center}
 \end{table}
-
+\end{comment}
 
-Red Black Jungle Tree Editorは、既存のJungle Tree EditorとくらべてAPIの使い方が異なる。
-具体的にはaddNewChildAtでPathが使われなかったりする。
+Red Black Jungle Tree Editorは、既存のJungle Tree Editorと比較しAPIの使い方が異なる。
 表\ref{EditorDifference}にDefault Jungle Tree EditorとRed Black Jungle Tree EditorのAPIの使い方の違いを記述する。
+また、これらの API の返り値は全て \verb|Either<Error, JungleTreeEditor>| である。
+表中では省略して記述する。
 
 \begin{table}[htb]
 \begin{center}
 \caption{Red Black Jungle TreeとDefault Jungle TreeのAPIの違い}
 \begin{tabular}{|p{16em}|p{24em}|}        \hline
-{\tt  Either<Error, JungleTreeEditor> addNewChildAt(NodePath path, int pos)} & pathとposは使用せず、属性名 balanceKey 属性値 "Default Value"を持ったノードを、Red Black Treeの挿入アルゴリズムに則って挿入し、バランスを取る。 \\ \hline
-{\tt  Either<Error, JungleTreeEditor> addNewChildAndPutAttribute (NodePath path, int pos, String key, ByteBuffer value)} & pathとposは使用せず、属性名 key 属性値 valueを持ったノードを、Red Black Treeの挿入アルゴリズムに則って挿入し、バランスを取る。 第二引数にBalanceKey以外の値を渡した場合、バランスが取れない為、ノードの挿入は失敗する。\\ \hline
-{\tt  Either<Error, JungleTreeEditor> replaceNewRootNode()} &  赤黒木では使用しない。実行した場合エラーを返す。\\ \hline
-{\tt  Either<Error, JungleTreeEditor> moveChild(NodePath path, int childNum, String move)} &  ノードを動かすと木のバランスが崩れるため使用しない。実行した場合エラーを返す。 \\ \hline
+{\tt addNewChildAt(NodePath path, int pos)} &前節に記述した Red Black Tree Node Path を使用する。 Path 生成時に指定した、{\tt Key} と {\tt Value} の組のデータを持つノードを Red Black Treeの挿入アルゴリズムに則って挿入し、バランスを取る。pos は使用しない。 \\ \hline
+{\tt replaceNewRootNode()} &  赤黒木では使用しない。実行した場合エラーを返す。\\ \hline
+{\tt moveChild(NodePath path, int childNum, String move)} &  ノードを動かすと木のバランスが崩れるため使用しない。実行した場合エラーを返す。 \\ \hline
 \end{tabular}
 \label{EditorDifference}
 \end{center}
@@ -56,23 +84,23 @@
 
 \begin{lstlisting}[frame=lrbt,label=src:rbtEdit,caption=RedBlackJungleTreeの編集例,numbers=left]
 String balanceKey = "balanceKey";
-JungleTree tree = jungle.createNewRedBlackTree("TreeName", balanceKey)
+String treeName = "treeName";
+JungleTree tree = jungle.createNewRedBlackTree(treeName, balanceKey)
 JungleTreeEditor editor = tree.getJungleTreeEditor();
-NodePath path = new RedBlackTreeNodePath();
-ByteBuffer balanceValue = ByteBuffer.wrap(("Elphelt").getBytes());
-Either<Error, JungleTreeEditor> either = editor.addNewChildAndPutAttribute(path, 0, balanceKey, balanceValue);
-if (either.isA())  return either.a();
-editor = either.b();
-NodePath rbtPath = new RedBlackTreeNodePath(balanceKey,balanceValue));
-String key = "key";
-ByteBuffer value = ByteBuffer.wrap(("value").getBytes())
-Either<Error, JungleTreeEditor> either = editor.putAttribute(rbtPath, key, testPutValue);
+ByteBuffer value = ByteBuffer.wrap(("Elphelt").getBytes());
+NodePath path = new RedBlackTreeNodePath(balanceKey,value);
+Either<Error, JungleTreeEditor> either = editor.addNewChildAt(path, 0);
 if (either.isA())  return either.a();
 editor = either.b();
 either = editor.success();
 \end{lstlisting}
 
+1 - 2行目で木の名前と、バランスを取る際に使用する Key を宣言している。
+3 - 4行目で実際に Red Black Jungle Tree を作り、Editor を取得している。
+5行目で実際にノードが持つ値を作り、6行目で、ノードを挿入する際に使用するRed Black Tree Node Path を作る。
+7行目では実際に{\tt addNewChildAt} でノードを挿入している。
 
+\begin{comment}
 ソースコード\ref{src:rbtEdit}の解説を以下に記す。
 \begin{enumerate}
 \item 木のバランスに使用するbalanceKeyを宣言する。
@@ -91,8 +119,9 @@
 \item 成功していた場合{\tt either}から、編集後の木を持つEditorを取得する。
 \item 編集を木にCommitする。
 \end{enumerate}
+\end{comment}
 
-Red Black Jungle Tree は、木の編集時 Index を更新しないので、Default Jungle Tree より高速に木の変更を行える。
+また、Red Black Jungle Tree は、木の編集時 Index を更新しないので、Default Jungle Tree より高速に木の変更を行える。
 
 
 \section{Jungle Red Black Treeの検索}
--- a/redBlackTree.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/redBlackTree.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -18,7 +18,7 @@
 \end{enumerate}
 
 Red Black Treeは、データの挿入、削除時に、上記の条件を崩さないように木のバランスを取る。
-この条件により、Red Black Treeはデータの検索、削除、探索をO(log n)で行える。
+この条件を守っている限り、Red Black Treeはデータの検索、削除、探索をO(log n)で行える。
 
 \section{非破壊 TreeMap の定義}
 非破壊 TreeMapは、Javaのジェネリクスを用いて、{\tt TreeMap<K,V>Key}と定義される。
@@ -41,8 +41,10 @@
 \begin{tabular}{|p{15em}|p{24em}|}        \hline
 {\tt Node getRoot()} & TreeMap のルートノードを返す。 \\ \hline
 {\tt boolean isEmpty()} & TreeMap が値を保持していないなら{\tt true}を返す。  \\ \hline
-{\tt TreeMap<K,V> put(K key, V value)} & TreeMap に{\tt key:value} の組で値を挿入し、新しい TreeMap を返す。 \\ \hline
-{\tt TreeMap<K,V> delete(K key)} & TreeMap に{\tt key} とペアで格納されている値を削除し、新しい TreeMap を返す。\\ \hline
+{\tt TreeMap<K,V> put(K key, V value)} & TreeMap に{\tt key:value} の組で値を挿入した、新しい TreeMap を返す。 \\ \hline
+{\tt TreeMap<K,V> delete(K key)} & TreeMap に{\tt key} とペアで格納されている値を削除した、新しい TreeMap を返す。\\ \hline
+{\tt V get(K key)} & TreeMap に{\tt key} とペアで格納されている値を返す。\\ \hline
+{\tt boolean contain(K key)} &TreeMapに {\tt key} とペアで格納されている値があるなら{\tt true}を返す 。\\ \hline
 {\tt Iterator<K> keys()} & TreeMap が保持している全ての {\tt key} を Iteratorで返す。 \\ \hline
 \end{tabular}
 \label{RedBlackTreeAPI}
@@ -71,21 +73,19 @@
 Red Black Treeのデータ挿入時のバランスは、次の5パターンに分けられる。
 これ以降の説明では、挿入したノードは、ノードinsと記述する。
 
-\section{データ挿入時のバランス ケース1}
+\vspace{0.4in}
+{\LARGE データ挿入時のバランス ケース1}
+\vspace{0.2in}
 
-\begin{enumerate}
-\item ノードを挿入した位置がルート
-\end{enumerate}
-挿入時上記の条件を満たしている場合、ルートノードの色を黒に変更することで木のバランスを取る。
+バランス時、ノードを挿入した位置がルートだった場合、ルートノードの色を黒に変更することで木のバランスを取る。
 ルートノードの色を黒に変更しても、左右のSub Treeの黒の個数が一つ増えるだけなので、Red Black Treeの条件は守られる。
 
 
-\section{データ挿入時のバランス ケース2}
-\begin{enumerate}
-\item 挿入したノードinsの親ノードBが黒。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ挿入時のバランス ケース2}
+\vspace{0.2in}
 
-バランス時、上記の条件を満たしている場合、Red Black Treeの条件は崩れないため、赤色でノードを挿入して問題はない。%(図\ref{fig:RedBlackTreeInsert1})。
+バランス時、ノードinsの親ノードBが黒だった場合、Red Black Treeの条件は崩れないため、赤色でノードを挿入して問題はない。%(図\ref{fig:RedBlackTreeInsert1})。
 
 %\begin{figure}[htpb]
 %\begin{center}
@@ -95,13 +95,11 @@
 %\end{center}
 %\end{figure}
 
-\section{データ挿入時のバランス ケース3}
-\begin{enumerate}
-\item 挿入したノードinsの親の親ノードAが黒。
-\item ノードAの両方の子ノードB・Cが赤。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ挿入時のバランス ケース3}
+\vspace{0.2in}
 
-バランス時、上記の条件を満たしている場合、ノードB・Cを黒に、ノードAを赤に変更する(図\ref{fig:RedBlackTreeInsert2})。
+バランス時、ノードinsの親の親ノードAが黒かつ、ノードAの両方の子ノードB・Cが赤の場合、ノードB・Cを黒に、ノードAを赤に変更する(図\ref{fig:RedBlackTreeInsert2})。
 
 また、本章の図に表記されている四角のノードの色は、Red Black Treeの条件を守られているなら問わず、それ以下の子ノードは省略してあるものとする。
 \begin{figure}[htpb]
@@ -116,15 +114,11 @@
 バランス後、ノードAの色が変わってしまったため、ノードAを新しくノードinsとして再帰的に木のバランスを行う。
 この変更は最悪の場合ルートまで続く。
 
-\section{データ挿入時のバランス ケース4}
-\begin{enumerate}
-\item 挿入したノードinsの親の親ノードAが黒。
-\item ノードAの、挿入したノード側の子ノードBが赤。
-\item 逆側の子ノードCが黒。
-\item ノードinsがノードBの木の中心側の子。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ挿入時のバランス ケース4}
+\vspace{0.2in}
 
-バランス時、上記の条件を満たしている場合、ノードBを中心に外側に回転処理を行い(図\ref{fig:RedBlackTreeInsert3})、次節に記述するバランス5を行う。
+バランス時、ノードinsの親の親ノードAが黒かつ、ノードAのノードins側の子ノードBが赤かつ、逆側の子ノードCが黒かつ、ノードinsがノードBの木の中心側にある場合、ノードBを中心に外側に回転処理を行い(図\ref{fig:RedBlackTreeInsert3})、次節に記述するバランス5を行う。
 その際、ノードBをノードinsとして扱う。
 
 \begin{figure}[htpb]
@@ -137,15 +131,11 @@
 
 
 
-\section{データ挿入時のバランス ケース5}
-\begin{enumerate}
-\item 挿入したノードinsの親の親ノードAが黒。
-\item ノードAの、挿入したノード側の子ノードBが赤。
-\item 逆側の子ノードCが黒
-\item ノードinsがノードBの木の外側の子。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ挿入時のバランス ケース5}
+\vspace{0.2in}
 
-バランス時、上記の条件を満たしている場合、ノードAを中心に内側に回転処理を行い、回転後ノードAとノードBの色を入れ替える。
+バランス時、ノードinsの親の親ノードAが黒かつ、ノードAのノードins側の子ノードBが赤かつ、逆側の子ノードCが黒かつ、ノードinsが木の外側の子の場合、ノードAを中心に内側に回転処理を行い、回転後ノードAとノードBの色を入れ替える。
 
 \begin{figure}[htpb]
 \begin{center}
@@ -158,7 +148,8 @@
 
 赤黒木は、データ挿入時にこれらの処理を行うことで、木のバランスを取る。
 
-\section{Red Black Treeのノード削除}
+\newpage
+\section{非破壊Red Black Tree のノード削除}
 Red Black Treeのノード削除は、以下の手順で行われる。
 
 \begin{enumerate}
@@ -176,21 +167,18 @@
 RedBlackTreeのバランスは、ノード削除時の状態によって、次の6パターンに分けられる。
 また。これ以降削除したノードを、ノードdelと記述する。
 
+\newpage
+\vspace{0.4in}
+{\LARGE データ削除時のバランス ケース1}
 
-\section{データ削除時のバランス ケース1}
-\begin{enumerate}
-\item ノードdelがルート。
-\end{enumerate}
-
-上記の条件を満たしている場合、全ての経路の黒ノード数が1つ減った状態で条件が成立しバランスは終了する。
+バランス時、ノードdelがルートだった場合、全ての経路の黒ノード数が1つ減った状態で条件が成立しバランスは終了する。
 
-\section{データ削除時のバランス ケース2}
-\begin{enumerate}
-\item ノードdelが黒。
-\item ノードA・B・C・D・E・Fが黒。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ削除時のバランス ケース2}
+\vspace{0.2in}
 
-バランス時、上記の条件を満たしている場合、ノードBを赤に変える(図\ref{fig:RedBlackTreeDelete1})。
+
+バランス時、ノードdelが黒かつ、ノードA・B・C・D・E・Fが黒の場合、ノードBを赤に変える(図\ref{fig:RedBlackTreeDelete1})。
 そうすることで、ノードB・E・F以下の黒ノードの階層が減って、ノードA以下の木のバランスが回復する。
 その後、Aを新たなノードdelとして木のバランスを行う。
 このバランスは最悪の場合ルートまで続き、ケース2で終了する。
@@ -204,15 +192,11 @@
 \end{figure}
 
 
-\newpage
-\section{データ削除時のバランス ケース3}
-\begin{enumerate}
-\item ノードdelが黒。
-\item ノードA・C・D・E・Fが黒
-\item ノードBが赤。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ削除時のバランス ケース3}
+\vspace{0.2in}
 
-上記の条件を満たしている場合、ノードAを中心に外側に回転、その後ノードAを赤に、ノードBを黒に変更する(図\ref{fig:RedBlackTreeDelete2})。
+バランス時、ノードdelが黒かつ、ノードA・C・D・E・Fが黒かつ、ノードBが赤の場合、ノードAを中心に外側に回転、その後ノードAを赤に、ノードBを黒に変更する(図\ref{fig:RedBlackTreeDelete2})。
 その後、ノードdelを基準に再び木のバランスを行う。
 この時のバランスは、図\ref{fig:RedBlackTreeDelete2}における、ノードEの子供の色に応じてケース4・5・6のどれかに帰着する。
 
@@ -226,14 +210,11 @@
 
 \newpage
 
-\section{データ削除時のバランス ケース4}
-\begin{enumerate}
-\item ノードdelが黒。
-\item ノードB・C・D・E・Fが黒
-\item ノードAが赤。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ削除時のバランス ケース4}
+\vspace{0.2in}
 
-上記の条件を満たしている場合、ノードAを黒に、ノードBを赤に変更する(図\ref{fig:RedBlackTreeDelete3})。
+バランス時、ノードdelが黒かつ、ノードB・C・D・E・Fが黒かつノードAが赤の場合、ノードAを黒に、ノードBを赤に変更する(図\ref{fig:RedBlackTreeDelete3})。
 そうすることで、ノードA側の右側のSub Treeの黒の深さを変えることなく、左側のSub Treeの黒の深さが1つ増え、バランスが取れる。
 \begin{figure}[htpb]
 \begin{center}
@@ -245,14 +226,12 @@
 
 
 \newpage
-\section{データ削除時のバランス ケース5}
-\begin{enumerate}
-\item ノードdelが黒。
-\item ノードB・C・D・Fが黒。
-\item ノードEの色が赤。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ削除時のバランス ケース5}
+\vspace{0.2in}
 
-上記の条件を満たしている場合、ノードBを中心に外側に回転、その後、ノードEを黒に、ノードBを赤に変更する(図\ref{fig:RedBlackTreeDelete4})。
+
+バランス時、ノードdelが黒かつ、ノードB・C・D・Fが黒かつ、ノードEの色が赤の場合、ノードBを中心に外側に回転、その後、ノードEを黒に、ノードBを赤に変更する(図\ref{fig:RedBlackTreeDelete4})。
 そして、データ削除時のバランス ケース7に帰着する。
 
 \begin{figure}[htpb]
@@ -264,15 +243,12 @@
 \end{figure}
 
 
-\newpage
-\section{データ削除時のバランス ケース6}
-\begin{enumerate}
-\item ノードdelが黒。
-\item ノードB・C・Dが黒。
-\item ノードFの色が赤。
-\end{enumerate}
+\vspace{0.4in}
+{\LARGE データ削除時のバランス ケース6}
+\vspace{0.2in}
 
-上記の条件を満たしている場合、ノードAを中心にノードdel側に回転、その後、ノードAとノードBの色を交換し、ノードFを黒にする(図\ref{fig:RedBlackTreeDelete5})。
+
+バランス時、ノードdelがかつ、ノードB・C・Dが黒かつ、ノードFの色が赤の場合、ノードAを中心にノードdel側に回転、その後、ノードAとノードBの色を交換し、ノードFを黒にする(図\ref{fig:RedBlackTreeDelete5})。
 そうすることで、ノードE・Fの黒の深さを変えること無く、ノードrepの黒の深さを1増やせるため、木のバランスが取れる。
 
 \begin{figure}[htpb]
@@ -283,6 +259,8 @@
 \end{center}
 \end{figure}
 
+\newpage
+
 Red Black Treeは、削除時に上記のバランスを行うことで、木のバランスを保っている。
 
 これらの機能を実装することで、非破壊TreeMapは完成した。
--- a/renderingEngine.tex	Wed Feb 08 17:26:22 2017 +0900
+++ b/renderingEngine.tex	Thu Feb 09 17:25:56 2017 +0900
@@ -151,6 +151,6 @@
 
 一方、図\ref{badLayoutTree}の木はレンダリングする際に必要な値が複数ノードに分散されて保存されている。
 そのため、全てのノードを参照し、値を集める処理を行う必要があり、コードの可読性が下がり余計な処理も増えてしまう。
-これより、Jungleの木構造を効率的に扱うためには、設計手法を確立する必要があることがわかる。
+これより、Jungleの木構造を効率的に扱うためには、設計手法を確立する必要があることがわかった。