Mercurial > hg > Papers > 2013 > sugi-sigos
changeset 12:85b22f56ef00
fix
author | sigi |
---|---|
date | Thu, 25 Apr 2013 03:09:51 +0900 |
parents | 57b1c4692d21 |
children | bf1f3378108b |
files | .DS_Store paper/images/take.pdf paper/omni/peek.graffle paper/omni/put.graffle presen/images/barchart.png presen/images/chart.png presen/images/chrome-logo-tiny.png presen/images/google_developers_icon_128.png presen/images/google_developers_logo.png presen/images/google_developers_logo_tiny.png presen/images/google_developers_logo_white.png presen/images/io2012_logo.png presen/images/sky.jpg presen/index.html |
diffstat | 14 files changed, 918 insertions(+), 1267 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/omni/peek.graffle Wed Apr 24 13:34:58 2013 +0900 +++ b/paper/omni/peek.graffle Thu Apr 25 03:09:51 2013 +0900 @@ -52,834 +52,843 @@ <key>GraphicsList</key> <array> <dict> - <key>Bounds</key> - <string>{{230.88900000000001, 161}, {27, 14}}</string> <key>Class</key> - <string>ShapedGraphic</string> - <key>FitText</key> - <string>YES</string> - <key>Flow</key> - <string>Resize</string> - <key>ID</key> - <integer>149</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>fill</key> + <string>Group</string> + <key>Graphics</key> + <array> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - <key>shadow</key> - <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>Pad</key> - <integer>0</integer> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{230.88900000000001, 161}, {27, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>151</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <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>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 reply}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - <key>Wrap</key> - <string>NO</string> - </dict> - <dict> - <key>AllowLabelDrop</key> - <false/> - <key>Class</key> - <string>LineGraphic</string> - <key>Head</key> - <dict> - <key>ID</key> - <integer>147</integer> - <key>Info</key> - <integer>3</integer> - </dict> - <key>ID</key> - <integer>148</integer> - <key>Points</key> - <array> - <string>{248.88900000000001, 126.25}</string> - <string>{198.87100000000001, 210.5}</string> - </array> - <key>Style</key> - <dict> - <key>stroke</key> - <dict> - <key>HeadArrow</key> - <string>FilledArrow</string> - <key>HeadScale</key> - <real>1.4285709857940674</real> - <key>Legacy</key> - <true/> - <key>TailArrow</key> - <string>0</string> - <key>TailScale</key> - <real>0.5</real> - </dict> - </dict> - <key>Tail</key> - <dict> - <key>ID</key> - <integer>123</integer> - <key>Info</key> - <integer>1</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{148.87100000000001, 196.5}, {50, 28}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>147</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> - <dict> - <key>Draws</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> <string>NO</string> </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <dict> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>Head</key> + <dict> + <key>ID</key> + <integer>153</integer> + <key>Info</key> + <integer>3</integer> + </dict> + <key>ID</key> + <integer>152</integer> + <key>Points</key> + <array> + <string>{248.88900000000001, 126.25}</string> + <string>{198.87100000000001, 210.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>FilledArrow</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> + <key>Tail</key> + <dict> + <key>ID</key> + <integer>163</integer> + <key>Info</key> + <integer>1</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{148.87100000000001, 196.5}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>153</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataA}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{148.87100000000001, 182.5}, {50, 14}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>146</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{148.87100000000001, 182.5}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>154</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \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>Bounds</key> - <string>{{152.87100000000001, 161}, {43, 14}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FitText</key> - <string>YES</string> - <key>Flow</key> - <string>Resize</string> - <key>ID</key> - <integer>145</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>fill</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - <key>shadow</key> - <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>Pad</key> - <integer>0</integer> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{152.87100000000001, 161}, {43, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>ID</key> + <integer>155</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <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>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 receiver}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - <key>Wrap</key> - <string>NO</string> - </dict> - <dict> - <key>Bounds</key> - <string>{{140.38, 175}, {66.981499999999997, 57}}</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>144</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> - <dict> - <key>Draws</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> <string>NO</string> </dict> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{73.888999999999996, 98.25}, {50, 28}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>143</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <dict> + <key>Bounds</key> + <string>{{140.38, 175}, {66.981499999999997, 57}}</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>156</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>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{73.888999999999996, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>157</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataD}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{73.888999999999996, 84.25}, {50, 14}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>142</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{73.888999999999996, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>158</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \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>{{123.889, 98.25}, {50, 28}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>141</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{123.889, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>159</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataC}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{123.889, 84.25}, {50, 14}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>140</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{123.889, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>160</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \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>Bounds</key> - <string>{{173.88900000000001, 98.25}, {50, 28}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>139</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{173.88900000000001, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>161</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataB}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{173.88900000000001, 84.25}, {50, 14}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>138</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{173.88900000000001, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>162</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 2}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{223.88900000000001, 98.25}, {50, 28}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{223.88900000000001, 98.25}, {50, 28}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>163</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataA}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{223.88900000000001, 84.25}, {50, 14}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>122</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - </dict> - <key>Text</key> - <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{223.88900000000001, 84.25}, {50, 14}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>164</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>Rectangle</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\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \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>AllowLabelDrop</key> - <false/> - <key>Class</key> - <string>LineGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>118</integer> - <key>Points</key> - <array> - <string>{67.852000000000004, 129.5}</string> - <string>{279.88900000000001, 129.5}</string> - </array> - <key>Style</key> - <dict> - <key>stroke</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> <dict> - <key>HeadArrow</key> - <string>0</string> - <key>HeadScale</key> - <real>1.4285709857940674</real> - <key>Legacy</key> - <true/> - <key>TailArrow</key> - <string>0</string> - <key>TailScale</key> - <real>0.5</real> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>165</integer> + <key>Points</key> + <array> + <string>{67.852000000000004, 129.5}</string> + <string>{279.88900000000001, 129.5}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> </dict> - </dict> - </dict> - <dict> - <key>AllowLabelDrop</key> - <false/> - <key>Class</key> - <string>LineGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>121</integer> - <key>Points</key> - <array> - <string>{67.852000000000004, 80}</string> - <string>{279.88900000000001, 80}</string> - </array> - <key>Style</key> - <dict> - <key>stroke</key> <dict> - <key>HeadArrow</key> - <string>0</string> - <key>HeadScale</key> - <real>1.4285709857940674</real> - <key>Legacy</key> - <true/> - <key>TailArrow</key> - <string>0</string> - <key>TailScale</key> - <real>0.5</real> + <key>AllowLabelDrop</key> + <false/> + <key>Class</key> + <string>LineGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>166</integer> + <key>Points</key> + <array> + <string>{67.852000000000004, 80}</string> + <string>{279.88900000000001, 80}</string> + </array> + <key>Style</key> + <dict> + <key>stroke</key> + <dict> + <key>HeadArrow</key> + <string>0</string> + <key>HeadScale</key> + <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> + <key>TailArrow</key> + <string>0</string> + <key>TailScale</key> + <real>0.5</real> + </dict> + </dict> </dict> - </dict> - </dict> - <dict> - <key>Bounds</key> - <string>{{68.852000000000004, 30}, {131, 14}}</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>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>119</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>fill</key> <dict> - <key>Draws</key> - <string>NO</string> - </dict> - <key>shadow</key> - <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>Pad</key> - <integer>0</integer> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{68.852000000000004, 30}, {131, 14}}</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>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>167</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <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>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 peek(recever, "key1", 0);}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - <key>Wrap</key> - <string>NO</string> - </dict> - <dict> - <key>Bounds</key> - <string>{{156.87100000000001, 48.75}, {34, 14}}</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>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>120</integer> - <key>Shape</key> - <string>Rectangle</string> - <key>Style</key> - <dict> - <key>fill</key> - <dict> - <key>Draws</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> <string>NO</string> </dict> - <key>shadow</key> <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>Pad</key> - <integer>0</integer> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 + <key>Bounds</key> + <string>{{156.87100000000001, 48.75}, {34, 14}}</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>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>168</integer> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <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>Pad</key> + <integer>0</integer> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 "key1"}</string> - <key>VerticalPad</key> - <integer>0</integer> - </dict> - <key>Wrap</key> - <string>NO</string> - </dict> - <dict> - <key>Bounds</key> - <string>{{57.851999999999997, 48}, {233.03700000000001, 103}}</string> - <key>Class</key> - <string>ShapedGraphic</string> - <key>FontInfo</key> - <dict> - <key>Font</key> - <string>Helvetica</string> - <key>Size</key> - <real>12</real> - </dict> - <key>ID</key> - <integer>117</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>Rectangle</string> - <key>Style</key> - <dict> - <key>shadow</key> - <dict> - <key>Draws</key> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + <key>Wrap</key> <string>NO</string> </dict> - <key>stroke</key> <dict> - <key>CornerRadius</key> - <real>10</real> + <key>Bounds</key> + <string>{{57.851999999999997, 48}, {233.03700000000001, 103}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>Helvetica</string> + <key>Size</key> + <real>12</real> + </dict> + <key>ID</key> + <integer>169</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>Rectangle</string> + <key>Style</key> + <dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>CornerRadius</key> + <real>10</real> + </dict> + </dict> </dict> - </dict> + </array> + <key>ID</key> + <integer>150</integer> </dict> </array> <key>GridInfo</key> @@ -929,7 +938,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2013-03-31 10:39:26 +0000</string> + <string>2013-04-24 04:44:36 +0000</string> <key>Modifier</key> <string>YuSugimoto</string> <key>NotesVisible</key>
--- a/paper/omni/put.graffle Wed Apr 24 13:34:58 2013 +0900 +++ b/paper/omni/put.graffle Thu Apr 25 03:09:51 2013 +0900 @@ -6,15 +6,15 @@ <integer>0</integer> <key>ApplicationVersion</key> <array> - <string>com.omnigroup.OmniGraffle</string> - <string>138.17.0.133677</string> + <string>com.omnigroup.OmniGrafflePro</string> + <string>139.16.0.171715</string> </array> <key>AutoAdjust</key> <true/> <key>BackgroundGraphic</key> <dict> <key>Bounds</key> - <string>{{0, 0}, {559, 783}}</string> + <string>{{0, 0}, {558.99997329711914, 783}}</string> <key>Class</key> <string>SolidGraphic</string> <key>ID</key> @@ -33,6 +33,8 @@ </dict> </dict> </dict> + <key>BaseZoom</key> + <integer>0</integer> <key>CanvasOrigin</key> <string>{0, 0}</string> <key>ColumnAlign</key> @@ -40,13 +42,13 @@ <key>ColumnSpacing</key> <real>36</real> <key>CreationDate</key> - <string>2012-02-07 13:36:21 +0900</string> + <string>2012-02-07 04:36:21 +0000</string> <key>Creator</key> <string>Kazuki AKAMINE</string> <key>DisplayScale</key> - <string>1 0/72 in = 1 0/72 in</string> + <string>1 0/72 in = 1.0000 in</string> <key>GraphDocumentVersion</key> - <integer>6</integer> + <integer>8</integer> <key>GraphicsList</key> <array> <dict> @@ -63,7 +65,7 @@ <integer>77</integer> <key>Points</key> <array> - <string>{351.537, 232}</string> + <string>{351.53658536585368, 232}</string> <string>{376, 198}</string> </array> <key>Style</key> @@ -74,6 +76,8 @@ <string>FilledArrow</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>TailArrow</key> <string>0</string> <key>TailScale</key> @@ -120,10 +124,10 @@ <key>Text</key> <dict> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataB}</string> <key>VerticalPad</key> @@ -164,10 +168,10 @@ <key>Text</key> <dict> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 2}</string> <key>VerticalPad</key> @@ -208,10 +212,10 @@ <key>Text</key> <dict> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataA}</string> <key>VerticalPad</key> @@ -252,10 +256,10 @@ <key>Text</key> <dict> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 1}</string> <key>VerticalPad</key> @@ -289,6 +293,8 @@ <string>0</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>TailArrow</key> <string>0</string> <key>TailScale</key> @@ -323,6 +329,8 @@ <string>0</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>TailArrow</key> <string>0</string> <key>TailScale</key> @@ -346,8 +354,8 @@ <integer>70</integer> <key>Points</key> <array> - <string>{178.036, 232}</string> - <string>{243.963, 198}</string> + <string>{178.03617073170727, 232}</string> + <string>{243.51861619132109, 198.2291790711426}</string> </array> <key>Style</key> <dict> @@ -357,6 +365,8 @@ <string>FilledArrow</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>TailArrow</key> <string>0</string> <key>TailScale</key> @@ -371,7 +381,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{218.963, 170}, {50, 28}}</string> + <string>{{218.96299999999999, 170}, {50, 28}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -403,10 +413,10 @@ <key>Text</key> <dict> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 dataA}</string> <key>VerticalPad</key> @@ -415,7 +425,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{218.963, 156}, {50, 14}}</string> + <string>{{218.96299999999999, 156}, {50, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -447,10 +457,10 @@ <key>Text</key> <dict> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 1}</string> <key>VerticalPad</key> @@ -473,8 +483,8 @@ <integer>66</integer> <key>Points</key> <array> - <string>{297.982, 97}</string> - <string>{297.982, 252}</string> + <string>{297.98200000000003, 97}</string> + <string>{297.98200000000003, 252}</string> </array> <key>Style</key> <dict> @@ -484,6 +494,8 @@ <string>0</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>Pattern</key> <integer>1</integer> <key>TailArrow</key> @@ -536,10 +548,10 @@ <key>Pad</key> <integer>0</integer> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 enqueue}</string> <key>VerticalPad</key> @@ -591,10 +603,10 @@ <key>Pad</key> <integer>0</integer> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 put("key1", dataB);}</string> <key>VerticalPad</key> @@ -605,7 +617,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{370.269, 120}, {34, 14}}</string> + <string>{{370.26900000000001, 120}, {34, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -646,10 +658,10 @@ <key>Pad</key> <integer>0</integer> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 "key1"}</string> <key>VerticalPad</key> @@ -660,7 +672,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{313, 120}, {148.537, 103}}</string> + <string>{{313, 120}, {148.53700000000001, 103}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -702,7 +714,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{140.963, 232}, {47, 14}}</string> + <string>{{140.96299999999999, 232}, {47, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -743,10 +755,10 @@ <key>Pad</key> <integer>0</integer> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 enqueue}</string> <key>VerticalPad</key> @@ -771,8 +783,8 @@ <integer>53</integer> <key>Points</key> <array> - <string>{140.963, 201.5}</string> - <string>{273.963, 201.5}</string> + <string>{140.96299999999999, 201.5}</string> + <string>{273.96300000000002, 201.5}</string> </array> <key>Style</key> <dict> @@ -782,6 +794,8 @@ <string>0</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>TailArrow</key> <string>0</string> <key>TailScale</key> @@ -805,8 +819,8 @@ <integer>52</integer> <key>Points</key> <array> - <string>{140.963, 152}</string> - <string>{273.963, 152}</string> + <string>{140.96299999999999, 152}</string> + <string>{273.96300000000002, 152}</string> </array> <key>Style</key> <dict> @@ -816,6 +830,8 @@ <string>0</string> <key>HeadScale</key> <real>1.4285709857940674</real> + <key>Legacy</key> + <true/> <key>TailArrow</key> <string>0</string> <key>TailScale</key> @@ -825,7 +841,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{157.463, 102}, {100, 14}}</string> + <string>{{157.46299999999999, 102}, {100, 14}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FitText</key> @@ -866,10 +882,10 @@ <key>Pad</key> <integer>0</integer> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 put("key1", dataA);}</string> <key>VerticalPad</key> @@ -921,10 +937,10 @@ <key>Pad</key> <integer>0</integer> <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1038\cocoasubrtf360 -{\fonttbl\f0\fswiss\fcharset0 Helvetica;} + <string>{\rtf1\ansi\ansicpg932\cocoartf1187\cocoasubrtf370 +\cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;} {\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc \f0\fs24 \cf0 "key1"}</string> <key>VerticalPad</key> @@ -935,7 +951,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{130.963, 120}, {148.537, 103}}</string> + <string>{{130.96299999999999, 120}, {148.53700000000001, 103}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -1023,7 +1039,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2012-02-07 13:53:06 +0900</string> + <string>2012-02-07 04:53:06 +0000</string> <key>Modifier</key> <string>Kazuki AKAMINE</string> <key>NotesVisible</key> @@ -1041,6 +1057,11 @@ <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> @@ -1049,7 +1070,12 @@ <key>NSPaperSize</key> <array> <string>size</string> - <string>{595, 842}</string> + <string>{594.99997329711914, 842}</string> + </array> + <key>NSPrintReverseOrientation</key> + <array> + <string>int</string> + <string>0</string> </array> <key>NSRightMargin</key> <array> @@ -1064,291 +1090,6 @@ </dict> <key>PrintOnePage</key> <false/> - <key>QuickLookPreview</key> - <data> - JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls - dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGdV8tuW0cM3c9XEFlJQDOZ9wNZxUa7 - 8C6wgC6SLAzZRuFIQV3Hi/59D+d1r6Ur2Q0EQcN5kTxDHlKP9JkeSeHjfaaYLP1zR3/S - D/pw+aRp+0S6fJ629F5JT/ydbbwn7ZTMwRoKwYo9mZCxA2PakYleKmNyEU0sCz5Jb0zC - WhUtbdvYR1XO8LwPTroYjRhX+KDa3TzaTmpZ3JG2XjqnLE4qCM2kfs2YEawEh8cGiKeF - 2cbg2aGxNTQ3xNDLHs+hgJa/Xk7sCWDRFb4PFdvL6wK7outLehS6CO/5hx9hu59Oa6Oo - I8vjGbIsVii1qZBVEYaxo3XJ6PoajKzR4wHa4xhjG7I8miHL4oSsYHEAMK6ZzZTDHVnW - +WJtLogZspifIzvcGMiyiwNZFubICp7Y0zWCGPFqOF4VIVYfATPHNPA0yktjdaDgA8N6 - sSFt2qLBhiCztQh9JzZ7+vCHllBHm3v6Qqt33+/WHPaGVv/qPnq3pm+0uaLfNyVzZnqi - dIiCEJ04VuOyzF7rSI6O1Pzdr37ug59rJBq0fi0miCMTfmvr1H5v+8GbPug3jIlPX9cf - 12LR8sOII+0NB1y0nNlF2hWIZ6iWM+xnexrArBFe06kqH53TnNm41DvXHkNJpZQRG8TE - 7FmMldYndwTX6u7H4/PdM95l81Cf4JCnhEWgcjruyXnYZGOjI+ejVD6nIrrQljohTRMc - x00qfLHr0qAlXNyuYrrpWioxsfbKSVYjIGLURbTaikFHEKgyUR8d/m6JZyrr1FFL236p - YA+7p5wRfcw0c/hOjDSv12Tp9rIE35orJZM6CCMLx0Shky5VQpmkZtu4iqmia6mkwtor - n3QHisiuDSqpAqPfR/gVrKvLdaUyBs8NM8el7FP3tKPSKEKcpgibokThepUhRuqCrX+B - IWwqNS/2yJ/H+8QPxzT0Gj8cU1TlB7H6H/xwwfywzGzWBa7JrvNazVj65Yz9Aq51UKXo - djFUTY4yJ+0pRyaULhmwUuWTFykvQPccQ0xVAUHhuVxwEwMKP6OjndAoCv2EOFtGXGXD - wBXoqIqArWzI0DvRe42RFerGKaYaZvsEeFHIUzX7MH2ZZruHGh3L2PoWe33OZ4lWexli - RvBPltf6t7q9+XnzabL+0CrcKnRMUtlgyKABhJHWSNQ4rrlOapW5f2g2llaSK3Ipz8YZ - aSJKACheapMNd45oHVB48BzJyJDB0+hzrJMqAVbPrWRC+dyB6o5OQ/U9Lr7C90Es2Dmd - 0DnJFFUqxjZ9RilpUYLm+oxCCOpkxQt9s9PsVu/mljQWEipl1CHC4Bdu4jOn9vbyybvn - pVNDi+aOxik9hbco4b10F2+bx3THf7E1ckAb8bzQrizEc4uKc/HMykcsv2LjW+OYbUQM - NxuXqefNMczEIeb/aayfobqcfaV4YtsiqnzZYcNpY0H1bSzRUDVrcZIl2MaB6is2dlQZ - /HPswDYeMsMhoU+oHpSkwgwXZ5mBYDRar4BgLsxgQ5JGey+MQgLqrE8xg41Opsx/5JKV - aCg4Uy16xmhDBAsEGdAU7shGDY5ARfI8iDEXYlg6PIhhOfW6Op1Rm51hIhrqjAqS/zhM - 6kDDWlpj2Hy0XIeHYSuD/vk/jN8hLgplbmRzdHJlYW0KZW5kb2JqCjYgMCBvYmoKMTIx - OQplbmRvYmoKMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDQgMCBSIC9SZXNv - dXJjZXMgNyAwIFIgL0NvbnRlbnRzIDUgMCBSIC9NZWRpYUJveCBbMCAwIDU1OSA3ODNd - Cj4+CmVuZG9iago3IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Db2xv - clNwYWNlIDw8IC9DczEgOCAwIFIgL0NzMiA5IDAgUiA+PiAvRm9udCA8PAovRjEuMCAx - MCAwIFIgPj4gPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSIC9OIDMg - L0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh - bQp4AYVUz2sTQRT+Nm6p0CIIWmsOsniQIklZq2hF1Db9EWJrDNsftkWQZDNJ1m426+4m - taWI5OLRKt5F7aEH/4AeevBkL0qFWkUo3qsoYqEXLfHNbky2perAzn7z3jfvfW923wAN - ctI09YAE5A3HUqIRaWx8Qmr8iACOoglBNCVV2+xOJAZBg3P5e+fYeg+BW1bDe/t3snet - mtK2mgeE/UDgR5rZKrDvF3EKWRICiDzfoSnHdAjf49jy7I85Tnl4wbUPKz3EWSJ8QDUt - zn9NuFPNJdNAg0g4lPVxUj6c14uU1x0HaW5mxsgQvU+QprvM7qtioZxO9g6QvZ30fk6z - 3j7CIcILGa0/RriNnvWM1T/iYeGk5sSGPRwYNfT4YBW3Gqn4NcIUXxBNJ6JUcdkuDfGY - rv1W8kqCcJA4ymRhgHNaSE/XTG74uocFfSbXE6/id1ZR4XmPE2fe1N3vRdoCrzAOHQwa - DJoNSFAQRQRhmLBQQIY8GjE0snI/I6sGG5N7MnUkart0YkSxQXs23D23UaTdPP4oInGU - Q7UIkvxB/iqvyU/lefnLXLDYVveUrZuauvLgO8XlmbkaHtfTyONzTV58ldR2k1dHlqx5 - erya7Bo/7FeXMeaCNY/Ec7D78S1flcyXKYwUxeNV8+pLhHVaMTffn2x/Oz3iLs8utdZz - rYmLN1abl2f9akj77qq8k+ZV+U9e9fH8Z83EY+IpMSZ2iuchiZfFLvGS2EurC+JgbccI - nZWGKdJtkfok1WBgmrz1L10/W3i9Rn8M9VGUGczSVIn3f8IqZDSduQ5v+o/bx/wX5PeK - 558oAi9s4MiZum1Tce8QoWWlbnOuAhe/0X3wtm5ro344/ARYPKsWrVI1nyC8ARx2h3oe - 6CmY05aWzTlShyyfk7rpymJSzFDbQ1JS1yXXZUsWs5lVYul22JnTHW4coTlC98SnSmWT - +q/xEbD9sFL5+axS2X5OGtaBl/pvwLz9RQplbmRzdHJlYW0KZW5kb2JqCjEyIDAgb2Jq - CjczNwplbmRvYmoKOCAwIG9iagpbIC9JQ0NCYXNlZCAxMSAwIFIgXQplbmRvYmoKMTMg - MCBvYmoKPDwgL0xlbmd0aCAxNCAwIFIgL04gMSAvQWx0ZXJuYXRlIC9EZXZpY2VHcmF5 - IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4AYVST0gUURz+zTYShIhBhXiI - dwoJlSmsrKDadnVZlW1bldKiGGffuqOzM9Ob2TXFkwRdojx1D6JjdOzQoZuXosCsS9cg - qSAIPHXo+83s6iiEb3k73/v9/X7fe0RtnabvOylBVHNDlSulp25OTYuDHylFHdROWKYV - +OlicYyx67mSv7vX1mfS2LLex7V2+/Y9tZVlYCHqLba3EPohkWYAH5mfKGWAs8Adlq/Y - PgE8WA6sGvAjogMPmrkw09GcdKWyLZFT5qIoKq9iO0mu+/m5xr6LtYmD/lyPZtaOvbPq - qtFM1LT3RKG8D65EGc9fVPZsNRSnDeOcSEMaKfKu1d8rTMcRkSsQSgZSNWS5n2pOnXXg - dRi7XbqT4/j2EKU+yWCoibXpspkdhX0AdirL7BDwBejxsmIP54F7Yf9bUcOTwCdhP2SH - edatH/YXrlPge4Q9NeDOFK7F8dqKH14tAUP3VCNojHNNxNPXOXOkiO8x1BmY90Y5pgsx - d5aqEzeAO2EfWapmCrFd+67qJe57AnfT4zvRmzkLXKAcSXKxFdkU0DwJWBR9i7BJDjw+ - zh5V4HeomMAcuYnczSj3HtURG2ejUoFWeo1Xxk/jufHF+GVsGM+Afqx213t8/+njFXXX - tj48+Y163DmuvZ0bVWFWcWUL3f/HMoSP2Sc5psHToVlYa9h25A+azEywDCjEfwU+l/qS - E1Xc1e7tuEUSzFA+LGwluktUbinU6j2DSqwcK9gAdnCSxCxaHLhTa7o5eHfYInpt+U1X - suuG/vr2evva8h5tyqgpKBPNs0RmlLFbo+TdeNv9ZpERnzg6vue9ilrJ/klFED+FOVoq - 8hRV9FZQ1sRvZw5+G7Z+XD+l5/VB/TwJPa2f0a/ooxG+DHRJz8JzUR+jSfCwaSHiEqCK - gzPUTlRjjQPiKfHytFtkkf0PQBn9ZgplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjcw - NAplbmRvYmoKOSAwIG9iagpbIC9JQ0NCYXNlZCAxMyAwIFIgXQplbmRvYmoKNCAwIG9i - ago8PCAvVHlwZSAvUGFnZXMgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0gL0NvdW50IDEg - L0tpZHMgWyAzIDAgUiBdID4+CmVuZG9iagoxNSAwIG9iago8PCAvVHlwZSAvQ2F0YWxv - ZyAvT3V0bGluZXMgMiAwIFIgL1BhZ2VzIDQgMCBSID4+CmVuZG9iagoyIDAgb2JqCjw8 - IC9MYXN0IDE2IDAgUiAvRmlyc3QgMTcgMCBSID4+CmVuZG9iagoxNyAwIG9iago8PCAv - UGFyZW50IDE4IDAgUiAvQ291bnQgMCAvRGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBd - IC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAwMCBcMDAwMSkKPj4KZW5kb2JqCjE4IDAgb2Jq - Cjw8ID4+CmVuZG9iagoxNiAwIG9iago8PCAvUGFyZW50IDE4IDAgUiAvQ291bnQgMCAv - RGVzdCBbIDMgMCBSIC9YWVogMCA3ODMgMCBdIC9UaXRsZSAo/v8wrTDjMPMw0DC5XDAw - MCBcMDAwMSkKPj4KZW5kb2JqCjE5IDAgb2JqCjw8IC9MZW5ndGggMjAgMCBSIC9MZW5n - dGgxIDk3NzIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBvVoJWFRHtj51 - 915oupve6aa7abqbZl8EQYi0CIgLBMEFiCggKKLGJYjBiQ4aHRWNiXGN2cYkzzWOLZrY - aswzGROTTCYxGTUZJ8lMRpPJyzd8mTfPOBkj3e/c28gobyaf7/vyzb2cqjpVdatO/XXO - qaXpWLykFaKgG2ioqm9aOAukJ2E1ANk3c37TwggfI2D87szODkeEZxMB6HmzFs6eH+GF - rQBy2+x5XQPf6zBbrWtrbWqJlMNNjHPbMCPCk2EYJ7TN73gwwmuPYTxp3oKZA+UxF5BP - md/04ED/8Anyjvub5rdG6ic0YpywcMEDHQO8DuMJCxe3DtQntSjf+0AwVw8LQAZzgQcK - 1Pg2APBfyW3AYKlYjk9LimLLjOjCb0EjDhNgRsWjUvym85VL37Xe9Co2C3/HDNmt+mLM - +UI+ACXB8j7F5sES6TsM9EGoSQ7CWKQipByk5ORRJugme+AxpJ8j0TCHbIAupPVITyAx - g6n9yJ0gG3oZwX+SdIGFjPMrGPskndlukivsHwYJd+wZ+29NV04RM87e58TcGwWyUXLy - c/IstICd/Ae4yTIoh0Sy66hvnr0Ri/bDQqRuJFoKCdnfG5dlf5WkgJsh+I0H4hjysv1P - man2LzKDFOm1v+4NMhi9FoecP9p+xvaM/T9ts+2vIh2MFB3wYY2X7ftt8+xb4oJkV6/9 - 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 - LZKNdIev0J+hrhlRwun+EUHdWzpKFiPozDFmXSK3lP4IjRtYlRy4KDlr0ypMvMmkMOBI - fEqFxUJ8orAf3jKSCnE5F9UPfWdkPS8qxMV8wEZIRFDc6ogLynDJx+EZTeMmeZaMh18p - cR87QLmGzd7yRU0qOczg7ql6WOO++qcp1fcfPHNP0qQnqtdTH1tE3dGHxtJfocwmtOx3 - /Pf36NeZ9ppo0W/lacu1tdrZ/FJ6Kb9RtxN2sDv1Oww7jPtgn0FdDuP1Y4xv65kS9k2W - WsvugT2ivhnZhETWpDcaCHB6pSLaJqjMvNlsiBU3skAOG/Wmw8pHDWZL7AXn7BU4Kbid - rbhq6s/Px7/IntYUGW5Ff36WOd2EHq0QVxSCP7b7tXo9GAzztUajicXNuhbAhJtc9fKz - UiRgTBoWZWYsIuIuNpujKZ5CC/N4c8TFIHc4nrhINqFp5znPw83FT3U/5fHFpSeps9LV - 7EhVqONdYidM+uzQ5tCffxGadYwTXojinCZhawJTeXMnvUrESnrCrfj76z97xIMgjSd+ - Bf4eHY3nbz2eGXB9hhLpl91K/FW5BibBVKjFOwhxxdAiiQ+H9xUwpWzK+InVyeWt8zpb - O+bMbJJqSMUYiPXbkB5EWoe0E2kfEl45wFtIHyN9hfQdNisgmZASkfKQypFqkdqQHkRa - h7QzPPDgNzCYJug97uTjh/DY5h318X997uBThvCZQ/isIbz4XwG39z9qCF88hBdRub1+ - yxBempfbxjN3SLm4kt3+/cIh/KIhvPR/VLe1t2RIeZfI/y8j+PntCmVuZHN0cmVhbQpl - bmRvYmoKMjAgMCBvYmoKNjMyMwplbmRvYmoKMjEgMCBvYmoKPDwgL1R5cGUgL0ZvbnRE - ZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBIZWlnaHQgNjg0IC9EZXNjZW50IC0yMzAg - L0ZsYWdzIDMyCi9Gb250QkJveCBbLTk1MSAtNDgxIDE0NDUgMTEyMl0gL0ZvbnROYW1l - IC9WRlZLUVIrSGVsdmV0aWNhIC9JdGFsaWNBbmdsZSAwCi9TdGVtViAwIC9NYXhXaWR0 - aCAxNTAwIC9YSGVpZ2h0IDUxMyAvRm9udEZpbGUyIDE5IDAgUiA+PgplbmRvYmoKMjIg - MCBvYmoKWyAyNzggMCAzNTUgMCAwIDAgMCAwIDMzMyAzMzMgMCAwIDI3OCAwIDAgMCAw - IDU1NiA1NTYgMCAwIDAgMCAwIDAgMCAwIDI3OAowIDAgMCAwIDAgNjY3IDY2NyAwIDAg - MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw - CjAgMCA1NTYgMCAwIDU1NiA1NTYgMCAwIDAgMCAwIDUwMCAwIDAgNTU2IDAgNTU2IDU1 - NiAwIDAgMjc4IDU1NiAwIDAgMCA1MDAKXQplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUg - L0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAvVkZWS1FSK0hlbHZldGlj - YSAvRm9udERlc2NyaXB0b3IKMjEgMCBSIC9XaWR0aHMgMjIgMCBSIC9GaXJzdENoYXIg - MzIgL0xhc3RDaGFyIDEyMSAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5k - b2JqCjIzIDAgb2JqCihNYWMgT1MgWCAxMC42LjggUXVhcnR6IFBERkNvbnRleHQpCmVu - ZG9iagoyNCAwIG9iagooRDoyMDEyMDIwNzA0NTMxMFowMCcwMCcpCmVuZG9iagoxIDAg - b2JqCjw8IC9Qcm9kdWNlciAyMyAwIFIgL0NyZWF0aW9uRGF0ZSAyNCAwIFIgL01vZERh - dGUgMjQgMCBSID4+CmVuZG9iagp4cmVmCjAgMjUKMDAwMDAwMDAwMCA2NTUzNSBmIAow - MDAwMDEwOTEwIDAwMDAwIG4gCjAwMDAwMDM0NTggMDAwMDAgbiAKMDAwMDAwMTMzNSAw - MDAwMCBuIAowMDAwMDAzMzA5IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAw - MDAwMTMxNSAwMDAwMCBuIAowMDAwMDAxNDM5IDAwMDAwIG4gCjAwMDAwMDI0MDkgMDAw - MDAgbiAKMDAwMDAwMzI3MyAwMDAwMCBuIAowMDAwMDEwNjQxIDAwMDAwIG4gCjAwMDAw - MDE1NDkgMDAwMDAgbiAKMDAwMDAwMjM4OSAwMDAwMCBuIAowMDAwMDAyNDQ1IDAwMDAw - IG4gCjAwMDAwMDMyNTMgMDAwMDAgbiAKMDAwMDAwMzM5MiAwMDAwMCBuIAowMDAwMDAz - NjM1IDAwMDAwIG4gCjAwMDAwMDM1MDYgMDAwMDAgbiAKMDAwMDAwMzYxMyAwMDAwMCBu - IAowMDAwMDAzNzQyIDAwMDAwIG4gCjAwMDAwMTAxNTUgMDAwMDAgbiAKMDAwMDAxMDE3 - NiAwMDAwMCBuIAowMDAwMDEwNDAxIDAwMDAwIG4gCjAwMDAwMTA4MTYgMDAwMDAgbiAK - MDAwMDAxMDg2OCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDI1IC9Sb290IDE1IDAg - UiAvSW5mbyAxIDAgUiAvSUQgWyA8Y2Y0NDk1Zjc0NjljMTAxMGRiMzQ2NDlhODcyODg4 - NDA+CjxjZjQ0OTVmNzQ2OWMxMDEwZGIzNDY0OWE4NzI4ODg0MD4gXSA+PgpzdGFydHhy - ZWYKMTA5ODUKJSVFT0YKMSAwIG9iago8PC9BdXRob3IgKEthenVraSBBS0FNSU5FKS9D - cmVhdGlvbkRhdGUgKEQ6MjAxMjAyMDcwNDM2MDBaKS9DcmVhdG9yIChPbW5pR3JhZmZs - ZSA1LjIuMykvTW9kRGF0ZSAoRDoyMDEyMDIwNzA0NTMwMFopL1Byb2R1Y2VyIDIzIDAg - UiAvVGl0bGUgKHB1dCk+PgplbmRvYmoKeHJlZgoxIDEKMDAwMDAxMTY0MyAwMDAwMCBu - IAp0cmFpbGVyCjw8L0lEIFs8Y2Y0NDk1Zjc0NjljMTAxMGRiMzQ2NDlhODcyODg4NDA+ - IDxjZjQ0OTVmNzQ2OWMxMDEwZGIzNDY0OWE4NzI4ODg0MD5dIC9JbmZvIDEgMCBSIC9Q - cmV2IDEwOTg1IC9Sb290IDE1IDAgUiAvU2l6ZSAyNT4+CnN0YXJ0eHJlZgoxMTgwNQol - JUVPRgo= - </data> - <key>QuickLookThumbnail</key> - <data> - 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 - /ZH///ui///9owAAA9wAAMBs - </data> <key>ReadOnly</key> <string>NO</string> <key>RowAlign</key> @@ -1374,7 +1115,7 @@ <key>ExpandedCanvases</key> <array/> <key>Frame</key> - <string>{{68, 181}, {693, 937}}</string> + <string>{{204, 121}, {693, 937}}</string> <key>ListView</key> <true/> <key>OutlineWidth</key> @@ -1388,7 +1129,7 @@ <key>SidebarWidth</key> <integer>120</integer> <key>VisibleRegion</key> - <string>{{0, 0}, {558, 783}}</string> + <string>{{0, -7}, {558, 798}}</string> <key>Zoom</key> <real>1</real> <key>ZoomValues</key> @@ -1400,7 +1141,5 @@ </array> </array> </dict> - <key>saveQuickLookFiles</key> - <string>YES</string> </dict> </plist>
--- a/presen/index.html Wed Apr 24 13:34:58 2013 +0900 +++ b/presen/index.html Thu Apr 25 03:09:51 2013 +0900 @@ -45,10 +45,6 @@ <li>分散プログラムには信頼性とスケーラビリティが必要である</li> <li>しかし、両方を兼ね備えたプログラムを作成することは容易ではない</li> <li>そこで、当研究室では信頼性とスケーラビリティの両方をもったプログラムの記述をサポートする、分散フレームワークAliceを開発を行なっている</li> - <li>Aliceはデータとタスクを細かく分割したDataSegment、CodeSegmentでプログラム記述する</li> - <li>DataSegment、CodeSegmentで記述することにより高い並列処理を行うことができる</li> - <li>Aliceの並列性能を確認するためbitonic Sortを実装したが、実行速度に問題があったため、 - 本論文では実行速度の改善を試みた</li> </ul> </article> </slide> @@ -60,69 +56,14 @@ <article> <ul> <li>本研究室で開発を行なっている分散管理フレームワーク</li> - <li>Data SegmentとCodeSegmentによりプログラムを記述する</li> - <li>並列フレームワーク Ceriumに似たタスク管理機構と先行研究であるFederated Lindaに似たData Segmentの通信構造をもつ</li> - <li>メニーコアのマシンが主流である背景からSEDA Architectureが採用している</li> - </ul> - </article> - </slide> - - <slide> - <hgroup> - <h2>Data Segment</h2> - </hgroup> - <article> - <p>Data Segmentは数値や文字列を構造体的に保持する。<br> - Aliceではデータベース的に扱うが、通常とは異なりKey毎にQueueを持つ<br> - 以下のAPIでデータの送受信を行う</p> - <ul> - <li>put</li> - <li>update</li> - <li>peek</li> - <li>take</li> + <li>並列フレームワーク Ceriumに似たタスク管理機構と先行研究であるFederated Lindaに似たData Segmentの通信構造</li> + <li>データとタスクを細かく分割したDataSegment、CodeSegmentでプログラム記述することで高い並列処理</li> + <li>Aliceの並列性能を確認するためbitonic Sortを実装したが、期待した結果を出すことが出来なかった</li> + <li><FONT Color="red">本論文ではAliceの実行速度の改善を行い、約10% の速度改善に成功した</FONT></li> </ul> </article> </slide> - <slide> - <hgroup> - <h2>put</h2> - </hgroup> - <article> - <ul> - </ul> - </article> - </slide> - - <slide> - <hgroup> - <h2>update</h2> - </hgroup> - <article> - <ul> - </ul> - </article> - </slide> - - <slide> - <hgroup> - <h2>peek</h2> - </hgroup> - <article> - <ul> - </ul> - </article> - </slide> - - <slide> - <hgroup> - <h2>take</h2> - </hgroup> - <article> - <ul> - </ul> - </article> - </slide> <slide> <hgroup> @@ -134,19 +75,45 @@ <li>Code Segmentは依存するData Segmentが全て揃うとActiveになる</li> <li>Input/Output Data SegmentがCode Segment間の依存関係を自動的に記述する</li> </ul> + <table width="100%"> + <tr> + <td width="50%"><Div Align="Center"><image src="images/dsandcs2.png" width="600"></Div></td> + </tr> + </table> </article> </slide> + <slide> + <hgroup> + <h2>Data Segment</h2> + </hgroup> + <article> + <p>Data Segmentは数値や文字列を構造体的に保持する<br> + Aliceではデータベース的に扱うが、通常とは異なりKey毎にQueueを持つ<br> + 以下のAPIでデータの送受信を行う</p> + <table width="100%"> + <tr> + <td width="70%"> + <FONT size="6"><ul><li>put : DataSegmentの追加</li></ul></font> + <FONT size="6"><ul><li>update : DataSegmentの更新</li></ul></font> + <FONT size="6"><ul><li>peek : DataSegmentの取得</li></ul></font> + <FONT size="6"><ul><li>take : DataSegmentの取得及び削除</li></ul></font> + </td> + <td width="30%"><Div Align="center"><image src="images/datasegment_key.png"></Div></td> + </tr> + </table> + <FONT Color="red">これらのAPIで分散プログラムが記述できる</FONT> + </article> + </slide> <slide> <hgroup> <h2>実行速度の問題</h2> </hgroup> <article> - <p>Aliceは先行研究であるFederated Lindaよりも処理速度が遅い。<br> - 作成した例題によりOverHeadの原因が見つかっている</p> + <p>Aliceの並列性能は問題がある<br> + 作成した例題により以下のoverheadが見つかっている</p> <ul> - <li>Message Packによる型変換</li> <li>SEDA Architecture</li> <li>Output Data Segmentの作成時のコピー</li> </ul> @@ -155,41 +122,6 @@ <slide> <hgroup> - <h2>Message Pack</h2> - </hgroup> - <article> - <p>シリアライズライブラリの一種。<br> - シリアライズされたデータにオブジェクトの型情報を併せて埋め込むため、<br> - IDL(インターフェース定義ファイル)を用意する必要がない。<br> - 異なる言語間でオブジェクトを交換可能<br> - MessagePack for Java のVersion 0.6からValue型が追加されており、<br>オブジェクトを動的型付け可能</p> - <ul> - <li>MessagePackを使用することで他のノードとData Segmentの送受信が高速に行うことができる</li> - <li>AliceはData SegmentをQueueに追加する際にValue型に変換</li> - <li>アノテーションをつけることにより既存のData Segmentと互換性を保ったまま拡張することができる</li> - </ul> - </article> - </slide> - - - <slide> - <hgroup> - <h2>Message Packの問題</h2> - </hgroup> - <article> - <p>分散プログラムにおいて、常にVersionが同じとは限らない。<br> - 旧Versionとの互換性のため、Value型に変換している。<br> - しかし、追加するタイミングで変換を行うと、外部と通信を行わない<br> - DataSegmentに対しても型変換を行う</p> - Sortなどの配列をValue型に変換する場合は要素の数が増えるほど、<br> - 変換する時間が増加する。 - <ul> - </ul> - </article> - </slide> - - <slide> - <hgroup> <h2>SEDA Architecture</h2> </hgroup> <article> @@ -198,25 +130,31 @@ データを処理毎に分けられたステージと呼ばれるスレッドで処理を行う。</p> Aliceでは <ul> - <li>putやtakeなどの要求に沿ったCommandを作成するステージ</li> - <li>Commandを処理するステージ</li> - <li>DataSegmentをCodeSegmentにセットするステージ</li> - + <Div Align="Center"><image src="images/seda.png"></Div> </ul> - の3つのステージで構成されている。 + の3つのステージで構成されている。 </article> </slide> <slide> <hgroup> - <h2>SEDAの問題点</h2> + <h2>SEDA Architectureの実装</h2> </hgroup> <article> - <p>SEDAは多段のパイプラインによって構成されるためレスポンスが遅れる。<br> - スループット重視の実装であるため、レスポンスが要求される<br> - Sortのようなプログラムに向いていない。<br> - 非力なマシーンでは、スレッドを切り替えが頻繁に起こり、<br> - レスポンスを下げる要因になる。</p> + <ul> + <code><pre> +while(ture){ + Command cmd = linkedBlockingQueue.take() + Command result = runCommand(cmd); + nextLinkedBlockingQueue.put(result); +} + </pre></code> + 今回SEDAは上記のソースコードのように実装されている。 + LinkedBlockingQueueにCommandが次々と投げられる。<br> + 各ステージでQueueからCommandが取得され、Commandが実行され、<br> + その結果が次のステージのQueueに投げられる。<br> + 上記のコードを複数作成することでSEDAを形成している。 + </ul> </article> </slide> @@ -239,78 +177,50 @@ <slide> <hgroup> - <h2>Output Data Segment作成時のコピー</h2> + <h2>SEDAの問題点</h2> </hgroup> <article> - CodeSegmentはDataSegmentを取得するとActiveになる。<br> - 取得されたDataSegmentはCodeSegmentによって変更され、<br> - Output Data Segmentとして出力される。<br> - この際、変更されたDataSegmentをコピーし、新しくDataSegmentを作成する。<br> - このコピーにかかる時間がオーバーヘッドとなっている。 + <p>SEDAは多段のパイプラインによって構成されるためレスポンスが遅れる。<br> + スループット重視の実装であるため、レスポンスが要求される<br> + Sortのようなプログラムに向いていない。<br> + 非力なマシーンでは、スレッドを切り替えが頻繁に起こり、<br> + レスポンスを下げる要因になる。</p> + </article> + <hgroup> + <h2>改善案</h2> + </hgroup> + <article> + Sortのようなにレスポンスが必要なプログラムのために、 + SEDAのステージ上ではなく、直接Commandを実行するようなAPIを提供する + </article> </slide> <slide> <hgroup> - <h2>問題に対する改善案</h2> + <h2>Output Data Segment作成時のコピー</h2> </hgroup> <article> - <ul> - <li>MessagePack</li> - MessagePackによるValue型に変換が必要なケースは、<br> - 他のノードに対してData Segmentを送信する場合である。<br> - DataSegmentを追加するタイミングでValue型に変換せず、<br> - メッセージを送信する前に変換を行えばよい。 - <p></p> - <li>SEDA Architecture</li> - Sortのようなにレスポンスが必要なプログラムのために、SEDAのステージ上ではなく、 - 直接DataSegmentを取得するAPIを用意する - <p></p> - </ul> + Input Data SegmentはCodeSegmentによって変更され、Output Data Segmentとして出力される。<br> + この際、変更されたDataSegmentをコピーし、新しくDataSegmentを作成する。<br> + このコピーにかかる時間がoverheadとなっている。 + <Div Align="Center"><image src="images/put.png"></Div> + putはInput Data SegmentをコピーしてOutput Data Segmentを作成する </article> </slide> + <slide> <hgroup> <h2>問題に対する改善案</h2> </hgroup> <article> - <ul> - <li>Output Data Segment作成時におけるコピー</li> - Ceriumでも同様なコピーの問題があり、Input Data SegmentとOutput Data Segmentを - Swapすることで解決している。Aliceでも同様の方法で解決する。<br> - Data SegmentはCode Segment内ではReceiverという変数が保持している。<br> - このReceiverをOutput Data Segmentにすることで無駄なコピーを減らす。 - </ul> - </article> - </slide> + + <p>並列タスク管理フレームワークCeriumでもコピーによるoverheadがあり、Input Data SegmentとOutput Data Segmentをswapすることで解決している。<br>Aliceでも同様の方法で解決する。</p> + <Div Align="Center"><image src="images/flip.png"></Div> + flipではInput Data SegmentとOutput Data Segmentを入れ替え、必要な部分だけ変更を加えるので無駄なコピーを抑える事ができる - <slide> - <hgroup> - <h2>検証</h2> - </hgroup> - - <article> - <h3>実験環境</h3> - <table> - <tr> - <td>CPU</td><td>Intel(R) Xeon(R) X5650 @2.67GHz</td> - </tr> - <tr> - <td>物理コア数</td><td>12</td> - </tr> - <tr> - <td>論理コア数</td><td>24</td> - </tr> - <tr> - <td>CPU キャッシュ</td><td>12MB</td> - </tr> - <tr> - <td>Memory</td><td>16GB</td> - </tr> - </table> - <p></p> - SEDAを活かせるようにメニコア上でテストを行なった。 + </ul> </article> </slide> @@ -319,15 +229,16 @@ <h2>実験概要</h2> </hgroup> <article> - <p>今回行った改善による効果を調べるために3つの実験を行った。</p> + <p>今回行った改善による効果を調べるために3つの実験を行った。<br> + 実験はSEDAの効果が出るようにメニコアのマシンで行った</p> <ul> <li>SEDAの有無</li> <p>Data Segmentを取得するCode Segmentが10000回実行されるまでの時間を測定</p> <li>flipとputの比較</li> - <p>既存のAPIの<em>put</em>と新しく追加したAPIである<em>flip</em>をつかい10000回、Data Segmentを追加されるまでの時間を測定</p> + <p>既存のAPIの<em>put</em>と新しく追加したAPIである<em>flip</em>を使用して10000回、Data Segmentを追加されるまでの時間を測定</p> <li>Bitonic Sortによる比較</li> - <p>今回行った改善(ただし、MessagePackによる改善を除く) - Bitonic Sortで100万の要素をSortされるまでの時間を測定する。分割数は10個で行った</p> + <p>今回行った改善でBitonic Sortがどの程度速度が改善されたか測定する。<br> + 要素は100万個、10個に分割して実験した</p> </ul> </article> </slide> @@ -338,11 +249,11 @@ <h2>実験結果</h2> </hgroup> <article> - <p>実験結果は100回行った平均である</p> + <p>実験結果は100回行った平均</p> <ul> <table> - <tr> - <th>SEDA</th><th>あり</th><th>なし</th> + <tr width="100%"> + <th width="50%">SEDA</th><th width="25%">あり</th><th width="25%">なし</th> </tr> <tr> <td>実行時間(ms)</td><td>27.72</td><td>7.53</td> @@ -351,8 +262,8 @@ </ul> <ul> <table> - <tr> - <th>API</th><th>flip</th><th>put</th> + <tr width="100%"> + <th width="50%">API</th><th width="25%">flip</th><th width="25%">put</th> </tr> <tr> <td>実行時間(ms)</td><td>61.12</td><td>65.24</td> @@ -361,8 +272,8 @@ </ul> <ul> <table> - <tr> - <th></th><th>改善前</th><th>改善後</th> + <tr width="100%"> + <th width="50%"></th><th width="25%">改善前</th><th width="25%">改善後</th> </tr> <tr> <td>実行時間(ms)</td><td>199.38</td><td>184.64</td> @@ -381,22 +292,14 @@ <ul> <li>今回行った改善により、以前のAliceよりも約10%程度速度が改善した</li> <li>しかし、Aliceに要求される速度は、少なくともシングルスレッドで書かれたプログラムと同じ程度</li> - <li>分散環境下ではFederated Linda以上の速度が求められる</li> + <li>分散環境下ではFederated Lindaと同じ速度が求められる</li> <li>また、Aliceが抱える問題は速度だけではない</li> <li>信頼性の問題や永続性の問題についても改善をしなければならない</li> </ul> </article> </slide> - <slide> - <hgroup> - <h2>Message Packの型変換にかかる時間</h2> - </hgroup> - <article> - <ul> - </ul> - </article> - </slide> + <slide class="backdrop"></slide> </slides>