Added class diagram of the iostream-derived classes.
authorArjen Baart <arjen@andromeda.nl>
Fri, 10 Aug 2012 14:07:06 +0000 (16:07 +0200)
committerArjen Baart <arjen@andromeda.nl>
Fri, 10 Aug 2012 14:07:06 +0000 (16:07 +0200)
doc/Makefile.am
doc/classes.obj

index a713879..b2749a2 100644 (file)
@@ -14,7 +14,7 @@ EXTRA_DIST = classes.obj  design.xml  main.css  scenarios.obj  xmldoc.css
 #      dia -e $@ $<
 #
 #
-IMAGES=classes.png scenarios-1.png scenarios-2.png
+IMAGES=classes-1.png classes-2.png scenarios-1.png scenarios-2.png
 
 #PICTURES=classes.eps scenarios-1.eps scenarios-2.eps
 #
@@ -38,6 +38,9 @@ design.tex: design.xml
 #scenarios-1.eps scenarios-2.eps: scenarios.obj
 #      tgif -print -display :0 -eps -color -one_file_per_page scenarios.obj
 #
+classes-1.png classes-2.png: classes.obj
+       tgif -print -display :0 -png -one_file_per_page classes.obj
+
 scenarios-1.png scenarios-2.png: scenarios.obj
        tgif -print -display :0 -png -one_file_per_page scenarios.obj
 
index 8512536..e7fc607 100644 (file)
@@ -1,11 +1,61 @@
-%TGIF 4.1.45-QPL
-state(0,37,100.000,0,35,0,16,1,9,1,1,0,0,0,0,1,0,'Helvetica',0,69120,0,0,1,10,0,0,1,1,0,16,0,0,1,1,1,1,1050,1485,0,0,2880,0).
+%TGIF 4.2.5-QPL
+state(0,37,100.000,0,0,0,16,1,0,1,1,0,0,0,0,1,0,'Helvetica',0,69120,0,0,1,5,0,0,1,0,0,16,0,0,1,2,1,1,1050,1485,0,0,2880,0).
 %
 % @(#)$Header$
 % %W%
 %
 unit("1 pixel/pixel").
-color_info(19,65535,0,[
+color_info(67,65535,0,[
+       "Black", 0, 0, 0, 0, 0, 0, 1,
+       "White", 65535, 65535, 65535, 65535, 65535, 65535, 1,
+       "#000080", 0, 0, 32911, 0, 0, 32768, 1,
+       "#008000", 0, 32911, 0, 0, 32768, 0, 1,
+       "#008080", 0, 32911, 32911, 0, 32768, 32768, 1,
+       "#800000", 32911, 0, 0, 32768, 0, 0, 1,
+       "#800080", 32911, 0, 32911, 32768, 0, 32768, 1,
+       "#ff8000", 65278, 32911, 0, 65280, 32768, 0, 1,
+       "#808080", 32911, 32911, 32911, 32768, 32768, 32768, 1,
+       "#c0c0c0", 49079, 49079, 49079, 49152, 49152, 49152, 1,
+       "#0000ff", 0, 0, 65278, 0, 0, 65280, 1,
+       "#00ff00", 0, 65278, 0, 0, 65280, 0, 1,
+       "#00ffff", 0, 65278, 65278, 0, 65280, 65280, 1,
+       "#ff0000", 65278, 0, 0, 65280, 0, 0, 1,
+       "#ff00ff", 65278, 0, 65278, 65280, 0, 65280, 1,
+       "#ffff00", 65278, 65278, 0, 65280, 65280, 0, 1,
+       "#4c4c4c", 19529, 19529, 19529, 19456, 19456, 19456, 1,
+       "#b3b3b3", 45749, 45749, 45749, 45824, 45824, 45824, 1,
+       "#e6e6e6", 58875, 58875, 58875, 58880, 58880, 58880, 1,
+       "#dc2300", 56282, 8996, 0, 56320, 8960, 0, 1,
+       "#ff3333", 65278, 13094, 13094, 65280, 13056, 13056, 1,
+       "#b84747", 47030, 18248, 18248, 47104, 18176, 18176, 1,
+       "#99284c", 39058, 10276, 19529, 39168, 10240, 19456, 1,
+       "#94476b", 37777, 18248, 27501, 37888, 18176, 27392, 1,
+       "#9966cc", 39058, 26220, 52184, 39168, 26112, 52224, 1,
+       "#6b2394", 27501, 8996, 37777, 27392, 8960, 37888, 1,
+       "#5e11a6", 24139, 4354, 42420, 24064, 4352, 42496, 1,
+       "#4700b8", 18248, 0, 47030, 18176, 0, 47104, 1,
+       "#2323dc", 8996, 8996, 56282, 8960, 8960, 56320, 1,
+       "#0099ff", 0, 39058, 65278, 0, 39168, 65280, 1,
+       "#99ccff", 39058, 52184, 65278, 39168, 52224, 65280, 1,
+       "#00dcff", 0, 56282, 65278, 0, 56320, 65280, 1,
+       "#23b8dc", 8996, 47030, 56282, 8960, 47104, 56320, 1,
+       "#33a3a3", 13094, 41651, 41651, 13056, 41728, 41728, 1,
+       "#355e00", 13606, 24139, 0, 13568, 24064, 0, 1,
+       "#7da647", 32111, 42420, 18248, 32000, 42496, 18176, 1,
+       "#00ae00", 0, 44469, 0, 0, 44544, 0, 1,
+       "#3deb3d", 15655, 60156, 15655, 15616, 60160, 15616, 1,
+       "#ffff99", 65278, 65278, 39058, 65280, 65280, 39168, 1,
+       "#e6e64c", 58875, 58875, 19529, 58880, 58880, 19456, 1,
+       "#b3b300", 45749, 45749, 0, 45824, 45824, 0, 1,
+       "#666600", 26220, 26220, 0, 26112, 26112, 0, 1,
+       "#4c1900", 19529, 6403, 0, 19456, 6400, 0, 1,
+       "#663300", 26220, 13094, 0, 26112, 13056, 0, 1,
+       "#804c19", 32911, 19529, 6403, 32768, 19456, 6400, 1,
+       "#996633", 39058, 26220, 13094, 39168, 26112, 13056, 1,
+       "#cc6633", 52184, 26220, 13094, 52224, 26112, 13056, 1,
+       "#ff6633", 65278, 26220, 13094, 65280, 26112, 13056, 1,
+       "#ff9966", 65278, 39058, 26220, 65280, 39168, 26112, 1,
+       "#ffcc99", 65278, 52184, 39058, 65280, 52224, 39168, 1,
        "magenta", 65535, 0, 65535, 65535, 0, 65535, 1,
        "red", 65535, 0, 0, 65535, 0, 0, 1,
        "green", 0, 65535, 0, 0, 65535, 0, 1,
@@ -14,8 +64,6 @@ color_info(19,65535,0,[
        "pink", 65535, 49367, 52184, 65535, 49344, 52171, 1,
        "cyan", 0, 65535, 65535, 0, 65535, 65535, 1,
        "CadetBlue", 24395, 40595, 41139, 24415, 40606, 41120, 1,
-       "white", 65535, 65535, 65535, 65535, 65535, 65535, 1,
-       "black", 0, 0, 0, 0, 0, 0, 1,
        "DarkSlateGray", 12069, 20297, 20297, 12079, 20303, 20303, 1,
        "#00000000c000", 0, 0, 49079, 0, 0, 49152, 1,
        "#820782070000", 33167, 33167, 0, 33287, 33287, 0, 1,
@@ -27,63 +75,311 @@ color_info(19,65535,0,[
        "#fffe00000000", 65535, 0, 0, 65534, 0, 0, 1
 ]).
 script_frac("0.6").
-fg_bg_colors('black','white').
+fg_bg_colors('Black','white').
 dont_reencode("FFDingbests:ZapfDingbats").
 objshadow_info('#c0c0c0',2,2).
+rotate_pivot(0,0,0,0).
+spline_tightness(1).
 page(1,"",1,'').
-poly('black','',4,[
+group([
+box('Black','',820,700,970,900,0,1,1,1085,0,0,0,0,0,'1',0,[
+]),
+poly('Black','',2,[
+       820,725,970,725],0,1,1,1086,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]),
+text('Black',895,701,1,1,1,116,17,1087,14,3,0,0,0,0,2,116,17,0,0,"",0,0,0,0,715,'',[
+minilines(116,17,0,0,1,0,0,[
+mini_line(116,14,3,0,0,0,[
+str_block(0,116,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,116,14,3,0,-1,0,0,0,0,0,
+       "basic_sockbuf<>")])
+])
+])]),
+poly('Black','',2,[
+       820,800,970,800],0,1,1,1088,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+])
+],
+1084,0,0,[
+]).
+box('Black','',50,50,1020,1200,0,1,1,1189,0,0,0,0,0,'1',0,[
+]).
+group([
+box('Black','',801,100,999,170,0,1,1,1367,0,0,0,0,0,'1',0,[
+]),
+poly('Black','',2,[
+       801,125,999,125],0,1,1,1368,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]),
+text('Black',900,101,1,1,1,162,17,1369,14,3,0,0,0,0,2,162,17,0,0,"",0,0,0,0,115,'',[
+minilines(162,17,0,0,1,0,0,[
+mini_line(162,14,3,0,0,0,[
+str_block(0,162,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,162,14,3,0,-1,0,0,0,0,0,
+       "std::basic_streambuf<>")])
+])
+])]),
+poly('Black','',2,[
+       801,150,999,150],0,1,1,1370,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+])
+],
+1398,0,0,[
+]).
+poly('Black','',2,[
+       900,200,900,700],0,1,1,1424,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+polygon('Black','',4,[
+       900,170,875,200,925,200,900,170],0,1,1,0,1444,0,0,0,0,0,'1',0,
+    "0",[
+]).
+box('Black','',575,400,725,600,0,1,1,1443,0,0,0,0,0,'1',0,[
+]).
+poly('Black','',2,[
+       575,425,725,425],0,1,1,1442,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+text('Black',650,401,1,1,1,145,17,1441,14,3,0,0,0,0,2,145,17,0,0,"",0,0,0,0,415,'',[
+minilines(145,17,0,0,1,0,0,[
+mini_line(145,14,3,0,0,0,[
+str_block(0,145,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,145,14,3,0,-1,0,0,0,0,0,
+       "basic_isockstream<>")])
+])
+])]).
+poly('Black','',2,[
+       575,500,725,500],0,1,1,1439,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+polygon('Black','',5,[
+       635,620,650,600,665,620,650,640,635,620],0,1,1,0,1437,0,0,0,0,0,'1',0,
+    "00",[
+]).
+group([
+box('Black','',551,100,749,170,0,1,1,1472,0,0,0,0,0,'1',0,[
+]),
+poly('Black','',2,[
+       551,125,749,125],0,1,1,1473,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]),
+text('Black',650,101,1,1,1,144,17,1474,14,3,0,0,0,0,2,144,17,0,0,"",0,0,0,0,115,'',[
+minilines(144,17,0,0,1,0,0,[
+mini_line(144,14,3,0,0,0,[
+str_block(0,144,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,144,14,3,0,-1,0,0,0,0,0,
+       "std::basic_istream<>")])
+])
+])]),
+poly('Black','',2,[
+       551,150,749,150],0,1,1,1475,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+])
+],
+1471,0,0,[
+]).
+polygon('Black','',4,[
+       650,170,625,200,675,200,650,170],0,1,1,0,1476,0,0,0,0,0,'1',0,
+    "0",[
+]).
+poly('Black','',2,[
+       650,200,650,400],0,1,1,1484,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+box('Black','',325,400,475,600,0,1,1,1489,0,0,0,0,0,'1',0,[
+]).
+poly('Black','',2,[
+       325,425,475,425],0,1,1,1490,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+text('Black',400,401,1,1,1,150,17,1491,14,3,0,0,0,0,2,150,17,0,0,"",0,0,0,0,415,'',[
+minilines(150,17,0,0,1,0,0,[
+mini_line(150,14,3,0,0,0,[
+str_block(0,150,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,150,14,3,0,-1,0,0,0,0,0,
+       "basic_osockstream<>")])
+])
+])]).
+poly('Black','',2,[
+       325,500,475,500],0,1,1,1492,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+group([
+box('Black','',301,100,499,170,0,1,1,1495,0,0,0,0,0,'1',0,[
+]),
+poly('Black','',2,[
+       301,125,499,125],0,1,1,1496,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]),
+text('Black',400,101,1,1,1,149,17,1497,14,3,0,0,0,0,2,149,17,0,0,"",0,0,0,0,115,'',[
+minilines(149,17,0,0,1,0,0,[
+mini_line(149,14,3,0,0,0,[
+str_block(0,149,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,149,14,3,0,-1,0,0,0,0,0,
+       "std::basic_ostream<>")])
+])
+])]),
+poly('Black','',2,[
+       301,150,499,150],0,1,1,1498,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+])
+],
+1494,0,0,[
+]).
+polygon('Black','',4,[
+       400,170,375,200,425,200,400,170],0,1,1,0,1499,0,0,0,0,0,'1',0,
+    "0",[
+]).
+poly('Black','',2,[
+       400,200,400,400],0,1,1,1500,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+box('Black','',95,400,245,600,0,1,1,1508,0,0,0,0,0,'1',0,[
+]).
+poly('Black','',2,[
+       95,425,245,425],0,1,1,1509,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+text('Black',170,401,1,1,1,141,17,1510,14,3,0,0,0,0,2,141,17,0,0,"",0,0,0,0,415,'',[
+minilines(141,17,0,0,1,0,0,[
+mini_line(141,14,3,0,0,0,[
+str_block(0,141,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,141,14,3,0,-1,0,0,0,0,0,
+       "basic_sockstream<>")])
+])
+])]).
+poly('Black','',2,[
+       95,500,245,500],0,1,1,1511,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+group([
+box('Black','',71,100,269,170,0,1,1,1514,0,0,0,0,0,'1',0,[
+]),
+poly('Black','',2,[
+       71,125,269,125],0,1,1,1515,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]),
+text('Black',170,101,1,1,1,153,17,1516,14,3,0,0,0,0,2,153,17,0,0,"",0,0,0,0,115,'',[
+minilines(153,17,0,0,1,0,0,[
+mini_line(153,14,3,0,0,0,[
+str_block(0,153,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,153,14,3,0,-1,0,0,0,0,0,
+       "std::basic_iostream<>")])
+])
+])]),
+poly('Black','',2,[
+       71,150,269,150],0,1,1,1517,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+])
+],
+1513,0,0,[
+]).
+polygon('Black','',4,[
+       170,170,145,200,195,200,170,170],0,1,1,0,1518,0,0,0,0,0,'1',0,
+    "0",[
+]).
+poly('Black','',2,[
+       170,200,170,400],0,1,1,1519,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+polygon('Black','',5,[
+       385,620,400,600,415,620,400,640,385,620],0,1,1,0,1569,0,0,0,0,0,'1',0,
+    "00",[
+]).
+polygon('Black','',5,[
+       160,620,175,600,190,620,175,640,160,620],0,1,1,0,1570,0,0,0,0,0,'1',0,
+    "00",[
+]).
+poly('Black','',3,[
+       650,640,650,755,820,755],0,1,1,1571,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+poly('Black','',3,[
+       400,640,400,770,820,770],0,1,1,1572,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+poly('Black','',3,[
+       175,640,175,780,820,780],0,1,1,1573,0,0,0,0,0,0,0,'1',0,0,
+    "0","",[
+    0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
+]).
+page(2,"",1,'').
+poly('Black','',4,[
        500,325,500,350,395,350,395,400],0,1,1,52,0,0,2,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',4,[
+poly('Black','',4,[
        500,325,500,350,600,350,600,400],0,1,1,53,0,0,2,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-polygon('black','',5,[
+polygon('Black','',5,[
        300,150,325,140,350,150,325,160,300,150],0,1,1,0,62,0,0,0,0,0,'1',0,
     "00",[
 ]).
-poly('black','',2,[
+poly('Black','',2,[
        350,150,425,150],0,1,1,63,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
 group([
-box('black','',525,400,675,600,0,1,1,34,0,0,0,0,0,'1',0,[
+box('Black','',525,400,675,600,0,1,1,34,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        525,425,675,425],0,1,1,35,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',600,401,1,1,1,115,17,36,14,3,0,0,0,0,2,115,17,0,0,"",0,0,0,0,415,'',[
+text('Black',600,401,1,1,1,115,17,36,14,3,0,0,0,0,2,115,17,0,0,"",0,0,0,0,415,'',[
 minilines(115,17,0,0,1,0,0,[
 mini_line(115,14,3,0,0,0,[
 str_block(0,115,14,3,0,0,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,115,14,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,115,14,3,0,0,0,0,0,0,0,
        "DatagramSocket")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        525,500,675,500],0,1,1,38,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',535,508,1,0,1,51,15,39,12,3,0,0,0,0,2,51,15,0,0,"",0,0,0,0,520,'',[
+text('Black',535,508,1,0,1,51,15,39,12,3,0,0,0,0,2,51,15,0,0,"",0,0,0,0,520,'',[
 minilines(51,15,0,0,0,0,0,[
 mini_line(51,12,3,0,0,0,[
 str_block(0,51,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,51,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,51,12,3,0,-1,0,0,0,0,0,
        "SendTo()")])
 ])
 ])]),
-text('black',535,528,1,0,1,82,15,40,12,3,0,0,0,0,2,82,15,0,0,"",0,0,0,0,540,'',[
+text('Black',535,528,1,0,1,82,15,40,12,3,0,0,0,0,2,82,15,0,0,"",0,0,0,0,540,'',[
 minilines(82,15,0,0,0,0,0,[
 mini_line(82,12,3,0,0,0,[
 str_block(0,82,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,82,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,82,12,3,0,-1,0,0,0,0,0,
        "ReceiveFrom()")])
 ])
 ])])
@@ -91,22 +387,22 @@ str_seg('black','Helvetica',0,69120,82,12,3,0,-1,0,0,0,0,0,
 101,0,0,[
 ]).
 group([
-box('black','',150,100,300,300,0,1,1,54,0,0,0,0,0,'1',0,[
+box('Black','',150,100,300,300,0,1,1,54,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        150,125,300,125],0,1,1,55,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',225,101,1,1,1,55,17,56,14,3,0,0,0,0,2,55,17,0,1,"",0,0,0,0,115,'',[
-minilines(55,17,0,1,1,0,0,[
-mini_line(55,14,3,0,1,0,[
-str_block(0,55,14,3,0,1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,55,14,3,0,1,0,0,0,0,0,
-       "sockbuf")])
+text('Black',225,101,1,1,1,116,17,56,14,3,0,0,0,0,2,116,17,0,0,"",0,0,0,0,115,'',[
+minilines(116,17,0,0,1,0,0,[
+mini_line(116,14,3,0,0,0,[
+str_block(0,116,14,3,0,-1,0,0,0,[
+str_seg('Black','Helvetica-Bold',1,80640,116,14,3,0,-1,0,0,0,0,0,
+       "basic_sockbuf<>")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        150,200,300,200],0,1,1,58,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
@@ -114,32 +410,32 @@ poly('black','',2,[
 ],
 122,0,0,[
 ]).
-poly('black','',4,[
+poly('Black','',4,[
        625,230,805,230,805,670,650,670],0,1,1,133,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-polygon('black','',4,[
+polygon('Black','',4,[
        575,850,550,875,600,875,575,850],0,1,1,0,143,0,0,0,0,0,'1',0,
     "0",[
 ]).
 group([
-box('black','',100,950,250,1150,0,1,1,145,0,0,0,0,0,'1',0,[
+box('Black','',100,950,250,1150,0,1,1,145,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        100,975,250,975],0,1,1,146,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',175,951,1,1,1,141,17,147,14,3,0,0,0,0,2,141,17,0,0,"",0,0,0,0,965,'',[
+text('Black',175,951,1,1,1,141,17,147,14,3,0,0,0,0,2,141,17,0,0,"",0,0,0,0,965,'',[
 minilines(141,17,0,0,1,0,0,[
 mini_line(141,14,3,0,0,0,[
 str_block(0,141,14,3,0,-1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,141,14,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,141,14,3,0,-1,0,0,0,0,0,
        "UNIXSocketAddress")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        100,1050,250,1050],0,1,1,148,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
@@ -148,22 +444,22 @@ poly('black','',2,[
 144,0,0,[
 ]).
 group([
-box('black','',350,950,500,1150,0,1,1,150,0,0,0,0,0,'1',0,[
+box('Black','',350,950,500,1150,0,1,1,150,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        350,975,500,975],0,1,1,151,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',425,951,1,1,1,136,17,152,14,3,0,0,0,0,2,136,17,0,0,"",0,0,0,0,965,'',[
+text('Black',425,951,1,1,1,136,17,152,14,3,0,0,0,0,2,136,17,0,0,"",0,0,0,0,965,'',[
 minilines(136,17,0,0,1,0,0,[
 mini_line(136,14,3,0,0,0,[
 str_block(0,136,14,3,0,-1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,136,14,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,136,14,3,0,-1,0,0,0,0,0,
        "IPv4SocketAddress")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        350,1050,500,1050],0,1,1,153,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
@@ -172,22 +468,22 @@ poly('black','',2,[
 149,0,0,[
 ]).
 group([
-box('black','',600,950,750,1150,0,1,1,155,0,0,0,0,0,'1',0,[
+box('Black','',600,950,750,1150,0,1,1,155,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        600,975,750,975],0,1,1,156,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',675,951,1,1,1,136,17,157,14,3,0,0,0,0,2,136,17,0,0,"",0,0,0,0,965,'',[
+text('Black',675,951,1,1,1,136,17,157,14,3,0,0,0,0,2,136,17,0,0,"",0,0,0,0,965,'',[
 minilines(136,17,0,0,1,0,0,[
 mini_line(136,14,3,0,0,0,[
 str_block(0,136,14,3,0,-1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,136,14,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,136,14,3,0,-1,0,0,0,0,0,
        "IPv6SocketAddress")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        600,1050,750,1050],0,1,1,158,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
@@ -195,103 +491,103 @@ poly('black','',2,[
 ],
 154,0,0,[
 ]).
-poly('black','',4,[
+poly('Black','',4,[
        575,875,575,910,180,910,180,950],0,1,1,159,0,0,2,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',4,[
+poly('Black','',4,[
        575,875,575,910,435,910,435,950],0,1,1,160,0,0,2,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',4,[
+poly('Black','',4,[
        575,875,575,910,675,910,675,950],0,1,1,161,0,0,2,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-text('black',105,978,1,0,1,54,15,200,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,990,'',[
+text('Black',105,978,1,0,1,54,15,200,12,3,0,0,0,0,2,54,15,0,0,"",0,0,0,0,990,'',[
 minilines(54,15,0,0,0,0,0,[
 mini_line(54,12,3,0,0,0,[
 str_block(0,54,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,54,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,54,12,3,0,-1,0,0,0,0,0,
        "pathname")])
 ])
 ])]).
-text('black',360,978,1,0,1,55,15,203,12,3,0,0,0,0,2,55,15,0,0,"",0,0,0,0,990,'',[
+text('Black',360,978,1,0,1,55,15,203,12,3,0,0,0,0,2,55,15,0,0,"",0,0,0,0,990,'',[
 minilines(55,15,0,0,0,0,0,[
 mini_line(55,12,3,0,0,0,[
 str_block(0,55,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,55,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,55,12,3,0,-1,0,0,0,0,0,
        "IPaddress")])
 ])
 ])]).
-text('black',360,988,1,0,1,21,15,205,12,3,0,0,0,0,2,21,15,0,0,"",0,0,0,0,1000,'',[
+text('Black',360,988,1,0,1,21,15,205,12,3,0,0,0,0,2,21,15,0,0,"",0,0,0,0,1000,'',[
 minilines(21,15,0,0,0,0,0,[
 mini_line(21,12,3,0,0,0,[
 str_block(0,21,12,3,0,0,0,0,0,[
-str_seg('black','Helvetica',0,69120,21,12,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,21,12,3,0,0,0,0,0,0,0,
        "port")])
 ])
 ])]).
-text('black',605,973,1,0,1,55,15,207,12,3,0,0,0,0,2,55,15,0,0,"",0,0,0,0,985,'',[
+text('Black',605,973,1,0,1,55,15,207,12,3,0,0,0,0,2,55,15,0,0,"",0,0,0,0,985,'',[
 minilines(55,15,0,0,0,0,0,[
 mini_line(55,12,3,0,0,0,[
 str_block(0,55,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,55,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,55,12,3,0,-1,0,0,0,0,0,
        "IPaddress")])
 ])
 ])]).
-text('black',605,988,1,0,1,21,15,209,12,3,0,0,0,0,2,21,15,0,0,"",0,0,0,0,1000,'',[
+text('Black',605,988,1,0,1,21,15,209,12,3,0,0,0,0,2,21,15,0,0,"",0,0,0,0,1000,'',[
 minilines(21,15,0,0,0,0,0,[
 mini_line(21,12,3,0,0,0,[
 str_block(0,21,12,3,0,0,0,0,0,[
-str_seg('black','Helvetica',0,69120,21,12,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,21,12,3,0,0,0,0,0,0,0,
        "port")])
 ])
 ])]).
 group([
-box('black','',500,650,650,850,0,1,1,128,0,0,0,0,0,'1',0,[
+box('Black','',500,650,650,850,0,1,1,128,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        500,675,650,675],0,1,1,129,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',575,651,1,1,1,106,17,130,14,3,0,0,0,0,2,106,17,0,0,"",0,0,0,0,665,'',[
+text('Black',575,651,1,1,1,106,17,130,14,3,0,0,0,0,2,106,17,0,0,"",0,0,0,0,665,'',[
 minilines(106,17,0,0,1,0,0,[
 mini_line(106,14,3,0,0,0,[
 str_block(0,106,14,3,0,-1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,106,14,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,106,14,3,0,-1,0,0,0,0,0,
        "SocketAddress")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        500,750,650,750],0,1,1,131,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',510,758,1,0,1,91,15,178,12,3,0,0,0,0,2,91,15,0,0,"",0,0,0,0,770,'',[
+text('Black',510,758,1,0,1,91,15,178,12,3,0,0,0,0,2,91,15,0,0,"",0,0,0,0,770,'',[
 minilines(91,15,0,0,0,0,0,[
 mini_line(91,12,3,0,0,0,[
 str_block(0,91,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,91,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,91,12,3,0,-1,0,0,0,0,0,
        "address_family()")])
 ])
 ])]),
-text('black',510,678,1,0,1,51,15,210,12,3,0,0,0,0,2,51,15,0,0,"",0,0,0,0,690,'',[
+text('Black',510,678,1,0,1,51,15,210,12,3,0,0,0,0,2,51,15,0,0,"",0,0,0,0,690,'',[
 minilines(51,15,0,0,0,0,0,[
 mini_line(51,12,3,0,0,0,[
 str_block(0,51,12,3,0,0,0,0,0,[
-str_seg('black','Helvetica',0,69120,51,12,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,51,12,3,0,0,0,0,0,0,0,
        "sockaddr")])
 ])
 ])]),
-text('black',510,778,1,0,1,83,15,212,12,3,0,0,0,0,2,83,15,0,0,"",0,0,0,0,790,'',[
+text('Black',510,778,1,0,1,83,15,212,12,3,0,0,0,0,2,83,15,0,0,"",0,0,0,0,790,'',[
 minilines(83,15,0,0,0,0,0,[
 mini_line(83,12,3,0,0,0,[
 str_block(0,83,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,83,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,83,12,3,0,-1,0,0,0,0,0,
        "get_sockaddr()")])
 ])
 ])])
@@ -299,287 +595,287 @@ str_seg('black','Helvetica',0,69120,83,12,3,0,-1,0,0,0,0,0,
 244,0,0,[
 ]).
 group([
-polygon('black','',4,[
+polygon('Black','',4,[
        500,300,475,325,525,325,500,300],0,1,1,0,48,0,0,0,0,0,'1',0,
     "0",[
 ]),
-box('black','',425,100,575,300,0,1,1,0,0,0,0,0,0,'1',0,[
+box('Black','',425,100,575,300,0,1,1,0,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        425,125,575,125],0,1,1,1,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',500,101,1,1,1,48,17,5,14,3,0,0,0,0,2,48,17,0,0,"",0,0,0,0,115,'',[
+text('Black',500,101,1,1,1,48,17,5,14,3,0,0,0,0,2,48,17,0,0,"",0,0,0,0,115,'',[
 minilines(48,17,0,0,1,0,0,[
 mini_line(48,14,3,0,0,0,[
 str_block(0,48,14,3,0,0,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,48,14,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,48,14,3,0,0,0,0,0,0,0,
        "Socket")])
 ])
 ])]),
-text('black',435,128,1,0,1,10,15,7,12,3,0,0,0,0,2,10,15,0,0,"",0,0,0,0,140,'',[
+text('Black',435,128,1,0,1,10,15,7,12,3,0,0,0,0,2,10,15,0,0,"",0,0,0,0,140,'',[
 minilines(10,15,0,0,0,0,0,[
 mini_line(10,12,3,0,0,0,[
 str_block(0,10,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,10,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,10,12,3,0,-1,0,0,0,0,0,
        "fd")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        425,200,575,200],0,1,1,15,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',430,208,1,0,1,41,15,32,12,3,0,0,0,0,2,41,15,0,0,"",0,0,0,0,220,'',[
+text('Black',430,208,1,0,1,41,15,32,12,3,0,0,0,0,2,41,15,0,0,"",0,0,0,0,220,'',[
 minilines(41,15,0,0,0,0,0,[
 mini_line(41,12,3,0,0,0,[
 str_block(0,41,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,41,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,41,12,3,0,-1,0,0,0,0,0,
        "Listen()")])
 ])
 ])]),
-polygon('black','',5,[
+polygon('Black','',5,[
        575,230,600,220,625,230,600,240,575,230],0,1,1,0,132,0,0,0,0,0,'1',0,
     "00",[
 ]),
-text('black',430,223,1,0,1,40,15,287,12,3,0,0,0,0,2,40,15,0,0,"",0,0,0,0,235,'',[
+text('Black',430,223,1,0,1,40,15,287,12,3,0,0,0,0,2,40,15,0,0,"",0,0,0,0,235,'',[
 minilines(40,15,0,0,0,0,0,[
 mini_line(40,12,3,0,0,0,[
 str_block(0,40,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,40,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,40,12,3,0,-1,0,0,0,0,0,
        "Close()")])
 ])
 ])])
 ],
 307,0,0,[
 ]).
-poly('black','',2,[
+poly('Black','',2,[
        250,700,500,700],0,1,1,325,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',2,[
+poly('Black','',2,[
        650,715,845,715],0,1,1,336,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-poly('black','',2,[
+poly('Black','',2,[
        920,680,920,590],0,1,1,378,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-polygon('black','',5,[
+polygon('Black','',5,[
        905,570,920,550,935,570,920,590,905,570],0,1,1,0,374,0,0,0,0,0,'1',0,
     "00",[
 ]).
 group([
-box('black','',850,350,1000,550,0,1,1,348,0,0,0,0,0,'1',0,[
+box('Black','',850,350,1000,550,0,1,1,348,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        850,375,1000,375],0,1,1,349,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',925,351,1,1,1,32,17,350,14,3,0,0,0,0,2,32,17,0,0,"",0,0,0,0,365,'',[
+text('Black',925,351,1,1,1,32,17,350,14,3,0,0,0,0,2,32,17,0,0,"",0,0,0,0,365,'',[
 minilines(32,17,0,0,1,0,0,[
 mini_line(32,14,3,0,0,0,[
 str_block(0,32,14,3,0,0,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,32,14,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,32,14,3,0,0,0,0,0,0,0,
        "Host")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        850,450,1000,450],0,1,1,351,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',860,458,1,0,1,79,15,352,12,3,0,0,0,0,2,79,15,0,0,"",0,0,0,0,470,'',[
+text('Black',860,458,1,0,1,79,15,352,12,3,0,0,0,0,2,79,15,0,0,"",0,0,0,0,470,'',[
 minilines(79,15,0,0,0,0,0,[
 mini_line(79,12,3,0,0,0,[
 str_block(0,79,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,79,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,79,12,3,0,-1,0,0,0,0,0,
        "FindAddress()")])
 ])
 ])]),
-text('black',860,378,1,0,1,30,15,353,12,3,0,0,0,0,2,30,15,0,0,"",0,0,0,0,390,'',[
+text('Black',860,378,1,0,1,30,15,353,12,3,0,0,0,0,2,30,15,0,0,"",0,0,0,0,390,'',[
 minilines(30,15,0,0,0,0,0,[
 mini_line(30,12,3,0,0,0,[
 str_block(0,30,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,30,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,30,12,3,0,-1,0,0,0,0,0,
        "name")])
 ])
 ])]),
-text('black',860,478,1,0,1,65,15,354,12,3,0,0,0,0,2,65,15,0,0,"",0,0,0,0,490,'',[
+text('Black',860,478,1,0,1,65,15,354,12,3,0,0,0,0,2,65,15,0,0,"",0,0,0,0,490,'',[
 minilines(65,15,0,0,0,0,0,[
 mini_line(65,12,3,0,0,0,[
 str_block(0,65,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,65,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,65,12,3,0,-1,0,0,0,0,0,
        "FindName()")])
 ])
 ])]),
-text('black',860,403,1,0,1,57,15,355,12,3,0,0,0,0,2,57,15,0,0,"",0,0,0,0,415,'',[
+text('Black',860,403,1,0,1,57,15,355,12,3,0,0,0,0,2,57,15,0,0,"",0,0,0,0,415,'',[
 minilines(57,15,0,0,0,0,0,[
 mini_line(57,12,3,0,0,0,[
 str_block(0,57,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,57,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,57,12,3,0,-1,0,0,0,0,0,
        "addresses")])
 ])
 ])])
 ],
 903,0,0,[
 ]).
-oval('black','',905,670,935,700,1,1,1,380,0,0,0,0,0,'1',0,[
+oval('Black','',905,670,935,700,1,1,1,380,0,0,0,0,0,'1',0,[
 ]).
-text('black',510,798,1,0,1,75,15,942,12,3,0,0,0,0,2,75,15,0,0,"",0,0,0,0,810,'',[
+text('Black',510,798,1,0,1,75,15,942,12,3,0,0,0,0,2,75,15,0,0,"",0,0,0,0,810,'',[
 minilines(75,15,0,0,0,0,0,[
 mini_line(75,12,3,0,0,0,[
 str_block(0,75,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,75,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,75,12,3,0,-1,0,0,0,0,0,
        "get_socklen()")])
 ])
 ])]).
-poly('black','',2,[
+poly('Black','',2,[
        170,620,170,590],0,1,1,987,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]).
-polygon('black','',5,[
+polygon('Black','',5,[
        155,570,170,550,185,570,170,590,155,570],0,1,1,0,988,0,0,0,0,0,'1',0,
     "00",[
 ]).
 group([
-box('black','',845,700,995,900,0,1,1,328,0,0,0,0,0,'1',0,[
+box('Black','',845,700,995,900,0,1,1,328,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        845,725,995,725],0,1,1,329,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',920,701,1,1,1,112,17,330,14,3,0,0,0,0,2,112,17,0,0,"",0,0,0,0,715,'',[
+text('Black',920,701,1,1,1,112,17,330,14,3,0,0,0,0,2,112,17,0,0,"",0,0,0,0,715,'',[
 minilines(112,17,0,0,1,0,0,[
 mini_line(112,14,3,0,0,0,[
 str_block(0,112,14,3,0,-1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,112,14,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,112,14,3,0,-1,0,0,0,0,0,
        "InternetAddress")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        845,800,995,800],0,1,1,331,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',855,728,1,0,1,10,15,333,12,3,0,0,0,0,2,10,15,0,1,"",0,0,0,0,740,'',[
+text('Black',855,728,1,0,1,10,15,333,12,3,0,0,0,0,2,10,15,0,1,"",0,0,0,0,740,'',[
 minilines(10,15,0,1,0,0,0,[
 mini_line(10,12,3,0,1,0,[
 str_block(0,10,12,3,0,1,0,0,0,[
-str_seg('black','Helvetica',0,69120,10,12,3,0,1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,10,12,3,0,1,0,0,0,0,0,
        "af")])
 ])
 ])]),
-text('black',855,753,1,0,1,52,15,335,12,3,0,0,0,0,2,52,15,0,0,"",0,0,0,0,765,'',[
+text('Black',855,753,1,0,1,52,15,335,12,3,0,0,0,0,2,52,15,0,0,"",0,0,0,0,765,'',[
 minilines(52,15,0,0,0,0,0,[
 mini_line(52,12,3,0,0,0,[
 str_block(0,52,12,3,0,0,0,0,0,[
-str_seg('black','Helvetica',0,69120,52,12,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,52,12,3,0,0,0,0,0,0,0,
        "inet_addr")])
 ])
 ])]),
-text('black',855,773,1,0,1,86,15,410,12,3,0,0,0,0,2,86,15,0,0,"",0,0,0,0,785,'',[
+text('Black',855,773,1,0,1,86,15,410,12,3,0,0,0,0,2,86,15,0,0,"",0,0,0,0,785,'',[
 minilines(86,15,0,0,0,0,0,[
 mini_line(86,12,3,0,0,0,[
 str_block(0,86,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,86,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,86,12,3,0,-1,0,0,0,0,0,
        "netmask_length")])
 ])
 ])]),
-text('black',855,808,1,0,1,40,15,924,12,3,0,0,0,0,2,40,15,0,0,"",0,0,0,0,820,'',[
+text('Black',855,808,1,0,1,40,15,924,12,3,0,0,0,0,2,40,15,0,0,"",0,0,0,0,820,'',[
 minilines(40,15,0,0,0,0,0,[
 mini_line(40,12,3,0,0,0,[
 str_block(0,40,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,40,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,40,12,3,0,-1,0,0,0,0,0,
        "String()")])
 ])
 ])]),
-text('black',855,828,1,0,1,91,15,926,12,3,0,0,0,0,2,91,15,0,0,"",0,0,0,0,840,'',[
+text('Black',855,828,1,0,1,91,15,926,12,3,0,0,0,0,2,91,15,0,0,"",0,0,0,0,840,'',[
 minilines(91,15,0,0,0,0,0,[
 mini_line(91,12,3,0,0,0,[
 str_block(0,91,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,91,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,91,12,3,0,-1,0,0,0,0,0,
        "address_family()")])
 ])
 ])]),
-text('black',855,848,1,0,1,74,15,928,12,3,0,0,0,0,2,74,15,0,0,"",0,0,0,0,860,'',[
+text('Black',855,848,1,0,1,74,15,928,12,3,0,0,0,0,2,74,15,0,0,"",0,0,0,0,860,'',[
 minilines(74,15,0,0,0,0,0,[
 mini_line(74,12,3,0,0,0,[
 str_block(0,74,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,74,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,74,12,3,0,-1,0,0,0,0,0,
        "get_in_addr()")])
 ])
 ])]),
-text('black',855,868,1,0,1,81,15,930,12,3,0,0,0,0,2,81,15,0,0,"",0,0,0,0,880,'',[
+text('Black',855,868,1,0,1,81,15,930,12,3,0,0,0,0,2,81,15,0,0,"",0,0,0,0,880,'',[
 minilines(81,15,0,0,0,0,0,[
 mini_line(81,12,3,0,0,0,[
 str_block(0,81,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,81,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,81,12,3,0,-1,0,0,0,0,0,
        "get_in6_addr()")])
 ])
 ])])
 ],
 1010,0,0,[
 ]).
-oval('black','',155,620,185,650,1,1,1,1011,0,0,0,0,0,'1',0,[
+oval('Black','',155,620,185,650,1,1,1,1011,0,0,0,0,0,'1',0,[
 ]).
 group([
-box('black','',100,350,250,550,0,1,1,246,0,0,0,0,0,'1',0,[
+box('Black','',100,350,250,550,0,1,1,246,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        100,375,250,375],0,1,1,247,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',175,351,1,1,1,52,17,248,14,3,0,0,0,0,2,52,17,0,0,"",0,0,0,0,365,'',[
+text('Black',175,351,1,1,1,52,17,248,14,3,0,0,0,0,2,52,17,0,0,"",0,0,0,0,365,'',[
 minilines(52,17,0,0,1,0,0,[
 mini_line(52,14,3,0,0,0,[
 str_block(0,52,14,3,0,-1,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,52,14,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,52,14,3,0,-1,0,0,0,0,0,
        "Service")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        100,450,250,450],0,1,1,249,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',110,458,1,0,1,79,15,250,12,3,0,0,0,0,2,79,15,0,0,"",0,0,0,0,470,'',[
+text('Black',110,458,1,0,1,79,15,250,12,3,0,0,0,0,2,79,15,0,0,"",0,0,0,0,470,'',[
 minilines(79,15,0,0,0,0,0,[
 mini_line(79,12,3,0,0,0,[
 str_block(0,79,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,79,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,79,12,3,0,-1,0,0,0,0,0,
        "FindAddress()")])
 ])
 ])]),
-text('black',110,378,1,0,1,30,15,251,12,3,0,0,0,0,2,30,15,0,0,"",0,0,0,0,390,'',[
+text('Black',110,378,1,0,1,30,15,251,12,3,0,0,0,0,2,30,15,0,0,"",0,0,0,0,390,'',[
 minilines(30,15,0,0,0,0,0,[
 mini_line(30,12,3,0,0,0,[
 str_block(0,30,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,30,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,30,12,3,0,-1,0,0,0,0,0,
        "name")])
 ])
 ])]),
-text('black',110,478,1,0,1,65,15,252,12,3,0,0,0,0,2,65,15,0,0,"",0,0,0,0,490,'',[
+text('Black',110,478,1,0,1,65,15,252,12,3,0,0,0,0,2,65,15,0,0,"",0,0,0,0,490,'',[
 minilines(65,15,0,0,0,0,0,[
 mini_line(65,12,3,0,0,0,[
 str_block(0,65,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,65,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,65,12,3,0,-1,0,0,0,0,0,
        "FindName()")])
 ])
 ])]),
-text('black',110,398,1,0,1,27,15,269,12,3,0,0,0,0,2,27,15,0,0,"",0,0,0,0,410,'',[
+text('Black',110,398,1,0,1,27,15,269,12,3,0,0,0,0,2,27,15,0,0,"",0,0,0,0,410,'',[
 minilines(27,15,0,0,0,0,0,[
 mini_line(27,12,3,0,0,0,[
 str_block(0,27,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,27,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,27,12,3,0,-1,0,0,0,0,0,
        "ports")])
 ])
 ])])
@@ -587,55 +883,55 @@ str_seg('black','Helvetica',0,69120,27,12,3,0,-1,0,0,0,0,0,
 1024,0,0,[
 ]).
 group([
-box('black','',100,650,250,850,0,1,1,946,0,0,0,0,0,'1',0,[
+box('Black','',100,650,250,850,0,1,1,946,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        100,675,250,675],0,1,1,947,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',175,651,1,1,1,30,17,948,14,3,0,0,0,0,2,30,17,0,0,"",0,0,0,0,665,'',[
+text('Black',175,651,1,1,1,30,17,948,14,3,0,0,0,0,2,30,17,0,0,"",0,0,0,0,665,'',[
 minilines(30,17,0,0,1,0,0,[
 mini_line(30,14,3,0,0,0,[
 str_block(0,30,14,3,0,0,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,30,14,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,30,14,3,0,0,0,0,0,0,0,
        "Port")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        100,750,250,750],0,1,1,949,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',110,758,1,0,1,53,15,950,12,3,0,0,0,0,2,53,15,0,0,"",0,0,0,0,770,'',[
+text('Black',110,758,1,0,1,53,15,950,12,3,0,0,0,0,2,53,15,0,0,"",0,0,0,0,770,'',[
 minilines(53,15,0,0,0,0,0,[
 mini_line(53,12,3,0,0,0,[
 str_block(0,53,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,53,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,53,12,3,0,-1,0,0,0,0,0,
        "get_port()")])
 ])
 ])]),
-text('black',110,778,1,0,1,92,15,952,12,3,0,0,0,0,2,92,15,0,0,"",0,0,0,0,790,'',[
+text('Black',110,778,1,0,1,92,15,952,12,3,0,0,0,0,2,92,15,0,0,"",0,0,0,0,790,'',[
 minilines(92,15,0,0,0,0,0,[
 mini_line(92,12,3,0,0,0,[
 str_block(0,92,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,92,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,92,12,3,0,-1,0,0,0,0,0,
        "get_sockettype()")])
 ])
 ])]),
-text('black',110,698,1,0,1,21,15,953,12,3,0,0,0,0,2,21,15,0,0,"",0,0,0,0,710,'',[
+text('Black',110,698,1,0,1,21,15,953,12,3,0,0,0,0,2,21,15,0,0,"",0,0,0,0,710,'',[
 minilines(21,15,0,0,0,0,0,[
 mini_line(21,12,3,0,0,0,[
 str_block(0,21,12,3,0,0,0,0,0,[
-str_seg('black','Helvetica',0,69120,21,12,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,21,12,3,0,0,0,0,0,0,0,
        "port")])
 ])
 ])]),
-text('black',110,713,1,0,1,60,15,954,12,3,0,0,0,0,2,60,15,0,0,"",0,0,0,0,725,'',[
+text('Black',110,713,1,0,1,60,15,954,12,3,0,0,0,0,2,60,15,0,0,"",0,0,0,0,725,'',[
 minilines(60,15,0,0,0,0,0,[
 mini_line(60,12,3,0,0,0,[
 str_block(0,60,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,60,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,60,12,3,0,-1,0,0,0,0,0,
        "sockettype")])
 ])
 ])])
@@ -643,60 +939,60 @@ str_seg('black','Helvetica',0,69120,60,12,3,0,-1,0,0,0,0,0,
 1033,0,0,[
 ]).
 group([
-box('black','',320,400,470,600,0,1,1,26,0,0,0,0,0,'1',0,[
+box('Black','',320,400,470,600,0,1,1,26,0,0,0,0,0,'1',0,[
 ]),
-poly('black','',2,[
+poly('Black','',2,[
        320,425,470,425],0,1,1,27,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',395,401,1,1,1,97,17,28,14,3,0,0,0,0,2,97,17,0,0,"",0,0,0,0,415,'',[
+text('Black',395,401,1,1,1,97,17,28,14,3,0,0,0,0,2,97,17,0,0,"",0,0,0,0,415,'',[
 minilines(97,17,0,0,1,0,0,[
 mini_line(97,14,3,0,0,0,[
 str_block(0,97,14,3,0,0,0,0,0,[
-str_seg('black','Helvetica-Bold',1,80640,97,14,3,0,0,0,0,0,0,0,
+str_seg('Black','Helvetica-Bold',1,80640,97,14,3,0,0,0,0,0,0,0,
        "StreamSocket")])
 ])
 ])]),
-poly('black','',2,[
+poly('Black','',2,[
        320,500,470,500],0,1,1,30,0,0,0,0,0,0,0,'1',0,0,
     "0","",[
     0,8,3,0,'8','3','0'],[0,8,3,0,'8','3','0'],[
 ]),
-text('black',330,508,1,0,1,55,15,31,12,3,0,0,0,0,2,55,15,0,0,"",0,0,0,0,520,'',[
+text('Black',330,508,1,0,1,55,15,31,12,3,0,0,0,0,2,55,15,0,0,"",0,0,0,0,520,'',[
 minilines(55,15,0,0,0,0,0,[
 mini_line(55,12,3,0,0,0,[
 str_block(0,55,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,55,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,55,12,3,0,-1,0,0,0,0,0,
        "Connect()")])
 ])
 ])]),
-text('black',330,528,1,0,1,48,15,33,12,3,0,0,0,0,2,48,15,0,0,"",0,0,0,0,540,'',[
+text('Black',330,528,1,0,1,48,15,33,12,3,0,0,0,0,2,48,15,0,0,"",0,0,0,0,540,'',[
 minilines(48,15,0,0,0,0,0,[
 mini_line(48,12,3,0,0,0,[
 str_block(0,48,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,48,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,48,12,3,0,-1,0,0,0,0,0,
        "Accept()")])
 ])
 ])]),
-text('black',330,548,1,0,1,37,15,87,12,3,0,0,0,0,2,37,15,0,0,"",0,0,0,0,560,'',[
+text('Black',330,548,1,0,1,37,15,87,12,3,0,0,0,0,2,37,15,0,0,"",0,0,0,0,560,'',[
 minilines(37,15,0,0,0,0,0,[
 mini_line(37,12,3,0,0,0,[
 str_block(0,37,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,37,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,37,12,3,0,-1,0,0,0,0,0,
        "Read()")])
 ])
 ])]),
-text('black',330,568,1,0,1,36,15,88,12,3,0,0,0,0,2,36,15,0,0,"",0,0,0,0,580,'',[
+text('Black',330,568,1,0,1,36,15,88,12,3,0,0,0,0,2,36,15,0,0,"",0,0,0,0,580,'',[
 minilines(36,15,0,0,0,0,0,[
 mini_line(36,12,3,0,0,0,[
 str_block(0,36,12,3,0,-1,0,0,0,[
-str_seg('black','Helvetica',0,69120,36,12,3,0,-1,0,0,0,0,0,
+str_seg('Black','Helvetica',0,69120,36,12,3,0,-1,0,0,0,0,0,
        "Write()")])
 ])
 ])])
 ],
 1069,0,0,[
 ]).
-box('black','',50,50,1020,1200,0,1,1,1072,0,0,0,0,0,'1',0,[
+box('Black','',50,50,1020,1200,0,1,1,1072,0,0,0,0,0,'1',0,[
 ]).