updates.
authorPekka Riikonen <priikone@silcnet.org>
Sun, 29 Jul 2001 18:02:47 +0000 (18:02 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 29 Jul 2001 18:02:47 +0000 (18:02 +0000)
19 files changed:
apps/irssi/src/silc/core/silc-channels.c
apps/silc/README [new file with mode: 0644]
apps/silc/testi.conf [deleted file]
apps/silc/testi2.conf [deleted file]
apps/silcd/command.c
doc/Makefile.am.pre
doc/whitepaper/silc_channel.edg [new file with mode: 0644]
doc/whitepaper/silc_network.edg [new file with mode: 0644]
doc/whitepaper/silc_packet.edg [new file with mode: 0644]
doc/whitepaper/silc_priv1.edg [new file with mode: 0644]
doc/whitepaper/silc_priv2.edg [new file with mode: 0644]
doc/whitepaper/silc_priv3.edg [new file with mode: 0644]
doc/whitepaper/silc_protocol.html [new file with mode: 0644]
doc/whitepaper/silc_routers.edg [new file with mode: 0644]
doc/whitepaper/silc_template.edg [new file with mode: 0644]
scripts/fix.pl [moved from doc/fix.pl with 100% similarity]
scripts/html2ps [new file with mode: 0755]
scripts/html2psrc [new file with mode: 0755]
scripts/makerfc [moved from doc/makerfc with 79% similarity]

index 5bf3383e920fd6dca98be97824b7566709c0d700..d500e63bc0c58a36481d928da25ae985e25f46bd 100644 (file)
@@ -296,7 +296,7 @@ static void event_cmode(SILC_SERVER_REC *server, va_list va)
   uint32 modei;
   SilcIdType idtype;
 
-  idtype = va_arg(va, SilcIdType);
+  idtype = va_arg(va, int);
   entry = va_arg(va, void *);
   modei = va_arg(va, uint32);
   (void)va_arg(va, char *);
diff --git a/apps/silc/README b/apps/silc/README
new file mode 100644 (file)
index 0000000..d8fe44b
--- /dev/null
@@ -0,0 +1,5 @@
+This directory includes the old SILC Client.  It was the first SILC
+client ever made.  However, it is now obsolete and not supported.  It
+is provided here merely as an example code.  Do not try to compile it.
+
+ -Pekka
diff --git a/apps/silc/testi.conf b/apps/silc/testi.conf
deleted file mode 100644 (file)
index 77e9639..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-[Cipher]
-aes-256-cbc:../lib/silcsim/modules/aes.sim.so:32:16
-aes-192-cbc:../lib/silcsim/modules/aes.sim.so:24:16
-aes-128-cbc:../lib/silcsim/modules/aes.sim.so:16:16
-twofish-256-cbc:../lib/silcsim/modules/twofish.sim.so:32:16
-twofish-192-cbc:../lib/silcsim/modules/twofish.sim.so:24:16
-twofish-128-cbc:../lib/silcsim/modules/twofish.sim.so:16:16
-mars-256-cbc:../lib/silcsim/modules/mars.sim.so:32:16
-mars-192-cbc:../lib/silcsim/modules/mars.sim.so:24:16
-mars-128-cbc:../lib/silcsim/modules/mars.sim.so:16:16
-none:../lib/silcsim/modules/none.sim.so:0:0
-
-[Hash]
-md5::64:16
-sha1::64:20
-
-[hmac]
-hmac-sha1-96:sha1:12
-hmac-md5-96:md5:12
-hmac-sha1:sha1:20   
-hmac-md5:md5:16
-
-[PKCS]
-rsa
-
-[Identity]
-nobody:nobody
-
-[AdminInfo]
-Mun huone:Mun servo:Pekka Riikonen:priikone@poseidon.pspt.fi
-
-[ServerInfo]
-lassi.kuo.fi.ssh.com:212.146.42.253:Kuopio, Finland:1333
-
-[ListenPort]
-212.146.42.253:212.146.42.253:1333
-
-[Logging]
-infologfile:silcd2.log:10000
-#warninglogfile:/var/log/silcd_warning.log:10000
-errorlogfile:silcd2.log:10000
-#fatallogfile:/var/log/silcd_error.log:
-
-[ConnectionClass]
-1:100:100:100
-2:200:300:400
-
-[ClientConnection]
-:::1333:1
-:::1334:1
-:::1335:1
-:::1336:1
-
-[AdminConnection]
-*:priikone:*:passwd:testi
-
-[ServerConnection]
-#212.146.42.253:passwd:priikone:1335:1:1
-
-[RouterConnection]
-212.146.42.253:passwd:priikone:1334:1:1:1
-
-[DenyConnection]
diff --git a/apps/silc/testi2.conf b/apps/silc/testi2.conf
deleted file mode 100644 (file)
index 1d549c5..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-[Cipher]
-aes-256-cbc:../lib/silcsim/modules/aes.sim.so:32:16
-aes-192-cbc:../lib/silcsim/modules/aes.sim.so:24:16
-aes-128-cbc:../lib/silcsim/modules/aes.sim.so:16:16
-twofish-256-cbc:../lib/silcsim/modules/twofish.sim.so:32:16
-twofish-192-cbc:../lib/silcsim/modules/twofish.sim.so:24:16
-twofish-128-cbc:../lib/silcsim/modules/twofish.sim.so:16:16
-mars-256-cbc:../lib/silcsim/modules/mars.sim.so:32:16
-mars-192-cbc:../lib/silcsim/modules/mars.sim.so:24:16
-mars-128-cbc:../lib/silcsim/modules/mars.sim.so:16:16
-none:../lib/silcsim/modules/none.sim.so:0:0
-
-[Hash]
-md5::64:16
-sha1::64:20
-
-[hmac]
-hmac-sha1-96:sha1:12
-hmac-md5-96:md5:12
-hmac-sha1:sha1:20   
-hmac-md5:md5:16
-
-[PKCS]
-rsa
-
-[serverkeys]
-./silcd.pub:./silcd.prv
-
-[Identity]
-nobody:nobody
-
-[AdminInfo]
-Mun huone:Mun servo:Pekka Riikonen:priikone@poseidon.pspt.fi
-
-[ServerInfo]
-lassi.kuo.fi.ssh.com:212.146.42.253:Kuopio, Finland:1334
-
-[ListenPort]
-212.146.42.253:212.146.42.253:1334
-
-[Logging]
-infologfile:silcd2.log:10000
-#warninglogfile:/var/log/silcd_warning.log:10000
-errorlogfile:silcd2.log:10000
-#fatallogfile:/var/log/silcd_error.log:
-
-[ConnectionClass]
-1:100:100:100
-2:200:300:400
-
-[ClientConnection]
-:::1333:1
-:::1334:1
-:::1335:1
-:::1336:1
-
-[AdminConnection]
-*:priikone:*:passwd:testi
-
-[ServerConnection]
-212.146.42.253:passwd:priikone:1334:1:1
-
-[RouterConnection]
-212.146.42.253:passwd:priikone:1335:1:1:0
-
-[DenyConnection]
index c5041bcb27c47504bc55197c6b0161e963b42722..7c8fde9ebbc6803231feb6d29a7dca07c158e1ba 100644 (file)
@@ -1807,18 +1807,16 @@ SILC_SERVER_CMD_FUNC(nick)
                                        FALSE : TRUE, client->id,
                                        new_id);
 
+  oidp = silc_id_payload_encode(client->id, SILC_ID_CLIENT);
+
   /* Remove old cache entry */
   silc_idcache_del_by_context(server->local_list->clients, client);
 
-  oidp = silc_id_payload_encode(client->id, SILC_ID_CLIENT);
-
   /* Free old ID */
-  if (client->id)
-    silc_free(client->id);
+  silc_free(client->id);
 
   /* Save the nickname as this client is our local client */
-  if (client->nickname)
-    silc_free(client->nickname);
+  silc_free(client->nickname);
 
   client->nickname = strdup(nick);
   client->id = new_id;
index d32ee531fa1a76364baab7b283a6ede5fbb20027..7d906cbe9090bb1fe63521800fe32b66a298264d 100644 (file)
@@ -21,6 +21,7 @@ AUTOMAKE_OPTIONS = 1.0 no-dependencies foreign
 COMMONDIRS = 
 SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
 DIST_SUBDIRS = SILC_DISTRIBUTION_SUBDIRS
+makerfc = ../scripts/makerfc
 
 all:
        touch draft-riikonen-silc-spec-03.txt
@@ -42,13 +43,13 @@ dist-hook:
        touch draft-riikonen-silc-pp-03.txt
        touch draft-riikonen-silc-ke-auth-03.txt
        touch draft-riikonen-silc-commands-01.txt
-       ./makerfc draft-riikonen-silc-spec-03.nroff \
+       $(makerfc) draft-riikonen-silc-spec-03.nroff \
                draft-riikonen-silc-spec-03.txt
-       ./makerfc draft-riikonen-silc-pp-03.nroff \
+       $(makerfc) draft-riikonen-silc-pp-03.nroff \
                draft-riikonen-silc-pp-03.txt
-       ./makerfc draft-riikonen-silc-ke-auth-03.nroff \
+       $(makerfc) draft-riikonen-silc-ke-auth-03.nroff \
                draft-riikonen-silc-ke-auth-03.txt
-       ./makerfc draft-riikonen-silc-commands-01.nroff \
+       $(makerfc) draft-riikonen-silc-commands-01.nroff \
                draft-riikonen-silc-commands-01.txt
 endif
 
diff --git a/doc/whitepaper/silc_channel.edg b/doc/whitepaper/silc_channel.edg
new file mode 100644 (file)
index 0000000..feddcd1
--- /dev/null
@@ -0,0 +1,2683 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X -56\r
+Y 203\r
+Scale 100\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 128,0,128\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 255,255,0\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block short"\r
+LastEndLen 21\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 64\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A000000000000000000000000000000000000000000DC455D00\r
+}\r
+\r
+Preview 3260\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF44FF3F827FFF7FFF13FF03820204EFE7EF1E820205EFE7EF03827FFF7FFF\r
+13FF03820213EFE7EF03824EFF6CC057FF3F824BFF03FC03C066FC03C00FFF7F\r
+82538203FC03C030FC128203FC098218FC03C00CFF06827FFF4DFF038203FC03\r
+C066FC03C07FFF62FF03FC03C030FC0C8203FC068203FC038203FC038215FC03\r
+C07FFF62FF03FC03C006FC03821BFC03823FFC03C07FFF62FF03FC03C006FC0F\r
+8206FC0C8209FC098203FC038206FC128203FC068206FC03C07FFF62FF03FC03\r
+C066FC03C030FF12826CFF128221FF03FC03C033FC068203FC068203FC03821E\r
+FC03C030FF12826CFF128221FF03FC03C006FC1E8242FC03C030FF03820CDB03\r
+826CFF03820CDB038221FF03FC03C006FC1E820CFC128203FC098203FC06820F\r
+FC03C030FF12826CFF128221FF03FC03C066FC03C05AFF278260FF03FC03C033\r
+FC068203FC068203FC03821EFC03C05AFF038221F4038260FF03FC03C006FC1E\r
+8242FC03C02AFF278209FF0C8203F4068203F4038203F4038203F4038209FF27\r
+8230FF03FC03C006FC1E820CFC128203FC098203FC06820FFC03C00FFF158206\r
+FF038221F4038209FF068203F403820CF4038209F4038209FF038221F4038230\r
+FF03FC03C066FC03C00FFF0F8203DB038206FF0C8203F4068203F4038203F403\r
+8203F4038209FF038221F4038209FF0C8203F4068203F4038203F4038203F403\r
+820CFF15C003FF06C006FF03FC03C066FC03C00FFF03820FDB038206FF068203\r
+F403820CF4038209F4038209FF12820300128209FF068203F403820CF4038209\r
+F403820CFF03C006FF0CC003FF06C006FF03FC03C006FC12824EFC03C00FFF15\r
+8206FF038221F4038218FF06001BFF038221F403820CFF06C009FF06C003FF06\r
+C006FF03FC03C006FC03820CDB038206FC098206FC068206FC068203FC128203\r
+FC098206FC03C02AFF218206001BFF03001BFF0300248230FF03FC03C006FC03\r
+820CDB03824EFC03C04BFF090018FF030018FF060054FF03FC03C006FC12824E\r
+FC03C054FF030012FF060012FF06005AFF03FC03C006FC0FDB51FC03C024FF12\r
+821BFF0382030015820300128206005AFF03FC03C066FC03C024FF03820CDB03\r
+821BFF33825DFF03FC03C066FC03C024FF12821BFF03820207E6F2FF03820207\r
+E6F2FF038212FF278224FF03FC03C066FC03C024FF03820CDB03821BFF0C82FD\r
+E6F2FF1582FDE6F2FF0C8203000CFF0300038221F4038224FF03FC03C066FC03\r
+C024FF12821BFF03820207E6F2FF03820207E6F2FF0382150003F4098203F406\r
+8203F4038203F4068209FF158206FF03FC03C066FC03C051FF338212FF038203\r
+F4038203F403820CF4038206F4038209FF0F8203DB038206FF03FC6CC051FF03\r
+82020FE6F2FF038212FF038221F4038209FF03820FDB03827FFF47FF03820204\r
+E6F2FF0F820206E6F2FF038212FF278209FF15827FFF47FF2782060006827FFF\r
+72FF0205E1E3FF09FF0206E1E3FF11FF068215FF09007FFF20FF12823DFFFEE1\r
+E30205FFF0F0FDFFE1E304FFFEE1E30206FFF0F0FDFFE1E30CFF098218FF0600\r
+7EFF15820CFF12823AFFFEE1E30210FFF0F0FDFFE1E30CFF068215FF248212FF\r
+12823FFF0F8203DB03820CFF03820CDB038237FFFEE1E30212FFF0F0FDFFE1E3\r
+24FF03821EF4038212FF12823FFF03820FDB03820CFF128234FFFEE1E30214FF\r
+F0F0FDFFE1E306821BFF0C8203F4068203F4038203F4068212FF03820CDB0382\r
+3FFF158252FFFEE1E30214FFF0F0FDFFE1E321FF068203F403820CF4038206F4\r
+038212FF12827BFF248207FFFEE1E30214FFF0F0FDFFE1E321FF03821EF40382\r
+7FFF1DFF03F403821EF4038207FFFEE1E30215FFF0F003821EFF24826CFF2782\r
+09FF03F403821EF4038207FFFEE1E30215FFF0F00205FFE1E37FFF23FF038221\r
+F4038209FF03F40C8203F4068203F4038203F406820AFFFEE1E30212FFF0F003\r
+820206FFF0F0FDFFE1E33CFF128227FF15C003FF06C00CFF038221F4038209FF\r
+03F4068203F403820CF4038206F403820DFFFEE1E30219FFF0F0FDFFE1E339FF\r
+03820CDB038227FF03C006FF0CC003FF06C00CFF038203F4098203F4068203F4\r
+038203F4068209FF03F403821EF4038210FFFEE1E30205FFF0F009C0FDFFF0F0\r
+12C003820209FFF0F0FDFFE1E336FF128227FF06C009FF06C006FF03C00CFF03\r
+8203F4038203F403820CF4038206F4038209FF03F40F8206000F8213FFFEE1E3\r
+0204FFF0F003C0FDFFF0F003C0FDFFF0F003C00204FFF0F003C0038203C00208\r
+FFF0F0FDFFE1E336FF03820CDB038251FF038221F403821EFF030022FFFEE1E3\r
+020EFFF0F003820209FFF0F0FDFFE1E336FF128251FF248206001BFF03001FFF\r
+FEE1E3020DFFF0F00382020BFFF0F0FDFFE1E37FFF3EFF030003FF060012FF06\r
+001FFFFEE1E30208FFF0F00CC0038206C0020AFFF0F0FDFFE1E37FFF47FF0600\r
+12FF03001FFFFEE1E30208FFF0F003C0FDFFF0F0038203C0038203C0020BFFF0\r
+F0FDFFE1E37FFF0EFF27820FFF338206FF06820204FFF0F00682FDFFF0F00982\r
+020EFFF0F0FDFFE1E37FFF11FF038221F403820FFF3982030009820215FFF0F0\r
+FDFFE1E37FFF14FF0C8203F4068203F4038203F4038203F4038203FF030009FF\r
+03000208E6F2FF03820206E6F2FF038206FF0682FDFFE1E30214FFF0F0FDFFE1\r
+E37FFF1AFF068203F403820CF4038209F403821200FDE6F2FF1282FDE6F2FF09\r
+82FDE6F2FF0C820DFFFEE1E30214FFF0F0FDFFE1E306FF33C060FF038221F403\r
+820FFF03820208E6F2FF03820206E6F2FF038210FFFEE1E30213FFF0F0FDFFE1\r
+E306FF03C02DF403C060FF27820FFF338213FFFEE1E30211FFF0F0FDFFE1E309\r
+FF03C02DF403C07FFF17FF03820205E6F2FF0F820205E6F2FF038216FFFBE1E3\r
+FFE1E30206FFF0F0FDFFE1E30207FFF0F0FDFFE1E30CFF33C07FFF14FF060015\r
+82030018821CFF0206E1E3FF03FFFEE1E30205FFF0F0FDFFE1E30FFF03C02DF4\r
+03C04BFF128230FF060003FF030015FF060049FF0205E1E3FF11FF03C012F40C\r
+820FF403C04BFF03820CDB038209FF278206001BFF03006CFF33C04BFF128209\r
+FF038221F4038221FF060069FF03C02DF403C04BFF03820CDB038209FF038221\r
+F4038221FF03006CFF03C012F40C820FF403C04BFF128209FF038203F4098203\r
+F4068203F4038203F406820CFF27825DFF03C02DF403C006FF038203FF038209\r
+FF0C8203FF098203FF038230FF038203F4038203F403820CF4038206F403820C\r
+FF038221F403825DFF33C066FF038221F403820CFF038203F4098203F4068203\r
+F4038203F406825DFF03C02DF403C006FF038203FF068203FF0C8203FF068206\r
+FF038233FF27820CFF038203F4038203F403820CF4038206F403825DFF03C012\r
+F40C820FF403C07FFF1AFF038221F4038209FF15823FFF33C006FF098209FF03\r
+8206FF068203FF12825DFF278209FF038203DB0F823FFF03C02DF403C060FF15\r
+8254FF03820FDB03823FFF03C012F40C820FF403C006FF098203FF038206FF03\r
+8203FF188227FF0F8203DB038254FF15823FFF03C02DF403C060FF03820FDB03\r
+827FFF29FF33C006FF098203FF0C8203FF038203FF0C822DFF15820FFF12827F\r
+FF08FF03C02DF403C07FFF05FF12827FFF08FF03C009F41E8206F403C006FF03\r
+8203FF068203FF12825DFF03820CDB03827FFF08FF33C07FFF05FF12827FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF29FF03827FFF35FF03827FFF1AFF7F8238827FFF7F\r
+FF7FFF7FFF26FF3F827FFF7FFF13FF03820204F0FFF00382FDF0FFF01B820204\r
+F0FFF003827FFF7FFF13FF03820213F0FFF003827FFF7FFF13FF3F827FFF7FFF\r
+7FFF7FFF7FFF5EFF03C003FF03C03FFF06C07FFF17FF06C003FF03C003FF06C0\r
+06FF03C003FF06C003FF06C006FF03C003FF03C003FF09C006FF03C006FF03C0\r
+06FF03C006FF0CC009FF09C003FF03C006FF06C003FF03C003FF03C006FF03C0\r
+06FF03C07FFF14FF03C009FF03C003FF03C003FF03C003FF03C003FF06C003FF\r
+0FC003FF1BC003FF06C006FF03C003FF03C003FF0CC003FF03C009FF12C006FF\r
+0CC003FF03C07FFF17FF03C009FF06C006FF03C003FF06C003FF06C006FF03C0\r
+03FF03C003FF0CC003FF03C006FF03C006FF03C006FF03C006FF06C003FF03C0\r
+06FF03C00CFF03C003FF09C003FF03C003FF03C003FF09C003FF03C07FFF14FF\r
+06C003FF03C02AFF03C003FF03C006FF03C039FF06C00FFF06C07FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF63FFFE0000000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+FigureSymbol "box layer 6"\r
+{\r
+  FixedAspect FALSE\r
+  Height 768\r
+  Width 256\r
+  TextBox >50,16,<950,150\r
+  TextBox >50,182,<950,316\r
+  TextBox >50,348,<950,482\r
+  TextBox >50,516,<950,648\r
+  TextBox >50,682,<950,814\r
+  TextBox >50,848,<950,980\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Line 0,166 1000,166\r
+    Line 0,332 1000,332\r
+    Line 0,500 1000,500\r
+    Line 0,666 1000,666\r
+    Line 0,831 1000,831\r
+  }\r
+}\r
+\r
+FigureSymbol "bracket3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 48\r
+  Width 192\r
+  Outline\r
+  {\r
+    Polyline 23 0,1000 0,<957 >16,<871 >46,<789 >90,<713 >146,<646 >213,<590 >289,<546-\r
+     >371,<516 >457,500 475,500 500,0 525,500 <543,500 <629,<516 <711,<546-\r
+     <787,<590 <854,<646 <910,<713 <954,<789 <984,<871 1000,<957 1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "bracket4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 48\r
+  Width 192\r
+  Outline\r
+  {\r
+    Polyline 23 0,0 0,>43 >16,>129 >46,>211 >90,>287 >146,>354 >213,>410 >289,>454-\r
+     >371,>484 >457,500 475,500 500,1000 525,500 <543,500 <629,>484 <711,>434-\r
+     <787,>410 <854,>354 <910,>287 <954,>211 <984,>129 1000,>43 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "box divided 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,33,<950,300\r
+  TextBox >50,366,500,966\r
+  TextBox 500,366,<950,966\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Line 0,333 1000,333\r
+    Line 500,333 500,1000\r
+  }\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 192,1328,736,1744\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 2\r
+{\r
+  Text "Channel Xyz\sect Client\sect Client\sect Client\sect Client\sect -\r
+. . ."\r
+  Bounds 1280,672,1536,992\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "box layer 6"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 3\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 864,736,960,800\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 512,656,608,720\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 1600,1584,1696,1648\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 976,1584,1072,1648\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Style "SILC Network Cloud"\r
+  Text "SILC\line Network"\r
+  Bounds 864,864,1312,1312\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 14\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 368,800,560,896\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 624,768,816,864\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 336,944,528,1040\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 400,1072,592,1168\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 640,1104,832,1200\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 13\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 1424,1456,1616,1552\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 14\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 1344,1168,1536,1264\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 15\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 944,1456,1136,1552\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 16\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 1184,1488,1376,1584\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 17\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 1488,1312,1680,1408\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 18\r
+{\r
+  Style "SILC Server"\r
+  Text "Channel Key"\r
+  Bounds 512,528,832,592\r
+  BorderColor 130,130,130\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 19\r
+{\r
+  Style "SILC Server"\r
+  Text "Channel Key"\r
+  Bounds 1168,1728,1488,1792\r
+  BorderColor 130,130,130\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 20\r
+{\r
+  Text ""\r
+  Bounds 208,592,1136,624\r
+  BorderColor 130,130,130\r
+  FillColor 130,130,130\r
+  BorderWidth 4\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "bracket3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 21\r
+{\r
+  Text ""\r
+  Bounds 800,1696,1856,1728\r
+  BorderColor 130,130,130\r
+  BorderWidth 4\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "bracket4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 22\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 912,1360,1008,1424\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 23\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 816,1472,912,1536\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 24\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 1568,1088,1664,1152\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 25\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 1616,1200,1712,1264\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 26\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 1728,1312,1824,1376\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 27\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 336,704,432,768\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 28\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 224,848,320,912\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 29\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 512,1216,608,1280\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 30\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Cell A"\r
+  Bounds 186,1088,358,1161\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 18\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 31\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Cell B"\r
+  Bounds 1675,1463,1847,1536\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 18\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 32\r
+{\r
+  Style "SILC Client"\r
+  Text ""\r
+  Bounds 240,1424,336,1488\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 33\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Client on the Channel Xyz"\r
+  Bounds 368,1447,698,1479\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 34\r
+{\r
+  Style "SILC Server"\r
+  Text ""\r
+  Bounds 240,1520,400,1552\r
+  BorderColor 130,130,130\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 35\r
+{\r
+  Style "SILC Server"\r
+  Text ""\r
+  Bounds 240,1584,400,1616\r
+  BorderColor 130,130,130\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 36\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Channel key on \line the Cell A\line Channel key on\line the Cell-\r
+ B\line Router connection\line secured with \line session key"\r
+  Bounds 459,1509,691,1727\r
+  TextColor 130,130,130\r
+  TextFormat 0x0024\r
+  Behavior 0x00A24052\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 37\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 -1\r
+  Figure2 -1\r
+  EndPoint1 240,1648\r
+  EndPoint2 400,1648\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 21\r
+  End2Length 21\r
+  PenStyle 21\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000000\r
+}\r
+\r
+Figure 38\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Channel Message Delivery"\r
+  Bounds 591,421,1481,503\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 20\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 39\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 352,1200,448,1264\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 40\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "SILC channel\line containing all joined \line clients. A message\-\r
+line sent to the channel\line will be delivered to\line all of th-\r
+ese clients"\r
+  Bounds 1559,677,1817,864\r
+  TextColor 130,130,130\r
+  TextFormat 0x0024\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 41\r
+{\r
+  Text "Router\sect Decypt\line message\sect Encrypt\line message"\r
+  Bounds 608,912,864,1040\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "box divided 3"\r
+  TypeSize 7\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 42\r
+{\r
+  Text "Router\sect Encrypt\line message\sect Decrypt\line message"\r
+  Bounds 1136,1296,1392,1424\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "box divided 3"\r
+  TypeSize 7\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 43\r
+{\r
+  Text ""\r
+  Bounds 1097,1049,1112,1064\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 44\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 41\r
+  Figure2 43\r
+  EndPoint1 864,1004\r
+  EndPoint2 1104,1056\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 45\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 43\r
+  Figure2 42\r
+  EndPoint1 1104,1056\r
+  EndPoint2 1230,1296\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 46\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 9\r
+  Figure2 41\r
+  EndPoint1 725,864\r
+  EndPoint2 729,912\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 47\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 8\r
+  Figure2 41\r
+  EndPoint1 560,894\r
+  EndPoint2 608,915\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 48\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 10\r
+  Figure2 41\r
+  EndPoint1 528,986\r
+  EndPoint2 608,983\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 49\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 11\r
+  Figure2 41\r
+  EndPoint1 576,1072\r
+  EndPoint2 629,1040\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 50\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 12\r
+  Figure2 41\r
+  EndPoint1 736,1104\r
+  EndPoint2 736,1040\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 51\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 15\r
+  Figure2 42\r
+  EndPoint1 1115,1456\r
+  EndPoint2 1164,1424\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 52\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 16\r
+  Figure2 42\r
+  EndPoint1 1275,1488\r
+  EndPoint2 1270,1424\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 53\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 13\r
+  Figure2 42\r
+  EndPoint1 1434,1456\r
+  EndPoint2 1378,1424\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 54\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 17\r
+  Figure2 42\r
+  EndPoint1 1488,1360\r
+  EndPoint2 1392,1360\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 55\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 14\r
+  Figure2 42\r
+  EndPoint1 1381,1264\r
+  EndPoint2 1343,1296\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_network.edg b/doc/whitepaper/silc_network.edg
new file mode 100644 (file)
index 0000000..437c963
--- /dev/null
@@ -0,0 +1,2972 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X 11\r
+Y 624\r
+Scale 120\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 128,0,128\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 128,128,255\r
+Color16 255,255,0\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block shorter"\r
+LastEndLen 36\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "General Purpose Diagram.EDG"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 64\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A00000000000000000000000000000000002E006500DC455D00\r
+}\r
+\r
+Preview 4336\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF73FF7FC044C07FFF0EFF03C018FC338215FC098254FC\r
+03C07FFF0EFF03C018FC338272FC03C07FFF0EFF03C018FC338215FC068203FC\r
+06824EFC03C07FFF0EFF03C018FC338272FC03C07FFF0EFF03C018FC338212FC\r
+068203FC068206FC1B8203FC03822AFC03C07FFF0EFF03C018FC338272FC03C0\r
+7FFF0EFF03C018FC338215FC098203FC03824EFC03C07FFF0EFF03C018FC0210\r
+E6F2FF75FC03C07FFF0EFF03C018FC36000FFC068203FC038209FC038203FC09\r
+8203FC038206FC128203FC068215FC03C07FFF0EFF03C01BFC03002AFC030072\r
+FC03C07FFF0EFF03C018FC0C8203FC128203FC068203FC0C820CFC098203FC03\r
+8209FC0C8203FC038206FC128203FC068215FC03C07FFF0EFF03C01EFC038227\r
+FC038272FC03C07FFF0EFF03C07FFC3EFC03C07FFF0EFF7FC044C07FFF0EFF7F\r
+C044C07FFF05FF09C0FAF5F1F5F5F1F57FFF38FFFAF5F1F5F5F1F509C075FF06\r
+C00203F5F1F506820242F5F1F506C06CFF03C00206F5F1F506820243F5F1F503\r
+C066FF03C00207F5F1F50382FDF5F1F50382021BF5F1F50F820223F5F1F503C0\r
+63FF03C00225F5F1F50F820204F5F1F512820219F5F1F503C060FF0982FDF5F1\r
+F50C82FDF5F1F50382FDF5F1F50382FDF5F1F50F82FDF5F1F50682FDF5F1F503\r
+820210F5F1F5038209DB03820204F5F1F51282020AF5F1F51282020AF5F1F503\r
+C05DFF03C00203F5F1F50382FDF5F1F50382FAF5F1F5F5F1F503820203F5F1F5\r
+09820203F5F1F506820212F5F1F50F820204F5F1F503820CDB0382020AF5F1F5\r
+1282FAF5F1F5F5F1F51282FAF5F1F5F5F1F503C05DFF03C0020CF5F1F5038202\r
+22F5F1F51282020AF5F1F503820CDB0382FAF5F1F5F5F1F512820203F5F1F55D\r
+FF03C0020EF5F1F50382020EF5F1F51282021CF5F1F51282FAF5F1F5F5F1F503\r
+820CDB03820203F5F1F503C05AFF03C0020FF5F1F50382020DF5F1F512820224\r
+F5F1F512820203F5F1F503C05AFF03C00210F5F1F50382020CF5F1F503820CDB\r
+0382022CF5F1F503FF03C05AFF03C00211F5F1F50682020AF5F1F512820203F5\r
+F1F521820207F5F1F52182020CF5F1F503FF03C05AFF03C00213F5F1F5038202\r
+12F5F1F503820209F0FFF003820207F5F1F503821BF40382020CF5F1F503FF03\r
+C05AFF03C00215F5F1F503820210F5F1F50982FDF0FFF00682FDF0FFF00382FD\r
+F0FFF006820207F5F1F50C8203F4098203F406820203F5F1F512820203F5F1F5\r
+03FF03C05AFF03C00218F5F1F50382020DF5F1F50382FDF0FFF003820204F0FF\r
+F00382FAF0FFF0F0FFF003820207F5F1F5068203F4038209F4038206F4038202\r
+03F5F1F512820203F5F1F503FF03C05AFF03C0021AF5F1F50382020BF5F1F521\r
+820207F5F1F521820203F5F1F512820203F5F1F503FF03C05AFF03C0021DF5F1\r
+F50382FDF5F1F506820205F5F1F50208F0FFF006000208F5F1F506F4030015F4\r
+0204F5F1F50FDB0204F5F1F503FF03C05AFF03C00222F5F1F50C820209F5F1F5\r
+06000207F5F1F506000215F5F1F503FF03C05AFF03C00226F5F1F50682FDF5F1\r
+F539820213F5F1F503FF03C05AFF03C0021DF5F1F52182FAF5F1F5F5F1F50982\r
+020EE6F2FF03820203F5F1F524820204F5F1F503FF03C05AFF03C0021DF5F1F5\r
+03821BF403820204F5F1F50382020EE6F2FF03820203F5F1F503821EF4038202\r
+04F5F1F503FF03C05AFF03C0021DF5F1F50C8203F4068203F4038203F403820F\r
+00FAE6F2FFE6F2FF0F82FDE6F2FF0682FDE6F2FF0382FAE6F2FFE6F2FF03820C\r
+00098203F4068203F4038203F406820204F5F1F503FF03C05AFF03C0021DF5F1\r
+F5068203F403820CF4038203F40382FDF5F1F50300FAF5F1F5F5F1F50300FAE6\r
+F2FFE6F2FF09820203E6F2FF06820204E6F2FF03820300FAF5F1F5F5F1F50300\r
+038203F403820CF4038206F403820204F5F1F503FF03C05AFF03C0021DF5F1F5\r
+03821BF403820204F5F1F50382020EE6F2FF03820203F5F1F503821EF4038202\r
+04F5F1F503FF03C05AFF03C0021DF5F1F52182FAF5F1F5F5F1F50982020EE6F2\r
+FF03820203F5F1F524820204F5F1F503FF03C05AFF03C00225F5F1F50382FDF5\r
+F1F50382FDF5F1F50682FDF5F1F5098206001582030009820213F5F1F503FF03\r
+C05AFF03C00222F5F1F50382FDF5F1F503820209F5F1F50300FDF5F1F5030002\r
+07F5F1F50300FDF5F1F503000214F5F1F503FF03C05AFF03C0021FF5F1F50682\r
+020DF5F1F506000209F5F1F506000214F5F1F503FF03C05AFF03C0021DF5F1F5\r
+03820208F5F1F521820206F5F1F52182020DF5F1F503FF03C05AFF03C0020AF5\r
+F1F512820216F5F1F503821BF403820206F5F1F503820209F0FFF00382020DF5\r
+F1F503FF03C05AFF03C0020AF5F1F512820216F5F1F5098203F4068203F40382\r
+03F406820206F5F1F50C82FDF0FFF00982FDF0FFF00682020DF5F1F503FF03C0\r
+5AFF03C0020AF5F1F503820CDB0382020CF5F1F503820209F5F1F5038203F403\r
+820CF4038206F403820206F5F1F50682FDF0FFF003820203F0FFF00382FAF0FF\r
+F0F0FFF00382020DF5F1F503FF03C05AFF03C0020AF5F1F51282020CF5F1F503\r
+820209F5F1F503821BF403820206F5F1F503820209F0FFF00382020DF5F1F503\r
+FF03C05AFF03C0021CF5F1F503820209F5F1F521820206F5F1F52182FAF5F1F5\r
+F5F1F512820205F5F1F503FF03C05AFF03C00211F5F1F50F820205F5F1F50382\r
+0228F5F1F512820205F5F1F503FF03C05AFF03C00206F5F1F512820205F5F1F5\r
+0F820205F5F1F503820228F5F1F503820CDB03820205F5F1F503FF03C05AFF03\r
+C00206F5F1F512820205F5F1F5038209DB03820205F5F1F50382021FF5F1F50F\r
+820204F5F1F512820205F5F1F503FF03C05AFF03C00206F5F1F512820205F5F1\r
+F50F820225F5F1F50F82020FF5F1F503FF03C05AFF03C00206F5F1F50FDB0210\r
+F5F1F50382021FF5F1F50F82020FF5F1F503FF03C05AFF03C0021BF5F1F50382\r
+021FF5F1F50CDB0207F5F1F512820203F5F1F503FF03C05AFF03C0020DF5F1F5\r
+21820207F5F1F52182021CF5F1F512820203F5F1F503FF03C05AFF03C00203F5\r
+F1F512820204F5F1F503820209F0FFF003820203F5F1F503820203F5F1F50382\r
+1BF40382021CF5F1F503820CDB03820203F5F1F503FF03C05AFF03C00203F5F1\r
+F512820204F5F1F51282FDF0FFF00382FDF0FFF006820204F5F1F50382FAF5F1\r
+F5F5F1F50C8203F4068203F4038203F403820215F5F1F50F82FAF5F1F5F5F1F5\r
+12820203F5F1F503FF03C05AFF03C00203F5F1F503820CDB03820204F5F1F506\r
+82FDF0FFF003820203F0FFF00382FAF0FFF0F0FFF003820207F5F1F5068203F4\r
+03820CF4038203F403820214F5F1F503DB0F82020BF5F1F503FF03C05AFF03C0\r
+0203F5F1F512820204F5F1F503820209F0FFF003820204F5F1F50382FAF5F1F5\r
+F5F1F503821BF403820214F5F1F503DB038209DB0382020BF5F1F503FF03C05A\r
+FF03C0020DF5F1F51882060003820203F5F1F50682FAF5F1F5F5F1F506820300\r
+18820214F5F1F503DB0F82020BF5F1F503FF03C05AFF03C00215F5F1F5090002\r
+03F5F1F50682FAF5F1F5F5F1F50300FDF5F1F50300022DF5F1F503FF03C05AFF\r
+03C00216F5F1F506000203F5F1F503820203F5F1F50600022EF5F1F503FF03C0\r
+5AFF03C00213F5F1F53082022CF5F1F503FF03C05AFF03C00204F5F1F5248202\r
+03F5F1F50382020EE6F2FF03820204F5F1F52182021DF5F1F503FF03C05AFF03\r
+C00204F5F1F503821EF403820203F5F1F50382020EE6F2FF03820204F5F1F503\r
+821BF40382021DF5F1F503FF03C05AFF03C00204F5F1F50C8203F4068203F403\r
+8203F4068209000382FAE6F2FFE6F2FF0F82FDE6F2FF0682FDE6F2FF0382FAE6\r
+F2FFE6F2FF0382FDF5F1F50900098203F4068203F4038203F40682021DF5F1F5\r
+03FF03C05AFF03C00204F5F1F5068203F403820CF4038206F403820203F5F1F5\r
+0382FAE6F2FFE6F2FF09820203E6F2FF06820204E6F2FF03820204F5F1F50382\r
+03F403820CF4038206F40382021DF5F1F503FF03C05AFF03C00204F5F1F50382\r
+1EF403820203F5F1F50382020EE6F2FF03820204F5F1F503821BF40382021DF5\r
+F1F503FF03C05AFF03C00204F5F1F524820203F5F1F50382020EE6F2FF038202\r
+04F5F1F521820203F5F1F512820214F5F1F503FF03C05AFF03C00213F5F1F509\r
+8206001582060006820212F5F1F512820214F5F1F503FF03C05AFF03C00215F5\r
+F1F509000204F5F1F50682FDF5F1F509000213F5F1F503820CDB03820214F5F1\r
+F503FF03C05AFF03C00215F5F1F506000204F5F1F50982FAF5F1F5F5F1F50600\r
+0213F5F1F512820214F5F1F503FF03C05AFF03C0020DF5F1F521820204F5F1F5\r
+0382FDF5F1F521820226F5F1F503FF03C05AFF03C0020DF5F1F503821BF40382\r
+0206F5F1F503821BF403820226F5F1F503FF03C05AFF03C00203F5F1F5128202\r
+04F5F1F5128203F4038203F406820203F5F1F50682FDF5F1F50C8203F4068203\r
+F4038203F403820203F5F1F512820205F5F1F512820212F5F1F503FF03C05AFF\r
+03C00203F5F1F512820204F5F1F5068203F4038209F4038206F403820203F5F1\r
+F50382FAF5F1F5F5F1F5068203F403820CF4038203F403820203F5F1F5128202\r
+05F5F1F512820212F5F1F503FF03C05AFF03C00203F5F1F512820204F5F1F521\r
+820203F5F1F50382FAF5F1F5F5F1F521820203F5F1F512820205F5F1F5128202\r
+12F5F1F503FF03C05AFF03C0021BF5F1F503820233F5F1F503FF03C05AFF03C0\r
+021AF5F1F503820217F5F1F512820217F5F1F503FF03C05AFF03C00205F5F1F5\r
+1282021DF5F1F50F820205F5F1F512820217F5F1F503FF03C05AFF03C00205F5\r
+F1F512820210F5F1F50382020CF5F1F50F820205F5F1F503820CDB03820217F5\r
+F1F503FF03C05AFF03C00205F5F1F503820CDB0382FAF5F1F5F5F1F512820208\r
+F5F1F50382020CF5F1F5038209DB03820205F5F1F512820217F5F1F503FF03C0\r
+5AFF03C00205F5F1F51282FAF5F1F5F5F1F50C8203DB03820208F5F1F5038202\r
+0CF5F1F50F820222F5F1F503FF03C05AFF03C0020DF5F1F503820CDB03820209\r
+F5F1F503820232F5F1F503FF03C05AFF03C0020DF5F1F51282020BF5F1F50682\r
+022FF5F1F503FF03C05AFF03C00221F5F1F50982022BF5F1F503FF03C05AFF03\r
+C00224F5F1F50982FDF5F1F506820225F5F1F503FF03C05AFF03C0022BF5F1F5\r
+0382FDF5F1F50682FDF5F1F50382FDF5F1F503820207F5F1F50982FDF5F1F50C\r
+82FDF5F1F50382FDF5F1F50382FDF5F1F50F82FDF5F1F50682FDF5F1F503825A\r
+FF03C00233F5F1F50382FDF5F1F50682FDF5F1F50982FDF5F1F50382FDF5F1F5\r
+0382FDF5F1F50382FAF5F1F5F5F1F503820203F5F1F509820203F5F1F5068206\r
+C05AFF03C0023DF5F1F50382FDF5F1F50382FAF5F1F5F5F1F50382FDF5F1F506\r
+82FDF5F1F50382FDF5F1F509820203F5F1F503C05DFF03C00249F5F1F50C82FA\r
+F5F1F5F5F1F503C05DFF03C0021BF5F1F503C0FAF5F1F5F5F1F506C0FDF5F1F5\r
+03C0FDF5F1F503C0FDF5F1F503C0FDF5F1F50CC0FAF5F1F5F5F1F506C0FDF5F1\r
+F503C0FDF5F1F506C00216F5F1F503820204F5F1F503C060FF03C0021BF5F1F5\r
+03C0FDF5F1F506C0FDF5F1F503C00203F5F1F51EC0FDF5F1F503C0FDF5F1F506\r
+C0021AF5F1F503C066FF03C00219F5F1F506C0FDF5F1F506C0FAF5F1F5F5F1F5\r
+03C0FAF5F1F5F5F1F503C0FDF5F1F503C0FAF5F1F5F5F1F503C00207F5F1F503\r
+C0021AF5F1F503C069FF03C0024BF5F1F503C06CFF06C00247F5F1F506C075FF\r
+7FC04DC0FDF5F1F506C07FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF23FFFE000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 480,1856,1568,2112\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 2\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 -1\r
+  Figure2 -1\r
+  EndPoint1 640,1936\r
+  EndPoint2 912,1936\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Figure 3\r
+{\r
+  Style "SILC Background"\r
+  Text ""\r
+  Bounds 352,464,1696,1840\r
+  BorderColor 192,192,192\r
+  FillColor 245,241,245\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x01024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+  HasConnectionPoints TRUE\r
+  ConnectionPoint 1 99,71 ""\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 576,1072,768,1168\r
+  BorderColor 130,130,130\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 688,912,944,1040\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 880,1072,1072,1168\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 1008,928,1200,1024\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 864,784,1056,880\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Style "SILC Server"\r
+  Text "Server"\r
+  Bounds 576,784,768,880\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 432,928,624,1024\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 992,1568,1184,1664\r
+  BorderColor 130,130,130\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Style "Rectangle"\r
+  Text "Router"\r
+  Bounds 1104,1408,1360,1536\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 13\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 1296,1568,1488,1664\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 14\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 1424,1424,1616,1520\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 15\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 1280,1280,1472,1376\r
+  BorderColor 130,130,130\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 16\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 992,1280,1184,1376\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 17\r
+{\r
+  Style "Rectangle"\r
+  Text "Server"\r
+  Bounds 848,1424,1040,1520\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 18\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 448,688,544,752\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 19\r
+{\r
+  Text ""\r
+  Bounds 841,1337,856,1352\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 20\r
+{\r
+  Figure1 5\r
+  Figure2 19\r
+  EndPoint1 822,1040\r
+  EndPoint2 848,1344\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  BindToStyle FALSE\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 21\r
+{\r
+  Style "Flow Closed 2"\r
+  Figure1 19\r
+  Figure2 12\r
+  EndPoint1 848,1344\r
+  EndPoint2 1104,1429\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 22\r
+{\r
+  Text ""\r
+  Bounds 697,1609,712,1624\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 23\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 22\r
+  Figure2 -1\r
+  EndPoint1 704,1616\r
+  EndPoint2 480,1808\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 24\r
+{\r
+  Style "Flow Closed 2"\r
+  Figure1 12\r
+  Figure2 22\r
+  EndPoint1 1104,1507\r
+  EndPoint2 704,1616\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 25\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Another Router"\r
+  Bounds 398,1716,683,1764\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 26\r
+{\r
+  Text ""\r
+  Bounds 873,649,888,664\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 27\r
+{\r
+  Style "Flow Closed 2"\r
+  Figure1 5\r
+  Figure2 26\r
+  EndPoint1 829,912\r
+  EndPoint2 880,656\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 28\r
+{\r
+  Style "Flow Closed 2"\r
+  Figure1 26\r
+  Figure2 -1\r
+  EndPoint1 880,656\r
+  EndPoint2 1632,560\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 29\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Another Router"\r
+  Bounds 1385,585,1670,633\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 30\r
+{\r
+  Style "Flow Closed"\r
+  Figure1 10\r
+  Figure2 5\r
+  EndPoint1 624,976\r
+  EndPoint2 688,976\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 31\r
+{\r
+  Style "SILC Server To Router"\r
+  Figure1 9\r
+  Figure2 5\r
+  EndPoint1 720,880\r
+  EndPoint2 752,912\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 32\r
+{\r
+  Style "Flow Closed"\r
+  Figure1 8\r
+  Figure2 5\r
+  EndPoint1 912,880\r
+  EndPoint2 880,912\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 33\r
+{\r
+  Figure1 7\r
+  Figure2 5\r
+  EndPoint1 1008,976\r
+  EndPoint2 944,976\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Figure 34\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "SILC Network"\r
+  Bounds 790,494,1251,576\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 20\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 35\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 576,656,672,720\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x01024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+  HasConnectionPoints TRUE\r
+  ConnectionPoint 1 659,984 ""\r
+}\r
+\r
+Figure 36\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 416,784,512,848\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 37\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1024,688,1120,752\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 38\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1104,784,1200,848\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 39\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1200,704,1296,768\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 40\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1248,880,1344,944\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 41\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1408,1072,1504,1136\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 42\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1280,784,1376,848\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 43\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 416,1088,512,1152\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 44\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 464,1200,560,1264\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 45\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 640,1216,736,1280\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 46\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1344,1184,1440,1248\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 47\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1536,1120,1632,1184\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 48\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1504,1232,1600,1296\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 49\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1552,1680,1648,1744\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 50\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1424,1696,1520,1760\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 51\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1536,1568,1632,1632\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 52\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 848,1648,944,1712\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 53\r
+{\r
+  Style "SILC Client"\r
+  Text "Client"\r
+  Bounds 528,1296,624,1360\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 54\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 1152,1712,1248,1776\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 55\r
+{\r
+  Style "Rectangle"\r
+  Text "Client"\r
+  Bounds 992,1728,1088,1792\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 56\r
+{\r
+  Figure1 4\r
+  Figure2 5\r
+  EndPoint1 720,1072\r
+  EndPoint2 752,1040\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 57\r
+{\r
+  Figure1 6\r
+  Figure2 5\r
+  EndPoint1 922,1072\r
+  EndPoint2 888,1040\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 58\r
+{\r
+  Figure1 16\r
+  Figure2 12\r
+  EndPoint1 1136,1376\r
+  EndPoint2 1168,1408\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 59\r
+{\r
+  Figure1 15\r
+  Figure2 12\r
+  EndPoint1 1328,1376\r
+  EndPoint2 1296,1408\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 60\r
+{\r
+  Figure1 14\r
+  Figure2 12\r
+  EndPoint1 1424,1472\r
+  EndPoint2 1360,1472\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 61\r
+{\r
+  Figure1 13\r
+  Figure2 12\r
+  EndPoint1 1338,1568\r
+  EndPoint2 1304,1536\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 62\r
+{\r
+  Figure1 11\r
+  Figure2 12\r
+  EndPoint1 1136,1568\r
+  EndPoint2 1168,1536\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 63\r
+{\r
+  Figure1 17\r
+  Figure2 12\r
+  EndPoint1 1040,1472\r
+  EndPoint2 1104,1472\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  BindToStyle FALSE\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 64\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 -1\r
+  Figure2 -1\r
+  EndPoint1 624,1904\r
+  EndPoint2 928,1904\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 65\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Router to Router Connection"\r
+  Bounds 1040,1887,1403,1919\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 66\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Server to Router Connection"\r
+  Bounds 1037,1921,1398,1953\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 67\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 624,2064,912,2096\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x01024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+  HasConnectionPoints TRUE\r
+  ConnectionPoint 1 704,250 ""\r
+}\r
+\r
+Figure 68\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 624,2032,912,2064\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x01024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+  HasConnectionPoints TRUE\r
+  ConnectionPoint 1 663,93 ""\r
+}\r
+\r
+Figure 69\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 624,1968,912,2000\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x01024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+  HasConnectionPoints TRUE\r
+  ConnectionPoint 1 611,312 ""\r
+}\r
+\r
+Figure 70\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 624,2000,912,2032\r
+  BorderColor 130,130,130\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x01024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+  HasConnectionPoints TRUE\r
+  ConnectionPoint 1 642,375 ""\r
+}\r
+\r
+Figure 71\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Server"\r
+  Bounds 1036,2031,1123,2063\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 72\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Server/Backup Router"\r
+  Bounds 1036,1999,1319,2031\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 73\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Router"\r
+  Bounds 1036,1966,1125,1998\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 74\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Client"\r
+  Bounds 1035,2064,1109,2096\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_packet.edg b/doc/whitepaper/silc_packet.edg
new file mode 100644 (file)
index 0000000..ddc4ab0
--- /dev/null
@@ -0,0 +1,2025 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X -60\r
+Y 740\r
+Scale 120\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 128,0,128\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 255,255,0\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block shorter"\r
+LastEndLen 36\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 56\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A0000000000000000000000000000000000\r
+}\r
+\r
+Preview 1780\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF22FF7FC06BC066FF03C07FFC65FC03C066FF03C015FC\r
+248212FC0C8203FC0C8203FC038203FC068209FC098203FC098203FC068203FC\r
+068203FC038203FC038203FC098203FC068203FC068215FC03C066FF03C015FC\r
+24827FFC2CFC03C066FF03C07FFC65FC03C066FF03C04BFC038206FC0F8203FC\r
+038203FC068206FC098206FC1B8206FC068203FC068203FC038203FC15820FFC\r
+03C066FF03C07FFC65FC03C066FF03C015FC248215FC0C8206FC068203FC0382\r
+03FC038203FC068203FC0F8203FC0F8203FC068203FC038203FC068206FC0382\r
+03FC038203FC128203FC098266FF03C015FC24827FFC2CFC03C066FF03C07FFC\r
+65FC03C066FF03C015FC248212FC038203FC068206FC0C8206FC0F8206FC0F82\r
+03FC0F8203FC068203FC038203FC038203FC128203FC098209FC03C066FF03C0\r
+7FFC65FC03C066FF03C015FC24827FFC2CFC03C066FF03C015FC248212FC0F82\r
+03FC068203FC068203FC038203FC068269FC03C066FF03C07FFC65FC03C066FF\r
+03C07FFC65FC03C066FF7FC06BC07FFF7FFF7FFF7FFF56FF030003FF060006FF\r
+09007FFF7FFF7FFF7FFF7FFF16FF09827FFF59FF6F8209FF6F8269FF03827FFF\r
+7FFF7FFF7FFF7FFF73FF12007FFF7FFF37FF060003FF0F0003FF06007FFF7FFF\r
+7FFF7FFF7FFF13FF06827FFF74FF578206FF54827FFF20FF03827FFF7FFF5EFF\r
+120003FF0C0021FF120003FF090003FF030006FF030003FF060006FF0F007FFF\r
+7FFF7FFF7FFF17FF090003FF060003FF06003FFF090003FF060003FF06007FFF\r
+7FFF7FFF7FFF3EFFFDA0000054FFFD8000807FFF59FF0214A000000213800080\r
+03FF02128000807FFF7FFF7FFF7FFF7FFF5EFF7F827F824F8203FF038230F403\r
+8233F403820213EFE7EF03820226E6F2FF0382020FCCFCCC038203FF098206F4\r
+098203F4038203F4098203F4038203F4038203F4098206F4098203F4038203F4\r
+098203F41282FDEFE7EF0682FDEFE7EF0982FDEFE7EF0382FDEFE7EF0982FDEF\r
+E7EF06820209E6F2FF0382FAE6F2FFE6F2FF0382FDE6F2FF0982FDE6F2FF0382\r
+FDE6F2FF0C82FAE6F2FFE6F2FF0382020BE6F2FF03820204CCFCCC0682FDCCFC\r
+CC0C820204CCFCCC038203FF0C8203F4098203F4038203F4098203F4038203F4\r
+038203F4038203F4068203F4098203F4038203F4098203F40982FDEFE7EF0682\r
+FDEFE7EF0382FAEFE7EFEFE7EF0982FDEFE7EF0382FDEFE7EF0982FDEFE7EF06\r
+820209E6F2FF0682FDE6F2FF0382FDE6F2FF0382FDE6F2FF0982FDE6F2FF0682\r
+FDE6F2FF0382FAE6F2FFE6F2FF0382020BE6F2FF03820204CCFCCC0682FACCFC\r
+CCCCFCCC06820205CCFCCC038203FF7F827F824F827FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF75FF06C003FF03C075FF15C003FF06C006FF03C006FF03C006\r
+FF0CC006FF03C006FF06C003FF03C006FF03C003FF06C003FF03C003FF03C006\r
+FF03C006FF0CC006FF03C006FF06C003FF0CC003FF0FC006FF03C003FF03C003\r
+FF18C003FF03C05AFF09C006FF03C00CFF09C003FF03C003FF03C006FF06C003\r
+FF0CC009FF03C003FF03C003FF06C003FF03C003FF09C003FF03C003FF03C006\r
+FF06C003FF0CC006FF03C006FF03C003FF06C006FF03C003FF03C006FF03C003\r
+FF06C003FF06C003FF06C003FF03C054FF03C006FF06C006FF03C00CFF03C003\r
+FF03C003FF03C006FF03C003FF03C003FF03C003FF03C003FF06C006FF03C003\r
+FF06C006FF06C003FF03C003FF03C003FF03C006FF03C003FF03C003FF03C003\r
+FF03C003FF06C003FF03C006FF06C006FF03C003FF09C003FF09C003FF09C003\r
+FF03C003FF06C05AFF03C003FF06C009FF06C006FF06C015FF03C030FF03C003\r
+FF06C015FF03C018FF09C030FF03C07FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F\r
+FF7FFF7FFF7FFF7FFF7FFF7FFF5BFFFE00000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+FigureSymbol "bracket4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 48\r
+  Width 192\r
+  Outline\r
+  {\r
+    Polyline 23 0,0 0,>43 >16,>129 >46,>211 >90,>287 >146,>354 >213,>410 >289,>454-\r
+     >371,>484 >457,500 475,500 500,1000 525,500 <543,500 <629,>484 <711,>434-\r
+     <787,>410 <854,>354 <910,>287 <954,>211 <984,>129 1000,>43 1000,0\r
+  }\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 400,1488,1680,1776\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 2\r
+{\r
+  Style "Rectangle"\r
+  Text "IP Header"\r
+  Bounds 144,1056,432,1152\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 3\r
+{\r
+  Style "Rectangle"\r
+  Text "TCP Header"\r
+  Bounds 416,1056,736,1152\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "Rectangle"\r
+  Text "SILC Header"\r
+  Bounds 720,1056,1072,1152\r
+  BorderColor 130,130,130\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "Rectangle"\r
+  Text "Packet Data"\r
+  Bounds 1040,1056,1712,1152\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Style "Rectangle"\r
+  Text "MAC"\r
+  Bounds 1680,1056,1968,1152\r
+  BorderColor 130,130,130\r
+  FillColor 204,252,204\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Text ""\r
+  Bounds 720,1280,1680,1312\r
+  BorderColor 130,130,130\r
+  BorderWidth 4\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "bracket4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Text ""\r
+  Bounds 720,1168,1040,1200\r
+  BorderColor 0,0,160\r
+  BorderWidth 4\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "bracket4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Text ""\r
+  Bounds 1040,1168,1680,1200\r
+  BorderColor 128,0,128\r
+  FillColor 192,192,192\r
+  BorderWidth 4\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "bracket4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Encrypted\line (session key)"\r
+  Bounds 797,1211,964,1274\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Encrypted\line (session key or other keys)"\r
+  Bounds 1192,1213,1531,1276\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 1281,1310,1297,1326\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 13\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Authenticated\line (HMAC)"\r
+  Bounds 1115,1322,1292,1385\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 14\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "SILC Packet and Packet Encryption"\r
+  Bounds 345,914,1777,1012\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 24\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 15\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 544,1584,736,1616\r
+  BorderColor 130,130,130\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 16\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 544,1632,736,1664\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 17\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 544,1536,736,1568\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 18\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 544,1712,736,1744\r
+  BorderColor 130,130,130\r
+  FillColor 204,252,204\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 19\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Unencrypted area"\r
+  Bounds 835,1535,1062,1567\r
+  TextColor 130,130,130\r
+  TextFormat 0x0024\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 20\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "SILC Packet Header always encrypted with session key"\r
+  Bounds 835,1583,1536,1615\r
+  TextColor 130,130,130\r
+  TextFormat 0x0024\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 21\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Packet data area always encrypted either with session key\line or-\r
+ some other key (depends on the data payload)"\r
+  Bounds 835,1630,1573,1693\r
+  TextColor 130,130,130\r
+  TextFormat 0x0024\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 22\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "MAC generated from plaintext before encryption"\r
+  Bounds 835,1710,1440,1742\r
+  TextColor 130,130,130\r
+  TextFormat 0x0024\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 23\r
+{\r
+  Text ""\r
+  Bounds 720,1392,1968,1424\r
+  BorderColor 130,130,130\r
+  BorderWidth 4\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "bracket4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 24\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "SILC Packet"\r
+  Bounds 1264,1439,1423,1471\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_priv1.edg b/doc/whitepaper/silc_priv1.edg
new file mode 100644 (file)
index 0000000..7ae2ab8
--- /dev/null
@@ -0,0 +1,2402 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X -56\r
+Y 267\r
+Scale 109\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 253,254,194\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 241,240,255\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block short"\r
+LastEndLen 25\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 68\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A00000000000000000000000000000000000000000000000000\r
+F0BA5900\r
+}\r
+\r
+Preview 3728\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF46FF7FC059C0\r
+78FF03C018FC21DB06FC128203FC098203FC068203FC0C8203FC068203FC0382\r
+0CFC098206FC038206FC068203FC03821EFC03C078FF03C018FC21DB7FFC1AFC\r
+03C078FF03C07FFC53FC03C078FF03C018FC21DB06FC128203FC098203FC0682\r
+03FC0C8203FC068203FC038206FC038203FC098206FC038206FC068203FC0382\r
+1EFC03C078FF03C07FFC53FC03C078FF03C018FC21DB06FC128203FC098203FC\r
+068203FC0C8203FC098206FC038203FC098203FC068203FC06822AFC03C078FF\r
+03C018FC21DB7FFC1AFC03C078FF03C07FFC53FC03C078FF03C018FC21DB06FC\r
+128203FC098203FC068203FC0C8203FC098206FC038203FC098203FC068203FC\r
+068206FC038221FC03C078FF03C018FC21DB7FFC1AFC03C078FF03C07FFC53FC\r
+03C078FF7FC059C042FF21C015FF3FC05AFF3CC015FF24C006FF06C0FDEFE7EF\r
+1BFFFDEFE7EF06C00CFF03C006F436FF03F406C04EFF06C003F436FF03F406C0\r
+0CFF03C0FAEFE7EFEFE7EF1BFFFDEFE7EF09C0020EEFE7EF03C006FF03C048F4\r
+03C048FF03C048F403C009FF03C0020EEFE7EF03C0FDEFE7EF21DBFAEFE7EFEF\r
+E7EF03C006FF03C003F442DB06F448FF03C003F442DB06F409FF03C0FDEFE7EF\r
+21DBFAEFE7EFEFE7EF03C0FDEFE7EF03DB0F82FDF0FFF0098203DBFDEFE7EF03\r
+FF03C006FF03C003F41282FDF0FFF0098203DB1282FDFFFFC6098203DB06F403\r
+C045FF03C003F41282FDC2FEFD098206DB1282FDFFDFDF098206F403C006FF03\r
+C0FDEFE7EF1282FDFFDFDF098203DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7\r
+EF03FF03C006FF03C003F442DB03F403FF03C045FF03C003F442DB03F403FF03\r
+C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03\r
+C006FF03C003F442DB03F403FF03C00FFF098206FF09821EFF03C003F442DB03\r
+F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403\r
+DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03\r
+F403FF03C00CFF03820203FFE1E303820204FFE1E303821BFF03C003F403DB02\r
+09EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF403\r
+DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003\r
+F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00DFFFEE1E30203FFF0\r
+F0FDFFE1E30204FFF0F0FDFFE1E31BFF03C003F403DB0209EFE7EF06DB0209EF\r
+E7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0\r
+FDEFE7EF03DB1BF403DBFDEFE7EF06C006FF03C003F403DB0209EFE7EF06DB02\r
+09EFE7EF03DB03C003FF03C00AFFFEE1E30209FFF0F0FDFFE1E3038218FF03C0\r
+03F403C003820208EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF06C00382\r
+1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB15C003DB0209EFE7EF06\r
+DB0209EFE7EF15C0FDFFE1E3020AFFF0F0FDFFE1E30FFF15C00208EFE7EF06DB\r
+0209EFE7EF03DB03F415C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403\r
+DB03C012F403DB0209EFE7EF06DB0209EFE7EF03C012F4FDFFE1E3020AFFF0F0\r
+FDFFE1E30CFF15F403C00208EFE7EF06DB0209EFE7EF03DB15F403C01BF403DB\r
+FDEFE7EF03FF03C0FDEFE7EF03DB03F4098203F4098203F403C015F403DBFDEF\r
+E7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7EF0982FDEFE7EF098203C015F4\r
+FDFFE1E3020BFFF0F0098203FF18F403C00682FDEFE7EF0982FDEFE7EF06DBFD\r
+EFE7EF0982FDEFE7EF0982FDEFE7EF03DB18F403C0098203F4098203F403DBFD\r
+EFE7EF03FF03C0FDEFE7EF03DB1BF403DB03C012F403DB0209EFE7EF06DB0209\r
+EFE7EF03C012F4FDFFE1E3020BFFF0F0FAFFE1E3FFE1E3068215F403C00208EF\r
+E7EF06DB0209EFE7EF03DB15F403C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03\r
+DB1BF403DB18C00209EFE7EF06DB0209EFE7EF18C0020DFFF0F0FDFFE1E30382\r
+18C00208EFE7EF06DB0209EFE7EF03DB18C01BF403DBFDEFE7EF03FF03C0FDEF\r
+E7EF03DB1BF403DBFDEFE7EF15C00209EFE7EF06DB0209EFE7EF03DB12C00382\r
+FDFFE1E3020DFFF0F0FDFFE1E315C00209EFE7EF06DB0209EFE7EF03DB15C003\r
+DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4098203F4098203F403DB15\r
+F403C0FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7EF0982FDEFE7EF09\r
+82FDEFE7EF15F403C00202FFE1E3FAFFF0F0FFF0F003C00205FFF0F003C00203\r
+FFF0F0FDFFE1E303C012F4FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7\r
+EF0982FDEFE7EF0982FDEFE7EF03DB03C012F403DB03F4098203F4098203F403\r
+DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18F403C00208EFE7EF06DB0209\r
+EFE7EF15F403C0FDFFE1E3020DFFF0F003C015F40209EFE7EF06DB0209EFE7EF\r
+03C015F403DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18C00209\r
+EFE7EF06DB0209EFE7EF18C0FDFFE1E3020DFFF0F0FDFFE1E318C00208EFE7EF\r
+06DB0209EFE7EF03DB18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403\r
+DBFDEFE7EF03FF03C006FF06C003DB0209EFE7EF06DB0209EFE7EF03DB03F403\r
+FF03C006FF03C004FFFEE1E3020DFFF0F0FDFFE1E303FF03C006FF03C003F403\r
+DB0209EFE7EF06DB0209EFE7EF03DB03F406C006FF03C0FDEFE7EF03DB1BF403\r
+DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003\r
+F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00DFFFEE1E3020DFFF0\r
+F0FDFFE1E30CFF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03\r
+C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403\r
+DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03\r
+F403FF03C00DFFFEE1E3020BFFF0F0FAFFE1E3FFF0F00FFF03C003F403DB0209\r
+EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF403DB\r
+FDEFE7EF03FF03C0FDEFE7EF0CDB03C003DB06C009DBFDEFE7EF03FF03C006FF\r
+03C003F442DB03F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C0\r
+03F442DB03F403FF03C006FF03C0FDEFE7EF0CDB03C003DB06C009DBFDEFE7EF\r
+03FF03C00204EFE7EF0FC00204EFE7EF03FF03C006FF03C048F403FF03C00DFF\r
+FEE1E3020BFFF0F0FDFFE1E303820FFF03C048F403FF03C006FF03C00204EFE7\r
+EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C002\r
+04EFE7EF03FF03C006FF03C048F403FF03C010FFFEE1E3020AFFF0F0FDFFE1E3\r
+12FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF\r
+03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F4\r
+03FF03C013FFFEE1E30204FFF0F0FDFFE1E30203FFF0F0FDFFE1E315FF03C048\r
+F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C002\r
+04EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F403FF03C016\r
+FF0204E1E3FFFEF0F00203FFE1E3FDFFF0F015FF03C048F403FF03C006FF03C0\r
+0204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7\r
+EF06C00204EFE7EF03FF03C006FF03C048F403FF03C025FF0203F0F0FF17FF03\r
+C048F403FF03C006FF03C00204EFE7EF0FC00204EFE7EF03FF03C00204EFE7EF\r
+06C0FDEFE7EF03C00205EFE7EF03FF03C006FF03C048F403FF03C045FF03C048\r
+F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF03C00205EFE7EF03FF03C0FD\r
+EFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03\r
+C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03DB1882FDE6F2FF03\r
+DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF03\r
+C0FDEFE7EF03DB1882FDE6F2FF03DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7\r
+EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7\r
+EF21DBFDEFE7EF03FF03C0020DEFE7EF03FF03C006FF03C048F403FF03C045FF\r
+03C048F403FF03C006FF03C0020DEFE7EF03FF03C0020DEFE7EF03FF03C006FF\r
+03C01BF4038203F4068206F4038218F403FF03C045FF03C01BF4038203F40682\r
+21F403FF03C006FF03C0020DEFE7EF03FF03C0020DEFE7EF03FF03C006FF03C0\r
+48F406C045FF03C048F406C006FF03C0020DEFE7EF03FF03C00205EFE7EF0382\r
+0203EFE7EF03820204EFE7EF03C006FF03C048F403C048FF03C048F403C009FF\r
+03C00205EFE7EF03820208EFE7EF03C0FDEFE7EF03C0020BEFE7EF06C006FF03\r
+C048F403C048FF03C048F403C009FF03C0020DEFE7EF2AC0FDEFE7EF03C00CFF\r
+42C003F403C04EFF42C003F403C00CFF27C0FDEFE7EF03C07FFF7FFF7FFF7FFF\r
+7FFF7FFF54FF06C030FF03C07FFF4DFF03C006FF03C003FF03C003FF12C003FF\r
+06C003FF24C003FF03C006FF0CC003FF0CC006FF03C07FFF4AFF06C003FF03C0\r
+03FF18C003FF06C003FF1BC003FF06C003FF03C003FF1EC003FF06C07FFF4AFF\r
+06C009FF03C00CFF03C009FF03C003FF03C027FF06C009FF06C07FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF16FFFE000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 256\r
+  Width 128\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 256\r
+  Width 128\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+FigureSymbol "arrow right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 96\r
+  Width 256\r
+  TextBox 0,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 96\r
+  Width 256\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC Background"\r
+  Text "Server X"\r
+  Bounds 400,576,848,1216\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 2\r
+{\r
+  Style "SILC Background"\r
+  Text "Client A"\r
+  Bounds 96,576,352,1216\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 3\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Private Message Delivery"\r
+  Bounds 621,455,1469,537\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 20\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 128,832,320,1120\r
+  BorderColor 219,219,219\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "Rectangle"\r
+  Text "Session Key"\r
+  Bounds 128,1120,320,1184\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Text ""\r
+  Bounds 176,736,208,832\r
+  BorderColor 192,192,192\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Style "Arrow up"\r
+  Text ""\r
+  Bounds 224,736,256,832\r
+  BorderColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Style "Rectangle"\r
+  Text "Message"\r
+  Bounds 128,672,320,736\r
+  BorderColor 219,219,219\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Style "SILC Background"\r
+  Text "Client B"\r
+  Bounds 1760,576,2016,1216\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 1792,832,1984,1120\r
+  BorderColor 219,219,219\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Style "Rectangle"\r
+  Text "Session Key"\r
+  Bounds 1792,1120,1984,1184\r
+  BorderColor 219,219,219\r
+  FillColor 223,223,255\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Text ""\r
+  Bounds 1840,736,1872,832\r
+  BorderColor 192,192,192\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 13\r
+{\r
+  Style "Arrow up"\r
+  Text ""\r
+  Bounds 1888,736,1920,832\r
+  BorderColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 14\r
+{\r
+  Style "Rectangle"\r
+  Text "Message"\r
+  Bounds 1792,672,1984,736\r
+  BorderColor 219,219,219\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 15\r
+{\r
+  Style "Rectangle"\r
+  Text "Decrypt\line \line Encrypt"\r
+  Bounds 432,832,624,1120\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 16\r
+{\r
+  Style "Rectangle"\r
+  Text "Session Key"\r
+  Bounds 432,1120,624,1184\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 17\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 624,832,816,1120\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 18\r
+{\r
+  Style "Rectangle"\r
+  Text "Session Key"\r
+  Bounds 624,1120,816,1184\r
+  BorderColor 219,219,219\r
+  FillColor 198,255,255\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 19\r
+{\r
+  Style "SILC Background"\r
+  Text "Server Y"\r
+  Bounds 1264,576,1712,1216\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 20\r
+{\r
+  Style "Rectangle"\r
+  Text "Session Key"\r
+  Bounds 1296,1120,1488,1184\r
+  BorderColor 219,219,219\r
+  FillColor 253,254,194\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 21\r
+{\r
+  Style "Rectangle"\r
+  Text "Session Key"\r
+  Bounds 1488,1120,1680,1184\r
+  BorderColor 219,219,219\r
+  FillColor 223,223,255\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 22\r
+{\r
+  Style "Rectangle"\r
+  Text "Decrypt\line \line Encrypt"\r
+  Bounds 1488,832,1680,1120\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 23\r
+{\r
+  Style "SILC Network Cloud"\r
+  Text "SILC\line Network"\r
+  Bounds 912,720,1200,1136\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 24\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 432,1232,1680,1456\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 25\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 592,1264,784,1296\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 26\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 592,1312,784,1344\r
+  BorderColor 219,219,219\r
+  FillColor 223,223,255\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 27\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 1296,832,1488,1120\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 28\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Session key between Client A and Server X"\r
+  Bounds 878,1264,1432,1296\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 29\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Session key between Client B and Server Y"\r
+  Bounds 878,1312,1431,1344\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 30\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 592,1360,784,1392\r
+  BorderColor 219,219,219\r
+  FillColor 198,255,255\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 31\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 592,1408,784,1440\r
+  BorderColor 219,219,219\r
+  FillColor 253,254,194\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 32\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Session key between Server X and its router"\r
+  Bounds 878,1359,1443,1391\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 33\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Session key between Server Y and its router"\r
+  Bounds 878,1403,1443,1435\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 34\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 511,251,527,267\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 35\r
+{\r
+  Text ""\r
+  Bounds 320,880,448,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 36\r
+{\r
+  Text ""\r
+  Bounds 304,960,432,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 37\r
+{\r
+  Text ""\r
+  Bounds 800,880,928,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 38\r
+{\r
+  Text ""\r
+  Bounds 784,960,912,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 39\r
+{\r
+  Text ""\r
+  Bounds 1184,880,1312,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 40\r
+{\r
+  Text ""\r
+  Bounds 1200,960,1328,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 41\r
+{\r
+  Text ""\r
+  Bounds 1664,880,1792,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 42\r
+{\r
+  Text ""\r
+  Bounds 1680,960,1808,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_priv2.edg b/doc/whitepaper/silc_priv2.edg
new file mode 100644 (file)
index 0000000..26d355d
--- /dev/null
@@ -0,0 +1,2240 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X -56\r
+Y 0\r
+Scale 109\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 253,254,194\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 241,240,255\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block short"\r
+LastEndLen 25\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 76\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A00000000000000000000000000000000000000000000000000\r
+FDD3EBBF0000000078385900\r
+}\r
+\r
+Preview 3580\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF11FF7FC059C078FF03C015FC21DB0CFC\r
+068203FC038203FC188203FC098203FC068203FC0C8203FC098206FC038203FC\r
+098203FC098206FC03820FFC03C078FF18C021DB7FC020C078FF7FFC56FC45FF\r
+21C015FF3FC05AFF3CC015FF24C006FF06C0FDEFE7EF1BFFFDEFE7EF06C00CFF\r
+03C006F436FF03F406C04EFF06C003F436FF03F406C00CFF03C0FAEFE7EFEFE7\r
+EF1BFFFDEFE7EF09C0020EEFE7EF09FF03C048F403C048FF03C048F403C009FF\r
+03C0020EEFE7EF03C0FDEFE7EF21DBFAEFE7EFEFE7EF03C006FF03C04BF448FF\r
+03C04BF409FF03C0FDEFE7EF21DBFAEFE7EFEFE7EF03C0FDEFE7EF03DB0203F0\r
+FFF009820203F0FFF003DBFDEFE7EF03FF03C006FF03C04BF403C045FF03C04B\r
+F403C006FF03C0FDEFE7EF03DB0203F0FFF009820203F0FFF003DBFDEFE7EF03\r
+FF03C0FDEFE7EF03DB0209F0FFF003DBFDEFE7EF03FF03C006FF03C04BF403C0\r
+45FF03C04BF403C006FF03C0FDEFE7EF03DB0209F0FFF003DBFDEFE7EF03FF03\r
+C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C00FFF09822DFF03\r
+C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF21DBFD\r
+EFE7EF03FF03C006FF03C003F442DB03F403FF03C00CFF03820203FFE1E30382\r
+0204FFE1E31EFF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03\r
+C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF\r
+06DB0209EFE7EF03DB03F403FF03C00DFFFEE1E30203FFF0F0FDFFE1E30204FF\r
+F0F0FDFFE1E31BFF03C003F442DB03F403FF03C006FF03C0FDEFE7EF03DB1BF4\r
+03DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C0\r
+03F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00AFFFEE1E30209FF\r
+F0F0FDFFE1E31BFF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF\r
+03C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF4\r
+03DBFDEFE7EF06C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03C0\r
+03FF03C00AFFFEE1E3020AFFF0F0FDFFE1E318FF03C003F403C003820208EFE7\r
+EF06DB0209EFE7EF03DB03F403FF03C006FF06C003821BF403DBFDEFE7EF03FF\r
+03C0FDEFE7EF03DB1BF403DB15C003DB0209EFE7EF06DB0209EFE7EF15C0FDFF\r
+E1E3020AFFF0F0FDFFE1E30FFF15C00208EFE7EF06DB0209EFE7EF03DB03F415\r
+C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4098203F4098203F403C015\r
+F403DBFDEFE7EF0682FDEFE7EF0C82FDEFE7EF06DBFDEFE7EF0682FDEFE7EF0C\r
+8203C015F4FDFFE1E3020BFFF0F0098203FF18F403C00207EFE7EF06DB0209EF\r
+E7EF03DB18F403C0098203F4098203F403DBFDEFE7EF03FF03C0FDEFE7EF03DB\r
+1BF403DB03C012F403DB0209EFE7EF06DB0209EFE7EF03C012F4FDFFE1E3020B\r
+FFF0F0FAFFE1E3FFE1E3068215F403C00682FDEFE7EF0C82FDEFE7EF06DBFDEF\r
+E7EF0682FDEFE7EF0C82FDEFE7EF03DB15F403C01BF403DBFDEFE7EF03FF03C0\r
+FDEFE7EF03DB1BF403DB18C01882FDEFE7EF06DB1882FDEFE7EF18C0020DFFF0\r
+F0FDFFE1E3038218C00208EFE7EF06DB0209EFE7EF03DB18C01BF403DBFDEFE7\r
+EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF15C00209EFE7EF06DB0209EFE7\r
+EF03DB12C004FFFEE1E3020DFFF0F0FDFFE1E315C01882FDEFE7EF06DBFDEFE7\r
+EF188203DB15C003DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4098203\r
+F4098203F403DB15F403C0FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEFE7\r
+EF0982FDEFE7EF0982FDEFE7EF15F403C00202FFE1E3FAFFF0F0FFF0F003C002\r
+05FFF0F003C00203FFF0F0FDFFE1E303C012F40209EFE7EF06DB0209EFE7EF03\r
+DB03C012F403DB03F4098203F4098203F403DBFDEFE7EF03FF03C0FDEFE7EF03\r
+DB1BF403DB18F403C00208EFE7EF06DB0209EFE7EF15F403C0FDFFE1E3020DFF\r
+F0F003C015F4FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFAEFE7EFEFE7EF09\r
+82FDEFE7EF098203C015F403DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1B\r
+F403DB15F403C00209EFE7EF06DB0209EFE7EF15F403C0FDFFE1E3020DFFF0F0\r
+FDFFE1E303C012F40209EFE7EF06DB0209EFE7EF03DB03C012F403DB1BF403DB\r
+FDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18C00209EFE7EF06DB0209EFE7EF\r
+15C004FFFEE1E3020DFFF0F0FDFFE1E318C00208EFE7EF06DB0209EFE7EF03DB\r
+18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0\r
+06FF06C003DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C004FF\r
+FEE1E3020DFFF0F0FDFFE1E303FF03C006FF03C003F403DB0209EFE7EF06DB02\r
+09EFE7EF03DB03F406C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0\r
+FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C006FF03C003F403DB0209EFE7EF06\r
+DB0209EFE7EF03DB03F403FF03C00DFFFEE1E3020DFFF0F00FFF03C003F403DB\r
+0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB1BF4\r
+03DBFDEFE7EF03FF03C0FDEFE7EF0CDB03C012DBFDEFE7EF03FF03C006FF03C0\r
+03F442DB03F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C003F4\r
+03DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF0CDB\r
+03C012DBFDEFE7EF03FF03C00204EFE7EF0FC00204EFE7EF03FF03C006FF03C0\r
+48F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C003F442DB03F4\r
+03FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204\r
+EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F403FF03C010FF\r
+FEE1E3020AFFF0F0FDFFE1E312FF03C048F403FF03C006FF03C00204EFE7EF06\r
+C0FDEFE7EF06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C00204EF\r
+E7EF03FF03C006FF03C048F403FF03C013FFFEE1E30204FFF0F0FDFFE1E30203\r
+FFF0F0FDFFE1E315FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF\r
+06C00204EFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03\r
+C006FF03C048F403FF03C016FF0205E1E3FF0203F0F0FFFEE1E315FF03C048F4\r
+03FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C00204\r
+EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F403FF03C025FF\r
+0203E1E3FF17FF03C048F403FF03C006FF03C00204EFE7EF0FC00204EFE7EF03\r
+FF03C00204EFE7EF06C0FDEFE7EF03C00205EFE7EF03FF03C006FF03C048F403\r
+FF03C045FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF03C00205\r
+EFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C045\r
+FF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03\r
+DB1882FDE6F2FF03DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048\r
+F403FF03C006FF03C0FDEFE7EF03DB1882FDE6F2FF03DBFDEFE7EF03FF03C0FD\r
+EFE7EF03DB0209E6F2FF03DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF\r
+03C048F403FF03C006FF03C0FDEFE7EF03DB0209E6F2FF03DBFDEFE7EF03FF03\r
+C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403\r
+FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0020DEFE7EF03FF03C006FF\r
+03C048F403FF03C045FF03C048F403FF03C006FF03C0020DEFE7EF03FF03C002\r
+0DEFE7EF03FF03C006FF03C01BF4038203F4068206F403821BF403C045FF03C0\r
+1BF4038203F4068224F403C006FF03C0020DEFE7EF03FF03C00205EFE7EF0382\r
+0203EFE7EF03820204EFE7EF03C006FF03C048F406C045FF03C048F406C006FF\r
+03C00205EFE7EF03820208EFE7EF03C0FDEFE7EF03C0020BEFE7EF06C006FF03\r
+C048F403C048FF03C048F403C009FF03C0020DEFE7EF2AC0FDEFE7EF03C00CFF\r
+42C003F403C04EFF42C003F403C00CFF27C0FDEFE7EF03C07FFF7FFF7FFF7FFF\r
+7FFF7FFF6CFF06C018FF03C07FFF50FF03C003FF09C006FF03C006FF03C003FF\r
+03C003FF12C003FF06C003FF24C003FF03C003FF09C003FF03C07FFF47FF09C0\r
+03FF09C006FF06C003FF03C003FF18C003FF06C003FF1BC003FF06C003FF06C0\r
+03FF0CC07FFF47FF06C003FF0CC006FF06C009FF03C00CFF03C009FF03C003FF\r
+03C027FF03C07FFF7FFF7FFF7FFF7AFF06C030FF03C07FFF4DFF03C006FF03C0\r
+03FF03C003FF12C003FF06C003FF24C003FF03C006FF0CC003FF0CC006FF03C0\r
+7FFF4AFF06C003FF03C003FF18C003FF06C003FF1BC003FF06C003FF03C003FF\r
+1EC003FF06C07FFF4AFF06C009FF03C00CFF03C009FF03C003FF03C027FF06C0\r
+09FF06C07FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF16FFFE0000000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 256\r
+  Width 128\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 256\r
+  Width 128\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+FigureSymbol "arrow right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 96\r
+  Width 256\r
+  TextBox 0,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 96\r
+  Width 256\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC Background"\r
+  Text "Server X"\r
+  Bounds 400,576,848,1216\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 2\r
+{\r
+  Style "SILC Background"\r
+  Text "Client A"\r
+  Bounds 96,576,352,1216\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 3\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Private Message Delivery\line With Private Message Key"\r
+  Bounds 607,379,1483,542\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 20\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 128,832,320,1120\r
+  BorderColor 219,219,219\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "Rectangle"\r
+  Text "Key"\r
+  Bounds 128,1120,320,1184\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Text ""\r
+  Bounds 176,736,208,832\r
+  BorderColor 192,192,192\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Style "Arrow up"\r
+  Text ""\r
+  Bounds 224,736,256,832\r
+  BorderColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Style "Rectangle"\r
+  Text "Message"\r
+  Bounds 128,672,320,736\r
+  BorderColor 219,219,219\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Style "SILC Background"\r
+  Text "Client B"\r
+  Bounds 1760,576,2016,1216\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 1792,832,1984,1120\r
+  BorderColor 219,219,219\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Text ""\r
+  Bounds 1840,736,1872,832\r
+  BorderColor 192,192,192\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Style "Arrow up"\r
+  Text ""\r
+  Bounds 1888,736,1920,832\r
+  BorderColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 13\r
+{\r
+  Style "Rectangle"\r
+  Text "Message"\r
+  Bounds 1792,672,1984,736\r
+  BorderColor 219,219,219\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 14\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 432,832,624,1120\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 15\r
+{\r
+  Style "SILC Background"\r
+  Text "Server Y"\r
+  Bounds 1264,576,1712,1216\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 16\r
+{\r
+  Style "SILC Network Cloud"\r
+  Text "SILC\line Network"\r
+  Bounds 912,720,1200,1136\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 17\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 432,1248,1680,1312\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 18\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 576,1264,768,1296\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 19\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Private Message Key between Client A and Client B"\r
+  Bounds 861,1266,1516,1298\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 20\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 511,251,527,267\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 21\r
+{\r
+  Style "Rectangle"\r
+  Text "Key"\r
+  Bounds 1792,1120,1984,1184\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 22\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 624,832,816,1120\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 23\r
+{\r
+  Text ""\r
+  Bounds 304,960,432,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 24\r
+{\r
+  Text ""\r
+  Bounds 320,880,448,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 25\r
+{\r
+  Text ""\r
+  Bounds 800,880,928,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 26\r
+{\r
+  Text ""\r
+  Bounds 784,960,912,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 27\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 1296,816,1488,1104\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 28\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 1488,816,1680,1104\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 29\r
+{\r
+  Text ""\r
+  Bounds 1184,880,1312,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 30\r
+{\r
+  Text ""\r
+  Bounds 1200,960,1328,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 31\r
+{\r
+  Text ""\r
+  Bounds 1664,880,1792,976\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 32\r
+{\r
+  Text ""\r
+  Bounds 1680,960,1808,1056\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_priv3.edg b/doc/whitepaper/silc_priv3.edg
new file mode 100644 (file)
index 0000000..3cc9c90
--- /dev/null
@@ -0,0 +1,2347 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X 64\r
+Y 167\r
+Scale 120\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 253,254,194\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 241,240,255\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block short"\r
+LastEndLen 25\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 80\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A00000000000000000000000000000000000000000000000000\r
+40465D000C005900D01F5900D0F0FF00\r
+}\r
+\r
+Preview 3724\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+19FF7FC059C078FF03C018FC21DB09FC098206FC068206FC098203FC098203FC\r
+098209FC068203FC038203FC098203FC06822AFC03C078FF03C018FC21DB1BFC\r
+03827BFC03C078FF03C042FC098206FC068206FC098203FC098203FC098209FC\r
+068203FC038203FC098203FC06822AFC03C078FF03C018FC21DB1BFC03827BFC\r
+03C078FF03C07FFC53FC03C078FF7FC059C042FF21C015FF3FC05AFF3CC015FF\r
+24C006FF06C0FDEFE7EF1BFFFDEFE7EF06C00CFF03C006F436FF03F406C04EFF\r
+06C003F436FF03F406C00CFF03C0FAEFE7EFEFE7EF1BFFFDEFE7EF09C0FDEFE7\r
+EF21DBFAEFE7EFEFE7EF09FF03C048F403C048FF03C048F403C009FF03C0FDEF\r
+E7EF21DBFAEFE7EFEFE7EF03C0FDEFE7EF03DBFDC2FEFD0C82FDC2FEFD098203\r
+DBFAEFE7EFEFE7EF03C006FF03C04BF448FF03C04BF409FF03C0FDEFE7EF03DB\r
+FDF0FFF00C82FDF0FFF0098203DBFAEFE7EFEFE7EF03C0FDEFE7EF03DB0209C2\r
+FEFD03DBFDEFE7EF03FF03C006FF03C04BF403C045FF03C04BF403C006FF03C0\r
+FDEFE7EF03DB0209F0FFF003DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03\r
+FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF21\r
+DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03\r
+C045FF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7\r
+EF03DBFDF0FFF00982FDF0FFF00982FDF0FFF003DBFDEFE7EF03FF03C006FF03\r
+C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF03DBFDC2FEFD09\r
+82FDC2FEFD0982FDC2FEFD03DBFDEFE7EF03FF03C0FDEFE7EF03DB0209F0FFF0\r
+03DBFDEFE7EF03FF03C006FF03C048F403FF03C00FFF098206FF09821EFF03C0\r
+48F403FF03C006FF03C0FDEFE7EF03DB0209C2FEFD03DBFDEFE7EF03FF03C0FD\r
+EFE7EF21DBFDEFE7EF03FF03C006FF03C048F403FF03C00CFF03820203FFE1E3\r
+03820204FFE1E303821BFF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7\r
+EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C003F442DB03F403FF03\r
+C00DFFFEE1E30203FFF0F0FDFFE1E30204FFF0F0FDFFE1E31BFF03C048F403FF\r
+03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEF\r
+E7EF03FF03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF\r
+03C00AFFFEE1E30209FFF0F0FDFFE1E3038218FF03C003F442DB03F403FF03C0\r
+06FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB\r
+FDEFE7EF06C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03C003FF\r
+03C00AFFFEE1E3020AFFF0F0FDFFE1E318FF03C003F403C00209EFE7EF06DB02\r
+09EFE7EF03DB03F403FF03C006FF06C003DB1BF403DBFDEFE7EF03FF03C0FDEF\r
+E7EF03DB1BF403DB15C003DB0209EFE7EF06DB0209EFE7EF15C0FDFFE1E3020A\r
+FFF0F0FDFFE1E30FFF15C00208EFE7EF06DB0209EFE7EF03DB03F415C01BF403\r
+DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB03C012F403DB0209EFE7EF06DB\r
+0209EFE7EF03C012F4FDFFE1E3020BFFF0F0098203FF15F403C00208EFE7EF06\r
+DB0209EFE7EF03DB15F403C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F4\r
+098203F4098203F403C015F403DBFDEFE7EF0682FDEFE7EF0C82FDEFE7EF06DB\r
+FDEFE7EF0682FDEFE7EF0C8203C015F4FDFFE1E3020BFFF0F0FAFFE1E3FFE1E3\r
+068218F403C00207EFE7EF06DB0209EFE7EF03DB18F403C0098203F4098203F4\r
+03DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB03C012F403DB0209EFE7EF06\r
+DB0209EFE7EF03C012F4FDFFE1E3020DFFF0F0FDFFE1E3038215F403C00682FD\r
+EFE7EF0C82FDEFE7EF06DBFDEFE7EF0682FDEFE7EF0C82FDEFE7EF03DB15F403\r
+C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB15C01B82FDEFE7EF06\r
+DB1882FDEFE7EF18C0FDFFE1E3020DFFF0F0FDFFE1E318C00208EFE7EF06DB02\r
+09EFE7EF03DB18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEF\r
+E7EF15C00209EFE7EF06DB0209EFE7EF03DB12C003820202FFE1E3FAFFF0F0FF\r
+F0F003C00205FFF0F003C00203FFF0F0FDFFE1E315C01882FDEFE7EF06DBFDEF\r
+E7EF188203DB15C003DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB03F40982\r
+03F4098203F403DB15F403C0FDEFE7EF0982FDEFE7EF0982FDEFE7EF06DBFDEF\r
+E7EF0982FDEFE7EF0982FDEFE7EF15F403C0FDFFE1E3020DFFF0F0FDFFE1E303\r
+C012F40209EFE7EF06DB0209EFE7EF03DB03C012F403DB03F4098203F4098203\r
+F403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18F403C00208EFE7EF06DB\r
+0209EFE7EF15F403C0FDFFE1E3020DFFF0F003C015F4FDEFE7EF0982FDEFE7EF\r
+0982FDEFE7EF06DBFAEFE7EFEFE7EF0982FDEFE7EF098203C015F403DB1BF403\r
+DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DB18C00209EFE7EF06DB0209EFE7\r
+EF18C0FDFFE1E3020DFFF0F0FDFFE1E318C00208EFE7EF06DB0209EFE7EF03DB\r
+18C01BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0\r
+06FF09C00209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C004FFFEE1\r
+E3020DFFF0F0FDFFE1E306C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF\r
+03DB09C006FF03C0FDEFE7EF03DB1BF403DBFDEFE7EF03FF03C0FDEFE7EF03DB\r
+1BF403DBFDEFE7EF03FF03C006FF06C003DB0209EFE7EF06DB0209EFE7EF03DB\r
+03F403FF03C006FF03C004FFFEE1E3020DFFF0F006FF03C006FF03C003F403DB\r
+0209EFE7EF06DB0209EFE7EF03DB03F406C006FF03C0FDEFE7EF03DB1BF403DB\r
+FDEFE7EF03FF03C0FDEFE7EF03DB09F403C003F406C006F403DBFDEFE7EF03FF\r
+03C006FF03C003F403DB0209EFE7EF06DB0209EFE7EF03DB03F403FF03C00DFF\r
+FEE1E3020BFFF0F0FDFFE1E303820FFF03C003F403DB0209EFE7EF06DB0209EF\r
+E7EF03DB03F403FF03C006FF03C0FDEFE7EF03DB09F403C003F406C006F403DB\r
+FDEFE7EF03FF03C0FDEFE7EF09DB0FC009DBFDEFE7EF03FF03C006FF03C003F4\r
+42DB03F403FF03C00DFFFEE1E3020BFFF0F0FDFFE1E303820FFF03C003F403DB\r
+0209EFE7EF06DB0209EFE7EF03DB03F403FF03C006FF03C0FDEFE7EF09DB06C0\r
+03DB06C009DBFDEFE7EF03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF\r
+03FF03C006FF03C048F403FF03C010FFFEE1E3020AFFF0F0FDFFE1E312FF03C0\r
+03F442DB03F403FF03C006FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF\r
+03FF03C00204EFE7EF06C0FDEFE7EF06C00204EFE7EF03FF03C006FF03C048F4\r
+03FF03C013FFFEE1E30204FFF0F0FDFFE1E30203FFF0F0FDFFE1E315FF03C048\r
+F403FF03C006FF03C00204EFE7EF0FC00204EFE7EF03FF03C00204EFE7EF06C0\r
+FDEFE7EF03C00205EFE7EF03FF03C006FF03C048F403FF03C016FF0205E1E3FF\r
+0203F0F0FFFEE1E315FF03C048F403FF03C006FF03C00204EFE7EF06C0FDEFE7\r
+EF03C00205EFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048F4\r
+03FF03C025FF0203E1E3FF17FF03C048F403FF03C006FF03C0FDEFE7EF21DBFD\r
+EFE7EF03FF03C0FDEFE7EF03DB1882FDE6F2FF03DBFDEFE7EF03FF03C006FF03\r
+C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF03DB1882FDE6F2\r
+FF03DBFDEFE7EF03FF03C0FDEFE7EF03DB0209E6F2FF03DBFDEFE7EF03FF03C0\r
+06FF03C048F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF03DB0209\r
+E6F2FF03DBFDEFE7EF03FF03C0FDEFE7EF21DBFDEFE7EF03FF03C006FF03C048\r
+F403FF03C045FF03C048F403FF03C006FF03C0FDEFE7EF21DBFDEFE7EF03FF03\r
+C0020DEFE7EF03FF03C006FF03C048F403FF03C045FF03C048F403FF03C006FF\r
+03C0020DEFE7EF03FF03C0020DEFE7EF03FF03C006FF03C01BF4038203F40682\r
+06F403821BF403C045FF03C01BF4038203F4068224F403C006FF03C0020DEFE7\r
+EF03FF03C00205EFE7EF03820203EFE7EF03820204EFE7EF03C006FF03C048F4\r
+06C045FF03C048F406C006FF03C00205EFE7EF03820208EFE7EF03C0FDEFE7EF\r
+03C0020BEFE7EF06C006FF03C048F403C048FF03C048F403C009FF03C0020DEF\r
+E7EF2AC0FDEFE7EF03C00CFF42C003F403C04EFF42C003F403C00CFF27C0FDEF\r
+E7EF03C07FFF7FFF7FFF7FFF7FFF7FFF48FF03C015FF03C003FF03C012FF03C0\r
+7FFF53FF03C003FF09C006FF03C006FF09C003FF0CC003FF03C003FF09C003FF\r
+03C003FF03C003FF06C006FF06C003FF06C003FF06C003FF18C07FFF35FF09C0\r
+03FF09C006FF06C003FF03C003FF03C003FF09C006FF06C003FF0CC003FF03C0\r
+06FF03C003FF09C003FF06C003FF21C07FFF35FF06C003FF0CC006FF06C009FF\r
+03C003FF06C009FF03C018FF03C015FF03C018FF03C07FFF7FFF7FFF7FFF6EFF\r
+06C030FF03C07FFF4DFF03C006FF03C003FF03C003FF12C003FF06C003FF24C0\r
+03FF03C006FF0CC003FF0CC006FF03C07FFF4AFF06C003FF03C003FF18C003FF\r
+06C003FF1BC003FF06C003FF03C003FF1EC003FF06C07FFF4AFF06C009FF03C0\r
+0CFF03C009FF03C003FF03C027FF06C009FF06C07FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF16FFFE0000000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 256\r
+  Width 128\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 256\r
+  Width 128\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+FigureSymbol "arrow right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 96\r
+  Width 256\r
+  TextBox 0,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 96\r
+  Width 256\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC Background"\r
+  Text "Server X"\r
+  Bounds 400,576,848,1216\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 2\r
+{\r
+  Style "SILC Background"\r
+  Text "Client A"\r
+  Bounds 96,576,352,1216\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 3\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Private Message Delivery\line With Public Key Cryptosystem"\r
+  Bounds 533,379,1557,542\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 20\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 128,784,320,1072\r
+  BorderColor 219,219,219\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "Rectangle"\r
+  Text "Public Key"\r
+  Bounds 128,1072,320,1136\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Text ""\r
+  Bounds 176,736,208,800\r
+  BorderColor 192,192,192\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Style "Arrow up"\r
+  Text ""\r
+  Bounds 224,736,256,800\r
+  BorderColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Style "Rectangle"\r
+  Text "Message"\r
+  Bounds 128,672,320,736\r
+  BorderColor 219,219,219\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Style "SILC Background"\r
+  Text "Client B"\r
+  Bounds 1760,576,2016,1216\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Style "Rectangle"\r
+  Text "Encrypt\line \line Decrypt"\r
+  Bounds 1792,784,1984,1072\r
+  BorderColor 219,219,219\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Text ""\r
+  Bounds 1840,736,1872,800\r
+  BorderColor 192,192,192\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Style "Arrow up"\r
+  Text ""\r
+  Bounds 1888,736,1920,800\r
+  BorderColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 13\r
+{\r
+  Style "Rectangle"\r
+  Text "Message"\r
+  Bounds 1792,672,1984,736\r
+  BorderColor 219,219,219\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 14\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 432,784,624,1072\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 15\r
+{\r
+  Style "SILC Background"\r
+  Text "Server Y"\r
+  Bounds 1264,576,1712,1216\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 16\r
+{\r
+  Style "SILC Network Cloud"\r
+  Text "SILC\line Network"\r
+  Bounds 912,688,1200,1104\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 12\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 17\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 432,1232,1680,1360\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 18\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 592,1264,784,1296\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 19\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Client B's Public key and Private key pair"\r
+  Bounds 881,1266,1399,1298\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 20\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 511,251,527,267\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 21\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 624,784,816,1072\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 22\r
+{\r
+  Text ""\r
+  Bounds 304,912,432,1008\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 23\r
+{\r
+  Text ""\r
+  Bounds 320,832,448,928\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 24\r
+{\r
+  Text ""\r
+  Bounds 800,832,928,928\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 25\r
+{\r
+  Text ""\r
+  Bounds 784,912,912,1008\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 26\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 1296,768,1488,1056\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 27\r
+{\r
+  Style "Rectangle"\r
+  Text "Pass the\line message\line through"\r
+  Bounds 1488,768,1680,1056\r
+  BorderColor 219,219,219\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 10\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 28\r
+{\r
+  Text ""\r
+  Bounds 1184,832,1312,928\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 29\r
+{\r
+  Text ""\r
+  Bounds 1200,912,1328,1008\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 30\r
+{\r
+  Text ""\r
+  Bounds 1664,832,1792,928\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 31\r
+{\r
+  Text ""\r
+  Bounds 1680,912,1808,1008\r
+  BorderColor 192,192,192\r
+  FillColor 244,244,244\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 32\r
+{\r
+  Style "Rectangle"\r
+  Text "Private Key"\r
+  Bounds 128,1136,320,1200\r
+  BorderColor 219,219,219\r
+  FillColor 253,254,194\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 33\r
+{\r
+  Style "Rectangle"\r
+  Text "Private Key"\r
+  Bounds 1792,1136,1984,1200\r
+  BorderColor 219,219,219\r
+  FillColor 240,255,240\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 34\r
+{\r
+  Style "Rectangle"\r
+  Text "Public Key"\r
+  Bounds 1792,1072,1984,1136\r
+  BorderColor 219,219,219\r
+  FillColor 253,254,194\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 35\r
+{\r
+  Style "Rectangle"\r
+  Text ""\r
+  Bounds 592,1312,784,1344\r
+  BorderColor 219,219,219\r
+  FillColor 253,254,194\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 36\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Client A's Public key and Private key pair"\r
+  Bounds 880,1309,1398,1341\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 37\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 462,384,478,400\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 38\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 367,321,383,337\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 39\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text ""\r
+  Bounds 304,206,320,222\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_protocol.html b/doc/whitepaper/silc_protocol.html
new file mode 100644 (file)
index 0000000..0cdd8b2
--- /dev/null
@@ -0,0 +1,280 @@
+<html>
+<header>
+<title>SILC Protocol White Paper</title>
+<link rev=made href="mailto:priikone@silcnet.org">
+<meta name="Author" content="Pekka Riikonen - SILC Project">
+<meta name="Description"
+ content="SILC - Secure Internet Live Conferencing Protocol">
+<meta name="Created" content="Version 1.0 / 05 Aug 2001">
+</head>
+<body bgcolor="#ffffff">
+
+<font face="Helvetica">
+
+<h1>About the White Paper</h1>
+<p>
+The purpose of this white paper is to give short but deep enough introduction
+to the SILC Protocol.  The document describes the purpose of the protocol
+and how the protocol works in practice.  This document is intended for all
+audience.  This document should be easy to understand for non-technical
+person and still be detailed enough for technically oriented person.  See
+the section <a href="#terms">Terms and Abbreviations</a> for terms used
+in this documents.
+<p>
+
+<p>
+(c) Copyright 2001 Pekka Riikonen 
+(<a href="mailto:priikone at silcnet.org">priikone at silcnet.org</a>)
+<p>
+This document is free document; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.  This document is distributed in
+the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+See the GNU General Public License for more details.
+
+<p><br>
+<h1>Summary</h1>
+
+xxx
+
+<p>
+
+<p><br>
+<h1>SILC Protocol</h1>
+<p>
+
+<img src="silc_network.JPG" alt="SILC Network" align="center" border"0">
+
+<p><br>
+<h2>Clients</h2>
+<p>
+
+<p><br>
+<h2>Servers</h2>
+<p>
+
+<p><br>
+<h2>Routers</h2>
+<p>
+
+<img src="silc_routers.JPG" alt="SILC Routers" align="center" border"0">
+
+
+<p><br>
+<h1>SILC Packet Protocol</h1>
+<p>
+
+<img src="silc_packet.JPG" alt="Typical SILC Packet" align="center" border"0">
+
+
+
+<p><br>
+<h1>SILC Key Exchange Protocol</h1>
+<p>
+
+
+<p><br>
+<h1>SILC Connection Authentcation Protocol</h1>
+<p>
+
+
+
+<p><br>
+<h1>Channels</h1>
+<p>
+
+<p><br>
+<h2>Channel Message Delivery</h2>
+<p>
+
+<img src="silc_channel.JPG" alt="Channel Message Delivery" align="center" border"0">
+
+<p><br>
+<h2>Channel Message Delivery With Channel Private Key</h2>
+<p>
+
+
+<p><br>
+<h1>Private Messages</h1>
+<p>
+Private messages are messages that are sent from one client to another 
+through the SILC Network.  They are private because they are not sent to
+anyone else except to the true receiver of the message.  Private messages
+can be used to engage private conversation with another client if channels
+are not desired.
+<p>
+
+As all messages in SILC the private message are also encrypted and
+authenticated.  There are several ways to secure private messages.  By
+default private messages are encrypted using the session keys established
+in the SKE protocol.  It is also possible to negotiate a private message
+key between the two clients and encrypt the messages with that key.  It
+is even possible to encrypt the messages with public key cryptosystem,
+if desired.  The next sections will describe all these private message
+delivery methods.
+
+<p>
+The SILC protocol provides these three methods of delivering private messages
+because none of the methods alone can satisfy the security requirements
+of all people.  The end user should decide the acceptable level of risk,
+the required level of security and other security and usability aspects when
+deciding what way of sending private message suites for them.
+
+
+<p><br>
+<h2>Private Message Delivery With Session Keys</h2>
+<p>
+Sending private messages are by default secured with session keys established
+in the SKE protocol.  This means that the private message is always encrypted
+with the next receiver of the message enroute to the receiving client.
+This also means that the message is decrypted and re-encrypted everytime
+it is sent further to the receiving client.
+<p>
+
+<img src="silc_priv1.JPG" alt="Basic Private Message Delivery" align="center" border"0">
+<p><br>
+
+As the above diagram shows the private messages sent by Client A to the
+Client B travels through the SILC Network and is always decrypted and
+re-encrypted with the session key of the next receiver.  The Client B then
+finally decrypts the private messages that is encrypted with the session
+key shared between the Client B and the Server Y.
+<p>
+
+This way of securing private messages is not perfect and cannot be used
+in all circumstances.  If the clients having the conversation cannot trust
+the servers and routers in the SILC Network they should not send private
+messages that are secured in this manner.  Messages secured in this manner
+can be decrypted by the servers and routers that the clients consider to be
+untrusted.
+<p>
+
+If the clients on the other hand trust the servers and routers in their 
+SILC Network, or they do not care that servers can decrypt their messages,
+sending private messages in this way is very simple from client's point
+of view.  For servers and routers this of course means that they need
+to decrypt and re-encrypt each private message.  Since this way of securing
+private message cannot be used at all times the SILC protocol provides
+other ways of securing private messages.
+
+<p><br>
+<h2>Private Message Delivery With Private Message Key</h2>
+<p>
+Private messages can be secured with private message key as well.  This
+key is known only by the sender of the message and the receiver of the
+message. This way no one else except the sender and the receiver can encrypt
+and decrypt the private messages.  The message is encrypted by the sender
+with the private message key and all the servers and routers pass the message
+through enroute to the receiver.  They cannot decrypt the message since
+they do not have the key.  When sending private messages in this way it
+does not matter whether the clients trust or do not trust the servers and
+routers in the SILC network.
+<p>
+
+<img src="silc_priv2.JPG" alt="Private Messages with Private Message Key" align="center" border"0">
+<p><br>
+
+As the above diagram shows the Client A encrypts the message with private
+message key and sends the message to the SILC Network.  All servers and
+routers merely pass the message through since they cannot decrypt it.
+The Client B then receives the message and decrypts it with the private
+message key.
+<p>
+
+Sending private messages in this manner is always secure since the key is
+shared only by the sender and the receiver.  The problem of this method
+is that the sender and the receiver must somehow agree about the key
+they are going to use.  The private message key can generally be anything.
+It can be a passphrase that only the sender and the receiver knows.  They
+could have been agreed to use some word or phrase as the key sometime
+earlier before they started the conversation.  Or the key maybe from some
+random string from a code book that only the sender and the receiver poses.
+Or it can be a key that is negotiated using some key negotiation protocol.
+<p>
+
+The problem however is fundamental.  How to agree to use some key when
+you cannot reach the other person over secure channel?  The SILC protocol
+solves this problem by providing a possiblity to negotiate the key
+between two clients using the SKE protocol.  One or both of the clients
+may set up the SKE server running in their host and ask the other client
+to connect to it.  As a result of the SKE protocol the clients have
+now shared secret that they can use as private message key.  The key
+is known only by the two clients that exexcuted the SKE protocol.  They
+can then use that key to secure all subsequent private messages.
+<p>
+
+Using this method of private messages delivery is recommended if the
+clients cannot trust the servers and routers in the SILC Network.  The 
+drawback is the extra phase of setting the private message key before
+starting the conversation.  However, using the SKE protocol is the
+recommended way to negotiate the private message key since it can be
+automized and does not cause any extra tasks for end user.
+
+<p><br>
+<h2>Private Message Delivery With Public Key Encryption</h2>
+<p>
+If the clients cannot trust the servers and routers in the SILC Network
+they can use the private message key.  As described in the previous section
+it is easy to set up with the SKE protocol.  However, sometimes the two
+clients do not want to use any passphrases as private message key or
+negotiate the key with SKE, or perhaps they are unable to negotiate the
+key because of some other external problem.  The SILC protocol provides
+yet another way of securing the private messages.  This way does not
+require setting or negotiating private message key.  And, in this method
+also it does not matter whether the clients trust or do not trust the
+servers and routers in the SILC Network.  The method is public key
+encryption.  The clients can encrypt the private messages with the
+receiver's public key and send the message to the network.  The servers
+and routers cannot decrypt the messages since they do not have the
+receiver's private key.  The receiver on the other hand has the private
+key which it uses to decrypt the message.
+<p>
+
+<img src="silc_priv3.JPG" alt="Private Messges with Public Key Cryptosystem" align="center" border"0">
+<p><br>
+
+As the above diagram shows the Client A has the Client B's public key.
+It will encrypt the message with that key and sends the message to the
+SILC Network.  All servers and routers pass the message through since
+they cannot decrypt it.  The Client B then uses its private key to
+decrypt the message.  The Client B has also the Client A's public key 
+that it can use to encrypt messages that it will send to Client A.
+<p>
+
+Even this method of private message delivery is not perfect.  The drawbacks
+of this method is that the public key encryption process, as being
+assymmetric cryptosystem, is much slower than encryption process with
+symmetric cryptosystems.  This is not probably problem with short messages
+but may be inconvenient with long messages.  The other drawback is that the
+sender must first assure that the public key it is using in the encryption
+is actually the receiver's public key.  This is a absolute requirement
+in this method.  If the sender cannot authenticate the receiver's public
+key this method of private message delivery should not be used.  In SILC
+protocol clients can fetch other clients public keys from servers. 
+However, the servers may not have authenticated the fetched public key so
+that should not be fully trusted.  Use of certificates can solve the
+problem.  The receiver's certificate could be authenticated by a third
+party Certificate Authority (CA).
+
+<p>
+Usually verifying the public key is not a problem since the receiver
+can provide the public key on some website, or verify the fingerprint of
+the key over email, or phone call.  The clients can also fetch the
+public keys from SILC servers if they trust that the keys are authentic.
+If both of the clients trust that the public keys are authentic using this
+method of private message delivery is very simple and recommended.
+
+
+<p><br>
+<h1>Conclusions</h1>
+
+
+<a name="terms"></a>
+<h1>Terms and Abbreviations</h1>
+
+</font>
+
+</body>
+</html>
diff --git a/doc/whitepaper/silc_routers.edg b/doc/whitepaper/silc_routers.edg
new file mode 100644 (file)
index 0000000..8ef3e66
--- /dev/null
@@ -0,0 +1,2447 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X -296\r
+Y 133\r
+Scale 100\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 128,0,128\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 255,255,0\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block"\r
+LastEndLen 25\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 68\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A00000000000000000000000000000000000000000000000000\r
+94395900\r
+}\r
+\r
+Preview 4908\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7DFF7FC07FC01FC033FF03C07FFC7FFC19FC03C033FF03C07FFC7FFC\r
+19FC03C033FF03C07FFC7FFC19FC03C033FF03C069FC06827FFC29FC03C033FF\r
+03C024FC0C8203FC3F821EFC0F8203FC068206FC038203FC038206FC038206FC\r
+038203FC098203FC0C8233FC03C033FF03C069FC038224FC038215FC038206FC\r
+038206FC098203FC068206FC09823CFC03C033FF03C07FFC7FFC19FC03C033FF\r
+03C07FFC7FFC19FC03C033FF03C069FC068224FC03820CFC038203FC038206FC\r
+038206FC038203FC098203FC098242FC03C033FF03C021FC518221FC0F820CFC\r
+098203FC068206FC098248FC03C033FF03C0098203FC038203FC038254FC0382\r
+7FFC2CFC03C033FF03C0068206FC038203FC03827FFC7FFC04FC03C033FF03C0\r
+7FFC7FFC19FC03C033FF7FC07FC01FC07FFF7FFF7FFF0203EFE7EF7FC07FC010\r
+C00203EFE7EF2AFFFAEFE7EFEFE7EF09C0025AEFE7EF09C0FAEFE7EFEFE7EF21\r
+FFFDEFE7EF06C00260EFE7EF06C0FDEFE7EF1BFF06C00264EFE7EF06C015FF03\r
+C00268EFE7EF03C00FFFFDEFE7EF03C0022AEFE7EF45820227EFE7EF03C0FDEF\r
+E7EF0CFF03C0022BEFE7EF03820215E6F2FF03820228EFE7EF03C009FFFDEFE7\r
+EF03C0022BEFE7EF03820215E6F2FF03820228EFE7EF03C0FDEFE7EF06FF03C0\r
+021DEFE7EF24820203EFE7EF03820215E6F2FF0382FDEFE7EF06820204EFE7EF\r
+24820216EFE7EF03C006FF03C0021CEFE7EF0382020CEFE7EF0C820215E6F2FF\r
+0C82FDEFE7EF0982020CEFE7EF03820216EFE7EF06FF03C0021CEFE7EF038202\r
+0FEFE7EF03820205E6F2FF0382FDE6F2FF1B820205E6F2FF0382FAEFE7EFEFE7\r
+EF03820210EFE7EF03820216EFE7EF03C003FF03C0021BEFE7EF03820210EFE7\r
+EF03820205E6F2FF0682FDE6F2FF0982FDE6F2FF0C820205E6F2FF03820214EF\r
+E7EF03820215EFE7EF03C003FF03C0021BEFE7EF03820210EFE7EF03820205E6\r
+F2FF06820205E6F2FF03820208E6F2FF03820214EFE7EF03820215EFE7EF03C0\r
+03FF03C0021BEFE7EF03820210EFE7EF03820215E6F2FF03820214EFE7EF0382\r
+0214EFE7EF03FF03C003FF03C0021BEFE7EF03820210EFE7EF03820215E6F2FF\r
+03820214EFE7EF03820214EFE7EF03FF03C003FF03C0021BEFE7EF03820210EF\r
+E7EF03820215E6F2FF03820214EFE7EF03820214EFE7EF03FF03C003FF03C002\r
+1BEFE7EF03820210EFE7EF45820214EFE7EF03820214EFE7EF03FF03C003FF03\r
+C0021AEFE7EF09820239EFE7EF03820215EFE7EF03FF03C003FF03C0021BEFE7\r
+EF06820239EFE7EF03820215EFE7EF03FF03C003FF03C0021BEFE7EF0382023A\r
+EFE7EF03820215EFE7EF03FF03C003FF03C0020EEFE7EF48820225EFE7EF4582\r
+020AEFE7EF03FF03C003FF03C0020EEFE7EF03820216E6F2FF03820225EFE7EF\r
+03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF03820216E6\r
+F2FF03820225EFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C002\r
+0EEFE7EF03820216E6F2FF03820225EFE7EF03820215E6F2FF0382020AEFE7EF\r
+03FF03C003FF03C0020EEFE7EF03820216E6F2FF03820225EFE7EF03820215E6\r
+F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF03820205E6F2FF0382FD\r
+E6F2FF1B820206E6F2FF0382FDEFE7EF06820204EFE7EF0382FDEFE7EF0F82FA\r
+EFE7EFEFE7EF03820214EFE7EF03820205E6F2FF0382FDE6F2FF1B820205E6F2\r
+FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF03820205E6F2FF0682FDE6\r
+F2FF0982FDE6F2FF0C820206E6F2FF0F82020FEFE7EF06820210EFE7EF038202\r
+05E6F2FF0682FDE6F2FF0982FDE6F2FF0C820205E6F2FF0382020AEFE7EF03FF\r
+03C003FF03C0020EEFE7EF03820205E6F2FF06820205E6F2FF03820209E6F2FF\r
+0382FAEFE7EFEFE7EF03820212EFE7EF0382020FEFE7EF03820205E6F2FF0682\r
+0205E6F2FF03820208E6F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF\r
+03820216E6F2FF03820216EFE7EF0382020EEFE7EF03820215E6F2FF0382020A\r
+EFE7EF03FF03C003FF03C0020EEFE7EF03820216E6F2FF03820217EFE7EF0382\r
+020DEFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0020EEFE7EF\r
+03820216E6F2FF03820219EFE7EF0382020BEFE7EF03820215E6F2FF0382020A\r
+EFE7EF03FF03C003FF03C0020EEFE7EF48820219EFE7EF0382020BEFE7EF4582\r
+020AEFE7EF03FF03C003FF03C00216EFE7EF0382020AEFE7EF0982021CEFE7EF\r
+03820217EFE7EF06820212EFE7EF03FF03C003FF03C00215EFE7EF0382020CEF\r
+E7EF0982021CEFE7EF03820216EFE7EF09820211EFE7EF03FF03C003FF03C002\r
+13EFE7EF0982020FEFE7EF0382021CEFE7EF03820216EFE7EF03820212EFE7EF\r
+03FF03C003FF03C00213EFE7EF0382030003820210EFE7EF0382021CEFE7EF03\r
+820216EFE7EF03820211EFE7EF03FF03C003FF03C00213EFE7EF06820212EFE7\r
+EF0382021CEFE7EF03820215EFE7EF03820211EFE7EF03FF03C003FF03C00213\r
+EFE7EF03820214EFE7EF0382FDEFE7EF0382021AEFE7EF03820214EFE7EF0382\r
+0211EFE7EF03FF03C003FF03C00204EFE7EF45820210EFE7EF0382021AEFE7EF\r
+0382020AEFE7EF45820204EFE7EF03FF03C003FF03C00204EFE7EF03820215E6\r
+F2FF03820211EFE7EF03820219EFE7EF0382020AEFE7EF03820215E6F2FF0382\r
+0204EFE7EF03FF03C003FF03C00204EFE7EF03820215E6F2FF03820212EFE7EF\r
+06820218EFE7EF03820209EFE7EF03820215E6F2FF03820204EFE7EF03FF03C0\r
+03FF03C00204EFE7EF03820215E6F2FF03820214EFE7EF03820221EFE7EF0382\r
+0215E6F2FF03820204EFE7EF03FF03C003FF03C00204EFE7EF03820205E6F2FF\r
+0382FDE6F2FF1B820205E6F2FF03820214EFE7EF06820218EFE7EF03820207EF\r
+E7EF03820205E6F2FF0382FDE6F2FF1B820205E6F2FF03820204EFE7EF03FF03\r
+C003FF03C00204EFE7EF03820205E6F2FF0682FDE6F2FF0982FDE6F2FF0C8202\r
+05E6F2FF0382022FEFE7EF03820206EFE7EF03820205E6F2FF0682FDE6F2FF09\r
+82FDE6F2FF0C820205E6F2FF03820204EFE7EF03FF03C003FF03C00204EFE7EF\r
+03820205E6F2FF06820205E6F2FF03820208E6F2FF03820225EFE7EF12820203\r
+EFE7EF1B820205E6F2FF06820205E6F2FF03820208E6F2FF03820204EFE7EF03\r
+FF03C003FF03C00204EFE7EF03820215E6F2FF03820217EFE7EF03820209EFE7\r
+EF03820203EFE7EF0382020DEFE7EF0682FDEFE7EF03820215E6F2FF03820204\r
+EFE7EF03FF03C003FF03C00204EFE7EF03820215E6F2FF03820217EFE7EF0382\r
+0208EFE7EF03820212EFE7EF0382FAEFE7EFEFE7EF03820215E6F2FF03820204\r
+EFE7EF03FF03C003FF03C00204EFE7EF03820215E6F2FF03820218EFE7EF0382\r
+0218EFE7EF03820204EFE7EF03820215E6F2FF03820204EFE7EF03FF03C003FF\r
+03C00204EFE7EF03820215E6F2FF03820218EFE7EF03820206EFE7EF03820212\r
+EFE7EF03820203EFE7EF03820215E6F2FF03820204EFE7EF03FF03C003FF03C0\r
+0204EFE7EF45820219EFE7EF03820205EFE7EF03820216EFE7EF45820204EFE7\r
+EF03FF03C003FF03C00213EFE7EF03820220EFE7EF03820204EFE7EF03820214\r
+EFE7EF0382020BEFE7EF06820210EFE7EF03FF03C003FF03C00213EFE7EF0382\r
+0220EFE7EF03820204EFE7EF03820215EFE7EF03820209EFE7EF09820210EFE7\r
+EF03FF03C003FF03C00214EFE7EF0682021EEFE7EF03820203EFE7EF03820216\r
+EFE7EF0382020AEFE7EF03820211EFE7EF03FF03C003FF03C00213EFE7EF0382\r
+03000382021EEFE7EF03820203EFE7EF03820218EFE7EF03820208EFE7EF0382\r
+0211EFE7EF03FF03C003FF03C00214EFE7EF06820222EFE7EF03820220EFE7EF\r
+03820212EFE7EF03FF03C003FF03C00215EFE7EF0382023CEFE7EF03820206EF\r
+E7EF03820212EFE7EF03FF03C003FF03C0020DEFE7EF45820227EFE7EF458202\r
+0AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF03820215E6F2FF0382020F\r
+EFE7EF03820217EFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0\r
+020CEFE7EFFDE6F2FF03820215E6F2FF03820214EFE7EF03820212EFE7EF0382\r
+0215E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF038202\r
+15E6F2FF0382020EEFE7EF03820205EFE7EF03820212EFE7EF03820215E6F2FF\r
+0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF03820205E6F2FF03\r
+82FDE6F2FF1B820205E6F2FF0382020EEFE7EF03820205EFE7EF03820212EFE7\r
+EF03820205E6F2FF0382FDE6F2FF1B820205E6F2FF0382020AEFE7EF03FF03C0\r
+03FF03C0020CEFE7EFFDE6F2FF03820205E6F2FF0682FDE6F2FF0982FDE6F2FF\r
+0C820205E6F2FF0382020EEFE7EF03820205EFE7EF03820212EFE7EF03820205\r
+E6F2FF0682FDE6F2FF0982FDE6F2FF0C820205E6F2FF0382020AEFE7EF03FF03\r
+C003FF03C0020CEFE7EFFDE6F2FF03820205E6F2FF06820205E6F2FF03820208\r
+E6F2FF0382020DEFE7EF03820206EFE7EF03820212EFE7EF03820205E6F2FF06\r
+820205E6F2FF03820208E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7\r
+EFFDE6F2FF03820215E6F2FF0382020DEFE7EF03820206EFE7EF03820212EFE7\r
+EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF\r
+03820215E6F2FF0382020DEFE7EF03820219EFE7EF03820215E6F2FF0382020A\r
+EFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF03820215E6F2FF0382020DEF\r
+E7EF03820219EFE7EF03820215E6F2FF0382020AEFE7EF03FF03C003FF03C002\r
+0CEFE7EFFDE6F2FF03820215E6F2FF0382020CEFE7EF0382021AEFE7EF038202\r
+15E6F2FF0382020AEFE7EF03FF03C003FF03C0020CEFE7EFFDE6F2FF45820214\r
+EFE7EF03820212EFE7EF4582020AEFE7EF03FF03C003FF03C00218EFE7EF0382\r
+023DEFE7EF03820215EFE7EF03FF03C003FF03C00217EFE7EF03820220EFE7EF\r
+0382021CEFE7EF06820215EFE7EF03FF03C003FF03C00217EFE7EF03820215EF\r
+E7EF42820214EFE7EF03820214EFE7EF03FF03C003FF03C00217EFE7EF038202\r
+14EFE7EF45820214EFE7EF03820214EFE7EF03FF03C003FF03C00217EFE7EF03\r
+820214EFE7EF03820215E6F2FF03820214EFE7EF03820214EFE7EF03FF03C003\r
+FF03C00217EFE7EF03820214EFE7EF03820215E6F2FF03820213EFE7EF038202\r
+15EFE7EF03FF03C003FF03C00218EFE7EF0982020EEFE7EF0682FDEFE7EF0382\r
+0215E6F2FF0382020FEFE7EF0F820215EFE7EF03FF03C003FF03C0021BEFE7EF\r
+36820205E6F2FF0382FDE6F2FF1B820205E6F2FF3082021AEFE7EF03FF03C003\r
+FF03C00229EFE7EF0382FAEFE7EFEFE7EF03820205E6F2FF0682FDE6F2FF0982\r
+FDE6F2FF0C820205E6F2FF03820229EFE7EF03FF03C003FF03C0022CEFE7EF03\r
+820205E6F2FF06820205E6F2FF03820208E6F2FF03820229EFE7EF03FF03C003\r
+FF03C0022CEFE7EF03820215E6F2FF03820229EFE7EF03FF03C003FF03C0022C\r
+EFE7EF03820215E6F2FF03820229EFE7EF03FF03C003FF03C0022CEFE7EF0382\r
+0215E6F2FF03820229EFE7EF03FF03C003FF03C0022CEFE7EF45820229EFE7EF\r
+03FF03C003FF03C0022CEFE7EF0216E6F2FF022AEFE7EF03FF03C003FF03C002\r
+6CEFE7EF03FF03C003FF03C0026DEFE7EF03C003FF03C0026CEFE7EF06C003FF\r
+03C00217EFE7EF03C0FDEFE7EF06C0FDEFE7EF12C0FDEFE7EF03C0FAEFE7EFEF\r
+E7EF09C00206EFE7EF09C0FAEFE7EFEFE7EF0CC0FAEFE7EFEFE7EF06C0FAEFE7\r
+EFEFE7EF03C0FDEFE7EF06C0FAEFE7EFEFE7EF06C0FDEFE7EF03C0FDEFE7EF03\r
+C0FAEFE7EFEFE7EF0CC0FAEFE7EFEFE7EF0CC00216EFE7EF03C006FF03C00217\r
+EFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF03C0FAEFE7EFEFE7\r
+EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF03C00205EFE7EF06C0FA\r
+EFE7EFEFE7EF06C0FAEFE7EFEFE7EF06C0FAEFE7EFEFE7EF06C0FAEFE7EFEFE7\r
+EF06C00203EFE7EF03C00203EFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7\r
+EFEFE7EF06C0FAEFE7EFEFE7EF03C0FDEFE7EF09C00215EFE7EF03C006FF03C0\r
+0217EFE7EF09C0FDEFE7EF03C0FAEFE7EFEFE7EF03C0FAEFE7EFEFE7EF03C0FD\r
+EFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF06C00204EFE7EF03C00204EFE7EF\r
+03C0FAEFE7EFEFE7EF09C0FDEFE7EF09C0FDEFE7EF06C0FAEFE7EFEFE7EF06C0\r
+0203EFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF09C0FDEFE7EF\r
+06C00218EFE7EF03C009FF03C00216EFE7EF03C0FAEFE7EFEFE7EF03C0FDEFE7\r
+EF09C0FAEFE7EFEFE7EF09C0FAEFE7EFEFE7EF09C0FDEFE7EF03C00203EFE7EF\r
+06C00204EFE7EF06C0FDEFE7EF03C0FDEFE7EF03C0FDEFE7EF03C0FDEFE7EF03\r
+C0FAEFE7EFEFE7EF06C0FAEFE7EFEFE7EF0CC0FDEFE7EF03C0FAEFE7EFEFE7EF\r
+06C0FDEFE7EF03C0FDEFE7EF03C0FAEFE7EFEFE7EF06C00215EFE7EF03C00CFF\r
+03C00216EFE7EF09C00209EFE7EF03C0020BEFE7EF09C00215EFE7EF03C0FDEF\r
+E7EF03C00221EFE7EF03C00FFF03C00268EFE7EF03C012FF03C00268EFE7EF03\r
+C015FF06C00264EFE7EF06C01EFF06C00260EFE7EF06C02AFF7FC07FC019C0FD\r
+EFE7EF06C018FFFE00000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Router to Router Prime"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+Figure 1\r
+{\r
+  Style "SILC Background"\r
+  Text ""\r
+  Bounds 400,416,1584,1440\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 2\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Router Connections"\r
+  Bounds 656,455,1332,537\r
+  TextColor 192,192,192\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 20\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 3\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 544,720,800,848\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 4\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 448,912,704,1040\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 5\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 560,1104,816,1232\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 6\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 880,1264,1136,1392\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 7\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 1216,1104,1472,1232\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 8\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 1280,912,1536,1040\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 9\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 1216,720,1472,848\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 10\r
+{\r
+  Style "SILC Router"\r
+  Text "Router"\r
+  Bounds 880,560,1136,688\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 11\r
+{\r
+  Style "SILC INFO"\r
+  Text "INFO"\r
+  Bounds 496,1456,1520,1616\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 12\r
+{\r
+  Text ""\r
+  Bounds 1033,921,1048,936\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 13\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 12\r
+  Figure2 8\r
+  EndPoint1 1040,928\r
+  EndPoint2 1280,959\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 14\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 10\r
+  Figure2 12\r
+  EndPoint1 1015,688\r
+  EndPoint2 1040,928\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 15\r
+{\r
+  Text ""\r
+  Bounds 953,921,968,936\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 16\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 -1\r
+  Figure2 15\r
+  EndPoint1 923,704\r
+  EndPoint2 960,928\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 17\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 15\r
+  Figure2 5\r
+  EndPoint1 960,928\r
+  EndPoint2 761,1104\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 18\r
+{\r
+  Text ""\r
+  Bounds 1049,1129,1064,1144\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 19\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 9\r
+  Figure2 18\r
+  EndPoint1 1291,848\r
+  EndPoint2 1056,1136\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 20\r
+{\r
+  Style "SILC Router to Router"\r
+  Figure1 18\r
+  Figure2 5\r
+  EndPoint1 1056,1136\r
+  EndPoint2 816,1156\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 21\r
+{\r
+  Style "Router to Router Prime"\r
+  Figure1 -1\r
+  Figure2 -1\r
+  EndPoint1 624,1504\r
+  EndPoint2 912,1504\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 22\r
+{\r
+  Style "Router to Router Prime"\r
+  Figure1 -1\r
+  Figure2 -1\r
+  EndPoint1 624,1552\r
+  EndPoint2 912,1552\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 25\r
+  PenStyle 21\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 23\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Primary Route"\r
+  Bounds 1064,1490,1244,1522\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Figure 24\r
+{\r
+  Label TRUE\r
+  Style "Title"\r
+  Text "Secondary Routes"\r
+  Bounds 1064,1536,1299,1568\r
+  TextColor 130,130,130\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeItalic TRUE\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 25\r
+{\r
+  Style "Flow Closed"\r
+  Figure1 9\r
+  Figure2 8\r
+  EndPoint1 1366,848\r
+  EndPoint2 1386,912\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 26\r
+{\r
+  Style "Flow Closed"\r
+  Figure1 8\r
+  Figure2 7\r
+  EndPoint1 1386,1040\r
+  EndPoint2 1366,1104\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 27\r
+{\r
+  Style "Flow Closed"\r
+  Figure1 5\r
+  Figure2 4\r
+  EndPoint1 650,1104\r
+  EndPoint2 614,1040\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000000\r
+}\r
+\r
+Connector 28\r
+{\r
+  Style "Flow Closed"\r
+  Figure1 4\r
+  Figure2 3\r
+  EndPoint1 608,912\r
+  EndPoint2 640,848\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000000\r
+}\r
+\r
+Figure 29\r
+{\r
+  Text ""\r
+  Bounds 1321,633,1336,648\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 30\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 10\r
+  Figure2 29\r
+  EndPoint1 1136,631\r
+  EndPoint2 1328,640\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 31\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 29\r
+  Figure2 9\r
+  EndPoint1 1328,640\r
+  EndPoint2 1336,720\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 32\r
+{\r
+  Text ""\r
+  Bounds 665,633,680,648\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 33\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 3\r
+  Figure2 32\r
+  EndPoint1 672,720\r
+  EndPoint2 672,640\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 34\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 32\r
+  Figure2 10\r
+  EndPoint1 672,640\r
+  EndPoint2 880,631\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 35\r
+{\r
+  Text ""\r
+  Bounds 1321,1337,1336,1352\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 36\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 7\r
+  Figure2 35\r
+  EndPoint1 1338,1232\r
+  EndPoint2 1328,1344\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 37\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 35\r
+  Figure2 6\r
+  EndPoint1 1328,1344\r
+  EndPoint2 1136,1335\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Figure 38\r
+{\r
+  Text ""\r
+  Bounds 713,1337,728,1352\r
+  FillColor 0,0,0\r
+  BorderWidth 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0000\r
+  Behavior 0x00327A12\r
+  Symbol "null"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+Connector 39\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 6\r
+  Figure2 38\r
+  EndPoint1 880,1336\r
+  EndPoint2 720,1344\r
+  SuppressEnd1 FALSE\r
+  SuppressEnd2 TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+Connector 40\r
+{\r
+  Style "Flow Closed Smoothed"\r
+  Figure1 38\r
+  Figure2 5\r
+  EndPoint1 720,1344\r
+  EndPoint2 700,1232\r
+  SuppressEnd1 TRUE\r
+  SuppressEnd2 FALSE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 25\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+## Staples Section:\r
diff --git a/doc/whitepaper/silc_template.edg b/doc/whitepaper/silc_template.edg
new file mode 100644 (file)
index 0000000..0d33ae5
--- /dev/null
@@ -0,0 +1,1597 @@
+EDGE Diagram File\r
+Version 3.50\r
+\r
+## Globals Section:\r
+\r
+X -248\r
+Y 565\r
+Scale 100\r
+PosterRows 1\r
+PosterCols 1\r
+Color1 221,208,221\r
+Color2 192,192,192\r
+Color3 130,130,130\r
+Color4 0,0,0\r
+Color5 0,255,255\r
+Color6 0,0,255\r
+Color7 0,0,160\r
+Color8 128,0,128\r
+Color9 239,231,239\r
+Color10 219,219,219\r
+Color11 244,244,244\r
+Color12 255,242,230\r
+Color13 240,255,240\r
+Color14 0,128,0\r
+Color15 223,223,255\r
+Color16 255,255,0\r
+GridX 32\r
+GridY 32\r
+SnapX 16\r
+SnapY 16\r
+SnapConPtsCentersEdges TRUE\r
+ShadowColor 130,130,130\r
+ShadowX 11\r
+ShadowY 11\r
+ShowGrid TRUE\r
+AlignToGrid TRUE\r
+AlignToGridConPts TRUE\r
+AttachMode 1\r
+SBarWidth 164\r
+SBarFigCols 3\r
+SBarLblCols 1\r
+SBarConCols 2\r
+SBarFigHeight 32\r
+SBarLblHeight 32\r
+SBarConHeight 24\r
+Parent ""\r
+LargeDropMenus FALSE\r
+LastEnd "block shorter"\r
+LastEndLen 36\r
+ConPointMarks 0\r
+CornerRadius 18\r
+Template "silc_template.edg"\r
+\r
+DevMode 580\r
+{\r
+4850204C617365724A6574203131303000000000000000000000000000000000\r
+000400049400B0010F77010401000900990B3408640001000700580201000100\r
+580202000000323130207820323937206D6D0000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000001000000\r
+010000000100000001000000000000000000000000004850204C617365724A65\r
+742031313030000000000000000000000000000000004C5054313A0000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000044021005100500004402540300000300\r
+8403DC0501000000000000000000000000000000000000000000000064000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000001000100000002000000000000000000000000000000\r
+0100000002000100000000000000480002000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000100000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+0000000000000000000000000000000000000000000000000000000000000000\r
+00000100\r
+}\r
+\r
+DevNames 68\r
+{\r
+080011002200010077696E73706F6F6C004850204C617365724A657420313130\r
+30004C5054313A00000000000000000000000000000000000000000000000000\r
+50F0FF00\r
+}\r
+\r
+Preview 700\r
+{\r
+FC424DF6A20600FF360300FF280300FF700300FF7C0300FD0100180900FAC30E\r
+0000C30E0A007FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF\r
+7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF08FFFE000000\r
+}\r
+\r
+## Graphics Section:\r
+\r
+## Figure Symbols Section:\r
+\r
+FigureSymbol "data"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+}\r
+\r
+FigureSymbol "rounded box 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >150,0,<850,1000\r
+    Rect 0,>150,1000,<850\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<700,1000,1000\r
+    Ellipse 0,<700,>300,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<850\r
+    Arc <700,<700,1000,1000 <850,1000 1000,<850\r
+    Line >150,1000 <850,1000\r
+    Arc 0,<700,>300,1000 0,<850 >150,1000\r
+    Line 0,>150 0,<850\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 <874,1000 <919,<985 <957,<957 <985,<919 1000,<874 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<874-\r
+   >16,<919 >44,<957 >82,<985 >127,1000 <874,1000\r
+}\r
+\r
+FigureSymbol "connector"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 100,100,900,900\r
+  Fill\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Ellipse 0,0,1000,1000\r
+  }\r
+  Hot 17 599,1000 783,924 924,783 1000,599 1000,402 924,218 783,77 599,1-\r
+   402,1 218,77 77,218 1,402 1,599 77,783 218,924 402,1000-\r
+   599,1000\r
+}\r
+\r
+FigureSymbol "decision"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,255,800,750\r
+  TextBox 800,375,950,625\r
+  TextBox 425,750,575,1000\r
+  TextBox 50,375,200,625\r
+  TextBox 425,0,575,250\r
+  Fill\r
+  {\r
+    Polygon 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,0 1000,500 500,1000 0,500 500,0\r
+  }\r
+  Hot 5 500,0 1000,500 500,1000 0,500 500,0\r
+}\r
+\r
+FigureSymbol "box 3d"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<850,<850\r
+  Fill\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Rect >100,>100,1000,1000\r
+    Polygon 4 <900,0 1000,>100 <900,>100 <900,0\r
+    Polygon 4 0,<900 >100,1000 >100,<900 0,<900\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,<900,<900\r
+    Polyline 5 <900,0 1000,>100 1000,1000 >100,1000 0,<900\r
+    Line <900,<900 1000,1000\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,<800,<800\r
+    Polyline 5 <800,0 1000,>200 1000,1000 >200,1000 0,<800\r
+    Line <800,<800 1000,1000\r
+  }\r
+  Hot 7 0,0 <900,0 1000,>100 1000,1000 >100,1000 0,<900 0,0\r
+}\r
+\r
+FigureSymbol "octagon"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+     0,>333\r
+  }\r
+  Hot 9 0,>333 >333,0 <666,0 1000,>333 1000,<666 <666,1000 >333,1000 0,<666-\r
+   0,>333\r
+}\r
+\r
+FigureSymbol "dog ear"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>150,<850,<850\r
+  Fill\r
+  {\r
+    Polygon 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+    Polyline 3 <850,0 <850,>150 1000,>150\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 6 0,0 <700,0 1000,>300 1000,1000 0,1000 0,0\r
+    Polyline 3 <700,0 <700,>300 1000,>300\r
+  }\r
+  Hot 6 0,0 <850,0 1000,>150 1000,1000 0,1000 0,0\r
+}\r
+\r
+FigureSymbol "disk simple"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>250,<900,<900\r
+  Fill\r
+  {\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Ellipse 0,<800,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line 0,>100 0,<900\r
+    Line 1000,>100 1000,<900\r
+    Ellipse 0,0,1000,>200\r
+    Arc 0,<800,1000,1000 0,<900 1000,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Line 0,200 0,800\r
+    Line 1000,100 1000,900\r
+    Ellipse 0,0,1000,400\r
+    Arc 0,600,1000,1000 0,800 1000,800\r
+  }\r
+  Hot 17 1,>81 77,>44 218,>16 402,>1 599,>1 783,>16 924,>44 1000,>81-\r
+   1000,<920 924,<957 783,<985 599,<1000 402,<1000 218,<985 77,<957 1,<920-\r
+   1,>81\r
+}\r
+\r
+FigureSymbol "input/ouput"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Polygon 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+  }\r
+  Hot 5 >200,0 1000,0 <800,1000 0,1000 >200,0\r
+}\r
+\r
+FigureSymbol "terminal"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>100,<800,<900\r
+  Fill\r
+  {\r
+    Rect >500,0,<500,1000\r
+    Ellipse 0,0,>999,1000\r
+    Ellipse <1,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Line >500,0 <500,0\r
+    Line >500,1000 <500,1000\r
+    Arc 0,0,>999,1000 >500,0 >500,1000\r
+    Arc <1,0,1000,1000 <500,1000 <500,0\r
+  }\r
+  Hot 17 >401,1 >217,77 >77,218 >1,402 >1,599 >77,783 >217,924 >401,1000-\r
+   <599,1000 <783,924 <923,783 <999,599 <999,402 <923,218 <783,77 <599,1-\r
+   >401,1\r
+}\r
+\r
+FigureSymbol "preparation"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >150,>100,<850,<900\r
+  Fill\r
+  {\r
+    Polygon 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+  }\r
+  Hot 7 >200,0 <800,0 1000,500 <800,1000 >200,1000 0,500 >200,0\r
+}\r
+\r
+FigureSymbol "cloud"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox 200,200,800,800\r
+  Fill\r
+  {\r
+    Ellipse 84,114,672,702\r
+    Ellipse 421,89,859,527\r
+    Ellipse 573,286,995,708\r
+    Ellipse 263,492,721,950\r
+    Ellipse 0,528,423,952\r
+  }\r
+  Outline\r
+  {\r
+    Arc 84,114,672,702 500,140 120,550\r
+    Arc 421,89,859,527 860,300 500,140\r
+    Arc 573,286,995,708 720,700 860,300\r
+    Arc 263,492,721,950 350,900 720,700\r
+    Arc 0,528,423,952 120,550 350,900\r
+  }\r
+  Hot 40 350,900 363,915 447,950 538,950 622,915 686,851 721,767 720,700-\r
+   743,708 826,708 904,676 963,617 995,539 995,456 963,378 904,319-\r
+   860,300 859,265 826,185 764,123 684,90 597,90 517,123 500,140-\r
+   436,115 321,115 212,160 130,242 85,351 85,466 120,550 92,561-\r
+   33,621 1,699 1,782 33,860 92,920 170,952 253,952 350,900\r
+}\r
+\r
+FigureSymbol "document"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<750\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,<900\r
+    Ellipse 0,<800,500,1000\r
+    Chord 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 0,<900 0,0 1000,0 1000,<900\r
+    Arc 0,<800,500,1000 0,<900 500,<900\r
+    Arc 500,<800,1000,1000 1000,<900 500,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Polyline 4 0,900 0,0 1000,0 1000,900\r
+    Arc 0,600,550,1000 0,750 550,750\r
+    Arc 480,700,1000,1000 1000,850 480,850\r
+  }\r
+  Hot 11 1,<941 147,<1000 354,<1000 500,<941 501,<860 647,<801 854,<801 1000,<860-\r
+   1000,0 0,0 1,<941\r
+}\r
+\r
+FigureSymbol "bevel"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >125,>125,<875,<875\r
+  Fill\r
+  {\r
+    Rect 0,0,1000,1000\r
+  }\r
+  Outline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect >75,>75,<925,<925\r
+    Line 0,0 >75,>75\r
+    Line 0,1000 >75,<925\r
+    Line <925,<925 1000,1000\r
+    Line <925,>75 1000,0\r
+  }\r
+  MiniOutline\r
+  {\r
+    Rect 0,0,1000,1000\r
+    Rect 150,150,850,850\r
+    Line 0,0 150,150\r
+    Line 0,1000 150,850\r
+    Line 850,850 1000,1000\r
+    Line 850,150 1000,0\r
+  }\r
+}\r
+\r
+FigureSymbol "arrow right 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >50,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+  }\r
+  Hot 8 0,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800 0,<800 0,>200\r
+}\r
+\r
+FigureSymbol "arrow left 2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<950,<750\r
+  Fill\r
+  {\r
+    Polygon 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+  }\r
+  Hot 8 1000,>200 >300,>200 >300,0 0,500 >300,1000 >300,<800 1000,<800 1000,>200\r
+}\r
+\r
+FigureSymbol "arrow up"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<950\r
+  Fill\r
+  {\r
+    Polygon 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+  }\r
+  Hot 8 500,0 1000,>350 <850,>350 <850,1000 >150,1000 >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow up/down 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>350,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+     >150,>350 0,>350 500,0\r
+  }\r
+  Hot 11 500,0 1000,>350 <850,>350 <850,<650 1000,<650 500,1000 0,<650 >150,<650-\r
+   >150,>350 0,>350 500,0\r
+}\r
+\r
+FigureSymbol "arrow left/right 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >300,>250,<700,<750\r
+  Fill\r
+  {\r
+    Polygon 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+     >300,<800 >300,1000 0,500\r
+  }\r
+  Hot 11 0,500 >300,0 >300,>200 <700,>200 <700,0 1000,500 <700,1000 <700,<800-\r
+   >300,<800 >300,1000 0,500\r
+}\r
+\r
+FigureSymbol "arrow down"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >200,>50,<800,<650\r
+  Fill\r
+  {\r
+    Polygon 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+  }\r
+  Hot 8 500,1000 1000,<650 <850,<650 <850,0 >150,0 >150,<650 0,<650 500,1000\r
+}\r
+\r
+FigureSymbol "callout 3"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 0,1000 >400,<800 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 0,1000 >400,<800 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 >150,<800 0,1000 >400,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "callout 4"\r
+{\r
+  FixedAspect FALSE\r
+  Height 0\r
+  Width 0\r
+  TextBox >100,>100,<900,<700\r
+  Fill\r
+  {\r
+    Polygon 11 0,>150 0,<650 >150,<800 <600,<800 1000,1000 <850,<800 1000,<650 1000,>150-\r
+     <900,0 >150,0 0,>150\r
+    Rect >300,0,<700,<800\r
+    Rect 0,>300,1000,<500\r
+    Ellipse 0,0,>300,>300\r
+    Ellipse <700,0,1000,>300\r
+    Ellipse <700,<500,1000,<800\r
+    Ellipse 0,<500,>300,<800\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>300,>300 >150,0 0,>150\r
+    Line >150,0 <850,0\r
+    Arc <700,0,1000,>300 1000,>150 <850,0\r
+    Line 1000,>150 1000,<650\r
+    Arc <700,<500,1000,<800 <850,<800 1000,<650\r
+    Polyline 4 >150,<800 <600,<800 1000,1000 <850,<800\r
+    Arc 0,<500,>300,<800 0,<650 >150,<800\r
+    Line 0,>150 0,<650\r
+  }\r
+  Hot 24 <874,<800 <919,<785 <957,<757 <985,<719 1000,<674 1000,>127 <985,>82 <957,>44-\r
+   <919,>16 <874,0 >127,0 >82,>16 >44,>44 >16,>82 0,>127 0,<674-\r
+   >16,<719 >44,<757 >82,<785 >127,<800 <600,<800 1000,1000 <850,<800 <874,<800\r
+}\r
+\r
+FigureSymbol "banner2"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 512\r
+  TextBox >325,>25,<725,<855\r
+  Fill\r
+  {\r
+    Polygon 23 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<880 <600,<880 <600,<910-\r
+     <600,<964 <600,<975 <605,<986 <613,<994 <630,1000 1000,1000 <890,560 1000,>120-\r
+     <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 43 0,1000 >370,1000 >387,<994 >395,<986 >400,<975 >400,<964 >395,<953 >387,<945-\r
+     >370,<940 >330,<940 >313,<934 >305,<926 >300,<915 >300,<904 >305,<893 >313,<880-\r
+     >330,<880 <670,<880 <687,<880 <695,<893 <700,<904 <700,<915 <695,<926 <687,<934-\r
+     <670,<940 <630,<940 <613,<945 <605,<953 <600,<964 <600,<975 <605,<986 <613,<994-\r
+     <630,1000 1000,1000 <890,560 1000,>120 <700,>120 <700,0 >300,0 >300,>120-\r
+     0,>120 >110,560 0,1000\r
+    Line >300,<910 >300,>120\r
+    Line >400,<880 >400,<970\r
+    Line <700,<910 <700,>120\r
+    Line <600,<880 <600,<970\r
+  }\r
+  Hot 15 0,1000 >400,1000 >400,<880 <600,<880 <600,1000 1000,1000 <890,560 1000,>120-\r
+   <700,>120 <700,0 >300,0 >300,>120 0,>120 >110,560 0,1000\r
+}\r
+\r
+FigureSymbol "scroll1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox >170,>170,<830,<950\r
+  Fill\r
+  {\r
+    Polygon 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 33 >120,<880 >51,<880 >33,<887 >18,<898 >7,<913 0,<931 0,<950 >7,<968-\r
+     >18,<983 >33,<994 >51,1000 <787,1000 <821,<994 <849,<983 <869,<968 <880,<950-\r
+     <880,>120 <950,>120 <968,>114 <983,>103 <994,>88 1000,>70 1000,>51 <994,>33-\r
+     <983,>18 <968,>7 <950,0 >171,0 >153,7 >138,>18 >127,>33 >120,>51-\r
+     >120,<880\r
+    Polyline 6 >120,<880 >120,<950 >114,<968 >103,<983 >88,<994 >70,1000\r
+    Polyline 11 >190,0 >208,7 >223,>18 >234,>33 >240,>51 >240,>70 >234,>88 >223,>103-\r
+     >208,>114 >190,>120 <880,>120\r
+    Polyline 6 >66,<880 >77,<886 >85,<894 >77,<935 >66,<940 >120,940\r
+    Polyline 10 >240,>60 >163,>60 >158,>66 >153,>74 >151,>85 >151,>96 >153,>107 >158,>115-\r
+     >163,>120 >190,>120\r
+  }\r
+  Hot 9 >120,<880 0,<880 0,1000 <880,1000 <880,>120 1000,>120 1000,0 >120,0-\r
+   >120,<880\r
+}\r
+\r
+FigureSymbol "explosion"\r
+{\r
+  FixedAspect FALSE\r
+  Height 192\r
+  Width 192\r
+  TextBox 200,300,800,700\r
+  Fill\r
+  {\r
+    Polygon 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+     975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+     400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+     0,100\r
+  }\r
+  Hot 25 0,100 330,300 400,100 500,280 775,0 750,260 850,200 780,325-\r
+   975,385 820,480 1000,600 780,585 840,830 665,675 605,900 485,680-\r
+   400,1000 360,725 215,805 270,630 0,680 190,550 0,400 200,340-\r
+   0,100\r
+}\r
+\r
+FigureSymbol "rounded box 1"\r
+{\r
+  FixedAspect FALSE\r
+  Height 128\r
+  Width 192\r
+  TextBox >100,>100,<900,<900\r
+  Fill\r
+  {\r
+    Rect >100,0,<900,1000\r
+    Rect 0,>100,1000,<900\r
+    Ellipse 0,0,>200,>200\r
+    Ellipse <800,0,1000,>200\r
+    Ellipse <800,<800,1000,1000\r
+    Ellipse 0,<800,>200,1000\r
+  }\r
+  Outline\r
+  {\r
+    Arc 0,0,>200,>200 >100,0 0,>100\r
+    Line >100,0 <900,0\r
+    Arc <800,0,1000,>200 1000,>100 <900,0\r
+    Line 1000,>100 1000,<900\r
+    Arc <800,<800,1000,1000 <900,1000 1000,<900\r
+    Line >100,1000 <900,1000\r
+    Arc 0,<800,>200,1000 0,<900 >100,1000\r
+    Line 0,>100 0,<900\r
+  }\r
+  MiniOutline\r
+  {\r
+    Arc 0,0,>500,>500 >250,0 0,>250\r
+    Line >250,0 <750,0\r
+    Arc <500,0,1000,>500 1000,>250 <750,0\r
+    Line 1000,>250 1000,<750\r
+    Arc <500,<500,1000,1000 <750,1000 1000,<750\r
+    Line >250,1000 <750,1000\r
+    Arc 0,<500,>500,1000 0,<750 >250,1000\r
+    Line 0,>250 0,<750\r
+  }\r
+  Hot 21 0,>85 >11,>55 >29,>29 >55,>11 >85,0 <916,0 <946,>11 <972,>29-\r
+   <990,>55 1000,>85 <1000,<916 <990,<946 <972,<972 <946,<990 <916,1000 >85,1000-\r
+   >55,<990 >29,<972 >11,<946 0,<916 0,>85\r
+}\r
+\r
+## End Symbols Section:\r
+\r
+EndSymbol "block"\r
+{\r
+  LineTo 100\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 1000,300 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "block short"\r
+{\r
+  LineTo 60\r
+  Fill\r
+  {\r
+    Polygon 4 500,500 800,300 800,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 4 500,500 800,300 800,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "taper"\r
+{\r
+  LineTo 80\r
+  Fill\r
+  {\r
+    Polygon 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+  Outline\r
+  {\r
+    Polyline 5 500,500 1000,300 900,500 1000,700 500,500\r
+  }\r
+}\r
+\r
+EndSymbol "stick"\r
+{\r
+  Outline\r
+  {\r
+    Line 500,500 1000,300\r
+    Line 500,500 1000,700\r
+  }\r
+}\r
+\r
+## Figure Styles Section:\r
+\r
+FigureStyle "Title"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "A diagram title"\r
+  TextFormat 0x0022\r
+  Behavior 0x00824192\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Title Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0022\r
+  Behavior 0x00A241D2\r
+  Symbol "lbl"\r
+  TypeSize 12\r
+  TypeWeight 400\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label"\r
+{\r
+  Label TRUE\r
+  Height 64\r
+  Width 128\r
+  Description "An annotation, comment, or title"\r
+  TextFormat 0x0044\r
+  Behavior 0x008241A1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Label Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241C9\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Note Serif"\r
+{\r
+  Label TRUE\r
+  Height 0\r
+  Width 0\r
+  TextColor 0,0,160\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00A241E1\r
+  Symbol "lbl"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rectangle 3D"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "box 3d"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Paper"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "dog ear"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Rounded"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "rounded box 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Ellipse"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Terminal"\r
+{\r
+  Height 64\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "terminal"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Square"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 161\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Circle"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 160\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "connector"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Stop"\r
+{\r
+  Height 128\r
+  Width 128\r
+  DefaultText "STOP"\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "octagon"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Diamond"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "decision"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Frame"\r
+{\r
+  Height 160\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "bevel"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Disk"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "disk simple"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Slanted"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "input/ouput"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Hexagon"\r
+{\r
+  HasButton TRUE\r
+  Height 161\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "preparation"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Inverse"\r
+{\r
+  Height 160\r
+  Width 288\r
+  FillColor 0,0,0\r
+  TextColor 255,255,255\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Shadow"\r
+{\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Idea"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Document"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "document"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow right 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left 2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow right/left"\r
+{\r
+  Height 128\r
+  Width 289\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow left/right 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow down"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Arrow up/down"\r
+{\r
+  Height 161\r
+  Width 128\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "arrow up/down 1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Left"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 3"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Callout Right"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 288\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "callout 4"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Banner"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 512\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "banner2"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Scroll"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "scroll1"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "Explosion"\r
+{\r
+  HasButton TRUE\r
+  Height 192\r
+  Width 192\r
+  BorderWidth 3\r
+  TextFormat 0x0022\r
+  Behavior 0x00024E12\r
+  Symbol "explosion"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC INFO"\r
+{\r
+  HasButton TRUE\r
+  Height 160\r
+  Width 1472\r
+  BorderColor 192,192,192\r
+  FillColor 252,252,252\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  BindToStyle FALSE\r
+  TextFormat 0x0044\r
+  Behavior 0x00024E11\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeWeight 700\r
+  TypeOutPrec 3\r
+  TypeClpPrec 2\r
+  TypeQuality 1\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Background"\r
+{\r
+  HasButton TRUE\r
+  Height 1440\r
+  Width 1344\r
+  BorderColor 192,192,192\r
+  FillColor 239,231,239\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  TextFormat 0x0042\r
+  Behavior 0x00024E22\r
+  Symbol "rounded box 1"\r
+  TypeSize 10\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Server"\r
+{\r
+  HasButton TRUE\r
+  Height 96\r
+  Width 192\r
+  BorderColor 130,130,130\r
+  FillColor 244,244,244\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Router"\r
+{\r
+  HasButton TRUE\r
+  Height 128\r
+  Width 256\r
+  BorderColor 130,130,130\r
+  FillColor 255,242,230\r
+  TextColor 130,130,130\r
+  BorderWidth 3\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 12\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Client"\r
+{\r
+  HasButton TRUE\r
+  Height 64\r
+  Width 96\r
+  BorderColor 130,130,130\r
+  FillColor 219,219,219\r
+  TextColor 130,130,130\r
+  BorderWidth 2\r
+  Shadow TRUE\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "data"\r
+  TypeSize 8\r
+  TypeFace "Arial"\r
+}\r
+\r
+FigureStyle "SILC Network Cloud"\r
+{\r
+  HasButton TRUE\r
+  Height 480\r
+  Width 672\r
+  BorderColor 227,225,255\r
+  FillColor 240,240,255\r
+  TextColor 192,192,192\r
+  BorderWidth 3\r
+  TextFormat 0x0A22\r
+  Behavior 0x00024E12\r
+  Symbol "cloud"\r
+  TypeSize 18\r
+  TypeWeight 700\r
+  TypeFace "Arial"\r
+}\r
+\r
+## Connector Styles Section:\r
+\r
+ConnectorStyle "Plain"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Dashed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Open 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Flow Closed 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Stick 2"\r
+{\r
+  HasButton TRUE\r
+  End1 "stick"\r
+  End2 "stick"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open"\r
+{\r
+  End1 "null"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Taper Open 2"\r
+{\r
+  End1 "taper"\r
+  End2 "taper"\r
+  End1Length 32\r
+  End2Length 32\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End1FillColor 255,255,255\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000000\r
+}\r
+\r
+ConnectorStyle "Plain Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Dashed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "null"\r
+  End1Length 18\r
+  End2Length 18\r
+  PenStyle 2\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Closed Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "Flow Open Smoothed"\r
+{\r
+  HasButton TRUE\r
+  End1 "null"\r
+  End2 "block"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  End2FillColor 255,255,255\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Router to Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block"\r
+  End2 "block"\r
+  End1Length 36\r
+  End2Length 36\r
+  PenStyle 4\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Color 130,130,130\r
+  Behavior 0x00000008\r
+}\r
+\r
+ConnectorStyle "SILC Server To Router"\r
+{\r
+  HasButton TRUE\r
+  End1 "block short"\r
+  End2 "block short"\r
+  End1Length 18\r
+  End2Length 18\r
+  LineWidth 3\r
+  EndBorderWidth 2\r
+  Behavior 0x00000000\r
+}\r
+\r
+## Figures & Connectors Section:\r
+\r
+## Staples Section:\r
similarity index 100%
rename from doc/fix.pl
rename to scripts/fix.pl
diff --git a/scripts/html2ps b/scripts/html2ps
new file mode 100755 (executable)
index 0000000..d11ca0c
--- /dev/null
@@ -0,0 +1,4606 @@
+: # Use perl
+eval 'exec perl -S $0 "$@"'
+  if $running_under_some_shell;
+
+# This is html2ps version 1.0 beta3, an HTML-to-PostScript converter.
+#   Copyright (C) 1995-2000 Jan Karrman.
+#
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# Author: Jan Karrman, Dept. of Scientific Computing, Uppsala University,
+#         Sweden, e-mail: jan@tdb.uu.se.
+
+
+# Set the name of the global configuration file. See the installation notes
+# and manual page for more details on configuration files.
+
+$globrc='/usr/local/lib/html2ps/html2psrc';
+$ug='/usr/local/lib/html2ps/html2ps.html';
+
+$conf=<<'EOR';
+@html2ps {
+  package {
+    PerlMagick: 0;
+    ImageMagick: 0;
+    pbmplus: 0;
+    netpbm: 0;
+    djpeg: 0;
+    Ghostscript: 0;
+    TeX: 0;
+    dvips: 0;
+    libwww-perl: 0;
+    jfriedl: 0;
+    geturl: "";
+    check: "";
+    path: "";
+  }
+  paper {
+    type: A4;
+    height: "";
+    width: "";
+  }
+  option {
+    twoup: 0;
+    base: "";
+    check: 0;
+    toc: "";
+    debug: 0;
+    DSC: 0;
+    encoding: "ISO-8859-1";
+    rcfile: "";
+    frame: 0;
+    grayscale: 0;
+    help: 0;
+    hyphenate: 0;
+    scaleimage: 1;
+    cookie: "";
+    language: "";
+    landscape: 0;
+    scalemath: 1;
+    number: 0;
+    startno: "";
+    output: "";
+    original: 0;
+    rootdir: "";
+    xref: 0;
+    scaledoc: 1;
+    style: "";
+    titlepage: 0;
+    text: 0;
+    underline: 0;
+    colour: 0;
+    version: 0;
+    web: "";
+    duplex: "";
+  }
+  margin {
+    middle: 2cm;
+  }
+  xref {
+    text: "[p $N]";
+    passes: 1;
+  }
+  quote {
+    en {
+      open: "&ldquo;";
+      close: "&rdquo;";
+      open2: "`";
+      close2: "'";
+    }
+    sv {
+      open: "&rdquo;";
+      close: "&rdquo;";
+      open2: "'";
+      close2: "'";
+    }
+    da {
+      open: "&raquo;";
+      close: "&laquo;";
+    }
+    no {
+      open: "&laquo;";
+      close: "&raquo;";
+    }
+    fr {
+      open: "&laquo;&nbsp;";
+      close: "&nbsp;&raquo;";
+    }
+    de {
+      open: "&bdquo;";
+      close: "&ldquo;";
+      open2: "&sbquo;";
+      close2: "`";
+    }
+    fi: sv;
+    es: en;
+    it: no;
+    nn: no;
+    nb: no;
+  }
+  toc {
+    heading: "<H1>Table of Contents</H1>";
+    level: 6;
+    indent: 1em;
+  }
+  titlepage {
+    content: "<DIV align=center>
+      <H1><BIG>$T</BIG></H1>
+      <H2>$[author]</H2></DIV>";
+    margin-top: 4cm;
+  }
+  font {
+    times {
+      names: "Times-Roman
+              Times-Italic
+              Times-Bold
+              Times-BoldItalic";
+    }
+    new-century-schoolbook {
+      names: "NewCenturySchlbk-Roman
+              NewCenturySchlbk-Italic
+              NewCenturySchlbk-Bold
+              NewCenturySchlbk-BoldItalic";
+    }
+    helvetica {
+      names: "Helvetica
+              Helvetica-Oblique
+              Helvetica-Bold
+              Helvetica-BoldOblique";
+    }
+    helvetica-narrow {
+      names: "Helvetica-Narrow
+              Helvetica-Narrow-Oblique
+              Helvetica-Narrow-Bold
+              Helvetica-Narrow-BoldOblique";
+    }
+    palatino {
+      names: "Palatino-Roman
+              Palatino-Italic
+              Palatino-Bold
+              Palatino-BoldItalic";
+    }
+    avantgarde {
+      names: "AvantGarde-Book
+              AvantGarde-BookOblique
+              AvantGarde-Demi
+              AvantGarde-DemiOblique";
+    }
+    bookman {
+      names: "Bookman-Light
+              Bookman-LightItalic
+              Bookman-Demi
+              Bookman-DemiItalic";
+    }
+    courier {
+      names: "Courier
+              Courier-Oblique
+              Courier-Bold
+              Courier-BoldOblique";
+    }
+  }
+  hyphenation {
+    min: 8;
+    start: 4;
+    end: 3;
+    en {
+      file: "";
+      extfile: "";
+    }
+  }
+  header {
+    left: "";
+    center: "";
+    right: "";
+    odd-left: "";
+    odd-center: "";
+    odd-right: "";
+    even-left: "";
+    even-center: "";
+    even-right: "";
+    font-family: Helvetica;
+    font-size: 8pt;
+    font-style: normal;
+    font-weight: normal;
+    color: black;
+    alternate: 1;
+  }
+  footer {
+    left: "";
+    center: "";
+    right: "";
+    odd-left: "";
+    odd-center: "";
+    odd-right: "";
+    even-left: "";
+    even-center: "";
+    even-right: "";
+    font-family: Helvetica;
+    font-size: 8pt;
+    font-style: normal;
+    font-weight: normal;
+    color: black;
+    alternate: 1;
+  }
+  frame {
+    width: 0.6pt;
+    margin: 0.5cm;
+    color: black;
+  }
+  justify {
+    word: 15pt;
+    letter: 0pt;
+  }
+  draft {
+    text: DRAFT;
+    print: "";
+    dir: 0;
+    font-family: Helvetica;
+    font-style: normal;
+    font-weight: bold;
+    color: F0F0F0;
+  }
+  colour {
+    black: 000000;
+    green: 008000;
+    silver: C0C0C0;
+    lime: 00FF00;
+    gray: 808080;
+    olive: 808000;
+    white: FFFFFF;
+    yellow: FFFF00;
+    maroon: 800000;
+    navy: 000080;
+    red: FF0000;
+    blue: 0000FF;
+    purple: 800080;
+    teal: 008080;
+    fuchsia: FF00FF;
+    aqua: 00FFFF;
+  }
+  html2psrc: "$HOME/.html2psrc";
+  imgalt: "[IMAGE]";
+  datefmt: "%e %b %Y  %R";
+  locale: "";
+  doc-sep: "<!--NewPage-->";
+  ball-radius: 0.25em;
+  numbstyle: 0;
+  showurl: 0;
+  seq-number: 0;
+  extrapage: 1;
+  break-table: 0;
+  forms: 1;
+  textarea-data: 0;
+  page-break: 1;
+  expand-acronyms: 0;
+  spoof: "";
+  ssi: 1;
+  prefilled: 0;
+}
+
+BODY {
+  font-family: Times;
+  font-size: 11pt;
+  text-align: left;
+  background: white;
+}
+
+H1, H2, H3, H4, H5, H6 {
+  font-weight: bold;
+  margin-top: 0.8em;
+  margin-bottom: 0.5em;
+}
+H1 { font-size: 19pt }
+H2 { font-size: 17pt }
+H3 { font-size: 15pt }
+H4 { font-size: 13pt }
+H5 { font-size: 12pt }
+H6 { font-size: 11pt }
+
+P, OL, UL, DL, BLOCKQUOTE, PRE {
+  margin-top: 1em;
+  margin-bottom: 1em;
+}
+
+P {
+  line-height: 1.2em;
+  text-indent: 0;
+}
+
+OL, UL, DD { margin-left: 2em }
+
+TT, KBD, PRE { font-family: Courier }
+
+PRE { font-size: 9pt }
+
+BLOCKQUOTE {
+  margin-left: 1em;
+  margin-right: 1em;
+}
+
+ADDRESS {
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+}
+
+TABLE {
+  margin-top: 1.3em;
+  margin-bottom: 1em;
+}
+
+DIV.noprint { display: none }
+
+DEL { text-decoration: line-through }
+
+A:link, HR { color: black }
+
+@page {
+  margin-left: 2.5cm;
+  margin-right: 2.5cm;
+  margin-top: 3cm;
+  margin-bottom: 3cm;
+}
+
+EOR
+
+eval "require POSIX";
+$posix = !$@;
+
+%extend=('quote',1, 'font',1, 'colour',1, 'hyphenation',1);
+%fal=("serif","times", "sans_serif","helvetica", "monospace","courier");
+@fo=("p","pre","h1","h2","h3","h4","h5","h6","i","b","tt","kbd","cite","samp",
+ "address","blockquote","ol","ul","dl","dt","dd","table","header","footer");
+%quote=('','en');
+%valid=('font',1, 'font_files',1, 'margin,left',1, 'margin,right',1,
+ 'margin,top',1, 'margin,bottom',1);
+%cm=('cm',1, 'mm',0.1, 'in',2.54, 'pt',2.54/72, 'pc',2.54/6);
+%pt=('cm',72/2.54, 'mm',72/25.4, 'in',72, 'pt',1, 'pc',12);
+%space=('thinsp',6, '#8201',6, 'ensp',2, '#8194',2, 'emsp',1, '#8195',1);
+$space=join('|',keys %space);
+%vars=("T","Ti", "N","Pn", "U","UR", "H","h", "A","Au");
+%height=("letter",27.9, "legal",35.6, "arche",121.9, "archd",91.4, "archc",61,
+ "archb",45.7, "archa",30.5, "flsa",33, "flse",33, "halfletter",21.6,
+ "11x17",43.2, "ledger",27.9);
+%width=("letter",21.6, "legal",21.6, "arche",91.4, "archd",61, "archc",45.7,
+ "archb",30.5, "archa",22.9, "flsa",21.6, "flse",21.6, "halfletter",14,
+ "11x17",27.9, "ledger",43.2);
+
+$version="html2ps version 1.0 beta3";
+$opts="2|b:|c|C:|d|D|e:|f:|F|g|h|H|i:|k:|l:|L|m:|n|N:|o:|O|r:|R|s:|S:|t|T|u|"
+ ."U|v|W:|x:";
+%optalias=( 'twoup','2', 'base','b', 'check','c', 'toc','C', 'debug','d',
+ 'DSC','D', 'encoding','e', 'rcfile','f', 'frame','F', 'grayscale','g',
+ 'help','h', 'hyphenate','H', 'scaleimage','i', 'cookie','k', 'language','l',
+ 'landscape','L', 'scalemath','m', 'number','n', 'startno','N', 'output','o',
+ 'original','O', 'rootdir','r', 'xref','R', 'scaledoc','s', 'style','S',
+ 'titlepage','t', 'text','T', 'underline','u', 'colour','U', 'version','v',
+ 'web','W', 'duplex','x');
+%type=( 'paper,height',2, 'paper,width',2, 'option,i',3, 'option,m',3,
+ 'option,N',4, 'option,s',3, 'option,x',4, 'xref,passes',4, 'draft,print',5);
+
+$usage=<<EOU;
+Usage:
+ html2ps [-2cdDFghHLnORtTuUv] [-b URL] [-C string] [-e encoding]
+  [-f file[:file[:...]]] [-i num] [-k file] [-l lang] [-m num] [-N num]
+  [-o file] [-r path] [-s num] [-S string] [-W string] [-x num]
+  [file|URL [file|URL [...]]]
+
+EOU
+
+$usage.="The html2ps users guide is available as $ug\n\n" if(-r $ug);
+
+$args="@ARGV";
+&Getopts($opts) || die $usage;
+
+if($opt_d) {
+  open(DBG,">html2ps.dbg") || die "Error opening debug file: html2ps.dbg\n";
+  print STDERR "***** Writing debug info to html2ps.dbg\n";
+  print DBG "***** $version\n***** Command: $0 $args\n***** Perl: $]\n";
+  print DBG "***** HTML2PSPATH=$ENV{'HTML2PSPATH'}\n";
+}
+undef $/;
+$user=0;
+$V='(-?\d+\.?\d*|-?\d*\.?\d+)';
+&getconf($conf);
+&pagedef;
+undef %AT_page;
+for(@fo,"draft") {
+  eval "\$deffnt{'$_'}=defined \$$_\{'font-family'\}?"
+      ."\$$_\{'font-family'\}:\$body{'font-family'}";
+}
+$user=1;
+if(open(RC,$globrc)) {
+  $conf=<RC>;
+  print DBG "***** Global file $globrc:\n$conf" if($opt_d);
+  &getconf($conf);
+  close RC;
+} else {
+  &dbg("Warning: cannot open the global resource file: $globrc\n") if($globrc);
+}
+$html2psrc=~s/^(~|\$HOME)/$ENV{"HOME"}/;
+$prc=$html2psrc;
+if($opt_f) {
+  ($prc=$opt_f)=~s/^:/$html2psrc:/;
+  $prc=~s/:$/:$html2psrc/;
+  $prc=~s/::/:$html2psrc:/;
+}
+$cwd=$posix?POSIX::getcwd():"";
+opendir(DIR,$cwd);
+@local=readdir DIR;
+closedir DIR;
+$globrc=~/html2psrc/;
+$gdir=$`;
+$hpath=$ENV{"HTML2PSPATH"}?$ENV{"HTML2PSPATH"}:".:";
+$hpath=~s/^:/$gdir:/;
+$hpath=~s/:$/:$gdir/;
+$hpath=~s/::/:$gdir:/;
+$cur=$hpath=~s/(^|:)\.($|:)/$1$cwd$2/;
+@hpath=split(/:/,$hpath);
+for(@hpath) {
+  if(opendir(DIR,$_)) {
+    @files=readdir DIR;
+    $files{$_}=" @files ";
+    closedir DIR;
+  }
+}
+@rc=split(/:/,$prc);
+for $rc (@rc) {
+  $found=0;
+  S:for $dir (@hpath) {
+    if(-r $rc && !grep(/^$rc$/,@local) || $files{$dir}=~/ $rc /) {
+      chdir $dir if($files{$dir}=~/ $rc / && $cwd);
+      if(open(RC,$rc)) {
+        $conf=<RC>;
+        print DBG "***** Personal file $rc:\n$conf" if($opt_d);
+        &getconf($conf);
+        close RC;
+        $found=1;
+      }
+      last S;
+    }
+  }
+  &dbg("Error opening resource file: $rc\n") if($opt_f && !$found);
+}
+chdir $cwd if($cwd);
+$user=2;
+&getconf($opt_S) if($opt_S);
+print DBG "*****\n" if($opt_d);
+&pagedef;
+($pagew,$pageh)=split /\s+/, $AT_page{'size'} if(defined $AT_page{'size'});
+
+require Image::Magick if($package{'PerlMagick'});
+$geturl=$package{'geturl'};
+$ulanch="f";
+$f=72/2.54;
+$giftopm="giftopnm" if($package{'netpbm'});
+$giftopm="giftoppm" if($package{'pbmplus'});
+
+for(keys %option){eval "\$opt_$_='$option{$_}' if(!defined \$opt_$_)"};
+die $usage if $opt_h;
+die "$version\n" if $opt_v;
+&dbg("$version\n") if ($opt_v||$opt_d);
+die "Ghostscript is required to generate DSC PostScript\n"
+ if($opt_D && !$package{'Ghostscript'});
+die "Ghostscript is required to generate cross references\n"
+ if($opt_R && !$package{'Ghostscript'});
+$tmpname=$posix?POSIX::tmpnam():"h2p_$$";
+($scr=$tmpname)=~/\w+$/;
+$tempdir=$`;
+
+if($opt_u) {$ulanch="t"};
+if(defined $opt_x && $opt_x!~/^[0-2]$/) {
+  die "Illegal duplex value: $opt_x\n";
+}
+$V='(-?\d+\.?\d*|-?\d*\.?\d+)';
+for $o ($opt_s,$opt_i,$opt_m,$opt_N) {
+  die "Non numeric: $o\n" if(defined($o) && $o!~/^$V$/);
+}
+
+$twoup=$opt_2?"t":"f";
+$xp=$extrapage?"t":"f";
+
+die "Invalid option: -W $opt_W\n" if($opt_W!~/^[abflprsL\d]*$/);
+$tocdoc=$opt_C=~/[ft]/;
+if($tocdoc && !defined $opt_W) {$opt_W=4};
+$mult=$#ARGV>0 || $opt_W;
+$maxlev=$opt_W=~/(\d+)/?$1:4;
+$link=$opt_W=~/l/;
+$local=$opt_W=~/s/;
+$rel=$opt_W=~/r/;
+$below=$opt_W=~/b/;
+$layer=$opt_W=~/L/;
+$prompt=$opt_W=~/p/;
+
+if($opt_C && $opt_C!~/^(b?[ft]|[ft]b?|b?h|hb?)$/)
+  {die "Invalid option: -C $opt_C\n"};
+$tc=$opt_C?"t":"f";
+$rev=$opt_C=~/t/;
+$first=$opt_C=~/b/ || $opt_R;
+$th=$tocdoc?"f":"t";
+$oeh=0;
+$oef=0;
+
+@now=localtime;
+@gmnow=gmtime;
+POSIX::setlocale(&POSIX::LC_TIME,$locale) if($posix);
+$R='(\s*>|[^a-zA-Z0-9>][^>]*>)';
+$S='([\w.:/%-]+)|"([^"]*)"|\'([^\']*)\'';
+$X='[\da-fA-F]';
+$IM='(gif|jpeg|jpg|png|xbm|xpm|ps|eps)';
+
+for('odd-left','odd-center','odd-right','even-left','even-center','even-right')
+ {
+  $oeh=1 if defined $header{$_};
+  $oef=1 if defined $footer{$_};
+}
+%metarc=();
+for $a ('left','center','right') {
+  if(defined $header{"odd-$a"} || defined $header{"even-$a"}) {
+    $oeh=1;
+  }
+  if(defined $footer{"odd-$a"} || defined $footer{"even-$a"}) {
+    $oef=1;
+  }
+  for('','odd-','even-') {
+    $apa=$header{$_.$a};
+    $numb=1 if($apa=~/(^|[^\$])\$N/);
+    &spec($header{$_.$a});
+    &spec($footer{$_.$a});
+    $header{$_.$a}="($apa)";
+    $apa=$footer{$_.$a};
+    $numb=1 if($apa=~/(^|[^\$])\$N/);
+    $footer{$_.$a}="($apa)";
+    &varsub($header{$_.$a},$footer{$_.$a});
+  }
+}
+if($oeh) {
+  $yz="/YY [[{$header{'odd-left'}}{$header{'even-left'}}]"
+     ."[{$header{'odd-right'}}{$header{'even-right'}}]"
+     ."[{$header{'odd-center'}}{$header{'even-center'}}]] D\n";
+} else {
+  $ind=$header{'alternate'};
+  $yz="/YY [[{$header{'left'}}$ind][{$header{'right'}}".(1-$ind)
+     ."][{$header{'center'}}2]] D\n";
+}
+if($oef) {
+  $yz.="/ZZ [[{$footer{'odd-left'}}{$footer{'even-left'}}]"
+      ."[{$footer{'odd-right'}}{$footer{'even-right'}}]"
+      ."[{$footer{'odd-center'}}{$footer{'even-center'}}]] D";
+} else {
+  $ind=$footer{'alternate'};
+  $yz.="/ZZ [[{$footer{'left'}}$ind][{$footer{'right'}}".(1-$ind)
+      ."][{$footer{'center'}}2]] D";
+}
+$number=$opt_n || !$numb && ($opt_C || $opt_N || $opt_R)?"t":"f";
+$tih=$titlepage{'content'};
+$toch=$toc{'heading'};
+for ($imgalt,$xref{'text'},$tih,$toch,$inh,$draft{'text'}) {
+  &spec($_);
+}
+
+for ($paper{'height'},$paper{'width'},$margin{'middle'},$frame{'margin'},
+     $mlr,$mrl,$mtl,$mbl,$mll,$mrr,$mtr,$mbr,$pagew,$pageh) {
+  &getval($_,1);
+}
+$opt_s*=0.65 if($opt_2 && $opt_L);
+$opt_N=1 if(!defined $opt_N);
+$opt_N=int($opt_N-1);
+$mm=int($margin{'middle'}*$f);
+$is=0.8*$opt_i;
+$msc=1/$opt_s;
+$mag=1200*$opt_m*$opt_s;
+$xref=$opt_R?"t":"f";
+$xref{'text'}=~s/\$N/) WB pN WB (/g;
+
+$d=int($f*$frame{'margin'});
+for (0..10) {
+  $temp=2**(-$_/2);
+  $width{"a$_"}=int($temp*2**(-1/4)*1000+.5)/10;
+  $height{"a$_"}=int($temp*2**(1/4)*1000+.5)/10;
+  $width{"b$_"}=int($temp*1000+.5)/10;
+  $height{"b$_"}=int($temp*2**(1/2)*1000+.5)/10;
+}
+if(!$pagew || !$pageh) {
+  if($width{"\L$paper{'type'}"}) {
+    $paper{'width'}=$width{"\L$paper{'type'}"} if(!defined $paper{'width'});
+    $paper{'height'}=$height{"\L$paper{'type'}"} if(!defined $paper{'height'});
+    ($pagew,$pageh)=($paper{'width'},$paper{'height'});
+  } elsif($paper{'type'}) {
+    &dbg("Unknown paper type: $paper{'type'}\n");
+  }
+}
+if($opt_L) {
+  $wl=$pageh-$mll-$mrl;
+  $wr=$pageh-$mlr-$mrr;
+  $hl=int(($pagew-$mtl-$mbl)*$f+.5);
+  $hr=int(($pagew-$mtr-$mbr)*$f+.5);
+  $xl=int($mtl*$f+.5);
+  $xr=int($mtr*$f+.5);
+  $yl=int($mll*$f+.5);
+  $yr=int($mlr*$f+.5);
+  $rot=" 90 rotate";
+} else {
+  $wl=$pagew-$mll-$mrl;
+  $wr=$pagew-$mlr-$mrr;
+  $hl=int(($pageh-$mtl-$mbl)*$f+.5);
+  $hr=int(($pageh-$mtr-$mbr)*$f+.5);
+  $xl=int($mll*$f+.5);
+  $xr=int($mlr*$f+.5);
+  $yl=int(($pageh-$mtl)*$f+.5);
+  $yr=int(($pageh-$mtr)*$f+.5);
+  $rot="";
+}
+
+if($opt_2) {
+  $wl=($wl-$margin{'middle'})/2;
+  $wr=($wr-$margin{'middle'})/2;
+}
+$wl=int($wl*$f+.5);
+$wr=int($wr*$f+.5);
+$pag=int($pageh*$f+.5);
+$fe=$opt_F?"t":"f";
+$cf=$opt_U?"t":"f";
+$tp=$opt_t?"t":"f";
+$rm=$numbstyle?"t":"f";
+$pa=$showurl?"t":"f";
+$nh=$seq_number?"t":"f";
+$bt=$break_table?"t":"f";
+$ea=$expand_acronyms?"t":"f";
+$fi=$prefilled?"t":"f";
+$latin1=$opt_e=~/ISO-8859-1/i;
+$lt=$del{'text-decoration'}=~/^line-through$/i?"SE":"WB";
+if(!$opt_x && defined $opt_x) {
+  $dupl="[{false statusdict/setduplexmode get exec} stopped cleartomark";
+}
+if($opt_x) {
+  $dupl="[{true statusdict/setduplexmode get exec} stopped cleartomark";
+}
+if($opt_x==2) {
+  $dupl.="\n[{true statusdict/settumble get exec} stopped cleartomark";
+}
+
+%head=("html",1, "head",1, "title",1, "base",1, "meta",1, "link",1, "style",1,
+ "script",1, "isindex",1);
+%algn=("left",1, "center",2, "right",3, "justify",4, "char",5);
+%f=("void",1, "above",2, "below",3, "hsides",4, "lhs",5, "rhs",6, "vsides",7,
+    "box",8, "border",9);
+%r=("none",1, "groups",2, "rows",3, "cols",4, "all",5);
+%v=("top",1, "middle",2, "bottom",3, "baseline",4);
+%it=("radio",0, "checkbox",1, "text",2, "password",2, "image",3);
+%ssy=(200,"\\", 201, "(", 202, ")");
+%lity=("I",0, "i",1, "A",2, "a",3, "1",4, "disc",5, "square",6, "circle",7);
+$ltr=join('|',keys %lity);
+%tex=('`a',"\340", '\^a',"\342", '`e',"\350", '`e',"\350", 'c\{c\}',"\347",
+      "'e","\351", '\^e',"\352", '"e',"\353", '\^i',"\356", '"i',"\357",
+      '\^o',"\364", '`u',"\371", '\^u',"\373", '"u',"\374", '"y',"\377",
+      'aa',"\345", '"a',"\344", '"o',"\366", 'ae',"\346", 'oe',"\225");
+@hind=(0,0,0,0,0,0);
+$ltrs='A-Za-z\222-\226\300-\377';
+%ent=(
+"lsquo|#8216",96,
+"rsquo|#8217",39,
+"circ|#710",141,
+"tilde|#732",142,
+"permil|#8240",143,
+"dagger|#8224",144,
+"Dagger|#8225",145,
+"Yuml|#376",146,
+"scaron|#353",147,
+"Scaron|#352",148,
+"oelig|#339",149,
+"OElig|#338",150,
+"lsaquo|#8249",151,
+"rsaquo|#8250",152,
+"sbquo|#8218",153,
+"bdquo|#8222",154,
+"ldquo|#8220",155,
+"rdquo|#8221",156,
+"ndash|#8211",157,
+"mdash|#8212",158,
+"trade|#8482",159,
+"nbsp",160,
+"iexcl",161,
+"cent",162,
+"pound",163,
+"curren",164,
+"yen",165,
+"brvbar",166,
+"sect",167,
+"uml",168,
+"copy",169,
+"ordf",170,
+"laquo",171,
+"not",172,
+"reg",174,
+"macr",175,
+"deg",176,
+"plusmn",177,
+"sup2",178,
+"sup3",179,
+"acute",180,
+"micro",181,
+"para",182,
+"middot",183,
+"cedil",184,
+"sup1",185,
+"ordm",186,
+"raquo",187,
+"frac14",188,
+"frac12",189,
+"frac34",190,
+"iquest",191,
+"Agrave",192,
+"Aacute",193,
+"Acirc",194,
+"Atilde",195,
+"Auml",196,
+"Aring",197,
+"AElig",198,
+"Ccedil",199,
+"Egrave",200,
+"Eacute",201,
+"Ecirc",202,
+"Euml",203,
+"Igrave",204,
+"Iacute",205,
+"Icirc",206,
+"Iuml",207,
+"ETH",208,
+"Ntilde",209,
+"Ograve",210,
+"Oacute",211,
+"Ocirc",212,
+"Otilde",213,
+"Ouml",214,
+"times",215,
+"Oslash",216,
+"Ugrave",217,
+"Uacute",218,
+"Ucirc",219,
+"Uuml",220,
+"Yacute",221,
+"THORN",222,
+"szlig",223,
+"agrave",224,
+"aacute",225,
+"acirc",226,
+"atilde",227,
+"auml",228,
+"aring",229,
+"aelig",230,
+"ccedil",231,
+"egrave",232,
+"eacute",233,
+"ecirc",234,
+"euml",235,
+"igrave",236,
+"iacute",237,
+"icirc",238,
+"iuml",239,
+"eth",240,
+"ntilde",241,
+"ograve",242,
+"oacute",243,
+"ocirc",244,
+"otilde",245,
+"ouml",246,
+"divide",247,
+"oslash",248,
+"ugrave",249,
+"uacute",250,
+"ucirc",251,
+"uuml",252,
+"yacute",253,
+"thorn",254,
+"yuml",255);
+%symb=(
+"alpha|#945",141,
+"beta|#946",142,
+"gamma|#947",147,
+"delta|#948",144,
+"epsilon|#949",145,
+"zeta|#950",172,
+"eta|#951",150,
+"theta|#952",161,
+"thetasym|#977",112,
+"iota|#953",151,
+"kappa|#954",153,
+"lambda|#955",154,
+"mu|#956",155,
+"nu|#957",156,
+"xi|#958",170,
+"pi|#960",160,
+"piv|#982",166,
+"omicron|#959",157,
+"rho|#961",162,
+"sigma|#963",163,
+"sigmaf|#962",126,
+"tau|#964",164,
+"upsilon|#965",165,
+"upsih|#978",241,
+"phi|#966",146,
+"phiv",152,
+"chi|#967",143,
+"psi|#968",171,
+"omega|#969",167,
+"Alpha|#913",101,
+"Beta|#914",102,
+"Gamma|#915",107,
+"Delta|#916",104,
+"Epsilon|#917",105,
+"Zeta|#918",132,
+"Eta|#919",110,
+"Theta|#920",121,
+"Iota|#921",111,
+"Kappa|#922",113,
+"Lambda|#923",114,
+"Mu|#924",115,
+"Nu|#925",116,
+"Xi|#926",130,
+"Omicron|#927",117,
+"Pi|#928",120,
+"Rho|#929",122,
+"Sigma|#931",123,
+"Tau|#932",124,
+"Upsilon|#933",125,
+"Phi|#934",106,
+"Chi|#935",103,
+"Psi|#936",131,
+"Omega|#937",127,
+"fnof|#402",246,
+"perp|#8869",136,
+"plusmn|#177",261,
+"cdot|#183",327,
+"or|#8744",332,
+"and|#8743",331,
+"le|#8804",243,
+"ge|#8805",263,
+"equiv|#8801",272,
+"cong|#8773",100,
+"asymp|#8776",273,
+"ne|#8800",271,
+"sub|#8834",314,
+"sube|#8838",315,
+"sup|#8835",311,
+"supe|#8839",312,
+"isin|#8712",316,
+"larr|#8592",254,
+"rarr|#8594",256,
+"uarr|#8593",255,
+"darr|#8595",257,
+"harr|#8596",253,
+"lArr|#8656",334,
+"rArr|#8658",336,
+"uArr|#8657",335,
+"dArr|#8659",337,
+"hArr|#8660",333,
+"forall|#8704","042",
+"exist|#8707","044",
+"infin|#8734",245,
+"nabla|#8711",321,
+"part|#8706",266,
+"hellip|#8230",274,
+"int|#8747",362,
+"sum|#8721",345,
+"prod|#8719",325,
+"real|#8476",302,
+"image|#8465",301,
+"bull|#8226",267,
+"prime|#8242",242,
+"Prime|#8243",262,
+"oline|#8254",140,
+"frasl|#8260",244,
+"weierp|#8472",303,
+"alefsym|#8501",300,
+"crarr|#8629",277,
+"empty|#8709",306,
+"notin|#8713",317,
+"ni|#8715","047",
+"minus|#8722","055",
+"lowast|#8727","052",
+"radic|#8730",326,
+"prop|#8733",265,
+"ang|#8736",320,
+"cap|#8745",307,
+"cup|#8746",310,
+"sim|#8764",176,
+"nsub|#8836",313,
+"oplus|#8853",305,
+"otimes|#8855",304,
+"sdot|#8901",327,
+"lceil|#8968",351,
+"rceil|#8969",371,
+"lfloor|#8970",353,
+"rfloor|#8971",373,
+"lang|#9001",341,
+"rang|#9002",361,
+"spades|#9824",252,
+"clubs|#9827",247,
+"hearts|#9829",251,
+"diams|#9830",250,
+"loz|#9674",340);
+
+$pc=')WB NL NP(';
+$nimg=-1;
+$nm=-1;
+@font=();
+@size=();
+@styl=();
+@alig=();
+@colr=();
+@topm=();
+@botm=();
+@lftm=();
+@rgtm=();
+@z1=();
+@z2=();
+@z3=();
+&Subst($doc_sep);
+($toct=$toch)=~s|<[\w/!?][^>]*>||g;
+$dh="/h0 [()($toct)] D\n";
+&Subst($toch);
+$toch=~s/  H\(/ -1 H(/g;
+$toch="($toch)";
+&varsub($toch);
+&Subst($tih);
+$tih=~s/  H\(/ -1 H(/g;
+$tih="($tih)";
+&varsub($tih);
+$mn=0;
+$nfont=0;
+$mi=0;
+for (@fo) {&setel($_)};
+%arr=%draft;
+&fs("draft");
+
+if(!$latin1 && !defined $fontid{"times"}) {
+  $fontid{"times"}=$nfont++;
+  @docfonts=(@docfonts,split(/\s+/,$font_names{"times"}));
+}
+$wind=0;
+$wf="t";
+if(!$latin1) {
+  $wind=$fontid{"times"};
+  $wf="f";
+}
+
+for $k (keys %font_files){
+  @ff=split(/\s+/,$font_files{$k});
+  @fn=split(/\s+/,$font_names{$k});
+  for (0..3) {
+    if($ff[$_]) {
+      $ff{$fn[$_]}=$ff[$_];
+    } elsif(!$ff{$fn[$_]}) {
+      $ff{$fn[$_]}=$ff[0];
+    }
+    $fr{$fn[$_]}=$k;
+  }
+}
+$pta=defined $p{"text-align"}?$p{"text-align"}:$body{"text-align"};
+$pal=0;
+$pal=1 if($pta=~/^c/i);
+$pal=2 if($pta=~/^r/i);
+$pal=3 if($pta=~/^j/i);
+$bgcol=&col2rgb($body{"background"});
+if(!$bgcol) {$bgcol="[16#FF 16#FF 16#FF]"};
+if(!$p{"color"}) {$p{"color"}="black"};
+$tcol=&col2rgb($p{"color"});
+$lcol=&col2rgb($a__link{"color"});
+if($lcol) {
+  $Lc="/Lc t D\n/Dl $lcol D\n";
+  $Lc.=$tcol ne $lcol?"/LX t D":"/LX f D";
+} else {
+  $Lc="/Lc f D\n/LX f D";
+}
+$pcol=&col2rgb($pre{"color"});
+if(!$pcol) {$pcol="[0 0 0]"};
+$deftbg=&col2rgb($table{"background"});
+$hc=&col2rgb($hr{"color"});
+if(!$hc) {$hc="[0 0 0]"};
+$fcol=&col2rgb($frame{"color"});
+if(!$fcol) {$fcol="[0 0 0]"};
+for ($p{"font-size"},$pre{"font-size"},$header{"font-size"},$frame{'width'},
+ $footer{"font-size"},$justify{'letter'},$justify{'word'},
+ $titlepage{'margin-top'}) {
+  &getval($_,2);
+}
+for ($p{"line-height"},$p{"text-indent"},$p{"margin-top"},$toc{'indent'},
+     $ball_radius) {
+  &getval($_,0);
+}
+$fl="/FL [/".join("\n/",@docfonts)."] D";
+for $k (keys %ff) {
+  $f=$ff{$k};
+  if(defined $fontid{$fr{$k}} && !defined($cont{$f})) {
+    open(FONT,$f) || &dbg("Error opening fontfile $f\n");
+    ($cont{$f}=<FONT>)=~s/(^|\r?\n|\r)%.*//g;
+    close FONT;
+  }
+}
+$fontdef="";
+for (keys %cont) {
+  $fontdef.=$cont{$_};
+}
+&ent($yz);
+&ent($xref{'text'});
+&ent($draft{'text'});
+
+$lnum=0;
+for (keys %quote_open) {
+  $lid{$_}=$lnum++;
+  if(!defined $quote_close{$_}) {$quote_close{$_}=$quote_open{$_}};
+  if(!defined $quote_open2{$_}) {$quote_open2{$_}=$quote_open{$_}};
+  if(!defined $quote_close2{$_}) {$quote_close2{$_}=$quote_close{$_}};
+  &ent($quote_open{$_});
+  &ent($quote_close{$_});
+  &ent($quote_open2{$_});
+  &ent($quote_close2{$_});
+  push(@qo,$quote_open{$_});
+  push(@qc,$quote_close{$_});
+  push(@qo2,$quote_open2{$_});
+  push(@qc2,$quote_close2{$_});
+}
+$qo=join(')(',@qo);
+$qc=join(')(',@qc);
+$qo2=join(')(',@qo2);
+$qc2=join(')(',@qc2);
+$hyphenation_file{''}=$hyphenation_file{'en'};
+$br=$collapse_br?"f":"t";
+$gd=0;
+$ddr=defined $draft{'print'};
+if($ddr) {
+  if($draft{'print'}==0) {
+    $draft="f";
+  } else {
+    $gd=1;
+    $draft="t";
+  }
+}
+if(-e '/dev/null' || !-e 'nul') {
+  $pathsep=':';
+  $gs='gs';
+} else {
+  $pathsep=';';
+  $gs='gswin32c';
+}
+$gb=$gs_bug?"t":"f";
+for (keys %quote) {$lid{$_}=$lid{$quote{$_}}};
+$ENV{'PATH'}.="$pathsep$package{'path'}" if($package{'path'});
+$delim="%-- End of variable part --";
+$cd="/Cd {aload length 2 idiv dup dict begin {D} repeat currentdict end} D";
+
+$mysymb=<<EOF;
+/MySymbol 10 dict dup begin
+ /FontType 3 D /FontMatrix [.001 0 0 .001 0 0 ] D /FontBBox [25 -10 600 600] D
+ /Encoding 256 array D 0 1 255{Encoding exch /.notdef put}for
+ Encoding (e) 0 get /euro put
+ /Metrics 2 dict D Metrics begin
+  /.notdef 0 D
+  /euro 651 D
+ end
+ /BBox 2 dict D BBox begin
+  /.notdef [0 0 0 0] D
+  /euro [25 -10 600 600] D
+ end
+ /CharacterDefs 2 dict D CharacterDefs begin
+  /.notdef {} D
+  /euro{newpath 114 600 moveto 631 600 lineto 464 200 lineto 573 200 lineto
+   573 0 lineto -94 0 lineto 31 300 lineto -10 300 lineto closepath clip
+   50 setlinewidth newpath 656 300 moveto 381 300 275 0 360 arc stroke
+   -19 350 moveto 600 0 rlineto -19 250 moveto 600 0 rlineto stroke}d
+ end
+ /BuildChar{0 begin
+  /char E D /fontdict E D /charname fontdict /Encoding get char get D
+  fontdict begin
+   Metrics charname get 0 BBox charname get aload pop setcachedevice
+   CharacterDefs charname get exec
+  end
+ end}D
+ /BuildChar load 0 3 dict put /UniqueID 1 D
+end
+definefont pop
+EOF
+
+$P0=<<EOC;
+%%Creator: $version
+%%EndComments
+save
+2000 dict begin
+/d {bind def} bind def
+/D {def} d
+/t true D
+/f false D
+$fl
+/WF $wf D
+/WI $wind D
+/F $opt_s D
+/IW $wr F div D
+/IL $hr F div D
+/PS $pag D
+/EF [@font] D
+/EZ [@size] D
+/Ey [@styl] D
+/EG [@alig] D
+/Tm [@topm] D
+/Bm [@botm] D
+/Lm [@lftm] D
+/Rm [@rgtm] D
+/EU [@colr] D
+/NO $number D
+$yz
+/Ts EZ 0 get D
+/TU $twoup D
+/Xp $xp D
+/AU $ulanch D
+/SN $opt_N D
+/Cf $cf D
+/Tp $tp D
+/Fe $fe D
+/TI $toc{'indent'} Ts mul D
+/Fm $d D
+/xL $xl D
+/xR $xr D
+/yL $yl D
+/yR $yr D
+/Wl $wl F div D
+/Wr $wr F div D
+/hL $hl F div D
+/hR $hr F div D
+/FE {newpath Fm neg Fm M CP BB IW Fm add Fm L IW Fm add IL Fm add neg L CP BB
+ Fm neg IL Fm add neg L closepath} D
+/LA {PM 0 eq{/IW Wl D /IL hL D}{/IW Wr D /IL hR D}ie /W IW D /LL W D /LS W D
+ /LE IL D TU PM 0 eq and{IW $mm F div add SA{Sf div}if 0 translate}
+ {PM 0 eq{xL yL}{xR yR}ie translate$rot F SA{Sf mul}if dup scale
+ CS CF FS Cf{CA CL get VC}if /Bb f D}ie 0 0 M
+ TF not Tc or {Cf{gsave SA{1 Sf div dup scale}if Cb VC FE fill grestore}if}if}D
+/Pi $p{"text-indent"} Ts mul D
+/SG [$is $opt_i $msc] D
+/Ab $justify{'word'} D
+/J $justify{'letter'} D
+/Tc $tc D
+/NH $toc{'level'} D
+/Nf $nh D
+/Pa $pa D
+/LH $p{"line-height"} D
+/XR $xref D
+/Xr {/pN E D ( $xref{'text'} )WB} D
+/Db $bgcol D
+/Dt $tcol D
+/eA $ea D
+/Fi $fi D
+/bT $bt D
+$Lc
+/Br $ball_radius D
+/IA ($imgalt) D
+/DS {/PF f D($doc_sep)pop RC ZF} D
+/Gb $gb D
+/Mb $br D
+/Hc $hc D
+/Bl 3 D
+/MI -$mi D
+/DX ($draft{'text'}) D
+/Di $draft{'dir'} D
+/Tt $titlepage{'margin-top'} D
+/Th {$tih} D
+/tH {$toch} D
+/FD $fontid{"\L$font"} D
+/Dy $styl D
+/cD $col D
+/FW $frame{'width'} D
+/FU $fcol D
+/ET {/RM $rm D /A0 $pal D /PN SN D /OU t D /Ou t D /W IW D /LL W D D1
+ Ms not TP and{Ip}if /TF f D} D
+$dupl
+$delim
+$mysymb
+EOC
+
+$reenc=<<EOD;
+WF{FL{reencodeISO D}forall}{4 1 FL length 1 sub{FL E get reencodeISO D}for}ie
+/Symbol dup dup findfont dup length dict begin
+ {1 index /FID ne{D}{pop pop}ie}forall /Encoding [Encoding aload pop]
+ dup 128 /therefore put D currentdict end definefont D
+EOD
+$defs=<<EOD;
+/reencodeISO {
+ dup dup findfont dup length dict begin{1 index /FID ne{D}{pop pop}ie}forall
+ /Encoding ISOLatin1Encoding D currentdict end definefont} D
+/ISOLatin1Encoding [
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
+/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
+/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
+/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
+/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
+/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar
+/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
+/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
+/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
+/guillemotright/onequarter/onehalf/threequarters/questiondown
+/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
+/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
+/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
+/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
+/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
+/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
+/yacute/thorn/ydieresis
+] D
+[128/backslash 129/parenleft 130/parenright 141/circumflex 142/tilde
+143/perthousand 144/dagger 145/daggerdbl 146/Ydieresis 147/scaron 148/Scaron
+149/oe 150/OE 151/guilsinglleft 152/guilsinglright 153/quotesinglbase
+154/quotedblbase 155/quotedblleft 156/quotedblright 157/endash 158/emdash
+159/trademark]
+aload length 2 idiv 1 1 3 -1 roll{pop ISOLatin1Encoding 3 1 roll put}for
+/colorimage where{pop}{
+ /colorimage {
+  pop pop /Pr E D {/Cv Pr D /Gr Cv length 3 idiv string D 0 1 Gr length 1 sub
+   {Gr E dup /i E 3 mul D Cv i get 0.299 mul Cv i 1 add get 0.587 mul add
+    Cv i 2 add get 0.114 mul add cvi put}for Gr} image} D
+}ie
+/pdfmark where{pop}{userdict /pdfmark /cleartomark load put}ie
+EOD
+
+$P1=<<EOT;
+$cd
+/EX {EC cvx exec} D
+/DU {} d
+/BB {pop pop}d
+/ie {ifelse} d
+/E {exch} d
+/M {moveto} d
+/R {rmoveto} d
+/L {lineto} d
+/RL {rlineto} d
+/CP {currentpoint} d
+/SW {stringwidth} d
+/GI {getinterval} d
+/PI {putinterval} d
+/Sg {setgray} d
+/LW {setlinewidth} d
+/S {dup () ne OU and{0 Co R AT 3 eq LB and HF not and A1 0 ne A2 0 ne or and
+ {A2 0 32 A1 0 6 -1 roll awidthshow}{show}ie 0 Co neg R}{pop}ie
+ OU PH 3 eq or{/Ms t D}if} D
+/U {OU{gsave CP currentfont /FontInfo get /UnderlinePosition get
+ 0 E currentfont /FontMatrix get dtransform E pop add newpath M dup SW pop
+ CJ 0 RL stroke grestore}if} D
+/B {OU Br 0 gt and{CP Ts neg Ts .33 mul R gsave 0 Sg
+ CP newpath Ts Br mul 0 360 arc closepath UI 2 mod 0 eq{stroke}{fill}ie
+ grestore M CP E Ts Br 1 add mul sub E BB /Ms t D}if}D
+/NP {Ms TP not or PA and OU and{TP{OR}if f1{mF k2 /mF E D /YC 0 D}if
+ TP TU not PM 0 eq or and{showpage}if DU Ip TE not{LA}if 0.6 LW
+ /CI 0 D /TP t D /Hs f D /hl 6 D /Hv 6 D /HI hi D /Ms f D}if Bs XO BO M} D
+/Np {LE sub CP E pop gt PL 0 eq and{NP}if}D
+/Ip {/PN PN 1 add D /Pn RM{1}{4}ie PN Ns D /PM PN SN sub 2 mod D} D
+/GP {E dup 3 -1 roll get PN 1 add 2 mod get dup type /integertype eq
+ {get 0 get}{E pop}ie}d
+/Fc {dup 2 GP exec SW pop /S1 E D dup 1 GP exec SW pop /S2 E D 0 GP exec SW
+ pop /S3 E D S1 0 gt{S2 2 mul S1 add S3 2 mul S1 add 2 copy lt{E}if pop}{0}ie
+ S2 S3 add 2 copy lt{E}if pop IW .9 mul div dup 1 gt{1 E div}{pop 1}ie}D
+/OR {Df{Sd}if tp not{gsave SA{1 Sf div dup scale}if Fe{Cf{FU VC}if FW LW
+ 1 setlinejoin FE stroke}if /YO {60 F div dup 40 gt{pop 40}if}D /cs CS D
+ /cf CF D /CF 0 D /pf PF D /PF f D /Fn FN D /At AT D /AT 0 D /FN EF Hf 1 add
+ get D Fz Fs FS ZZ Fc Fz mul Fs FS EU Hf 1 add get dup type /arraytype eq
+ Cf and{VC}{pop 0 Sg}ie IW IL neg YO sub M ZZ 1 GP exec dup SW pop neg 0 R Sh
+ 0 IL neg YO sub M ZZ 0 GP exec Sh ZZ 2 GP exec dup SW pop IW E sub 2 div
+ IL neg YO sub M Sh Fz Fs FS NO{/AW IW Pn SW pop sub D AW 2 div IL neg YO sub
+ S1 0 gt S2 AW .45 mul gt or S3 AW .45 mul gt or{Fz 2 mul sub}if M Pn Sh}if
+ EU Hf get dup type /arraytype eq Cf and{VC}{pop 0 Sg}ie YY Fc /FN EF Hf get D
+ Hz mul HS FS IW YO M YY 1 GP exec dup SW pop neg 0 R Sh 0 YO M YY 0 GP exec Sh
+ YY 2 GP exec dup SW pop IW E sub 2 div YO M Sh /FN Fn D /AT At D t Pb XO SZ
+ SL get neg R /PF pf D grestore /CF 0 D cs cf FS}if}D
+/Sh {dup () ne{CP Hz 4 div sub BB show CP CS add BB}{pop}ie}D
+/Pb {/OU E D /Ou OU D /PB t D 0 0 M Ba{/Sa save D /BP t D /Fl t D RC /PL 0 D
+ /PH 0 D /W IW D /LE IL .7 mul D /EO 0 D SI ZF /YA 0 D /BO 0 D /C1 () D
+ BA 0 Ts neg R Bb{Xl Yl Xh Yh}if Bb CP Sa restore M
+ {/Yh E D /Xh E D /Yl E D /Xl E D}if /Fl t D}if
+ BL /OU t D /HM f D /Ou t D /PB f D} D
+/Bs {/BP Ba not D}D
+$defs$fontdef$reenc
+/SF {/CS E D SZ SL CS put FO SL FN put /YI CS LH neg mul D dup ST cvs ( ) join
+ CS ST cvs join C1 E join ( NF ) join /C1 E D CS NF /Wf WF FN 0 gt or D
+ /BW Wf{( ) SW pop}{0}ie D}D
+/NF {/cS E D /cF E D cF 0 ge{FL cF get}{cF -1 eq{/Symbol}{/MySymbol}ie}ie
+ findfont cS scalefont setfont} D
+/FS {CF or /CF E D FR SL CF put CF CF 0 ge{FN 4 mul add}if E SF} D
+/PC {SH /BP f D fin not GL not and{NL}if /HM t D /LL LS D} D
+/BS {/TX E D Wf{/fin f D /CW 0 D /LK 0 D /SC 0 D
+ /RT TX D {RT ( ) search{/NW E D pop /RT E D /WH NW SW pop D CW WH add LL gt
+ {TX SC LK SC sub 1 sub NN GI GL{SH cF cS OC
+ 2 copy cS ne E cF ne or{NF}{pop pop}ie}{PC /CW WH BW add D}ie
+ /SC LK D}
+ {GL{JC}if
+ /CW CW WH add BW add D /HM t D}ie /GL f D /Ph f D
+ /LK LK NW length 1 add add D}{pop exit}ie}loop
+ /fin t D TX SC LK SC sub GI SH RT () ne{GL not{CC}if}if
+ /LC TX length D /WH RT SW pop D CW WH add Hy{HC SW pop add}if LL gt
+ {RT GL{SH cF cS OC 2 copy cS ne E cF ne or{NF}{pop pop}ie
+ Hy{/Ph t D}if /LL LS D}{NL /LL LS D SH}ie}
+ {RT PC Hy{CC}if /Ph Ph Hy or D}ie RT () ne{/GL t D /HM t D}if}
+ {TX SW pop LL le{TX SH}{/NW () D 0 2 TX length 1 sub
+ {/CW E D TX 0 CW GI dup SW pop LL gt{pop NW SH /HM t D NL/LL W XO sub MR sub D
+ /CW CW 2 sub NN D /TX TX CW TX length CW sub GI D TX BS exit}
+ {/NW E D}ie}for}ie}ie /HM t D}D
+/CC {C0 length 0 gt{JC}if /C0 [C1 L1 YA YB Mf NS NB TB AF Bw] D
+ /C1 () D /L0 L1 D /YA 0 D /YB 0 D /Mf 0 D /NS 0 D /NB 0 D}D
+/JC {C0 aload length 0 gt{pop pop pop NB add /NB E D NS add /NS E D
+ dup Mf gt{/Mf E D}{pop}ie dup YB gt{/YB E D}{pop}ie
+ dup YA gt{/YA E D}{pop}ie pop C1 join /C1 E D /C0 [] D}if}D
+/OC {C0 length 0 gt{C1 L1 L0 sub YA YB Mf NS NB TB AF Bw GL C0 aload pop
+ /Bw E D /AF E D /TB E D /NB E D /NS E D /Mf E D /YB E D /YA E D /C0 [] D
+ /L1 E D /C1 E D Ph{HC SH}if NL /GL E D /Bw E D /AF E D /TB E D /NB E D /NS E D
+ /Mf E D /YB E D /YA E D /L1 E D /LL W L1 sub XO sub MR sub WH sub D /CW 0 D
+ C1 E join /C1 E D}if}D
+/BT {/LB t D dup length string copy RS dup dup () ne E ( ) ne and
+ {/CI 0 D /LS LL D /LL W L1 sub XO sub MR sub D BS}
+ {dup ( ) eq{/GL f D}if dup () eq L1 0 eq or{pop}{SH /BP f D /Ph f D}ie}ie
+ /LB f D} D
+/BL {CP E pop XO E M} D
+/NL {JC /GL f D /SK W XO sub MR sub L1 sub TB{Bw add}if D
+ /YA LF{Mf HM Fl not and PF or{LH mul}if}{0 /LF t D}ie YA 2 copy lt{E}if pop D
+ C1 () ne{/FB YB Mf SA{Sf mul}if 4 div 2 copy lt{E}if pop D}if Fl{/Ya YA D}if
+ CP E pop YA sub YB sub LE neg lt Fl not and PB not and{NP}if NT TL BL
+ OU PF not and PB or{/RE L1 TB{Bw sub}if
+ W XO sub MR sub div YA YB add LE BO add div 2 copy lt{E}if pop D
+ RE 1 gt{BL 1 RE div dup scale}if}if
+ AT 2 le{SK AT mul 2 div YA neg R}if
+ AT 3 eq{0 YA neg R TB{/NB NB 1 sub D /NS NS 1 sub D}if /NB NB 1 sub NN D
+ /A3 NS 6 mul NB add D NS NB add 0 eq
+  {/A1 0 D /A2 0 D}
+  {NS 0 eq{/A1 SK NB div dup J gt{pop 0}if D /A2 0 D}{J A3 mul SK lt
+   {/A1 J D /A2 SK J NB mul sub NS div dup Ab gt{/A1 0 D pop 0}if D}
+   {/A1 SK A3 div D /A2 A1 6 mul D}ie}ie}ie /A1 A1 NN D /A2 A2 NN D}if
+ AT 4 eq{0 YA neg R PH 2 le{PD 0 lt{/PD L1 D}if PD M1 gt{/M1 PD D}if
+ L1 PD sub M2 gt{/M2 L1 PD sub D}if}{DV ID 1 sub get 0 ge{Lo 0 R}if}ie}if
+ F0 cF ne Cs cS ne or{F0 Cs NF}if
+ /ms Ms D /Ms f D CP FB sub
+ C1 cvx exec XO EO sub L1 add TB{BW sub}if dup LM gt{/LM E D}{pop}ie
+ PH 0 eq PH 4 eq or Ms and{HF not{/PO t D /AH t D}if
+ BB CP YA add E AT 3 eq LB and{A1 sub}if TB{BW sub}if E BB}
+ {pop pop}ie Ms HM PH 3 eq and or{/BP f D /Fl f D}if
+ /Lo 0 D /L1 0 D /F0 cF D /Cs cS D BP not{0 YB NN neg R}if
+ OU f1 and mF not and{k2 /f1 f D}if
+ OU PF not and PB or{RE 1 gt{RE dup scale}if}if /Ms ms Ms or D
+ /C1 AF{(Cp )}{()}ie D /YA 0 D /YB 0 D BL
+ AT 4 eq LB not and PH 3 ge and
+ {ID DV length lt{DV ID get dup 0 ge{DO E sub /Lo E D /L1 Lo D}{pop}ie
+ /ID ID 1 add D}if}if /T t D CD{/LN LN 1 add D PD}if
+ /PD -1 D /NS 0 D /NB 0 D /TB f D /Ph f D /Mf 0 D /HM f D} D
+/RS {/TM E D /CN 0 D TM{10 eq{TM CN ( ) PI}if /CN CN 1 add D}forall
+ /CN 0 D /BK HM EN and{0}{1}ie D TM
+ {dup 32 ne{TM CN 3 2 roll put /CN CN 1 add D /BK 0 D}
+ {pop BK 0 eq{TM CN 32 put /CN CN 1 add D}if /BK 1 D}ie}forall
+ TM 0 CN GI dup dup () ne E ( ) ne and
+ {dup CN 1 sub get 32 eq{/EN f D}{/EN t D}ie}if} D
+/join {2 copy length E length add string dup 4 2 roll 2 index 0 3 index
+ PI E length E PI}d
+/WR {(\\n) search{dup () ne BP not or
+ {Li 4 le CP E pop YI Li mul add LE add 0 lt and PL 0 eq and{NP}if
+ SH NL pop /Li Li 1 sub D WR}{pop pop WR}ie}{SH}ie /CI 0 D /BP f D} D
+/SH {dup dup () ne E ( ) ne and PF or CS Mf gt and{/Mf CS D}if
+ T not Wf and{( ) E join /T t D}if dup BP{/MF CS D}if
+ AT 3 eq{2 copy length dup 0 gt{/NB E NB add D
+ {( ) search{/NS NS 1 add D pop pop}{pop exit}ie}loop}{pop pop}ie}if
+ CD PD 0 lt and{dup DC search{SW pop /PD E L1 add D pop pop}{pop}ie}if
+ 0 Np dup SW pop L1 add /L1 E D dup () ne
+ {C1 (\\() join E join (\\)) join AU AF and UF or Wf and{( U ) join}if
+ sF{( s ) join}if ( S ) join
+ /C1 E D dup length 1 sub get 32 eq /TB E D /Bw BW D}{pop pop}ie} D
+/BG {AI LG BC add add 0 eq} D
+/ON {OU{Ty AR AI NN get dup 1 add Ln Ns Ty 2 mod 0 eq{(.  )}{(\\)  )}ie join
+ dup SW pop neg 0 R CP E 0 lt{0 E M}{pop}ie CP BB show /Ms t D}if} D
+/Ln {AR AI 3 -1 roll put}D
+/SP {dup CI lt BP not and{dup CI sub 0 E R /CI E D}{pop}ie} D
+/BN {PF{WR /HM f D}{BT NL}ie} D
+/NN {dup 0 lt{pop 0}if} D
+/h {(h) HI ST cvs join cvx exec dup 1 get E Nf{0 get E join}{pop}ie} D
+/H {/fn FN D /Hi E 1 add D 1 sub /HL E D /H2 HL 2 add D /GS EZ H2 get D
+ E Tm H2 get GS mul BE dup 0 gt{1 sub}{pop EG H2 get dup 0 lt{pop AT}if}ie NA
+ WW Np /SL SL 1 add D /FN EF H2 get D GS Ey H2 get FS
+ EU H2 get Sc Hs not HL Hl lt and Hs HL hl lt and or Hi 0 eq or
+ {/HI Hi D /Hs t D /hl HL D /Hv HL D}if HL Hl lt{/hi Hi D}if
+ Nf HI 0 gt and{(h) Hi ST cvs join cvx exec 0 get WB}if
+ /HF t D /AH f D /PO f D} D
+/EH {Bm H2 get GS mul BE OA /SL SL 1 sub NN D /CF 0 D /FN fn D
+ SZ SL get FR SL get FS /HF f D /GS Ts D ()Ec} D
+/P {E PF{WR}{PO{EP}{BN}ie Ts 4 mul Np AE not{Tm 0 get Ts mul neg SP}if
+ dup 0 ge AH and{Pi Pd}if}ie 1 sub dup 0 lt{pop AV AL get}if /AT E D /PO t D} D
+/EP {PF{WR}{BN Ts 4 mul Np}ie AE not{Bm 0 get Ts mul neg SP}if
+ /AT AV AL get D /PO f D} D
+/BE {E PO{EP}{BN}ie Ts 4 mul Np neg SP} D
+/HR {/Aw W EO sub D /RW E dup 0 gt{Aw mul}{neg}ie dup Aw gt{pop Aw}if D /RZ E D
+ E BN Ts neg SP 1 sub 2 div Aw RW sub mul EO add CP E pop M PF{0 Ps neg R}if
+ 0 Np OU{gsave RZ LW Cf{Hc VC}{0 Sg}ie CP BB RW 0 RL CP BB stroke grestore}if
+ /CI 0 D /BP f D PF not{Ts neg SP}if /Ms t D} D
+/AD {I NL EG 14 get dup 0 lt{pop AT}if NA /AE t D Tm 14 get Ts mul neg SP
+ Cf{EU 14 get dup -1 eq{pop CA CL get}if Sc}if} D
+/DA {BN ()ES OA /AE f D ()Ec Bm 14 get Ts mul neg SP} D
+/PR {/MW E D /Li E D Tm 1 get Ps mul BE 0 NA /FN Fp D /PF t D SI /SL SL 1 add D
+ /CF 0 D Ps CS mul Ts div MW WC mul CS mul Ts div dup LL gt PL 0 eq and
+ {LL div div}{pop}ie Ey 1 get FS CP E pop LE add YI neg div cvi dup Li lt
+ AH and{4 lt YI Li mul 5 mul LE add 0 gt or PL 0 eq and{NP}if}{pop}ie
+ EU 1 get Sc /GS Ps D}D
+/RP {WR NL () /PF f D SI /FN 0 D ES Bm 1 get Ps mul neg SP OA /GS Ts D} D
+/SI {/XO Lm 15 get BC NN mul Lm 16 get AI UI sub NN mul add
+ Lm 17 get UI NN mul add Lm 20 get LG NN mul add Ts mul
+ PF{Lm 1 get Ps mul add}if EO add D
+ /MR Rm 15 get BC NN mul Rm 16 get AI UI sub NN mul add
+ Rm 17 get UI NN mul add Rm 20 get LG NN mul add Ts mul
+ PF{Rm 1 get Ps mul add}if D /LL W XO sub MR sub D} D
+/DT {/cC E D BN /LG LG 1 sub D SI /LG LG 1 add D WW 2 div Np BL} D
+/DD {WB Cc 0 eq cC 0 eq and L1 0 eq or Lm 20 get Ts mul L1 sub TB{BW add}if
+ Ts 2 div lt or NL /LF E D SI BL /cC 0 D} D
+/DL {Dc LG Cc put /Cc E D BG{Tm 18 get Ts mul BE}{BN}ie /LG LG 1 add D BL} D
+/LD {BN LG 0 gt{/LG LG 1 sub D}if /Cc Dc LG get D SI
+ BG{()Bm 18 get Ts mul BE}if BL} D
+/UL {BG{Tm 17 get Ts mul BE}{BN}ie NR AI NN 0 put /UI UI 1 add D
+ /AI AI 1 add D SI BL} D
+/LU {BN /UI UI 1 sub D /AI AI 1 sub D SI BG{()Bm 17 get Ts mul BE}if BL} D
+/OL {E BG{Tm 16 get Ts mul BE}{BN}ie TR AI NN Ty put /Ty E D NR AI NN 1 put
+ /AI AI 1 add D SI BL 1 Ln} D
+/LO {BN /AI AI 1 sub D /Ty TR AI get D SI BG{()Bm 16 get Ts mul BE}if BL} D
+/LI {E BN -1 SP /BP f D /CI 0 D 0 Np NR AI 1 sub NN get 1 eq
+ {dup dup 0 gt E 4 le and{/Ty E D}{pop}ie
+ /L1 L1 Ty AR AI NN get Ns SW pop XO sub dup 0 lt{pop 0}if add D ( ON )}
+ {pop ( B )}ie C1 E join /C1 E D CS Mf gt{/Mf CS D}if BL} D
+/BQ {Tm 15 get Ts mul BE /BC BC 1 add D SI BL} D
+/QB {Bm 15 get Ts mul BE /BC BC 1 sub D SI BL} D
+/Al {E EP 1 sub dup 0 lt{pop AV AL get}if NA} D
+/Ea {EP OA} D
+/WB {PF{WR}{BT}ie} D
+/F1 {WB /FN 0 D CS 0 FS} D
+/F2 {WB /FN WI D CS 0 FS} D
+/HY {/Hy t D WB /Hy f D} D
+/YH {WB} D
+/A {/LT E D LT 1 eq{/RN E D}if /Lh E D WB /C1 C1 ( Cp ) join D
+ Lc AF not and{Cl Sc}if /AF t D} D
+/EA {Lc AF and{Ec}{WB}ie TL Pa AF and Lh 0 ne and
+ {( \\() Lh join (\\)) join /AF f D WB}if /AF f D} D
+/TL {C1 ( Tl ) apa /C1 E D} d
+/apa {AF OU and Lh 0 ne LT 1 eq or and{LT 1 eq{RN ( /) E ST cvs join}
+ {(\\() Lh join (\\)) join}ie E join join}{pop}ie} d
+/Cp {/Xc CP /Yc E D D} D
+/SS {Cf{dup 0 ge{EU E get dup -1 eq{pop CA CL get}if}{pop CA CL get}ie Sc}
+ {pop}ie SZ SL get /SL SL 1 add D} D
+/I {WB 8 SS 1 FS} D
+/EM {WB 8 SS /CF CF 1 xor D 0 FS} D
+/BD {WB 9 SS 2 FS} D
+/TT {WB 10 SS /FN Fp D 0 FS} D
+/KB {WB 11 SS /FN Fp D 2 FS} D
+/CT {WB 12 SS 1 FS} D
+/SM {WB 13 SS /FN Fp D 0 FS} D
+/Q {/QL QL 1 add D QO QL 2 mod get La get join WB} D
+/EQ {QC QL 2 mod get La get join WB /QL QL 1 sub D} D
+/RO {WB -1 SS /CF 0 D 0 FS} D
+/SY {WB -1 SS -1 FS} D
+/MY {WB -1 SS -2 FS} D
+/ES {WB /SL SL 1 sub NN D /CF 0 D /FN FO SL get D SZ SL get FR SL get FS ()Ec}D
+/FZ {3 sub 1.2 E exp GS mul E WB TL /C1 C1 ( Cp ) join D /SL SL 1 add D 0 FS} D
+/Ef {WB TL ()ES /C1 C1 ( Cp ) join D} D
+/BZ {dup /Bf E D FZ}D
+/Sc {dup -1 ne Cf and{/CL CL 1 add D dup 0 eq{pop [0 0 0]}if
+ dup CA E CL E put VS ( VC ) join C1 E join /C1 E D}{pop}ie} D
+/Ec {WB Cf{/CL CL 1 sub NN D CA CL get VS ( VC ) join C1 E join /C1 E D}if} D
+/VS {dup type /arraytype eq{([) E {ST cvs join ( ) join}forall (]) join}if} D
+/VC {{255 div}forall setrgbcolor} D
+/Sl {dup type /integertype ne{Ds}if /La E D WB}d
+/UN {WB /UF t D} D
+/NU {WB /UF f D} D
+/SE {WB /sF t D} D
+/XE {WB /sF f D} D
+/sM {/C1 C1 ( k1 ) join D}d
+/eM {/C1 C1 ( k2 ) join D}d
+/k1 {/YC CP E pop Ts add D /mF t D /f1 t D}d
+/k2 {gsave 3 LW -9 CP E pop Ts 0.2 mul sub M -9 YC L stroke grestore /mF f D}d
+/Ac {/AC E D WB}d
+/Ca {eA{( \\()join AC join(\\) )join}if WB}d
+/s {OU{gsave 0 CS .25 mul R dup SW pop CJ 0 RL stroke grestore}if}D
+/CJ {AT 3 eq LB and{E dup dup length 1 sub A1 mul E
+ {( ) search{pop pop E A2 add E}{pop exit}ie}loop 3 -1 roll add
+ W CP pop sub 2 copy gt{E}if pop}if}D
+/So {/Co E D} D
+/SO {C1 Yo ST cvs join ( So ) join /C1 E D (j) SW pop 2 div Pd} D
+/Se {E WB CS E div Pd}D
+/Pd {dup type /stringtype eq{SW pop}if dup /L1 E L1 add D
+ ST cvs ( 0 R ) join C1 E join /C1 E D} D
+/Sp {0.35 CO} D
+/Sb {-0.2 CO} D
+/CO {OV Io Yo put /Yo E CS mul Yo add D /Io Io 1 add D -1.5 Io mul 3 add FZ SO
+ CS Yo add dup YA gt{/YA E D}{pop}ie
+ Yo neg dup YB gt{/YB E D}{pop}ie} D
+/Es {ES /Io Io 1 sub NN D /Yo OV Io get D SO} D
+/SB {/N2 0 D 0 1 NI{/N E D{IX N2 get 0 lt{/N2 N2 1 add D}{exit}ie}loop
+ /K WS N get FC N get mul D /NY AY N2 get D /BV NY array D
+ 0 1 NY 1 sub{/TM K string D currentfile TM readhexstring pop pop BV E TM put}
+ for BM N BV put /N2 N2 1 add D}for} D
+/IC [{/MA E D /MB 0 D}{2 div /MA E D /MB MA D}{/MB E CS sub D /MA CS D}
+ {pop /MA YS AB mul D /MB 1 AB sub YS mul D}{pop /MA 0 D /MB 0 D}] D
+/IP {BV N get /N N 1 add D} D
+/II {/K E D IX K get 0 lt{/EC E D}if /TY E D
+ TY 4 eq{/Y E D /X E D}if TY 3 eq{/AB E D}if
+ /XW AX K get D /YW AY K get D /IS SG IT K get get D /XS XW IS mul D
+ /YS YW IS mul D YS IC TY get exec /MA MA Fl not{3 add}if D} D
+/IM {II /ty TY D /xs XS D /ys YS D /ya YA D /yb YB D /ma MA D /mb MB D /k K D
+ /ec EC D /BP f D /CI 0 D WB TL L1 xs add dup XO add MR add W gt
+ {pop /ma ma Fl{3 add}if D NL /YA ma D /YB mb D /YS ys D /L1 xs D}
+ {/L1 E D ma YA gt{/YA ma D}if mb YB gt{/YB mb D}if}ie /TB f D
+ OU{CP E pop YS sub LE neg lt Fl not and PB not and{NP /YA ma D /YB mb D}if
+ /BP f D ty ST cvs ( ) join IX k get 0 lt{(\\() join ec join (\\) ) join}if
+ k ST cvs join ty 3 eq{AB ST cvs ( ) join E join}if
+ ty 4 eq{X ST cvs ( ) join Y ST cvs join ( ) join E join}if C1 E join
+ ( DI ) join FP 2 eq FP 1 eq AF and or{( FM ) join}if
+ ( Il Cp ) apa /C1 E D /EN f D}if /HM t D /T f D} D
+/DI {II /Xc CP /Yc E D D /YN YW neg D /HM t D /CI 0 D /K2 IX K get D gsave
+ TY 4 eq{OX X IS mul add OY FY add YS sub Y IS mul sub}
+ {/FY YS D CP MB sub 2 copy /OY E D /OX E D}ie
+ translate K2 0 ge{/DP AZ K2 get D /BV BM K2 get D XS YS scale /N 0 D XW YW DP
+ [XW 0 0 YN 0 YW] {IP} FC K2 get 1 eq{image}{f 3 colorimage}ie}
+ {EX}ie grestore XS 0 R /Ms t D} D
+/FM {gsave 0 Sg CP MB sub translate XS neg 0 M 0 YS RL XS 0 RL 0 YS neg RL
+ XS neg 0 RL stroke grestore} D
+/NA {/AT E D /AL AL 1 add D AV AL AT put} D
+/OA {AL 0 gt{/AL AL 1 sub D /AT AV AL get D}if} D
+/D1 {/BR {CP E pop E BN Mb{CP E pop eq{0 YI R}if}{pop}ie} D
+ /Sn {OU{C1 E ST cvs join ( Ld ) join /C1 E D}{pop}ie} D} D
+/D1 {/BR {BN} D /Sn {OU {C1 E ST cvs join ( Ld ) join /C1 E D} {pop} ie} D} D
+/TC {/TF t D /ML 0 D HN{SW pop dup ML gt{/ML E D}{pop}ie}forall NP /RM RM not D
+ RC /OU Tc D Ep /PN 0 D Ms not TP and{Ip}if /W IW ML sub Ts sub D
+ /A0 0 D TH{/BR {( ) join BT} D /Sn {pop} D /Au () D}if} D
+/TN {0 eq{E EA PF HF or not XR and{HN E get Xr}{pop}ie}
+ {OU{Tn 0 ge{() BN}if /Tn E D}{pop}ie WB}ie} D
+/NT {OU LB not and Tn 0 ge and{PL 0 eq{Ms not{CS CF FS}if CP dup
+ /y E YA sub D W 9 sub CS -1.8 mul XO L1 add 2 add{y M (.) show}for
+ HN Tn get dup SW pop IW E sub y M show CP BB M}if /Tn -1 D}if} D
+/Ld {/DN E D HN DN Pn put [/View [/XYZ -4 Fl{PS}{CP YA add US E pop}ie null]
+ /Dest DN ST cvs cvn /DEST pdfmark} D
+/C {ND 1 eq{1 sub}if TI mul /XO E D NL Nf not{pop()}if 0 3 -1 roll 1 A} D
+/OP {BP not{NP}if PN 2 mod 0 eq{NP}if}D
+/Ep {Xp PN 2 mod 0 eq and OU and{/Pn (-) D showpage /PM 1 D LA}if}D
+/Dg [73 86 88 76 67 68 77] D
+/Rd [0 [1 1 0][2 1 0][3 1 0][2 1 1][1 1 1][2 2 1][3 3 1][4 4 1][2 1 2]] D
+/Ns {/m E D /c E 32 mul D /j m 1000 idiv D /p j 12 add string D
+ c 96 le m 0 gt and{c 32 le {/i 0 D /d 77 D /l 100 D /m m j 1000 mul sub D
+  j -1 1 {pop p i d c add put /i i 1 add D}for
+  4 -2 0 {/j E D /n m l idiv D /m m n l mul sub D /d Dg j get D
+   n 0 gt {/x Rd n get D x 0 get -1 1 {pop p i d c add put /i i 1 add D}for
+   p i x 1 get sub Dg x 2 get j add get c add put}if /l l 10 idiv D
+  }for p 0 i GI}
+  {/i ST length 1 sub D m {1 sub dup 0 ge{dup 26 mod c add 1 add
+   ST i 3 -1 roll put 26 idiv dup 0 eq{pop exit}if}if /i i 1 sub D}loop
+   ST i ST length i sub GI}ie}
+ {m p cvs}ie} D
+/US {matrix currentmatrix matrix defaultmatrix matrix invertmatrix
+ matrix concatmatrix transform} D
+/GB {Gb{US}if}D
+/Tl {/Rn E D Xc CP pop ne{
+ [/Rect [Xc 1 sub Yc cS 0.25 mul sub GB CP E 1 add E cS 0.85 mul add GB]
+  /Subtype /Link /Border [0 0 Cf Lc and LX and AU or{0}{1}ie] Rn type
+  /nametype eq {/Dest Rn}{/Action [/Subtype /URI /URI Rn] Cd}ie
+  /ANN pdfmark}if} D
+/Il {/Rn E D [/Rect [Xc Yc GB Xc XS add Yc YS add GB] /Subtype /Link
+ /Border [0 0 0] Rn type /nametype eq{/Dest Rn}
+ {/Action [/Subtype /URI /URI Rn] Cd}ie /ANN pdfmark} D
+/XP {[{/Z Bz 2 div D Z 0 R Z Z RL Z neg Z RL Z neg Z neg RL Z Z neg RL
+ Fi cH 1 eq and{fill}if} {Bz 0 RL 0 Bz RL Bz neg 0 RL 0 Bz neg RL
+ Fi cH 1 eq and{fill}if} {0 -5 R Bz 0 RL 0 21 RL Bz neg 0 RL 0 -21 RL}]} D
+/MS {/Sm E D WB}D
+/O {BN()Sm BX} D
+/BX {/Bt E D Bt 2 lt{/Ch E D CS 0.8 mul}{11 mul}ie W XO sub MR sub
+ 2 copy gt{E}if pop /HZ E D Bt 2 eq{Fi not{pop()}if ( )E join /Ft E D TT
+ /PF t D /MW 1 D /Li 1 D /Fw Ft SW pop D Fw HZ gt{/HZ Fw 8 add D}if
+ HZ ST cvs( )join}{WB Ch ST cvs( )join}ie L1 HZ add XO add MR add W gt{NL}if
+ Bt 2 eq{Ft ES Fw neg HM{CS sub}if Pd}if Bt ST cvs join( Bx )join
+ Bt 2 eq HM and{CS Pd}if C1 E join /C1 E D /L1 L1 HZ add D /T f D
+ ( ) Pd /PF f D Bt 2 lt{YA CS .8 mul lt{/YA CS .8 mul D}if}
+ {YB 5 lt{/YB 5 D}if YA 21 lt{/YA 21 D}if}ie /CI 0 D} D
+/Bx {dup 2 eq{E /Bz E D}{E /cH E D /Bz CS .8 mul D}ie
+ OU {gsave 0 Sg XP E get exec stroke grestore}{pop}ie Bz 0 R /Ms t D}D
+/SD {FD 4 mul Dy add DZ NF newpath 0 0 M DX t charpath pathbbox
+ 3 -1 roll sub /DY E D E dup /X1 E D sub WM mul WX DY mul add WM DG mul E div
+ /DF E D /DR WX DF mul DY mul WM div 2 div D} d
+/Sd {gsave 0 IL Di mul neg translate IL IW atan Di 0 eq{neg}if rotate
+ FD 4 mul Dy add DZ NF DR X1 sub DY 2 div neg M cD VC DX show grestore} d
+/Pt {/tp t D Tp{NP /Pn (TP) D 0 Tt neg R Th BN NP Ep ET RC ZF}if /tp f D} D
+/RC {/AI 0 D /LG 0 D /BC 0 D /UI 0 D /PF f D /Cc 0 D /cC 0 D /Dc 10 array D
+ /NR [0 1 9{pop 0}for] D /La Ds D /AR 10 array D /TR 10 array D /AV 30 array D
+ SI /AL -1 D /AT A0 D AT NA /OV 9 array D /Yo 0 D /Co 0 D /Io 0 D /Hy f D
+ /Ph f D /CL -1 D Ct Sc}D
+/ZF {/FR [0 1 30{pop 0}for] D /SZ [0 1 30{pop 0}for] D /FO [0 1 30{pop 0}for] D
+ /SL 0 D /CF 0 D /FN 0 D 0 Ts SF}D
+/QO [[($qo)][($qo2)]] D
+/QC [[($qc)][($qc2)]] D
+/Hf EF length 2 sub D
+/Hz EZ Hf get D
+/HS Ey Hf get D
+/Fz EZ Hf 1 add get D
+/Fs Ey Hf 1 add get D
+/LE IL D
+/Ps EZ 1 get D
+/Fp EF 1 get D
+/XO 0 D
+/YI 0 D
+/CI 0 D
+/FP 0 D
+/WW Ts 7 mul D
+/Mf 0 D
+/YA 0 D
+/YB 0 D
+/Cs Ts D
+/GS Ts D
+/F0 0 D
+/NS 0 D
+/NB 0 D
+/N 0 D
+/C0 [] D
+/C1 () D
+/Lo 0 D
+/L1 0 D
+/LM 0 D
+/PH 0 D
+/EC 0 D
+/Lh 0 D
+/LT 0 D
+/CH 1 string D
+/ST 16 string D
+/CA 9 array D
+/HC (\\255) D
+/HM f D
+/PF f D
+/EN f D
+/TB f D
+/UF f D
+/sF f D
+/AE f D
+/AF f D
+/BP t D
+/CD f D
+/PA t D
+/GL f D
+/T t D
+/HF f D
+/AH f D
+/SA f D
+/PB f D
+/f1 f D
+/mF f D
+/OX 0 D
+/OY 0 D
+/FY 0 D
+/EO 0 D
+/FB 0 D
+/PL 0 D
+/Bw 0 D
+/PD -1 D
+/TP f D
+/tp f D
+/TH $th D
+/Ty 4 D
+/Tn -1 D
+/Fl t D
+/LB t D
+/PM 1 D
+/Ms f D
+/Ba f D
+/Bb f D
+/Hl 3 D
+/hl 6 D
+/Hv 6 D
+/Hs f D
+/HI 0 D
+/hi 0 D
+/PO t D
+/TE f D
+/LF t D
+/BO 0 D
+/Sm 1 D
+/Bf 3 D
+/A1 0 D
+/A2 0 D
+/Ds $lid{'en'} D
+/QL -1 D
+/Cb Db D
+/Ct Dt D
+/Cl Dl D
+EOT
+
+$tbl=<<EOT;
+/TS {
+ tables E get /table E D
+ table aload pop /rdesc E D /cdesc E D /tdesc E D
+ tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D
+  /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D
+  /flow E D /clear E D /tclass E D pop pop
+ /w W D /eps 0.1 D /OU f D /PL 1 D
+ /FN EF 21 get D EZ 21 get Ey 21 get FS
+ 0 1 1{
+  /pass E D
+  0 1 nrow{
+   /irow E D
+   /cells rdesc irow get 6 get D
+   0 1 ncol{
+    /icol E D
+    /cell cells icol get D
+    cell 0 ne{
+     cell aload pop /ang E D /CB E D pop pop pop
+     /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D
+     /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D
+     /cmin E D /proc E D
+     rspan 0 eq{/rspan nrow irow sub 1 add D}if
+     cspan 0 eq{/cspan ncol icol sub 1 add D}if
+     pass 0 eq cspan 1 eq and pass 1 eq cspan 1 gt and or{
+      /W 1e5 D /LL W D /PH 1 D
+      ctype 1 eq{() BD}if
+      RC align NA
+      AT 4 eq{/CD t D /DC dp D /LN 0 D /M1 0 D /M2 0 D}{/CD f D}ie
+      0 0 M /LM 0 D proc exec BN
+      AT 4 eq{
+       LN array astore cell 15 3 -1 roll put
+       cdesc icol get dup dup 5 get M1 lt{5 M1 put}{5 get /M1 E D}ie
+       dup 6 get M2 lt{6 M2 put}{6 get /M2 E D}ie
+       /LM M1 M2 add D
+      }if
+      /CD f D
+      ang 0 ne{/LM CP E pop neg D}if
+      /thiswid LM left add right add eps add D
+      /oldmin 0 D /oldmax 0 D
+      0 1 cspan 1 sub{
+       icol add cdesc E get dup 2 get /oldmax E oldmax add D
+       1 get /oldmin E oldmin add D
+      }for
+      thiswid oldmax ge{
+       0 1 cspan 1 sub{
+        icol add cdesc E get dup 2 E 2 get oldmax 0 eq
+         {pop thiswid cspan div}{thiswid mul oldmax div}ie
+        put
+       }for
+      }if
+      nowrap 1 eq{
+       thiswid oldmin ge{
+        0 1 cspan 1 sub{
+         icol add cdesc E get dup 1 E 1 get oldmin 0 eq
+          {pop thiswid cspan div}{thiswid mul oldmin div}ie
+         put
+        }for
+       }if
+      }{
+       /W 0 D /LL W D /PH 2 D
+       ctype 1 eq{() ES () BD}if
+       0 0 M /LM 0 D RC proc exec BN
+       /thiswid LM left add right add eps add D
+       thiswid oldmin ge{
+        0 1 cspan 1 sub{
+         icol add cdesc E get dup 1 E 1 get oldmin 0 eq
+          {pop thiswid cspan div}{thiswid mul oldmin div}ie
+         put
+        }for
+       }if
+      }ie
+      ctype 1 eq{() ES}if
+     }if
+    }if
+   }for
+  }for
+ }for
+ /tmin 0 D /tmax 0 D
+ 0 1 ncol{
+  cdesc E get dup 1 get E 2 get 2 copy gt{pop dup}if
+  tmax add /tmax E D tmin add /tmin E D
+ }for
+ twid 0 lt{twid neg IW gt{IW neg}{twid}ie /twid E D}if
+ tdesc 0 twid neg tmin 2 copy lt{E}if pop put
+ tdesc 1 twid neg tmax 2 copy lt{E}if pop put
+ /W w D /LL W D /OU t D /PH 0 D /PL 0 D
+} D
+/PT {
+ /PL PL 1 add D
+ tables E get /table E D Tm 21 get Ts mul BE
+ PL 2 ge{save}if
+ /SL SL 1 add D /FN EF 21 get D EZ 21 get Ey 21 get FS
+ table aload pop /rdesc E D /cdesc E D /tdesc E D
+ tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D
+  /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D
+  /flow E D /clear E D /tclass E D /tmax E D /tmin E D
+ /w W D /xo XO D /mr MR D /ll LL D /lg LG D /ai AI D /bc BC D /nr NR D /ar AR D
+ /tr TR D /ui UI D /ph PH D /a0 A0 D /pf PF D /at AT D /av AV D /al AL D
+ /Le LE D /la La D
+ talign 0 lt{/talign AL 0 gt{AV AL get}{A0 2 le{A0}{0}ie}ie D}if
+ ph 1 eq ph 2 eq or{
+  NL ph 1 eq{tmax}{tmin}ie dup XO add LM gt{/LM E XO add D}{pop}ie LM E
+ }{
+  /PH 3 D /LE 1e5 D RC %ZF
+  border 0 gt{/border 1 D}if
+  /twidth 0 D /avail W xo sub D
+  twid 0 eq{0 1 ncol{cdesc E get dup 2 get E 3 get dup 0 gt{div neg dup twid lt
+   {/twid E D}{pop}ie}{pop pop}ie}for}if
+  /twid twid dup 0 lt{neg avail 2 copy gt{E}if pop}{avail mul}ie D
+  /OK t D 0 1 ncol{cdesc E get dup 1 get E 3 get twid mul gt{/OK f D}if}for
+  0 1 ncol{
+   cdesc E get dup 1 get /colmin E D dup 3 get /cwid E twid mul D dup
+   tmax avail le{2 get}if
+   tmin avail le tmax avail gt and{
+    dup 2 get E 1 get dup 3 1 roll sub avail tmin sub mul tmax tmin sub div add
+   }if
+   tmin avail gt{1 get}if
+   0 E colmin cwid lt OK and{pop cwid}if dup /twidth E twidth add D put
+  }for
+  /OU f D CP
+  tmin twid le{
+   0 1 ncol{cdesc E get dup 0 get twidth div twid mul 0 E put}for
+   /twidth twid D
+  }if
+  CP printcap CP E pop sub /caphig E D pop
+  0 1 1{
+   /pass E D
+   0 1 nrow{
+    /irow E D
+    /cells rdesc irow get 6 get D
+    0 1 ncol{
+     /icol E D
+     /cell cells icol get D
+     cell 0 ne{
+      cell aload pop /ang E D /CB E D pop pop pop
+      /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D
+      /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D
+      /cmin E D /proc E D
+      rspan 0 eq{/rspan nrow irow sub 1 add D}if
+      cspan 0 eq{/cspan ncol icol sub 1 add D}if
+      /W 0 D
+      0 1 cspan 1 sub{icol add cdesc E get 0 get /W E W add D}for
+      pass 0 eq rspan 1 eq and pass 1 eq rspan 1 gt and or{
+       ctype 1 eq{() BD}if
+       /W W left sub right sub D /XO 0 D /EO 0 D SI
+       /A0 align D RC align NA
+       AT 4 eq{
+        /DC dp D /DO 0 D /ID 1 D
+        0 1 DV length 1 sub{DV E get dup DO gt{/DO E D}{pop}ie}for
+        /Lo DO DV 0 get sub D /L1 Lo D
+       }if
+       0 0 M /BP t D /Fl t D /MF 0 D /FB 0 D
+       proc exec T not{/CI 0 D}if BN 0 FB neg R MF 0 eq{/MF CS D}if
+       CP /thishig E neg bot add top add CI add D pop
+       ang 0 ne{/thishig LM bot add top add D}if
+       cell 16 MF put cell 17 Ya put cell 18 thishig put
+       valign 4 eq{
+        /below thishig Ya sub D
+        rdesc irow get dup dup 4 get Ya lt
+         {4 Ya put}{4 get /Ya E D}ie
+        dup 5 get below lt{5 below put}{5 get /below E D}ie
+        /thishig Ya below add D
+       }if
+       ctype 1 eq{()ES}if
+       /oldhig 0 D
+       0 1 rspan 1 sub{
+        irow add rdesc E get 0 get /oldhig E oldhig add D
+       }for
+       thishig oldhig ge{
+        0 1 rspan 1 sub{
+         irow add rdesc E get dup 0 E 0 get oldhig 0 eq
+          {pop thishig rspan div}{thishig mul oldhig div}ie
+         put
+        }for
+       }if
+      }if
+     }if
+    }for
+   }for
+  }for M RC %ZF
+  /thight 0 D /racc 0 D /maxh 0 D /brk 0 D /rbeg nhead nfoot add D
+  rbeg 1 nrow{
+   rdesc E get dup 0 get dup /thight E thight add D
+   brk 0 eq{/racc E D}{/racc E racc add D}ie
+   racc maxh gt{/maxh racc D}if 2 get /brk E D
+  }for
+  ph 3 ge{thight caphig add E}if
+  ph 0 eq ph 4 eq or{
+   /PH 4 D /LE Le D /OU Ou D /yoff 0 D /headsz 0 D
+   0 1 nhead 1 sub{rdesc E get 0 get headsz add /headsz E D}for
+   /footsz 0 D
+   0 1 nfoot 1 sub{rdesc E nhead add get 0 get footsz add /footsz E D}for
+   /ahig LE BO add MI add D /maxh maxh headsz add footsz add D
+   /thight thight headsz add footsz add D
+   tmin avail gt maxh ahig gt or
+    {/Sf avail tmin div dup ahig maxh div gt{pop ahig maxh div}if D /SA t D}
+    {/Sf 1 D}ie
+   tclass 1 eq thight LE 15 sub gt and
+    {/SA t D LE 15 sub thight div dup Sf lt{/Sf E D}{pop}ie}if
+   SA{Sf Sf scale /ll ll Sf div D /xo xo Sf div D /LE LE Sf div D
+    /mr mr Sf div D /BO BO Sf div D /ahig ahig Sf div D}if
+   nhead nfoot add getwid
+   LE CP E pop add capalg 0 eq{caphig sub}if
+   bT{f}{dup thight lt thight ahig lt and}ie
+   E headsz sub footsz sub rwid lt or{NP}if
+   capalg 0 eq{printcap -8 SP}if
+   CP /ycur E D pop
+   printhead
+   rbeg 1 nrow{/row E D row
+    getwid
+    ycur yoff add rwid sub footsz sub LE add 0 lt
+    {nfoot 0 gt{printfoot}if Tf NP /rbeg irow1 D
+     Ba{MI /MI MI SA{Sf div}if D MI SP /MI E D}if
+     CP /ycur E D pop /yoff 0 D printhead}if
+    irow1 printrow
+   }for
+   printfoot /row row 1 add D Tf
+   0 ycur yoff add M
+   capalg 1 eq{/EO 0 D SI -3 SP printcap}if
+   Sf 1 lt{1 Sf div dup scale /ll ll Sf mul D /xo xo Sf mul D /LE LE Sf mul D
+    /mr mr Sf mul D /BO BO Sf mul D /SA f D}if
+   /EO 0 D
+  }if
+ }ie
+ /W w D /XO xo D /MR mr D /LL ll D /LG lg D /AI ai D /BC bc D /NR nr D /AR ar D
+ /TR tr D /UI ui D /PH ph D /A0 a0 D /PF pf D /AT at D /AV av D /AL al D
+ /La la D
+ /SL SL 1 sub NN D /CF 0 D /FN 0 D SZ SL get FR SL get FS Wf not{()F2}if
+ PL 2 ge{Ms E restore Ms or /Ms E D PH 1 eq PH 2 eq or
+  {/LM E D}if PH 3 ge{/CI 0 D NL 0 E neg R}if
+ }if
+ /PL PL 1 sub D /CI 0 D /BP f D /PO f D () Bm 21 get Ts mul BE BL %CF CS SF
+} D
+/printcap{
+ capalg 0 ge{
+  SA{/W w Sf div D}
+   {talign 1 eq{/XO xo ll twidth sub 2 div add D}if
+    talign 2 eq{/XO xo ll twidth sub add D}if
+    /W XO twidth add D
+   }ie /XO xo D /LL W XO sub MR sub D
+  /PA f D /Fl capalg 0 eq D
+  1 NA BL caption exec BN OA /PA t D
+ }if
+} D
+/getwid{
+ /irow1 E D
+ /irow2 irow1 D
+ /rwid 0 D
+ {rdesc irow2 get dup 0 get rwid add /rwid E D 2 get 0 eq
+  {exit}{/irow2 irow2 1 add D}ie
+ }loop
+} D
+/printrow{
+ /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D
+ /xleft xoff xo add D
+ /irow E D
+ /cells rdesc irow get 6 get D
+ 0 1 ncol{
+  /icol E D
+  /cell cells icol get D
+  cell 0 ne{
+   cell aload pop /ang E D /CB E D /cvsize E D /above E D /fontsz E D
+   /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D
+   /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D
+   /cmin E D /proc E D
+   rspan 0 eq{/rspan nrow irow sub 1 add D}if
+   cspan 0 eq{/cspan ncol icol sub 1 add D}if
+   /width 0 D
+   0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for
+   /rhight rdesc irow get 0 get D
+   /hight rhight D
+   1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for
+   /W xo xoff add width add right sub D
+   ang 0 ne{/W xo xoff add hight add right sub D}if
+   /EO xo xoff add left add D SI
+   Cf{
+    gsave CB VC xo xoff add ycur yoff add M
+    0 hight neg RL width 0 RL 0 hight RL width neg 0 RL fill
+    grestore
+   }if
+   ctype 1 eq{() BD}if
+   /A0 align D RC
+   AT 4 eq{
+    /DC dp D /ID 1 D /DO cdesc icol get 5 get D /Lo DO DV 0 get sub D /L1 Lo D
+   }if
+   ang 0 ne{
+    gsave ang 90 eq
+     {xoff ycur add hight cvsize sub 2 div sub ycur hight sub xoff sub}
+     {xoff ycur sub width add hight cvsize sub 2 div add ycur xoff add}ie
+    translate ang rotate
+   }if
+   valign 3 le{0 ycur yoff add top sub
+    hight cvsize sub valign 1 sub mul 2 div sub M}
+   {0 ycur yoff add top sub above add rdesc irow get 4 get sub M}ie
+   /PA f D /BP t D /Fl t D
+   BL proc exec BN
+   ang 0 ne{grestore}if
+   /PA t D
+   ctype 1 eq{() ES}if
+  }if
+  /xoff xoff cdesc icol get 0 get add D
+ }for
+ /yoff yoff rhight sub D
+} D
+/printhead {0 1 nhead 1 sub{printrow}for} D
+/printfoot {nhead 1 nhead nfoot add 1 sub{printrow}for} D
+/Tf {
+ OU{rules 2 ge{/yoff 0 D
+   gsave 0 Sg
+   [0 1 nhead 1 sub{}for rbeg 1 row 1 sub{}for nhead 1 nhead nfoot add 1 sub{}for]{
+    /irow E D
+    /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D
+    /cells rdesc irow get 6 get D
+    0 1 ncol{
+     /icol E D
+     /cell cells icol get D
+     cell 0 ne{
+      /rspan cell 6 get D
+      /cspan cell 5 get D
+      rspan 0 eq{/rspan nrow irow sub 1 add D}if
+      cspan 0 eq{/cspan ncol icol sub 1 add D}if
+      /width 0 D
+      0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for
+      /rhight rdesc irow get 0 get D
+      /hight rhight D
+      1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for
+      xo xoff add width add ycur yoff add M
+      0 hight neg icol cspan add 1 sub ncol lt
+       {cdesc icol 1 add get 4 get dup rules 3 le{1 eq}{pop t}ie
+        {1 eq{0.8}{0.3}ie
+        LW RL CP stroke M}{pop R}ie}{R}ie
+      irow nhead nfoot add 1 sub ne nfoot 0 eq or
+       {irow rspan add 1 sub nrow lt
+       {rdesc irow rspan add get 3 get}{nfoot 0 eq{0}{1}ie}ie
+       dup rules 2 mod 0 eq{1 eq}{pop t}ie
+       {1 eq irow rspan add nhead eq or irow rspan add row eq nfoot 0 gt and or
+        {0.8}{0.3}ie LW width neg 0 RL CP stroke M}{pop}ie}if
+     }if
+     /xoff xoff cdesc icol get 0 get add D
+    }for
+    /yoff yoff rhight sub D
+   }forall
+   grestore
+   /Ms t D
+  }if
+  frame 1 gt{
+   gsave
+   1 LW 0 Sg
+   xleft ycur M CP BB
+   0 yoff frame 5 eq frame 7 ge or{RL}{R}ie
+   twidth 0 frame 3 eq frame 4 eq or frame 8 ge or{RL}{R}ie CP BB
+   0 yoff neg frame 6 ge{RL}{R}ie
+   twidth neg 0 frame 2 eq frame 4 eq or frame 8 ge or{RL}{R}ie
+   closepath stroke
+   grestore
+   /Ms t D
+  }if
+ }if
+} D
+EOT
+
+&openps if($opt_o);
+$ntab=-1;
+$tables="/tables [";
+@docs=$#ARGV<0?("-"):@ARGV;
+if($tocdoc) {$#docs=0};
+for (@docs) {$levl{$_}=1};
+$nref=0;
+$nhd=0;
+$nlnk=1;
+$ndoc=0;
+$nrem=0;
+$toc=$first?"Pt\n":"";
+$toc.="/BO 0 D TC /Ba f D Bs /AU f D /UR () D RC ZF\n";
+$toc.="()F2" if(!$latin1);
+$toc.="tH WB\n" if(!$tocdoc);
+$fl1="";
+$fl2="";
+$np="NP RC ZF";
+$P3="";
+while($html=shift @docs) {
+  $ndoc++;
+  $ba2="";
+  $P2="(";
+  $banner="";
+  undef @links;
+  $level=$levl{$html};
+  if(&h2p) {
+    if($ndoc==1) {
+      $toc=~s/\$T/$ti/g;
+      $toc=~s/\$A/$au/g;
+      $toc=~s/[\200-\377]+/)F1($&)F2(/g if(!$latin1);
+    }
+    if($layer) {
+      @docs=(@docs,@links);
+    } else {
+      @docs=(@links,@docs);
+    }
+    $rem=$#docs+1;
+    if($rem && $opt_W) {
+      &dbg("At least $rem document".($rem>1?"s":"")." remaining\n");
+    }
+    if($banner) {
+      $_="/Ba t D /BA {($banner)BN} D\nBs f Pb CP /BO E D pop\n";
+      &Subst($_);
+      s/  H\(/ -1 H(/g;
+    } else {
+      $_="/Ba f D /BO 0 D Bs";
+    }
+    if($tocdoc && $first && $ndoc==1) {
+      $TC=" TC\n";
+      $et=" NP Ep ET /Tc f D";
+    } else {
+      $TC="";
+      $et="";
+    }
+    $_.="\n/UR ($html) D\n/Ti ($ti) D\n/Au ($au) D\n/Df $draft D\n/ME [";
+    for $i (sort {$metarc{$a} <=> $metarc{$b}} keys %metarc){
+      $_.="($meta{$i})";
+    }
+    $_.="] D\n$TC";
+    if($ndoc==1) {$top=$_};
+    if(!$tocdoc) {
+      $toc.="ND 1 gt{Ts 3 mul Np $refs{$html}()0 C()BD($ti)ES()$refs{$html}"
+           ." 1 TN()EA()BN}if\n";
+    }
+    $hv=0;
+    while($P2=~s/(\d) (\d)  H\(([^\s<)]*)/$1 $2 $nhd H($3)WB $nref Sn(/) {
+      $nhd++;
+      if($hv+1<$2) {
+        for($hv+1..$2-1) {
+          push(@z1,-$nref);
+          push(@z2,$_);
+        }
+      }
+      $hv=$2;
+      $hind[$hv-1]++;
+      for $i ($hv..5) {$hind[$i]=0};
+      $hind=join('.',@hind[0..$hv-1]);
+      $hst=$3;
+      $'=~/\)EH/;
+      ($htxt=$hst.$`)=~s/\)EA\(//g;
+      if(!$tocdoc) {
+        $toc.="$hv NH le{$nref($hind\\240\\240)$hv C($htxt)$nref 1 TN()EA()BN}if\n";
+      }
+      push(@z1,$nref);
+      push(@z2,$hv);
+      $nref++;
+      $htxt=~s/(\s+|\)BR\()/ /g;
+      $htxt=~s/(^\s+|\)[^(]*\(|\s+$)//g;
+      $htxt="" if(!$latin1);
+      $dh.="/h$nhd [($hind\\240\\240)($htxt)] D\n";
+    }
+    if($tocdoc) {
+      if($ndoc==1 && !$first) {
+        $toc="TC RC ZF $_ $P2 WB () BN\n";
+        $P2="";
+        $P3="";
+        $np="";
+        $_="";
+      }
+    }
+    $P3.="$fl1\n/Cb $bg D /Ct $tcol D /Cl $lcol D /CL -1 D Ct Sc\n";
+    if($ndoc==1 && !$first) {$P3.="Pt\n"};
+    $P3.="$fl2\n$_\n$np\n$P2";
+    if($tocdoc && $ndoc==1 && !$first) {
+      $np="/Cb $bg D NP RC ZF";
+    } else {
+      $fl1="WB NL$et";
+      $fl2="DS";
+      $np="0 BO R";
+    }
+  }
+}
+
+$P3.=($P3!~/\)\s*$/?"()":"")."WB NL";
+if(!$tocdoc && $first && $nhd){$P3="$toc/OU t D /Cb $bg D NP Ep ET $P3"};
+if(!$first && ($tocdoc || !$tocdoc && $nhd)){$P3.=" $toc"};
+
+if($ntab>=0) {
+  $_="$tables] D";
+  &ack($_);
+  y/\t\f/ /;
+  s/[\200-\377]/sprintf("\\%3.3o",ord($&))/eg;
+  s/\)XX/)9 9 PR/g;
+  s/  H\(/ -1 H(/g;
+  $tables=$_;
+}
+$_="%!PS\n%%Title: $title\n$P0$P1";
+if($nimg>=0) {
+  $_.="/AX [".join(' ',@XS)."] D\n/AY [".join(' ',@YS)."] D\n"
+     ."/IX [".join(' ',@IX)."] D\n/IT [".join(' ',@IT)."] D\n";
+  if($nm>=0) {
+    $_.="/AZ [".join(' ',@DP)."] D\n/WS [".join(' ',@WS)."] D\n"
+       ."/FC [".join(' ',@FC)."] D\n/NI $nm D\n/BM ".($nm+1)." array D\nSB\n";
+    for $i (0..$nm) {$_.="$BM[$i]\n\n"}
+  }
+  $_.="\n$pv%Endpv\n" if($nps);
+}
+@kw=split(/[, ]+/,$kw);
+@Kw=();
+for $i (@kw){push(@Kw,$i) if(!grep(/^$i$/,@Kw))};
+$kw=join(', ',@Kw);
+for $i (0..$#z2) {
+  $n=0;
+  $j=$i;
+  while($j++<=$#z2 && $z2[$j]>$z2[$i]) {$n++ if($z2[$j]==$z2[$i]+1)};
+  push(@z3,$n);
+}
+$tdef=$ntab>=0?"$tbl$tables\n0 1 $ntab\{TS}for RC ZF\n":"";
+$hd="/Hr [@z1]D\n/HV [@z2]D\n/Cn [@z3]D";
+&cut($hd);
+if($gd) {
+  $sd="/Df t D /DG IW IW mul IL IL mul add sqrt D IW IL IW IL lt{E}if"
+  ." /WM E D /WX E D /DZ 180 D gsave SD /DZ DZ DF mul D SD grestore\n";
+} else {
+  $sd="/Df f D\n";
+}
+$_.=<<EOD;
+[/Creator ($version) /Author ($Au) /Keywords ($kw) /Subject ($su)
+ /Title ($title) /DOCINFO pdfmark
+/ND $ndoc D
+/HN [1 1 $nref\{pop (??)}for] D
+$dh$hd
+Hr length 0 gt{[/PageMode /UseOutlines /DOCVIEW pdfmark}if
+/Hn 1 D
+0 1 Hr length 1 sub{
+ /Bn E D [Cn Bn get dup 0 gt{/Count E HV Bn get Bl ge{neg}if}{pop}ie
+ /Dest Hr Bn get dup abs ST cvs cvn E 0 ge{(h)Hn ST cvs join cvx exec
+ dup 1 get E Nf{0 get E join}{pop}ie /Hn Hn 1 add D}{()}ie
+ /Title E dup length 255 gt{0 255 getinterval}if /OUT pdfmark}for
+ZF /FN Fp D Ps 0 FS /WC Wf{( )}{<A1A1>}ie SW pop D
+ET RC ZF
+$sd$rfs$tdef$top$P3
+/TE t D NP TU PM 0 eq and{/Pn () D showpage}if end restore
+EOD
+
+if(($first || $opt_R) && $xref{'passes'}) {
+  &dbg("Inserting cross references\n") if($opt_d);
+  for $i (1..$xref{'passes'}) {&ref};
+}
+&fin;
+
+sub h2p {
+  if($html eq '-') {
+    $_=<>;
+  } elsif($html=~m|://|) {
+    if(($prompt || $nrem>50) && $level>1) {
+      &prompt("Retrieve document $html (y/n/q)? ",$ans);
+      if($ans=~/q/i) {undef @docs};
+      return 0 unless($ans=~/y/i);
+    }
+    &geturl($html,$_) || return;
+    $nrem++;
+    if($contyp!~m|text/html|i) {$_=" <plaintext>\n$_"};
+    unless(($ba2)=$html=~m|(.*://.*/)|) {$ba2=$html."/"};
+  } else {
+    if(open(FILE,$html)) {
+      &dbg("Reading $html\n") if($opt_W || $opt_d);
+      $_=<FILE>;
+      if(!/<HTML/i && $html!~/html?$/i && ($html!~/\.ps$/i || $ndoc>1)) {
+        $_=" <plaintext>\n$_";
+      }
+      close FILE;
+      $var{DOCUMENT_NAME}=$html;
+      if($posix) {
+        $var{LAST_MODIFIED}=POSIX::strftime("%c",localtime((stat $html)[9]));
+        $var{DATE_LOCAL}=POSIX::strftime("%c",@now);
+        $var{DATE_GMT}=POSIX::strftime("%c",@gmnow);
+      }  
+      $mod=(stat $html)[9];
+    } else {
+      &dbg("*** Error opening $html\n");
+      return 0;
+    }
+  }
+
+  if(/^%!/ && /$delim/) {
+    $psin=1;
+    &openps if($opt_o);
+    $_=$P0.$';
+    for $s ("b","c","cw","g","t") {
+      &dbg("Option -$s ignored\n") if(eval "\$opt_$s");
+    }
+    &fin;
+  }
+
+  &hb($_,$head);
+  $head=~/<title$R\s*([\w\W]*)<\/title/i;
+  ($ti=$2)=~s/\s+/ /g;
+  $ti=$doctit{$html} if(!$ti);
+  $ti=~s/\s*$//g;
+  &spec($ti);
+  &ent($ti);
+  $ti="<Untitled>" if(!$ti);
+  $title=$ti if(!$title);
+  $draft="f" if(!$ddr);
+  %meta=();
+  $au="";
+  while($head=~/<meta\s[^>]*(name|http-equiv)\s*=\s*["']?\s*(\w+)$R/gi) {
+    $k=lc $2;
+    ($v)=$&=~/content\s*=\s*["']\s*([^"']+)/i;
+    $v=~s/\s+/ /g;
+    $v=~s/\s*$//g;
+    &spec($v);
+    &ent($v);
+    $meta{$k}=$v;
+    if($k=~/author/) {$au=$au?"$au, $v":$v};
+    if($k=~/keywords/) {$kw=$kw?"$kw, $v":$v};
+    if($k=~/subject/ && !$su) {$su=$v};
+    if(!$ddr && $k=~/status/ && $v=~/draft/i) {$draft="t";$gd=1};
+  }
+  $Au.=($Au?" + ":"").$au if($au);
+  $b2=$opt_b;
+  unless($b2) {
+    ($b2)=$head=~/<base\s+href\s*=\s*"([^"]*)"$R/i;
+    unless($b2) {($b2)=$head=~/<base\s+href\s*=\s*([\w\.-]+)$R/i}
+    unless($b2) {$b2=$ba2}
+  }
+  $b2=~s|[^/]*$||;
+  ($b1)=$b2=~m|(.*://[^/]*)/|;
+  unless($b1) {$b1=$opt_r};
+  unless($b2) {$b2=$html=~m|(.*/)[^/]*$|?$1:""};
+  if(!defined $B2) {$B2=$b2};
+  $levl{$b2.$html}=$levl{$html};
+
+  while($link && $head=~/<link\s+[^>]*rel\s*=\s*["']?next$R/gi) {
+    if(($lnk)=$&=~/href\s*=\s*["']?\s*([^"' >]*)/gi) {
+      if($lnk=~m|.+//[^/]+$|) {$lnk=$&."/"}
+      if($lnk=~m|://|) {
+        $rlnk=0;
+      } else {
+        $rlnk=1;
+        if($lnk=~m|^/|) {$lnk=$b1.$lnk} else {$lnk=$b2.$lnk}
+      }
+      while($lnk!~m|^\.\./| && $lnk=~m|[^/]*/\.\./|) {$lnk=$`.$'};
+      $lnk=~s|/\./|/|g;
+      if(&follow && !$levl{$lnk}) {
+        $levl{$lnk}=$level+1;
+        push(@links,$lnk);
+      }
+    }
+  }
+  ($battr)=/<BODY$R/i;
+  ($lang)=$battr=~/\slang\s*=\s*['"]?([a-zA-Z-]+)/i;
+  ($lang)=$head=~/<html[^>]+lang\s*=\s*['"]?([a-zA-Z-]+)/i if(!$lang);
+  $lang=$opt_l if($opt_l);
+  $lang='en' if(!$lang);
+  $lang=lc $lang;
+  if($battr=~/\stext\s*=\s*['"]?\s*#?(\w+)/i) {$tcol=&col2rgb($1)};
+  if(!$tcol) {$tcol="Dt"};
+  if($battr=~/\slink\s*=\s*['"]?\s*#?(\w+)/i) {$lcol=&col2rgb($1)};
+  if(!$lcol) {$lcol="Dl"};
+  &inihyph if($opt_H);
+  ($bg)=$battr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i;
+  $bg=&col2rgb($bg);
+  if($bg) {
+    ($red,$grn,$blu)=@cvec;
+  } else {
+    ($red,$grn,$blu)=$bgcol=~/#(\w+).*#(\w+).*#(\w+)/;
+    $bg="Db";
+  }
+
+  $temp="";
+  while(/<object$R/i) {
+    $temp.=$`;
+    $tag=$&;
+    $end=$';
+    $type=$tag=~/type\s*=\s*($S)/i?$+:"";
+    $uaddr=$tag=~/data\s*=\s*($S)/i?$+:"";
+    if($type=~/^text\/(html|plain)$/i
+     || !$type && $uaddr=~m"(\.html?|://.+/|://[^/]+)$"i) {
+      $tag=~/data\s*=\s*/i;
+      if(&open($uaddr,$idoc)) {
+        if($type=~/plain/i) {
+          $idoc="<XMP>$idoc</XMP>";
+        } else {
+          &hb($idoc,$dum);
+        }
+        $_=$idoc;
+        $_.=$' if($end=~/<\/object>/i);
+      } else {
+        &dbg("\n*** Error opening $uaddr\n");
+        $_=$end;
+      }
+    } else {
+      $temp.=$tag;
+      $_=$end;
+    }
+  }
+  $_=$temp.$_;
+
+  if($opt_c && defined $package{'check'}) {
+    $file=$html;
+    if($html=~m|://|) {
+      open(SCRATCH,">$scr");
+      print SCRATCH;
+      close SCRATCH;
+      $file="$scr";
+    }
+    &dbg(`$package{'check'} $file`);
+  }
+
+  if(!$latin1) {
+    if($opt_e=~/EUC-/i) {
+      s/([\216\217\241-\376].)+/\000$&\000/g;
+      &spec($_);
+      s/\000(.+?)\000/)F1($1)F2(/g;
+    } elsif($opt_e=~/SHIFT-JIS/i) {
+      s/[\201-\237\340-\374][@-~\200-\374]/$&\000/g;
+      s/[\241-\337]+(?!\000)/$&\000/g;
+      s/[ -~\t\n\r\240]+(?!\000)/\002$&\001/g;
+      &spec($_);
+      s/\000//g;
+    } else {
+      while(/\e\$B([^\e]*)/) {
+        $beg=$`;
+        $end=$';
+        $mat=$1;
+        $mat=~s/\s//g;
+        $_="$beg\001$mat$end";
+      }
+      s/\e\([BJ]/\002/g;
+      &spec($_);
+    }
+    s/\001/)F1(/g;
+    s/\002/)F2(/g;
+    $_=")F2($_";
+    y/\000-\010\013\016-\037\177//d;
+  } else {
+    &spec($_);
+    y/\000-\010\013\016-\037\177-\237//d;
+  }
+  s/(\r\n|\r)/\n/g;
+  $refs{$html}=$nref++ if(!defined $refs{$html});
+  $_="\004$lang\004)WB $refs{$html} Sn($_";
+
+#  Yes, I know Perl has case-insensitive pattern matching. But on my system
+#  it takes about 10 times longer to run!
+
+  $pt="";
+  if(/<[pP][lL][aA][iI][nN][tT][eE][xX][tT]$R/) {$_=$`;$pt=$'};
+  while($_){
+    if(/(<[lL][iI][sS][tT][iI][nN][gG]$R)/) {$_=$`; $tag=$1; $rest=$';
+      if(/<[xX][mM][pP]$R/){$_=$`; &Subst($_); $P2.="$_)XX("; $_=$'.$tag.$rest;
+        if(m|</[xX][mM][pP]$R|) {$P2.="$`)RP("; $_=$'}
+        else {$P2.=$'; $_=""}}
+      else {&Subst($_); $P2.="$_)XX("; $_=$rest;
+        if(m|</[lL][iI][sS][tT][iI][nN][gG]$R|) {$P2.="$`)RP("; $_=$'}
+        else {$P2.=$'; $_=""}}}
+    elsif(/<[xX][mM][pP]$R/) {$_=$`; &Subst($_); $P2.="$_)XX("; $_=$';
+      if(m|</[xX][mM][pP]$R|) {$P2.="$`)RP("; $_=$'}
+      else {$P2.=$'; $_=""}}
+    else {&Subst($_);$P2.=$_; $_=""}
+  }
+  $pt=~s/\f/$pc/g;
+  if($pt) {$P2.=")XX($pt"};
+  $P2.=")";
+  if($plain) {$P2.="RP ()"};
+  while($P2=~/XX\(/) {
+    $beg=$`;
+    $'=~/\)(RP|$)/;
+    $mat=$`;
+    $end=$&.$';
+    $mat=~s/(.*\n){30}.*/$&)WR(/g;
+    ($temp=$mat)=~s/\)[^(]+\(//g;
+    @prel=split(' *\n',$temp);
+    $maxl=0;
+    for $line (@prel) {
+      $line=~s/\\.../x/g;
+      while($line=~/\t+/) {
+        $sp=' ' x (length($&)*8-length($`)%8);
+        $line=~s/\t+/$sp/;
+        $mat=~s/\t+/$sp/;
+      }
+      $ll=length($line);
+      $maxl=$ll if($ll > $maxl);
+    }
+    $P2="$beg ".($#prel+1)." $maxl PR($mat$end";
+  }
+  $P1=~s/[\200-\377]/sprintf("\\%3.3o",ord($&))/eg;
+  $P2=~s/[\200-\377]/sprintf("\\%3.3o",ord($&))/eg;
+  $P2=~y/\t\f/ /;
+  1;
+}
+sub Subst{
+  local($_)=@_;
+  if($page_break) {
+    s/<!--NewPage-->/$pc/g;
+    s/<(\?|hr\s+class\s*=\s*["']?)\s*page-break$R/$pc/gi;
+  }
+  s/<!--OddPage-->/)WB NL OP(/g;
+  if($ssi && $html!~m|://|) {
+    while(/<!--#(include|config|echo)\s+(\w+)\s*="([^"]+)"\s*-->/) {
+      $inc="";
+      $file=$3;
+      if($1 eq "include" && (substr($file,0,1) ne "/" || $opt_r)) {
+        if(substr($file,0,1) ne "/") {
+          $file=$B2.$file;
+        } elsif($2 eq "virtual") {
+          $file=$opt_r.$file;
+        }
+        if(open INC,$file) {
+          $inc=<INC>;
+          &spec($inc);
+          close INC;
+        }
+      } elsif ($1 eq "config" && $2 eq "timefmt") {
+        if($posix) {
+          $var{LAST_MODIFIED}=POSIX::strftime($3,localtime((stat $html)[9]));
+          $var{DATE_LOCAL}=POSIX::strftime($3,@now);
+          $var{DATE_GMT}=POSIX::strftime($3,@gmnow);
+        }  
+      } elsif ($1 eq "echo") {
+        $inc=$var{$3};
+      }
+      $_=$`.$inc.$';
+    }
+  }
+  s/(&shy;?|&#173;?|<!--hy-->)/)HY(/g;
+  while(/<!--/) {
+    $_=$`;
+    &getcom;
+    $_.=$rest;
+  }
+  $temp="";
+  while(/<([^"'>]*=\s*["'])/) {
+    $temp.=$`."<";
+    $_=$1.$';
+    while(/^[^"'>]*=\s*(["'])/) {
+      $temp.=$&;
+      $_=$';
+      if(/$1/) {
+        ($tg=$`)=~y/>/\003/;
+        $temp.=$tg.$&;
+        $_=$';
+      }
+    }
+  }
+  $_=$temp.$_;
+  $a='[aA][lL][iI][gG][nN]';
+  $Y='[sS][tT][yY][lL][eE]';
+  $A="($a\\s*=\"?|$Y\\s*=\\s*\"?[tT][eE][xX][tT]-\\s*$a:)";
+  $I='[lL][eE][fF][tT]';
+  $C='[cC][eE][nN][tT][eE][rR]';
+  $D='[rR][iI][gG][hH][tT]';
+  $J='[jJ][uU][sS][tT][iI][fF][yY]';
+  $s='[sS][eE][lL][eE][cC][tT]';
+  $F='[fF][oO][nN][tT]';
+  $U='[cC][oO][lL][oO][rR]';
+  $O='[cC][oO][mM][pP][aA][cC][tT]';
+  s/<\w+[^>]*\s+[iI][dD]\s*=\s*($S)[^>]*>/$&<a name="$+">/g;
+  s|<[dD][eE][lL]$R[\w\W]*?</[dD][eE][lL]>||g if($del{'display'}=~/^none$/);
+  $ndiv=1;
+  s|</?[dD][iI][vV]\d$R||g;
+  s|<(/?)([dD][iI][vV])([>\s])|"<$1$2".($1?--$ndiv:$ndiv++).$3|eg;
+  while(/<[dD][iI][vV](\d+)$R/) {
+    $dbeg=$`;
+    $dnum=$1;
+    $dattr=$2;
+    $dend=$';
+    $div="";
+    $ediv="";
+    if($2=~/class\s*=\s*["']?noprint$R/i) {
+      $_=$dbeg;
+      $_.=$' if($dend=~/<\/[dD][iI][vV]$dnum>/);
+    } else {
+      if($dattr=~/$A\s*($I|$C|$D|$J)/) {
+        $div.=")".$algn{"\L$2"}." Al(";
+        $ediv.=")Ea(";
+      }
+      if($dattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i) {
+        $lang=lc $1;
+        $div.="\004$lang\004";
+        &inihyph if($opt_H);
+        $dbeg=~/(\004[^\004]*\004)[^\004]*$/;
+        $ediv.=$1;
+      }
+      $dend=~s|</[dD][iI][vV]$dnum>|$ediv)BR(|;
+      $_="$dbeg$div)BR($dend";
+    }
+  }
+  s|<$C$R|)2 Al(|g;
+  s|</$C$R|)Ea(|g;
+  s|<(\w+)/([^/]+)/|<$1>$2</$1>|g;
+  s/(<\w+[^>]*>)\n|\n(<\/\w+>)/$+/g;
+  s|(<[lL][iI])$R\s*<[pP]>|)0 P($1$2|g;
+  s/<[hH]([1-6])\s+$A\s*($I|$C|$D|$J)$R/)$algn{"\L$3"} $1  H(/g;
+  s|<[hH]([1-6])$R|)0 $1  H(|g;
+  s|</[hH][1-6]>|)EH(|g;
+  s|<[bB][rR]$R|)BR(|g;
+  s/<[pP]\s+[^>]*$A\s*($I|$C|$D|$J)$R/)$algn{"\L$2"} P(/g;
+  s|<[pP]$R|)0 P(|g;
+  s|</[pP]>|)EP(|g;
+  s|<[aA][dD][dD][rR][eE][sS][sS]$R|)AD(|g;
+  s|</[aA][dD][dD][rR][eE][sS][sS]>|)DA(|g;
+  s|<[pP][rR][eE]$R\n?|)XX(|g;
+  s|\n? *</[pP][rR][eE]>|)RP(|g;
+  s|<[dD][tT]\s[^>]*$O$R|)1 DT(|g;
+  s|<[dD][tT]$R|)0 DT(|g;
+  s|<[dD][dD]$R|)DD(|g;
+  s|<[dD][lL]\s[^>]*$O$R|)1 DL(|g;
+  s|<[dD][lL]$R|)0 DL(|g;
+  s|</[dD][lL]>|)LD(|g;
+  s|<[uU][lL]$R|)UL(|g;
+  s|</[uU][lL]>|)LU(|g;
+  s|<[mM][eE][nN][uU]$R|)UL(|g;
+  s|</[mM][eE][nN][uU]>|)LU(|g;
+  s|<[dD][iI][rR]$R|)UL(|g;
+  s|</[dD][iI][rR]>|)LU(|g;
+  s|<[oO][lL]\s[^>]*[sS][tT][aA][rR][tT]\s*=\s*['"]?(-?\d+)$R|$&)WB $1 Ln(|g;
+  s|<[oO][lL]\s[^>]*[tT][yY][pP][eE]\s*=\s*['"]?([1iIaA])$R|)$lity{$1} OL(|g;
+  s|<[oO][lL]$R|)4 OL(|g;
+  s|</[oO][lL]>|)LO(|g;
+  s|<[lL][iI]\s[^>]*[vV][aA][lL][uU][eE]\s*=\s*['"]?(-?\d+)$R|$&)WB $1 Ln(|g;
+  s|<[lL][iI]\s[^>]*[tT][yY][pP][eE]\s*=\s*['"]?($ltr)$R|)$lity{$1} LI(|g;
+  s|<[lL][iI]$R|)-1 LI(|g;
+  s|</[lL][iI]$R||g;
+  s"<([bB][qQ]|[bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE])$R")BQ("g;
+  s"</([bB][qQ]|[bB][lL][oO][cC][kK][qQ][uU][oO][tT][eE])>")QB("g;
+  s|<[sS][tT][rR][oO][nN][gG]$R|)BD(|g;
+  s|</[sS][tT][rR][oO][nN][gG]>|)ES(|g;
+  s|<[sS][aA][mM][pP]$R|)SM(|g;
+  s|</[sS][aA][mM][pP]>|)ES(|g;
+  s|<[qQ]$R(\s*)|$2)Q(|g;
+  s|(\s*)</[qQ]>|)EQ($1|g;
+  s|<[cC][iI][tT][eE]$R|)CT(|g;
+  s|</[cC][iI][tT][eE]>|)ES(|g;
+  s|<[vV][aA][rR]$R|)I(|g;
+  s|</[vV][aA][rR]>|)ES(|g;
+  s|<[bB]$R|)BD(|g;
+  s|</[bB]>|)ES(|g;
+  s|<[iI]$R|)I(|g;
+  s|</[iI]>|)ES(|g;
+  s|<[tT][tT]$R|)TT(|g;
+  s|</[tT][tT]>|)ES(|g;
+  s|<[uU]$R|)UN(|g;
+  s|</[uU]>|)NU(|g;
+  s|<[sS]([tT][rR][iI][kK][eE])?$R|)SE(|g;
+  s|</[sS]([tT][rR][iI][kK][eE])?>|)XE(|g;
+  s|<[dD][fF][nN]$R|)I(|g;
+  s|</[dD][fF][nN]>|)ES(|g;
+  s|<[eE][mM]$R|)EM(|g;
+  s|</[eE][mM]>|)ES(|g;
+  s|<[cC][oO][dD][eE]$R|)SM(|g;
+  s|</[cC][oO][dD][eE]>|)ES(|g;
+  s|<[kK][bB][dD]$R|)KB(|g;
+  s|</[kK][bB][dD]>|)ES(|g;
+  s|<[bB][iI][gG]$R|)4 FZ(|g;
+  s|</[bB][iI][gG]>|)ES(|g;
+  s|<[sS][mM][aA][lL][lL]$R|)2 FZ(|g;
+  s|</[sS][mM][aA][lL][lL]>|)ES(|g;
+  s|<[iI][nN][sS]$R|)sM WB(|g;
+  s|</[iI][nN][sS]>|)WB eM(|g;
+  s|<[dD][eE][lL]$R|)sM $lt(|g;
+  s|</[dD][eE][lL]>|)XE eM(|g;
+  s|<[aA][cC][rR][oO][nN][yY][mM][^>]+[tT][iI][tT][lL][eE]\s*=\s*($S)[^>]*>|)($+)Ac(|g;
+  s|</[aA][cC][rR][oO][nN][yY][mM]>|)Ca(|g;
+  s|<[fF][oO][rR][mM][\w\W]*?</[fF][oO][rR][mM]>||g if(!$forms);
+  s|</?[fF][oO][rR][mM]$R|)Ts BE(|g;
+  s/<$s[^>]*[mM][uU][lL][tT][iI][pP][lL][eE]$R/)1 MS(<table>/g;
+  s/<$s$R/)0 MS(<table>/g;
+  s|</$s>|</table>|g;
+  s/<[oO][pP][tT][iI][oO][nN]$R/<tr><td>)O(/g;
+  while(/<[iI][nN][pP][uU][tT]$R/) {
+    $beg=$`;
+    $iattr=$1;
+    $rest=$';
+    $it=2;
+    if($iattr=~/type\s*=\s*["']?(\w+)/i) {$it=$it{"\L$1"}};
+    if($it<2) {
+      $it=($iattr=~/\schecked\W/i?1:0) ." $it";
+    } elsif($it==2) {
+      $siz=$iattr=~/size\s*=\s*["']?(\d+)/i?$1:12;
+      $ival=$iattr=~/value\s*=\s*($S)/i?$+:"";
+      $it="($ival)$siz $it";
+    }
+    if(defined($it)) {
+      $cmd=$it==3?"<img $iattr":")$it BX(";
+    } else {
+      $cmd="";
+    }
+    $_=$beg.$cmd.$rest;
+  }
+  while(/<[tT][eE][xX][tT][aA][rR][eE][aA]$R/) {
+    $beg=$`;
+    $txatr=$1;
+    $rest=$';
+    if($rest=~m|</[tT][eE][xX][tT][aA][rR][eE][aA]>|) {
+      $rest=$';
+      $data=$prefilled||$textarea_data?$`:"";
+      $rows=4;
+      $cols=20;
+      if($txatr=~/rows\s*=\s*["']?(\d+)/i) {$rows=$1};
+      if($txatr=~/cols\s*=\s*["']?(\d+)/i) {$cols=$1};
+      $nl=$data=~y/\n/\n/;
+      for ($nl..$rows) {$data.="\n"};
+      $data=~/(.*\n){$rows}/;
+      $tfont=$prefilled?"TT":"0 FZ";
+      ($data=$&)=~s/.*\n/<tr height=24><td valign=top>)$tfont($&)ES(/g;
+      $wi=10*$cols;
+      $frame=$prefilled?"frame=box":"border";
+      $_="$beg<table $frame width=$wi cellpadding=2>$data</table>$rest";
+    } else {
+      $_=$beg.$rest;
+    }
+  }
+  $nfnt=1;
+  s|<(/?)($F)([>\s])|"<$1$2".($1?--$nfnt:$nfnt++).$3|eg;
+  while(/<$F(\d+)([^>]*)$U\s*=\s*["']?\s*#?(\w+)$R/) {
+    $rgb=&col2rgb($3);
+    $_=$`.($rgb?")WB $rgb Sc(":"")."<font$2$4";
+    $temp=$';
+    $temp=~s|</$F$1>|</font>)Ec(| if($rgb);
+    $_.=$temp;
+  }
+  $base{"+"}="Bf add ";
+  $base{"-"}="Bf add ";
+  s/<$F\d*\s[^>]*[sS][iI][zZ][eE]\s*=\s*["']?([+-]?)(\d+\.?\d*)$R/)$1$2 $base{$1}FZ(/g;
+  s|<$F\d*$R|)3 FZ(|g;
+  s|</$F\d*>|)Ef(|g;
+  s|<[bB][aA][sS][eE]$F\s[^>]*[sS][iI][zZ][eE]\s*=\s*["']?(\d+)$R|)$1 BZ(|g;
+  while(/(<[aA]\s+[^>]*)[nN][aA][mM][eE]\s*=\s*(["']?)([^"'\s>]*)$R([^\s<)]*)/) {
+    $lnk="$html#$3";
+    $refs{$lnk}=$nref++ unless(defined $refs{$lnk});
+    $_="$`$1$4$5)WB $refs{$lnk} Sn($'";
+  }
+  while(/<[aA]\s+[^>]*[hH][rR][eE][fF]\s*=\s*["']?\s*([^"'\s>]*)$R/) {
+    $beg=$`;
+    $tag=$&;
+    $rest=$';
+    $lnk=$1;
+    $revtoc=$tag=~/rev\s*=['"]?\s*toc/i;
+    $html=~m|[^/]*$|;
+    $lnk=~s/^\Q$&#/#/;
+    $loc=$lnk=~/^#/;
+    if($loc) {
+      $html=~m|[^/]*$|;
+      $lnk=$&.$lnk;
+    }
+    if($lnk=~m|.+//[^/]+$|) {$lnk=$&."/"}
+    if($lnk=~m|://|) {
+      $rlnk=0;
+    } else {
+      $rlnk=1;
+      if($lnk=~m|^/|) {$lnk=$b1.$lnk} elsif($lnk!~m|^\w+:|) {$lnk=$b2.$lnk};
+    }
+    while($lnk!~m|^\.\./| && $lnk=~m|[^/]*/\.\./|) {$lnk=$`.$'};
+    $lnk=~s"(^|/)\./"$1"g;
+    ($doc)=$lnk=~/([^#]*)/;
+    ($doctit{$doc})=$tag=~/title\s*=['"]([^'"]*)['"]/i;
+    $T=0;
+    $anch=2;
+    if($loc || grep(/^\Q$doc\E$/,(@docs,@links))
+     || $opt_W && !$link && $level<=$maxlev && &follow){
+      $refs{$lnk}=$nref++ unless(defined $refs{$lnk});
+      $anch="$refs{$lnk} 1";
+      $ltype=$rev && $revtoc && $ndoc==1 || $opt_C=~/f/ && $ndoc==1?1:0;
+      $rest=~s|</a>|)$refs{$lnk} $ltype TN TL()Ec /AF f D(|i;
+      if(&follow && !$levl{$doc}) {
+        &dbg("Link: $doc\n") if($opt_d);
+        $levl{$doc}=$level+1;
+        push(@links,$doc);
+      }
+    } elsif(defined $refs{$lnk}) {
+      $anch="$refs{$lnk} 1";
+    }
+    $addr=$dum{$lnk}?"R$dum{$lnk}":0;
+    if(!$dum{$lnk} && $lnk=~m|://|) {
+      $dum{$lnk}=$nlnk++;
+      $rfs.="/R$dum{$lnk} ($lnk) D\n";
+      $addr="R$dum{$lnk}";
+    }
+    $_=$beg.")$addr $anch A(".$rest;
+  }
+  s|</[aA]>|)EA(|g;
+  if((!$mult || $doc_sep eq $pc && $mult)
+   && m|<[bB][aA][nN][nN][eE][rR]$R([\w\W]*)</[bB][aA][nN][nN][eE][rR]>|) {
+    $banner=$2;
+    $_=$`.$';
+  }
+  while(/<[tT][aA][bB][lL][eE]([^>]*)>/) {
+    local($beg)=$`;
+    local($rest)=$';
+    $tattr=$1;
+    $tag=$&;
+    $rest=~/(<\/[tT][aA][bB][lL][eE]>|$)/;
+    $table=$`;
+    $rest=$';
+    while($table=~/<[tT][aA][bB][lL][eE]([^>]*)>/) {
+      $tattr=$1;
+      $table=$';
+      $beg.=$tag.$`;
+      $tag=$&;
+    }
+    ($tla)=$tattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i;
+    if(!$tla) {($tla)=$beg=~/\004_?([^\004]*)\004[^\004]*$/};
+    $ntab++;
+    $table=~s/^\s*//;
+    undef %cells;
+    undef %rd;
+    undef @cali;
+    undef @cval;
+    undef @cgrp;
+    undef @cwid;
+    undef @codc;
+    undef @r0;
+    undef @c0;
+    ($capat,$cap)=$table=~m|<caption$R([\w\W]*)</caption>|i;
+    $capat=~/ALIGN\s*=\s*["']?\s*(\w+)/i;
+    $capa=0;
+    $capa=1 if("\L$1" eq "bottom");
+    $capa=-1 if($cap!~/\S/);
+    $bord=0;
+    if($tattr=~/border/i) {
+      ($bord)=$'=~/^\s*=\s*["']?(\d+)/;
+      if(!$bord && $bord ne "0") {$bord=1};
+    }
+    ($talgn)=$tattr=~/ALIGN\s*=\s*["']?\s*(\w+)/i;
+    $tal=-1;
+    $tal=0 if($talgn=~/^left$/i);
+    $tal=1 if($talgn=~/^center$/i);
+    $tal=2 if($talgn=~/^right$/i);
+    ($fra)=$tattr=~/FRAME\s*=\s*["']?\s*(\w+)/i;
+    if($fra && $f{"\L$fra"}) {$fra=$f{"\L$fra"}} else {$fra=$bord?9:1};
+    ($rul)=$tattr=~/RULES\s*=\s*["']?\s*(\w+)/i;
+    if($rul && $r{"\L$rul"}) {$rul=$r{"\L$rul"}} else {$rul=$bord?5:1};
+    unless(($twid)=$tattr=~/WIDTH\s*=\s*["']?(\d+\.?\d*%?)/i) {$twid=0};
+    $twid=$twid=~/%$/?$`/100:-$twid;
+    ($cpad)=$tattr=~/CELLPADDING\s*=\s*["']?\s*$V/i;
+    if($tattr=~/CELLSPACING\s*=\s*["']?\s*$V/i && $1!=0) {$cpad+=$1/2};
+    ($tbg)=$tattr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i;
+    $tbg=&col2rgb($tbg);
+    ($tcl)=$tattr=~/CLASS\s*=\s*["']?\s*(\w+)/i;
+    $tcl="\L$tcl" eq "telelista"? 1: 0;
+    $ic=0;
+    $span=1;
+    undef $gal;
+    undef $gva;
+    undef $odc;
+    undef $gwi;
+    $cgs=0;
+    while($table=~/<[cC][oO][lL]([^>]*>)/g && $span>0) {
+      $cola=$1;
+      $ab=$`;
+      $aft=$';
+      $cola=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i;
+      $alg=$algn{"\L$2"};
+      ($val)=$cola=~/VALIGN\s*=\s*["']?\s*(\w+)/i;
+      $val=$v{"\L$val"};
+      ($odc)=$cola=~/CHAR\s*=\s*["']?(.)/i;
+      unless(($wid)=$cola=~/WIDTH\s*=\s*["'](\d+%?)/i) {$wid=0};
+      if($wid=~/%$/) {$wid=$`/100};
+      ($span)=$cola=~/SPAN\s*=\s*["']?\s*(\d+)/i;
+      if(!$span && $span ne "0") {$span=1};
+      $us=1;
+      if($cola=~/^GROUP/i) {
+        $gal=$alg;
+        $gva=$val;
+        $gdc=$odc;
+        $gwi=$wid;
+        $cgs=1;
+        if($aft=~/<COL\s/i) {
+          $us=$`=~m|</?COLGROUP|i;
+        }
+      } else {
+        while($ab=~/<COLGROUP/i) {$ab=$'};
+        if($ab=~m|</COLGROUP|i) {
+          undef $gal;
+          undef $gva;
+          undef $odc;
+          undef $gwi;
+        }
+        if(!$alg) {$alg=$gal};
+        if(!$val) {$val=$gva};
+        if(!$odc) {$odc=$gdc};
+        if(!$wid) {$wid=$gwi};
+        if($span eq "0") {
+          $ic++;
+          push(@cali,$alg);
+          push(@cval,$val);
+          push(@cwid,$wid);
+          push(@codc,$odc);
+          push(@cgrp,1);
+        }
+      }
+      if($us) {
+        for (1..$span) {
+          $ic++;
+          push(@cali,$alg);
+          push(@cval,$val);
+          push(@cwid,$wid);
+          push(@codc,$odc);
+          push(@cgrp,$cgs);
+          $cgs=0;
+        }
+      }
+    }
+    $table=~/<t[hd][\s>]/i;
+    if($`!~/<tr/i) {$table="<TR>$table"};
+    $nrow=-1;
+    $ncol=-1;
+    $nhead=0;
+    $nfoot=0;
+    $nb=0;
+    unless($table=~/<tbody$R/i || $table=~s|</tfoot>|$&<tbody>|i) {
+      $table=~s|</thead>|$&<tbody>|i;
+    }
+    while($table=~/<[tT][rR]\s*([^>]*)>/g) {
+      $nrow++;
+      $ab=$`;
+      $row=$';
+      $rattr=$1;
+      for $j (@c0) {
+        $cells{"$nrow,$j,0"}=1;
+      }
+      $rgrp=0;
+      if($ab=~/<tbody$R/i) {
+        $ib=0;
+        while($ab=~/<[tT][bB][oO][dD][yY]$R/g) {
+          $ib++;
+          $battr=$1;
+          if($ib>$nb) {
+            $rgrp=1;
+            $nb=$ib;
+          }
+        }
+      } else {
+        if($ab=~/<tfoot$R/i) {
+          $nfoot++;
+          $battr=$1;
+        } elsif($ab=~/<thead$R/i) {
+          $nhead++;
+          $battr=$1;
+        }
+      }
+      $battr=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i;
+      $balgn=$algn{"\L$2"};
+      $battr=~/VALIGN\s*=\s*["']?\s*(\w+)/i;
+      $bva=$v{"\L$1"};
+      ($bdc)=$battr=~/CHAR\s*=\s*["']?(.)/i;
+      $rd{"$nrow,0"}=0;
+      $rd{"$nrow,1"}=0;
+      $rd{"$nrow,2"}=0 unless($rd{"$nrow,2"});
+      $rd{"$nrow,3"}=$rgrp;
+      $rattr=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i;
+      $ralgn=$algn{"\L$2"};
+      $rattr=~/VALIGN\s*=\s*["']?\s*(\w+)/i;
+      $rva=$v{"\L$1"};
+      ($rla[$nrow])=$rattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i;
+      ($rbg)=$rattr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i;
+      $rbg[$nrow]=&col2rgb($rbg);
+      ($rdc)=$rattr=~/CHAR\s*=\s*["']?(.)/i;
+      if($row=~/<tr/i) {$row=$`};
+      $rh[$nrow]=$rattr=~/HEIGHT\s*=\s*["']?(\d+)/i?$1:0;
+      $icol=0;
+      $colsp=1;
+      while($row=~/<[tT]([hH]|[dD])(\s*[^>]*)>/g && $colsp>0) {
+        $cattr=$2;
+        $cell=$';
+        $ctype=$1=~/h/i?1:0;
+        if($cell=~/<t[hd]/i) {$cell=$`};
+        $cell=~s/\s+$//;
+        $cell=~s/\)HY\($/\255/;
+        $cell=~s/[\200-\377]([^\\]|\\20.)/$&)WB(/g if(!$latin1);
+        ($rowsp)=$cattr=~/ROWSPAN\s*=\s*["']?(\d+)/i;
+        $rsp=$rowsp;
+        if(!$rsp) {
+          if($rsp eq "0") {
+            push(@c0,$icol);
+          } else {
+            $rowsp=1;
+          }
+          $rsp=1;
+        }
+        ($colsp)=$cattr=~/COLSPAN\s*=\s*["']?(\d+)/i;
+        $csp=$colsp;
+        if(!$csp) {
+          if($csp eq "0") {
+            push(@r0,$nrow);
+            $csp=$ncol-$icol<0? 1: $ncol-$icol+1;
+          } else {
+            $colsp=1;
+            $csp=1;
+          }
+        }
+        ($cdc)=$cattr=~/CHAR\s*=\s*["']?(.)/i;
+        while($cells{"$nrow,$icol,0"}==1) {$icol++};
+#
+        for $i ($nrow..$nrow+$rsp-2) {$rd{"$i,2"}=1};
+        for $j ($icol..$icol+$csp-1) {
+          for $i ($nrow..$nrow+$rsp-1) {
+            $cells{"$i,$j,0"}=1;
+          }
+        }
+        if($colsp) {
+          for $j ($ncol+1..$icol+$csp) {
+            for $i (@r0) {
+              $cells{"$i,$j,0"}=1;
+            }
+          }
+        }
+        if($ic<$icol+$csp) {
+          for ($ic..$icol+$csp-1) {
+            push(@cali,$cali[$ic-1]);
+            push(@cval,$cval[$ic-1]);
+            push(@cgrp,0);
+          }
+          $ic=$icol+$csp;
+        }
+        $cal=$ctype;
+        $cal=$balgn-1 if($balgn);
+        $cal=$ralgn-1 if($ralgn);
+        $cal=$cali[$icol]-1 if($cali[$icol]);
+        if($cattr=~/(^|\s)ALIGN\s*=\s*["']?\s*(\w+)/i) {
+          $cal=$algn{"\L$2"}-1 if($algn{"\L$2"});
+        }
+        $cvl=2;
+        $cvl=$cval[$icol] if($cval[$icol]);
+        $cvl=$bva if($bva);
+        $cvl=$rva if($rva);
+        if($cattr=~/VALIGN\s*=\s*["']?\s*(\w+)/i) {
+          $cvl=$v{"\L$1"} if($v{"\L$1"});
+        }
+        ($cbg)=$cattr=~/BGCOLOR\s*=\s*["']?\s*#?(\w+)/i;
+        $cbg=&col2rgb($cbg);
+        for($rbg[$nrow],$tbg,$deftbg,$bg) {$cbg=$_ if(!$cbg)};
+        $now=0;
+        $ro=$cattr=~/class\s*=\s*["']?rot(-?90)/i?$1:0;
+        if($cattr=~/NOWRAP/i || $cal==4 || $ro) {$now=1};
+        $dc=".";
+        $dc=$bdc if($bdc || $bdc eq "0");
+        $dc=$rdc if($rdc || $rdc eq "0");
+        $dc=$codc[$icol] if($codc[$icol] || $codc[$icol] eq "0");
+        $dc=$cdc if($cdc || $cdc eq "0");
+        ($wid)=$cattr=~/WIDTH\s*=\s*["'](\d+%)/i;
+        if($wid=~/%$/) {$wid=$`/100};
+        if($wid>$cwid[$icol]) {$cwid[$icol]=$wid};
+        if($cpad || $cpad eq "0") {
+          $clm=$cpad;
+          $crm=$cpad;
+          $ctm=$cpad;
+          $cbm=$cpad;
+        } else {
+          $clm=$rul<5?8:4;
+          $crm=$rul<5?8:4;
+          $ctm=2;
+          $cbm=6;
+        }
+        if($tcl==1) {
+          $clm=$icol>0?12:2;
+          $crm=12;
+          $ctm=0;
+          $cbm=0;
+        }
+        if($rul==1 && $fra==1 && $icol==0 && $tal==0) {$clm=0};
+        ($lang)=$cattr=~/lang\s*=\s*["']?([a-zA-Z-]+)/i;
+        for($rla[$nrow],$tla) {$lang=$_ if(!$lang)};
+        $lang=lc $lang;
+        &inihyph if($opt_H);
+        $cbg=~/#(\w+).*#(\w+).*#(\w+)/;
+        &img($cell,$1,$2,$3);
+        @cll=("{(\004$lang\004)WB($cell)}",0,0,$ctype,0,$colsp,$rowsp,$cal,
+         "($dc)",$cvl,$now,$clm,$crm,$ctm,$cbm,0,0,0,0,$cbg,$ro);
+        for $i (0..$#cll) {$cells{"$nrow,$icol,$i"}=$cll[$i]};
+        $icol+=$csp;
+        if($icol-1>$ncol) {$ncol=$icol-1};
+      }
+    }
+    for $j (0..$ncol) {
+      for $i (0..$nrow) {
+        if($cells{"$i,$j,0"} && $cells{"$i,$j,0"}!=1) {
+          if($cells{"$i,$j,6"}>$nrow-$i+1) {$cells{"$i,$j,6"}=$nrow-$i+1};
+          if($cells{"$i,$j,6"}>1) {$rd{"$i,2"}=1};
+        }
+      }
+    }
+    $rd{"$nrow,2"}=0;
+    $rw="[";
+    for $i (0..$nrow) {
+      $rw.="[$rh[$i] ".$rd{"$i,1"}." ".$rd{"$i,2"}." ".$rd{"$i,3"}." 0 0 [";
+      for $j (0..$ncol) {
+        $cbg="";
+        for($rbg[$i],$tbg,$deftbg,$bg) {$cbg=$_ if(!$cbg)};
+        $temp="[{()}0 0 0 0 1 1 0(.)0 0 $clm $crm $ctm $cbm 0 0 0 0 $cbg $ro]";
+        if($cells{"$i,$j,0"}==1) {
+          $temp="0";
+        } elsif($cells{"$i,$j,0"}) {
+          $temp="[";
+          for $k (0..$#cll) {
+            $temp.=$cells{"$i,$j,$k"}." ";
+          }
+          $temp.="]";
+        }
+        $rw.="$temp\n";
+      }
+      $rw.="]]\n";
+    }
+    if($nrow==$nhead+$nfoot-1) {
+      $nhead=0;
+      $nfoot=0;
+    }
+    $tdesc="[0 0 $tcl 0 0 $tal 0 $twid $bord $nrow $ncol"
+           ." $nhead $nfoot $fra $rul {($cap)} $capa]\n";
+    $cdesc="[";
+    for (0..$ncol) {
+      unless($wid=$cwid[$_]) {$wid=0};
+      $cdesc.="[0 0 0 $wid $cgrp[$_] 0 0]";
+    }
+    $cdesc.="]\n";
+    $tables.="[$tdesc $cdesc $rw]]\n";
+    $_=$beg.")$ntab PT(".$rest;
+  }
+  &img($_,$red,$grn,$blu);
+  &ack($_);
+  $_[0]=$_;
+}
+sub getcom{
+  $com=$&;
+  $'=~/--\s*(--|>)/;
+  $com.=$`.$&;
+  $rest=$';
+  while($1 eq "--") {
+    $'=~/(>)/ if($'!~/--\s*(--|>)/);
+    $com.=$`.$&;
+    $rest=$';
+  }
+}
+sub getl {
+  ($l)=@_;
+  if(!$lid{$l}) {
+    while($l=~s/-[^-]+$// && !$lid{$l}) {};
+  }
+  $lid{$l};
+}
+sub ack {
+  local($_)=@_;
+  chdir $tempdir;
+  while (/<[mM][aA][tT][hH]/) {
+    $beg=$`;
+    $rest=$&.$';
+    $rest=~m|</[mM][aA][tT][hH]>|;
+    $end=$';
+    $math=$`;
+    if(&math2sym($math)) {
+      $_=$beg.$sym.$end;
+    } elsif($package{'TeX'} && $package{'dvips'}) {
+      $math=~s|\\200|\\|g;
+      $math=~s|\\201|\(|g;
+      $math=~s|\\202|\)|g;
+      &math2tex($math);
+      open(SCRATCH,">$scr.tex");
+      print SCRATCH $tex;
+      close SCRATCH;
+      `tex $scr.tex`;
+      `dvips -E -o $scr.ps $scr.dvi`;
+      open(LOG,"$scr.log");
+      $log=<LOG>;
+      close LOG;
+      ($h,$d)=$log=~/[\w\W]*$prog: +([\d.]+)pt: +([\d.]+)/ ? ($1,$2) : (1,0);
+      $above=$h+$d>0?sprintf("%.4f",$h/($h+$d)):0;
+      open(PS,"$scr.ps");
+      $pic=<PS>;
+      if($pic=~/^%!/ && $pic=~/%%BoundingBox: +$V +$V +$V +$V/) {
+        $xs=$3-$1;
+        $ys=$4-$2;
+        $llx=$1;
+        $lly=$2;
+        $ps="";
+        for $i (split(/\n/,$pic)) {
+          $ps.=$i."\n" if($i && $i!~/^%/);
+        }
+        if($ps=~/\nTeXDict begin/) {
+          if(!$ph) {
+            $ph="/DH {1 F div dup scale /showpage {} D\n$`$&} D\n%EndDH\n";
+            $pv=$ph.$pv;
+          }
+          $ps="save -$llx -$lly translate\nDH$' restore";
+        }
+      }
+      $nimg++;
+      $nps--;
+      push(@XS,$xs);
+      push(@YS,$ys);
+      push(@IX,$nps);
+      push(@IT,2);
+      $pv.="/P$nimg {$ps} D\n";
+      $eps{"P$nimg"}=$ps;
+      $_=$beg.")$above 3 (P$nimg) $nimg IM(".$end;
+    } else {
+      $math=~s/<math$R//i;
+      $_=$beg.$math.$end;
+    }
+  }
+  chdir $cwd;
+  s|<[sS][uU][bB]$R|)Sb(|g;
+  s|<[sS][uU][pP]$R|)Sp(|g;
+  s"</[sS][uU]([bB]|[pP])>")Es("g;
+  s|<[A-Za-z/!?]\w*$R||g;
+  &ent($_);
+  y/\003/>/;
+  s/\004([^\004]*)\004/")".&getl($1)." Sl($&"/eg;
+  if($opt_H) {
+    &dbg("Inserting potential hyphenation points\n") if($opt_d && $ndoc>0);
+    $temp="";
+    while(/\004([^\004]*)\004/) {
+      $temp.=$`;
+      $lang=$1;
+      $end=$';
+      if($end=~/\004([^\004]*)\004/) {
+        $htext=$`;
+        $end=$&.$';
+      } else {
+        $htext=$end;
+        $end="";
+      }
+      $apa="";
+      while($htext=~/(..?)\(([^)]*)/) {
+        $slut=$';
+        if($1 eq "XX") {
+          $apa.=$`.$&;
+          if($'=~/RP\(/) {
+            $apa.=$`;
+            $htext=$&.$';
+          } else {
+            $apa.=$slut;
+            $htext="";
+          }
+        } elsif($1 eq ") ") {
+          $apa.=$`.$&;
+          $htext=$';
+        } else {
+          $apa.="$`$1(";
+          $htext=$';
+          ($txt=$2)=~s/[$ltrs]{$hyphenation{'min'},}/&hyph($&)/eg;
+          $apa.=$txt;
+        }
+      }
+      $_=$apa.$slut.$end;
+    }
+    $_=$temp.$_;
+  }
+  s/\004([^\004]*)\004//g;
+  $_[0]=$_;
+}
+sub ent {
+  local($_)=@_;
+  s|&#x($X+);?|"&#".hex($1).";"|egi;
+  for $char (keys %ent) {s/&($char)(;|$|(?=\W))/chr($ent{$char})/eg};
+  for $char (keys %symb) {s/&($char)(;|$|(?=\W))/)SY(\\$symb{$char})ES(/g};
+  s/&(euro|#8364)(;|$|(?=\W))/)MY(e)ES(/g;
+  s|&lt;?|<|g;
+  s|&gt;?|>|g;
+  s|&quot;?|"|g;
+  s/&($space);?/)$space{$1} Se(/g;
+  s|&#(\d+);?|$1==38?"\005":$1<256?chr($1):$&|eg;
+  s/(\005|&amp;?)/\&/g;
+  $_[0]=$_;
+}
+sub spec {
+  $_[0]=~s/(\\|&#92(;|$|(?=\W)))/\\200/g;
+  $_[0]=~s/(\(|&#40(;|$|(?=\W)))/\\201/g;
+  $_[0]=~s/(\)|&#41(;|$|(?=\W)))/\\202/g;
+  $_[0]=~s/&(there4|#8756|#[xX]2234)(;|$|(?=\W))/)SY(\\200)ES(/g;
+}
+sub math2tex {
+  local($_)=@_;
+  local($beg,$rest);
+  %a=("line","overline",
+  "cub","overbrace",
+  "hat","widehat",
+  "tilde","widetilde",
+  "larr", "overleftarrow",
+  "rarr", "overrightarrow");
+  %b=("line","underline",
+  "cub","underbrace",
+  "hat","widehat",
+  "tilde","widetilde");
+  %s=("medium","\\big",
+  "large","\\Big",
+  "huge","\\bigg");
+  ($mattr)=/<math$R/i;
+  $st=$mattr=~/class\s*=\s*["']?chem/i?'\rm ':'';
+  $di=$mattr=~/class\s*=\s*["']?displayed/i?'\displaystyle ':'';
+  s/<math$R//gi;
+  s/\\/\\backslash/g;
+  s/__/_\\>_/gi;
+  s/\^\^/^\\>^/gi;
+  s/_([^_]+)_/_{$1}/g;
+  s/\^([^^]+)\^/^{$1}/g;
+  s/&thinsp;?/\\,/g;
+  s/&sp;?/\\>/g;
+  s/&emsp;?/\\;/g;
+  s/&nbsp;?/\\>/g;
+  s/&epsi;?/\\varepsilon /g;
+  s/&upsi;?/\\upsilon /g;
+  s/&piv;?/\\varpi /g;
+  s/&sigmav;?/\\varsigma /g;
+  s/&thetav;?/\\vartheta /g;
+  s/&phiv;?/\\varphi /g;
+  s/&Upsi;?/\\Upsilon /g;
+  s/&omicron;?/o/g;
+  s/&plusmn;?/\\pm /g;
+  s/&or;?/\\vee /g;
+  s/&and;?/\\wedge /g;
+  s/&ap;?/\\approx /g;
+  s/&sube;?/\\subseteq /g;
+  s/&sub;?/\\subset /g;
+  s/&supe;?/\\supseteq /g;
+  s/&sup;?/\\supset /g;
+  s/&isin;?/\\in /g;
+  s/&larr;?/\\leftarrow /g;
+  s/&rarr;?([_^])/\\mathop\\rightarrow\\limits$1 /g;
+  s/&rarr;?/\\rightarrow /g;
+  s/&uarr;?/\\uparrow /g;
+  s/&darr;?/\\downarrow /g;
+  s/&harr;?/\\leftrightarrow /g;
+  s/&lArr;?/\\Leftarrow /g;
+  s/&rArr;?/\\Rightarrow /g;
+  s/&uArr;?/\\Uparrow /g;
+  s/&dArr;?/\\Downarrow /g;
+  s/&exist;?/\\exists /g;
+  s/&inf;?/\\infty /g;
+  s/&?int;?/\\int\\limits /g;
+  s/&?sum;?/\\sum\\limits /g;
+  s/&?prod;?/\\prod\\limits /g;
+  s/&pd;?/\\partial /g;
+  s/&lcub;?/\\{/g;
+  s/&rcub;?/\\}/g;
+  s/<t>/\\hbox{/gi;
+  s/<b>/\\bf /gi;
+  s/<bt>/{\\bf\\hbox{/gi;
+  s/<sub$R/_{/gi;
+  s/<sup$R/\^{/gi;
+  s/<box\s*size=["']?(\w+)["']?>/{\\def\\lft{$s{$1}}\\def\\rgt{$s{$1}}/gi;
+  s/<box$R/{/gi;
+  s/<text\s*>/\\hbox{/gi;
+  s/([\(\[\|])\s*<left>/\\lft$1/gi;
+  s/<right>/\\rgt /gi;
+  s/<(atop|choose|over)>/\\\L$1 /gi;
+  s/<of>/}\\of{/gi;
+  s/<bar>/\\overline{/gi;
+  s/<vec>/\\overrightarrow{/gi;
+  s/<hat>/\\widehat{/gi;
+  s/<tilde>/\\widetilde{/gi;
+  s/<(sqrt|root|vec|dot|ddot|hat|tilde)>/\\\L$1\{/gi;
+  while(/<above\s+sym\s*=\s*["']?equals["']?\s*>/i) {
+    $beg=$`."\\overline{\\overline{";
+    $rest=$';
+    $rest=~s/<\/above>/}}/i;
+    $_=$beg.$rest;
+  }
+  s/<above\s*>/\\overline{/gi;
+  s/<above\s+sym\s*=\s*["']?(\w+)["']?\s*>/\\$a{$1}\{/gi;
+  s/<below\s*>/\\underline{/gi;
+  s/<below\s+sym\s*=\s*["']?(\w+)["']?\s*>/\\$b{$1}\{/gi;
+  s/<\/(math|row|item|b)>//gi;
+  s/<\/(box|t|sup|sub|sqrt|root|vec|bar|dot|ddot|hat|tilde|above|below|text|array)>/}/gi;
+  s/<\/bt>/}}/gi;
+  s/&lt;?/< /gi;
+  s/&gt;?/>/gi;
+  s/&(\w+);?/\\$1 /gi;
+  s/<array$R/\\matrix{/gi;
+  s/<row>\s*<item$R//i;
+  s/<row>\s*<item$R/\\cr /gi;
+  s/<item>/&/gi;
+  s/<[^ ]$R//gi;
+  s/\n*$//;
+  $tex="\\batchmode\\magnification=$mag\\hsize=40cm\\nopagenumbers\n"
+ ."\\def\\lft{\\left}\\def\\rgt{\\right}\n\\setbox0=\\hbox{\$$st$di".$_."\$}\n"
+ ."\\immediate\\write0{$prog: \\the\\ht0: \\the\\dp0}\\box0\n\\end\n";
+}
+sub Getopts {
+  local($optlist)=@_;
+  local(@args,$_,$opt,$opts,$rest,$olist,$plist,$found,@popts);
+  local($errs)=0;
+  local($[)=0;
+  @args=split( /\|/, $optlist );
+  for $opt (@args) {
+    if(substr($opt,-1,1) ne ':') {$olist.=$opt}
+    else {$plist.=$opt}
+  }
+  @popts=split(/:/,$plist);
+  while(@ARGV && ($_=$ARGV[0]) =~ /^-(.*)/) {
+    $opt=$1;
+    if($opt=~/^-/ && $optalias{"\L$'"}) {$opt=$optalias{"\L$'"}};
+    if($opt =~ /^[$olist]+$/) {
+      while ($char=chop $opt) {eval "\$opt_$char=1"}
+      shift(@ARGV);
+    }
+    else {
+      $found=0;
+      for $opts (@popts) {
+        $rest=substr($opt,length($opts));
+        if(index($opt,$opts)==0) {
+          $found=1;
+          shift(@ARGV);
+          if(length($rest)==0) {
+            ++$errs unless @ARGV;
+            $rest=shift(@ARGV);
+          }
+          eval "\$opt_$opts=\$rest";
+        }
+      }
+      if(!$found) {
+        &dbg("Unknown option: $opt\n");
+        ++$errs;
+        shift(@ARGV);
+      }
+    }
+  }
+  $errs==0;
+}
+sub openps {
+  open(STDOUT,">$opt_o") || die "*** Error opening $opt_o for output\n";
+}
+sub getalt {
+  if($imgcmd eq "img") {
+    $alt="";
+    $match=0;
+    if($img=~/alt\s*=\s*"([^"]*)"/i) {$alt=$1; $match=1};
+    if(!$match && $img=~/alt\s*=\s*([\w\.-]+)/i) {$alt=$1; $match=1};
+    if(!$match) {$alt=")WB IA WB("};
+    $text="$alt )WB(";
+    return;
+  }
+  if($imgcmd eq "hr") {
+    $text=$img=~/align\s*=\s*["']?(left|center|right)/i?")$algn{lc $1} ":")2 ";
+    $text.=$img=~/size\s*=\s*["']?$V/i?$1:.6;
+    $wd=1;
+    if($img=~/width\s*=\s*["']?$V(%?)/i) {$wd=$2?$1/100:-$1};
+    $text.=" $wd HR(";
+    return;
+  }
+  if($imgcmd eq "fig") {
+    $text=")BN(";
+  }
+}
+sub xbmtops {
+  $fc=1;
+  $dp=1;
+  ($xs,$ys)=$pic=~/^#define.* (\d+)[\w\W]*^#define.* (\d+)/;
+  $nd=2*int(($xs+7)/8)*$ys;
+  ($pic)=$pic=~/[^#].* char.*[\w\W]*{([\w\W]*)}/;
+  $pic=~s/[ ,\n\r]*0x[ ,]*//g;
+  $pic=~y/01246789bdef/f7bd91e62480/;
+  $bm=unpack("H*", pack("h*",$pic));
+}
+sub pmtops {
+  pmtoraw($pm) if($pm=~/^P([1-3])/);
+  $pm=~/^P([4-6])/;
+  $maptype=$1;
+  return if(!$maptype);
+  $pm=$';
+  $bm="";
+  $nint=3;
+  $dp=8;
+  if($maptype==4) {
+    $nint=2;
+    $dp=1;
+  }
+  undef @num;
+  $found=0;
+  while($pm && $found<$nint) {
+    if($pm=~/^\s*(\d+)/) {$num[$found]=$1};
+    if($num[$found]) {
+      $found++;
+      $pm=$';
+    } elsif($pm=~/^\s*#.*\n/) {
+      $pm=$';
+    } else {
+      return;
+    }
+  }
+  ($b)=$pm=~/\s([\w\W]*)/;
+  ($xs,$ys,$bits)=@num;
+  return if($bits>255);
+  $fc=1;
+  if($maptype==6) {
+    $fc=3;
+    $nd=6*$xs*$ys;
+    $bm=unpack("H*",$b);
+  } else {
+    $bm=unpack("H*",$b);
+    if($maptype==4) {
+      $nd=2*int(($xs+7)/8)*$ys;
+      $bm=~y/0123456789abcdef/fedcba9876543210/;
+    } else {
+      $nd=2*$xs*$ys;
+    }
+  }
+}
+sub trans {
+  $next = 13;
+  $temp = ord substr($pic,10,1);
+  if($temp & 0x80) {$next += 3*2**(($temp & 0x07) + 1)} else {return};
+  $byte = ord substr($pic,$next,1);
+  while($byte != 0x3b && $next <= length $pic) {
+    if($byte == 0x21) {
+      if(ord substr($pic,$next+1,1) == 0xf9) {
+        if(ord substr($pic,$next+3,1) & 0x01) {
+          &dbg("Transparent\n") if($opt_d);
+          $src{$URL}=$pic;
+          $idx = 3*(ord substr($pic,$next+6,1))+13;
+          substr($pic,$idx,3) = pack("H*",$red.$grn.$blu) if($idx<length $pic);
+        }
+        return;
+        $next += 2;
+        &skip;
+      } else {
+        $next += 2;
+        &skip;
+      }
+    } elsif($byte == 0x2c) {
+      $next += 10;
+      $temp = ord substr($pic,$next-1,1);
+      if($temp & 0x80) {$next += 3*2**(($temp & 0x07) + 1)};
+      $next++;
+      &skip;
+    } else {return}
+  }
+}
+sub skip {
+  $byte = ord substr($pic,$next,1);
+  while($byte != 0) {
+    $next += $byte + 1;
+    $byte = ord substr($pic,$next,1);
+  }
+  $next++;
+  $byte = ord substr($pic,$next,1);
+}
+sub run {
+  &dbg("@_\n") if($opt_d);
+  $pm=`@_`;
+}
+sub geturl {
+  local($url)=@_;
+  &dbg("Retrieving $url");
+  if($package{'libwww-perl'} || $package{'jfriedl'}) {
+    warn "\n";
+    &gu();
+    if($code==401) {
+      &prompt("\nDocument requires username and password\n\nUsername: ",$user);
+      &prompt("Password: ",$pass);
+      &gu($user,$pass);
+    }
+    $_[1]=$cont;
+  } elsif(defined $geturl) {
+    &dbg("...");
+    $_[1]=`$geturl '$url'`;
+    if($?) {
+      &dbg("\n*** Error opening $url\n");
+      return 0;
+    }
+    &dbg("done\n");
+    if($_[1]=~/\r?\n\r?\n/) {
+      $_[1]=$';
+      $dhead=$`;
+      ($code)=$dhead=~/HTTP\/\S+ +(\d+)/i;
+      ($contyp)=$dhead=~/Content-type:\s+(.*)/i;
+    } else {
+      $code=500;
+    }
+  }
+  $_[0]=$url;
+  $code<300;
+}
+sub gu {
+  if($package{'libwww-perl'}) {
+    require LWP::UserAgent;
+    $ua=new LWP::UserAgent;
+    $ua->env_proxy();
+    if ($opt_k) {
+      require HTTP::Cookies;
+      $cookie_jar = HTTP::Cookies::Netscape->new(File => $opt_k, AutoSave => 1);
+      $ua->cookie_jar($cookie_jar);
+    }
+    $req = HTTP::Request->new(GET => $url);
+    $req->authorization_basic(@_) if(@_);
+    $ua->agent($spoof) if($spoof);
+    my $res = $ua->request($req);
+    $code=$res->code;
+    $contyp=$res->header('content-type');
+    $cont=$res->content;
+  } else {
+    require "www.pl";
+    @opts=@_?("authorization=$_[0]:$_[1]"):();
+    push(@opts,"quiet") if(!$opt_d);
+    $www::useragent=$spoof if($spoof);
+    ($status,$memo,%info)=&www::open_http_url(*FILE,$url,@opts);
+    $code=$info{'CODE'};
+    ($contyp)=$info{'HEADER'}=~/Content-type:\s+(.*)/i;
+    $cont=<FILE>;
+  }
+}
+sub pictops {
+  if($opt_g) {
+    $fc=1;
+    $pg1="pgm";
+    $pg2="|ppmtopgm";
+  } else {
+    $fc=3;
+    $pg1="ppm";
+    $pg2="";
+  }
+  ($type)=$URL=~/([^\?]+)\??/;
+  ($type)=$type=~/\.(\w+)$/;
+  $bm="";
+  $ps="";
+  $pm="";
+  if($opt_U && $src{$URL} && !$cmd{$URL.$red.$grn.$blu}) {
+    $pic=$src{$URL};
+  } elsif($URL=~m|://|) {
+    &geturl($URL,$pic) || return;
+  } else {
+    $flag=0;
+    if($opt_O) {
+      $orig=$URL;
+      unless($orig=~s/\.\w*$/.ps/) {$orig.=".ps"};
+      if(open(ORIG,"$orig")) {
+        $pic=<ORIG>;
+        close ORIG;
+        if($pic=~/^%!/ && $pic=~/%%BoundingBox:/) {
+          $flag=1;
+          &dbg("Using $orig as original for $URL\n") if($opt_d);
+        }
+      }
+    }
+    if(!$flag) {
+      if(open(PIC,"$URL")) {
+        binmode PIC;
+        $pic=<PIC>;
+        close PIC;
+      } else {
+        &dbg("*** Error opening $URL\n");
+        return;
+      }
+    }
+  }
+  $pic=~s/^[\n\r]*//;
+  &trans if($pic=~/^GIF/);
+  if($pic=~/^P[1-6]/) {
+    $pm=$pic;
+  } else {
+    open(SCRATCH,">$scr");
+    binmode(SCRATCH);
+    print SCRATCH "$pic";
+    close SCRATCH;
+    if($pic=~/^%!/ && $pic=~/%%BoundingBox: +$V +$V +$V +$V/) {
+      $xs=$3-$1;
+      $ys=$4-$2;
+      $ps="save\n0 0 M\nIS IS scale\n/showpage {}D\n".(0-$1)." ".(0-$2)." translate\n";
+      for $i (split(/\n/,$pic)) {
+        $ps.=$i."\n" if($i && $i!~/^%/);
+      }
+      $ps.="restore";
+    } elsif($type=~/.xbm$/i || $pic=~/^#define/) {
+      &xbmtops;
+    } elsif($package{'ImageMagick'}) {
+      if($package{'PerlMagick'}) {
+        $imobj=Image::Magick->new;
+        $mess=$imobj->Read($scr);
+        if($mess) {
+          &dbg("$mess\n");
+        } else {
+          $mess=$imobj->Write("$scr\.$pg1");
+          &dbg("$mess\n") if($mess);
+        }
+        undef $imobj;
+      } else {
+#        &run("convert $scr $pg1:-");
+        &run("convert $scr $scr\.$pg1");
+      }
+      open(PNM,"$scr\.$pg1");
+      binmode PNM;
+      $pm=<PNM>;
+      close PNM;
+      if(!$pm && $pic=~/^\377\330/ && $package{'djpeg'}) {
+        &run("djpeg $scr$pg2");
+      }
+    } elsif($pic=~/^\377\330/ && $package{'djpeg'}) {
+      &run("djpeg $scr$pg2");
+    } elsif($package{'pbmplus'} || $package{'netpbm'}) {
+      if($pic=~/^GIF/) {
+        &run("$giftopm $scr");
+      } else {
+        &run("anytopnm $scr");
+      }
+      if($opt_g && $pm=~/^P6/) {
+        open(SCRATCH,">$scr");
+        binmode(SCRATCH); 
+        print SCRATCH $pm;
+        close SCRATCH;
+        &run("ppmtopgm $scr");
+      }
+    }
+  }
+  &pmtops if(!$bm);
+  return if(!$bm);
+  $bm=substr($bm,0,$nd);
+  $pad=$nd-length($bm);
+  if($pad) {$bm.="f" x $pad};
+  $bm=~s/(.{60})/$1\n/g;
+}
+sub math2sym {
+  local($_)=@_;
+  s/<math$R//gi;
+  for $char (keys %symb) {s/&($char)(;|$|(?=\W))/\\$symb{$char}/g};
+  $stat=!/([&<][a-zA-Z]|[_^{])/;
+  s/[a-zA-Z\s]*[a-zA-Z][a-zA-Z\s]*/)ES()I($&)ES()SY(/g;
+  s/(\\200|\\201|\\202)/)RO($&)ES(/g;
+  $sym=")SY($_)ES(";
+  $stat;
+}
+sub varsub {
+  for (@_) {
+    s/\\\\/\000/g;
+    s/\([^)]+\)/()$&join /g;
+    s/(^|[^\\])\$(T|N|U|H|A)/$1)join $vars{$2} join(/g;
+    s/(^|[^\\])\$D\{"(.*?)"\}/"$1".POSIX::strftime($+,@now)/eg if($posix);
+    s/(^|[^\\])\$D/"$1".POSIX::strftime($datefmt,@now)/eg if($posix);
+#    while(/(?=[^\\])\${([^}]+)}/) {
+    while(/(?=[^\\])\$\[([^]]+)\]/) {
+      if(!defined $metarc{lc $1}) {
+        $metarc{lc $1}=$mn++;
+      }
+      $_="$`)join ME $metarc{lc $1} get join($'";
+    }
+    s/\\\$/\$/g;
+    s/\000/\\\\/g;
+    s/\(\)join//g;
+    s/\(\) ?(\([^)]*\)|\w+) ?join/ $1/g;
+  }
+}
+sub follow {
+  return 0 if(!$opt_W);
+  $H=$lnk=~/\.html?(#|$)/i || $lnk=~m|.+//.+/[^/\.]*$|;
+  $T=$rev && ($revtoc && $ndoc==1 || $ndoc>1 && $H);
+  $L=$b1=~m|://| && $lnk=~m"^$b1(/|$)" || $b1!~m|://| && $lnk!~m|://|;
+  $B=$B2 && $lnk=~/^$B2/ || !$B2 && $lnk!~m"(^\.\.|://)";
+  return $rlnk && ($H || $T) if($rel);
+  return $L && ($H || $T) if($local);
+  return $B && ($H || $T) if($below);
+  return $H || $T if($rev);
+  $H;
+}
+sub DSC {
+  &dbg("Generating DSC PostScript\n") if($opt_d);
+  %op=("moveto",2, "rmoveto",2, "lineto",2, "rlineto",2, "translate",2,
+       "scale",2, "show",1, "awidthshow",6, "stroke",0, "save",0, "restore",0,
+       "gsave",0, "grestore",0, "showpage",0, "newpath",0, "setlinewidth",1,
+       "setlinejoin",1, "setgray",1, "closepath",0, "fill",0, "arc",5,
+       "setrgbcolor",3, "rotate",1, "image",5, "colorimage",7);
+  %sho=("moveto","M", "rmoveto","RM", "lineto","L", "rlineto","RL", "show","S",
+        "showpage","N", "awidthshow","A");
+  $i=0;
+  $po="/OU true D\n";
+  for (keys %op) {
+    $cmd=$sho{$_}?$sho{$_}:$_;
+    push(@val,$cmd);
+    $in{$_}=$i++;
+    $j=$op{$_}+1;
+    $extra="";
+    if(/showpage/) {$extra="Bb{Xl Yl Xh Yh}if Pn "};
+    if(/image/) {$extra="K ";$j++};
+    $t=$op{$_}?"$op{$_} copy $extra$in{$_} $j array astore":"[$extra$in{$_}]";
+    $po.="/$_ {OU {$t ==} if $_}d\n";
+  }
+  $po.="/pdfmark {$i] ==} D\n";
+  $in{"pdfmark"}=$i++;
+  push(@val,"pdfmark");
+  $po.="/NF {OU{2 copy E $i 3 array astore ==}if ONF}d\n"
+      ."/EX {[IS EC] ==} D\n/Cd {} D\n/DU {TU PM 1 eq and TP and{Pn ==}if}d\n"
+      ."/BB {US Bb{dup Yl lt{dup /Yl E D}if dup Yh gt{/Yh E D}{pop}ie\n"
+      ." dup Xl lt{dup /Xl E D}if dup Xh gt{/Xh E D}{pop}ie}\n"
+      ." {/Yl E D /Yh Yl D /Xl E D /Xh Xl D /Bb t D}ie}D\n";
+  $in{"Nf"}=$i++;
+  s|/(NF.*)|/O$1|;
+  s|/BB .*|$po|;
+  push(@val,"Nf");
+  if($psin) {
+    ($ti)=/%%Title: (.*)/;
+    if(m|/BM (\d+)|) {
+      $nbit=$1;
+      for $vec ("IT","WS") {
+        /\/$vec \[(.*)\]/;
+        @$vec=split(' ',$1);
+      }
+      /\nSB/;
+      for (0..$nbit-1) {
+        $'=~/\n\n/;
+        push(@BM,$`);
+      }
+    }
+    ($epsf)=/(\n\/P\d+_?\d* [\w\W]*)%Endpv/;
+    while($epsf=~/\n\/(P\d+_?\d*) \{/g) {
+      $pid=$1;
+      $rest=$';
+      $temp=$'=~/\/P\d+_?\d* \{/?$`:$rest;
+      ($eps{$pid})=$temp=~/([\w\W]*)} D/;
+    }
+    if(/\/DH {/) {
+      $'=~/%EndDH/;
+      $ph="/DH {$`";
+    }
+  }
+  $j=-1;
+  for $i (0..$#IT) {
+    $j++ if($IT[$i] == 0);
+    push(@ix,$j);
+  }
+  $dfn="/F $opt_s D\n$ph";
+  for (keys %sho) {
+    $dfn.="/$sho{$_} {$_} d\n";
+  }
+
+  open(SCR,">$scr.ps");
+  print SCR "$_ quit\n";
+  close SCR;
+  $cd{')]'}="Cd ";
+  $io="($in{'image'}|$in{'colorimage'})";
+  $_="";
+  $temp="";
+  $pn="";
+  $start=1;
+  $EPS="%%EndPageSetup";
+  $pp=0;
+  $n=0;
+  
+  for $line (split(/\r?\n/,`$gs -q -dNODISPLAY $scr.ps -c quit`)) {
+    if(!$pp) {
+      $mv="";
+      $cx="";
+      $cy="";
+    }
+    if($start && $line!~/ $in{"pdfmark"}\]$/) {
+      $pdf=$temp;
+      $temp="";
+      $start=0;
+    }
+    $pp=$line=~/^\[(\S+) (\S+) ($in{'moveto'}|$in{'rmoveto'}|$in{'Nf'})\]$/;
+    S:{
+      if($pp && $3==$in{"Nf"}) {
+        $fn="$1 $2 $val[$3]\n";
+        last S;
+      }
+      if($pp && $3==$in{"moveto"}) {
+        $cx=$1;
+        $cy=$2;
+        $mv=sprintf("%.1f %.1f %s\n",$1,$2,$val[$3]);
+        last S;
+      }
+      if($pp && $3==$in{"rmoveto"}) {
+        if($mv) {
+          $cx+=$1;
+          $cy+=$2;
+          $mv=sprintf("%.1f %.1f %s\n",$cx,$cy,$val[$in{"moveto"}]);
+        } else {
+          $temp.=sprintf("%.1f %.1f %s\n",$1,$2,$val[$3]) if($1||$2);
+        }
+        last S;
+      }
+      if($line=~s/^\[(.*)\((\S*)\) ($in{"showpage"})\]$/pgsave restore $val[$3]/) {
+        $pbb="";
+        if($1) {
+          ($llx,$lly,$urx,$ury)=split(/ /,$1);
+          $llx=int($llx);
+          $lly=int($lly);
+          $urx=int($urx+1);
+          $ury=int($ury+1);
+          $pbb="%%PageBoundingBox: $llx $lly $urx $ury\n";
+          if(!defined($Llx) || $llx<$Llx) {$Llx=$llx};
+          if(!defined($Lly) || $lly<$Lly) {$Lly=$lly};
+          if(!defined($Urx) || $urx>$Urx) {$Urx=$urx};
+          if(!defined($Ury) || $ury>$Ury) {$Ury=$ury};
+        }
+        $pn.="," if($pn && $2);
+        $n++;
+        @df=();
+        for(0..$#docfonts) {
+          push(@df,$docfonts[$_]) if($uf{$_}==$n);
+        }
+        push(@df,"Symbol") if($uf{"-1"}==$n);
+        $fu="";
+        $tmp=@df?"%%PageResources: font":"";
+        &splitline(@df);
+        $_.="%%Page: $pn$2 $n\n$fu$pbb%%BeginPageSetup\n/pgsave save D\n$temp$line\n";
+        $EPS="%%EndPageSetup";
+        $temp="";
+        $line="";
+        $fn="";
+        $mv="";
+        $pn="";
+        last S;
+      }
+      if($line=~/^\[([^(]*)(\(.*\)) ($in{"show"}|$in{"awidthshow"})\]$/) {
+        if(length $2>2) {
+          $line="$fn$1$2 $val[$3]";
+          if($fn=~/(\S+) Nf/ && $uf{$1}!=$n+1) {
+            $uf{$1}=$n+1;
+            $fnt=$1<0?"Symbol":$docfonts[$1];
+            $line="%%IncludeResource: font $fnt\n$line";
+          }
+          $fn="";
+          $pp=0;
+        } else {
+          $pp=1;
+        }
+        last S;
+      }
+      if($line=~/^\[(\S+) (\S+) ($in{"scale"})\]$/) {
+        $line=$1!=1||$2!=1?"$1 $2 $val[$3]\n$EPS":"$EPS";
+        $EPS="";
+        last S;
+      }
+      if($line=~/^\[(.*) (\d+) $io\]$/) {
+        $li=$BM[$2]=~y/\n/\n/+2;
+        $line="\/picstr $WS[$ix[$2]] string D\n$1\n"
+             ."%%BeginData: $li Hex Lines\n$val[$3]\n$BM[$2]\n%%EndData";
+        last S;
+      }
+      if($line=~/^\((.*)\)$/) {
+        $pn=$1;
+        $line="";
+        last S;
+      }
+      last S if($line=~s/^\[([^\/].* )?(\d+)\]$/$1$val[$2]/);
+      last S if($line=~s/(\)\])? (\/\w+) $in{"pdfmark"}\]$/$1 $cd{$1}$2 pdfmark/);
+      last S if($line=~s/^\[(\S+) \((P\d+.*)\)\]$/\/IS $1 D\n$eps{$2}/);
+      &dbg("$line\n");
+    }
+    if(!$pp && $mv.$line) {
+      $mv=~s/\.0//g;
+      $temp.="$mv$line\n";
+    }
+  }
+  @nf=();
+  @sf=();
+  $fontdef="";
+  for(0..$#docfonts) {
+    $ff=$ff{$docfonts[$_]};
+    if($ff && $uf{$_}>0) {
+      push(@sf,$docfonts[$_]);
+      $fontdef.="%%BeginResource: font $docfonts[$_]\n$cont{$ff}\n%%EndResource\n";
+      $cont{$ff}="";
+    }
+    push(@nf,$docfonts[$_]) if(!$ff && $uf{$_}>0);
+  }
+  push(@nf,"Symbol") if($uf{"-1"}>0);
+  $ti="@ARGV" unless($psin);
+  $or=$opt_L?"Landscape":"Portrait";
+  $setup="%%BeginSetup\n";
+  $setup.="$dupl\n" if($dupl);
+  $setup.="$fontdef" if($fontdef);
+  $fu="";
+  $tmp=@nf?"%%DocumentNeededResources: font":"";
+  &splitline(@nf);
+  $tmp=@sf?"%%DocumentSuppliedResources: font":"";
+  &splitline(@sf);
+  s/\\(200|201|202)/\\$ssy{$1}/g;
+  $dd="Clean7Bit";
+  $dd="Clean8Bit" if(($fontdef.$_)=~/[\200-\377]/);
+  $dd="Binary" if(($fontdef.$_)=~/[\000-\010\013-\014\016-\036]/);
+  $time=localtime;
+  print <<EOT;
+%!PS-Adobe-3.0
+%%Title: $title
+%%Creator: $version
+%%CreationDate: $time
+$fu%%DocumentData: $dd
+%%Orientation: $or
+%%BoundingBox: $Llx $Lly $Urx $Ury
+%%Pages: $n
+%%EndComments
+%%BeginProlog
+/d {bind def} bind def
+/D {def} d
+/ie {ifelse} d
+/E {exch} d
+/t true D
+/f false D
+$fl
+$cd
+$defs
+$mysymb/Nf {dup 0 ge{FL E get}{-1 eq{/Symbol}{/MySymbol}ie}ie findfont
+ E scalefont setfont} D
+/IP {currentfile picstr readhexstring pop} D
+/WF $wf D
+$dfn%%EndProlog
+$setup$reenc$pdf%%EndSetup
+$_%%EOF
+EOT
+}
+sub splitline {
+  for (@_) {
+    if(length($tmp.$_)>78) {
+      $fu.="$tmp\n";
+      $tmp="%%+ font";
+    }
+    $tmp.=" $_";
+  }
+  $fu.="$tmp\n" if($tmp);
+}
+sub ref {
+  @pnum=();
+  /.*\s*$/;
+  open(SCR,">$scr.ps");
+  print SCR "$`HN{==}forall $& quit\n";
+  close SCR;
+  $pnum=`$gs -q -dNODISPLAY $scr.ps -c quit`;
+  while($pnum=~/\([^)]*\)/g) {push(@pnum,$&)};
+  $pnum="@pnum";
+  &cut($pnum);
+  s|/HN [^D]*D|/HN [$pnum] D|;
+}
+sub cut {
+  $_[0]=~s/(.{70}[^ \n]*) ([^ ])/$1\n$2/g;
+}
+sub fin {
+  if($opt_D) {
+    &DSC;
+  } else {
+    print;
+  }
+  if($opt_d) {
+    print DBG "\n";
+    close DBG;
+  }
+  unlink "$scr","$scr.ps","$scr.ppm","$scr.tex","$scr.dvi","$scr.log" if($scr);
+  exit;
+}
+sub col2rgb {
+  $rgb=$colour{"\L$_[0]"}?($colour{"\L$_[0]"}):$_[0];
+  @cvec=$rgb=~/($X$X)($X$X)($X$X)/?($1,$2,$3):();
+  @cvec?"[16#$1 16#$2 16#$3]":"";
+}
+sub inihyph {
+  if($hyphenation_file{$lang}) {
+    $hyfile=$hyphenation_file{$lang};
+  } else {
+    &dbg("No hyphenation file for language '$lang'\n");
+    $lng=$lang;
+    while($lng=~s/-?[^-]+$// && !$hyphenation_file{$lng}) {};
+    $hyfile=$hyphenation_file{$lng};
+    &dbg(" ..using $hyfile\n");
+  }
+  if($init{$hyfile}) {
+    $rep{$lang}=$refl{$hyfile};
+    return;
+  }
+  if(open(HYPH,$hyfile)) {
+    &dbg("Reading hyphenation patterns from $hyfile\n") if($opt_d);
+    <HYPH>=~/\\patterns{.*/;
+    close HYPH;
+    $def=$`;
+    ($patterns=$')=~s/\^\^($X$X)/chr hex $1/eg;
+    $upp{$lang}='';
+    $low{$lang}='';
+    while ($def=~/\\lccode(`\\?\^\^|")($X$X)=(`\\?\^\^|")($X$X)/g) {
+      if($2 ne $4) {
+        $uc=$2;
+        $lc=$4;
+        if($`=~/\n$/ || $`!~/%.*$/) {
+          $upp{$lang}.=chr hex $uc;
+          $low{$lang}.=chr hex $lc;
+        }
+      }
+    }
+    while ($def=~/\\let\\(\w+)=(\^\^|")($X$X)/g) {
+      $key=$1;
+      $value=chr hex $3;
+      $tex{$key}=$value if($`=~/\n$/ || $`!~/%.*$/);
+    }
+    for $key (keys %tex) {
+      $patterns=~s/\\$key */$tex{$key}/g;
+    }
+    if($lang=~/^de/) {
+      %de=('"a',228, '"o',246, '"u',252, '\3', 223);
+      $patterns=~s/\\c\{[^}]*\}//g;
+      $patterns=~s/\\n\{([^}]*)\}/$1/g;
+      $patterns=~s/("a|"o|"u|\\3)/chr $de{$1}/eg;
+      $upp{"de"}=~s/\337//;
+      $low{"de"}=~s/\377//;
+    }
+    if($lang=~/^is/ && !$upp{"is"}) {
+      %is=("'a","\341", "'e","\351", "'i","\355", "'o","\363", "'u","\372",
+           "'y","\375", '"x',"\346", '"o',"\366", "'d","\360", "`t","\376");
+      $isch=join("|",keys %is);
+      $patterns=~s/($isch)/$is{$1}/g;
+      $upp{"is"}="\301\311\315\323\332\335\306\326\336\320";
+      $low{"is"}="\341\351\355\363\372\375\346\366\376\360";
+    }
+    if($lang=~/^fi/ && !$upp{"fi"}) {
+      $upp{"fi"}="\304\326";
+      $low{"fi"}="\344\366";
+    }
+    if($lang=~/^fr/ && !$upp{"fr"}) {
+      $upp{"fr"}="\300\302\307\311\310\312\313\316\317\324\326\333\226";
+      $low{"fr"}="\340\342\347\351\350\352\353\356\357\364\366\373\225";
+    }
+    if($lang=~/^es/ && !$upp{"es"}) {
+      $upp{"es"}="\301\311\315\323\321\332\334";
+      $low{"es"}="\341\351\355\363\361\372\374";
+    }
+    $patterns=~s/\{([\w\W]*?)\}/[$1]/g;
+    $patterns=~/}/;
+    $end=$`;
+    if($def.$'=~/\\hyphenation\[.*/) {
+      $'=~/]/;
+      $hyext=$`;
+    }
+    ($patterns=$end)=~s/%.*//g;
+    for $key (split('\s+',$patterns)) {
+      $value=$key;
+      $key=~s/\d//g;
+      $value=~s/^([$ltrs.])/0$1/;
+      $value=~s/[$ltrs](\d)/$1/g;
+      $value=~s/[$ltrs.]/0/g;
+      $patt{"$key,$lang"}=$value if($value=~/^\d+$/);
+    }
+  } else {
+    &dbg("Cannot open hyphenation file: $hyfile\n");
+  }
+  $hext=$hyphenation_extfile{$lang};
+  for(split('\s*:\s*',$hext)) {
+    if(open(HEXT,$_)) {
+      &dbg("Reading hyphenation extensions from $_\n") if($opt_d);
+      $hyext.=<HEXT>;
+      close HEXT;
+    } else {
+      &dbg("Cannot open hyphenation extension file: $_\n");
+    }
+  }
+  if($hyext) {
+    for $key (keys %tex) {
+      $hyext=~s/$key */$tex{$key}/g;
+    }
+    for $key (split('\s+',$hyext)) {
+      $key=~s/\s+//g;
+      $value="00$key\0";
+      $key=~s/-//g;
+      $value=~s/[$ltrs]/0/g;
+      $value=~s/0-/1/g;
+      $hext{"$key,$lang"}=$value;
+    }
+  }
+  $refl{$hyfile}=$lang;
+  $rep{$lang}=$lang;
+  $init{$hyfile}=1;
+}
+sub hyph {
+  $word="\L$_[0]";
+  eval "\$word=~y/$upp{$rep{$lang}}/$low{$rep{$lang}}/" if($upp{$rep{$lang}});
+  $len=length($word);
+  $h=$hext{"$word,$rep{$lang}"};
+  if($h) {
+    @br=split(//,$h);
+  } else {
+    @br=(0) x ($len+3);
+    for $i (0..$len) {
+      for $j (0..$len-$i) {
+        $str=substr(".$word.",$j,$i+2);
+        $pstr=$patt{"$str,$rep{$lang}"};
+        if($pstr) {
+          @patt=split(//,$pstr);
+          for $k (0..$#patt) {
+            $br[$k+$j]=$patt[$k] if($br[$k+$j]<$patt[$k]);
+          }
+        }
+      }
+    }
+  }
+  $hword="";
+  for $i (0..$len-1) {
+    $hword.=substr($_[0],$i,1);
+    if(($h || $i>$hyphenation{'start'}-2 && $i<$len-$hyphenation{'end'})
+      && $br[$i+2]%2==1) {$hword.=")HY("};
+  }
+  $hword.=")YH(" if(length $word < length $hword);
+  $hword;
+}
+sub setel {
+  $el=$_[0];
+  eval "\%arr=\%$el";
+  &fs($el);
+  push(@font,$fontid{"\L$font"});
+  push(@styl,$styl);
+  push(@size,$arr{'font-size'});
+  push(@alig,$algn{$arr{'text-align'}}-1);
+  push(@topm,$arr{'margin-top'});
+  push(@botm,$arr{'margin-bottom'});
+  push(@lftm,$arr{'margin-left'});
+  push(@rgtm,$arr{'margin-right'});
+  push(@colr,$col eq "[16#00 16#00 16#00]"?0:$col);
+  $temp=$arr{'margin-top'}*$arr{'font-size'};
+  $mi=$temp if($temp>$mi);
+  $temp=$arr{'margin-bottom'}*$arr{'font-size'};
+  $mi=$temp if($temp>$mi);
+}
+sub fs {
+  $arr{'font-family'}='times' if($el ne 'p' && !$latin1 && !defined $arr{$_});
+  for ("font-family","font-size") {
+    $arr{$_}=$body{$_} if(!defined $arr{$_});
+  }
+  ($font=$arr{'font-family'})=~s/\W/-/g;
+  if(!$font_names{"\L$font"}) {$font=$fal{$font}};
+  if(!$font_names{"\L$font"}) {
+    &dbg("Unknown font: $arr{'font-family'}, using $deffnt{$_[0]}\n");
+    $font=$deffnt{$_[0]};
+  }
+  if(!defined $fontid{"\L$font"}) {
+    $fontid{"\L$font"}=$nfont++;
+    @names=split(/\s+/,$font_names{"\L$font"});
+    for($#names+1..3) {push(@names,$names[0])};
+    @docfonts=(@docfonts,@names);
+  }
+  &getval($arr{"font-size"},2);
+  for ('left','right','top','bottom') {
+    $arr{"margin-$_"}=0 if(!defined $arr{"margin-$_"});
+  }
+  for ($arr{"text-indent"},$arr{"margin-top"},$arr{"margin-bottom"},
+       $arr{"margin-left"},$arr{"margin-right"}) {
+    &getval($_,0);
+  }
+  $styl=$arr{'font-style'}=~/^(i|o)/+2*($arr{'font-weight'}=~/^b/);
+  $col=$arr{'color'}?&col2rgb($arr{'color'}):-1;
+}
+sub img {
+  local($_,$red,$grn,$blu)=@_;
+  local($beg,$end);
+  ($red,$grn,$blu)=("FF","FF","FF") if(!$opt_U);
+  while (/<(img|fig|hr|overlay|object)\s/i) {
+    $imgcmd="\L$1";
+    $beg=$`;
+    $'=~/>/;
+    $img=" $`";
+    $end=$';
+    $img=~s/\n/ /g;
+    if($imgcmd ne "object" || $img=~/data\s*=\s*['"]?([\w\/\.:~%-]+\.$IM)/i
+       || $img=~/type\s*=\s*['"]?(image\/|application\/postscript)/i){
+    if($opt_T) {
+      &getalt;
+    } else {
+      $al=0;
+      $off="";
+      ($align)=$img=~/align\s*=\s*['"]?(\w*)/i;
+      if($align=~/^middle$/i) {$al=1};
+      if($align=~/^top$/i) {$al=2};
+      if($imgcmd eq "overlay") {
+        $al=4;
+        $xoff=0;
+        $yoff=0;
+        if($img=~/\s*x\s*=\s*['"]?(\d+)/i) {$xoff=$1};
+        if($img=~/\s*y\s*=\s*['"]?(\d+)/i) {$yoff=$1};
+        $off="$xoff $yoff ";
+      }
+      $url="";
+      if($img=~/\s(src|data)\s*=\s*($S)/i) {($url)=$+=~/([^ \n]*)/};
+      &dbg("Image: $url\n") if($opt_d && $url);
+      $URL=$url;
+      unless($url=~m|://|) {
+        $url=~s/^file://;
+        if($url=~m|^/|) {$URL=$b1.$url} else {$URL=$b2.$url}
+      }
+      while($URL!~m|^\.\./| && $URL=~m|[^/]*/\.\./|) {$URL=$`.$'};
+      $URL=~s|/\./|/|g;
+      $text=$src{$URL}?$cmd{$URL.$red.$grn.$blu}:$cmd{$URL};
+      if(!$text || $opt_U && $src{$URL} && !$cmd{$URL.$red.$grn.$blu}) {
+        if(!$url || $failed{$url}) {
+          &getalt;
+        } else {
+          &pictops;
+          if($bm || $ps) {
+            &dbg("Size: $xs*$ys\n") if($opt_d);
+            $nimg++;
+            push(@XS,$xs);
+            push(@YS,$ys);
+            if($bm) {
+              $nm++;
+              push(@DP,$dp);
+              push(@BM,$bm);
+              push(@WS,int(($xs-1)*$dp/8)+1);
+              push(@FC,$fc);
+              push(@IX,$nm);
+              push(@IT,0);
+            }
+            if($ps) {
+              $nps--;
+              push(@IX,$nps);
+              push(@IT,1);
+              $nli=30000;
+              $n=1;
+              $npr=$ps=~s|(.*\n){$nli}|sprintf("$&} D\n/P$nimg\_%d {",$n++)|eg;
+              if($npr) {
+                $proc=" (";
+                for $i (0..$npr) {
+                  $proc.="P$nimg\_$i ";
+                }
+                $proc.=")";
+                $pv.="/P$nimg\_0 {$ps} D\n";
+                $eps{"P$nimg\_0"}=$ps;
+              } else {
+                $proc=" (P$nimg)";
+                $pv.="/P$nimg {$ps} D\n";
+                $eps{"P$nimg"}=$ps;
+              }
+            }
+            $text="$proc $nimg IM(";
+            $cmd{$URL}=$text if(!$cmd{$URL});
+            $cmd{$URL.$red.$grn.$blu}=$text if($src{$URL});
+            $proc="";
+            $end=$' if($imgcmd eq "object" && $end=~m|</object>|i);
+          } else {
+            &getalt;
+            $failed{"$url"}=1;
+          }
+        }
+      } elsif($imgcmd eq "object" && $end=~m|</object>|i) {
+        $end=$';
+      }
+    }
+    if($cmd{$URL}) {
+      $text=")".$off.$al.$text;
+      if($imgcmd eq "fig") {
+        $end=~m|</fig>|i;
+        $fig=$`;
+        $end=$';
+        $over="";
+        while($fig=~/(<overlay$R)/ig) {$over.=$1};
+        ($dum,$cap)=$fig=~m|<caption$R([\w\W]*)</caption>|i;
+        ($dum,$cred)=$fig=~m|<credit$R([\w\W]*)</credit>|i;
+        $text=")BN($text$over)BN($cap)BN($cred)BN(";
+      }
+    }
+    }
+    $_=$beg.$text.$end;
+  }
+  s|<[hH][rR]$R|)2 1 1 HR(|g;
+  $_[0]=$_;
+}
+sub getval{
+  local($val,$unit)=$_[0]=~/$V\s*(\w*)/g;
+  $val*=$cm{$unit} if($_[1]==1 && defined $cm{$unit});
+  $val*=$pt{$unit} if($_[1]==2 && defined $pt{$unit});
+  $_[0]=$val;
+}
+sub getconf {
+  local($_)=@_;
+  while(/\@import\s+(([\w.\/-]+)|"([^"]*)"|'([^']*)')\s*;/) {
+    if(open(SS,$+) && !$read{$+}) {
+      $conf=<SS>;
+      $_=$`.$conf.$';
+      print DBG "***** $+:\n$conf" if($opt_d);
+      close SS;
+      $read{$+}=1;
+    } else {
+      &dbg($read{$+}?"Infinite \@import loop: $+\n":"Error opening: $+\n");
+      $_=$`.$';
+    }
+  }
+  @block=();
+  while(&getblk($_)){};
+}
+sub getblk {
+  local($_)=@_;
+  local ($beg,$match,$end,$blk,$key,$val,$id,$temp);
+  while(/^\s*\/\*/) {
+    /\*\/|$/;
+    $_=$';
+  }
+  return 0 if !/\S/;
+  /[\w,:.@\s-]+\{/;
+  $_=$';
+  ($id=$&)=~s/^\s*|\s*\{//g;
+  $id=lc $id;
+  push(@block,"\L$id");
+  if($#block==1) {
+    $valid{$id}=1 if(!$user);
+    if($id eq "color") {$id="colour"};
+    if(!$valid{$id}) {
+      &dbg("Error in configuration file: unknown block name '$id'\n");
+    }
+  }
+  $blk="";
+  W:while(/\s*(\/\*|[\w][\w-]*\s*:|[\w,:.\s-]+\{|\})\s*/) {
+    $blk.=$1 if($1 ne "/*");
+    $beg=$`;
+    $match=$1;
+    $end=$';
+    S:{
+      if($match=~/\{$/) {
+        $temp=$match.$end;
+        $blk.=&getblk($temp);
+        $_=$temp;
+        last S;
+      }
+      if($match=~/:$/) {
+        ($key=$`)=~s/\s*$//;
+#        $end=~/([\w.\$-]+|"[^"]*"|'[^']*')\s*;?/;
+        $end=~/("[^"]*"|'[^']*'|.*?(?= *(\/\*|;|}|$)))/m;
+        $blk.=$`.$&;
+        $_=$';
+        ($val=$1)=~s/^["']|["']$//g;
+        $val=~s/'|\\/\\$&/g;
+        $typ=1;
+        $typ=2 if($val=~/^$V(cm|mm|in|pt|pc|em)$/);
+        $typ=3 if($val=~/^$V$/);
+        $typ=4 if($val=~/^-?\d+$/);
+        $typ=5 if($val eq "0" || $val eq "1");
+        if($block[0] eq '@html2ps') {
+          if($#block==0) {
+            if(!$user) {
+              $valid{$key}=1;
+              $type{$key}=$typ if(!defined $type{$key});
+            }
+            if($valid{$key}) {
+              if($typ>=$type{$key}) {
+                $key=~s/-/_/g;
+                eval "\$$key='$val'" if($user || $val ne '');
+#                print DBG "\$$key='$val'\n" if($opt_d && $user);
+              } elsif($user) {
+                &dbg("Error in configuration file: bad value for $key: $val\n");
+              }
+            } else {
+              &dbg("Error in configuration file: unknown key '$key'\n");
+            }
+          }
+          if($#block==1) {
+            if($id eq "option" && $optalias{$key}) {$key=$optalias{$key}};
+            if(!$user) {
+              $valid{"$id,$key"}=1;
+              $type{"$id,$key"}=$typ if(!defined $type{"$id,$key"});
+            }
+            if($valid{"$id,$key"} || $extend{$id}) {
+              if($typ>=$type{"$id,$key"} || $id eq "colour") {
+                eval "\$$id\{'$key'}='$val'" if($user || $val ne '');
+#                print DBG "\$$id\{'$key'}='$val'\n" if($opt_d && $user);
+              } elsif($user) {
+                &dbg("Error in configuration file: bad value for $key: $val\n");
+              }
+            } else {
+              &dbg("Error in block '$id' in configuration file:"
+                  ." unknown key '$key'\n");
+            }
+          }
+          if($#block>1) {
+            $temp="$block[$#block-1]_$key";
+            $valid{$temp}=1 if(!$user);
+            $parblk=$block[$#block-1];
+            if($valid{$temp}) {
+              eval "\$$parblk\_$key\{'$id'}='$val'";
+#              print DBG "\$$parblk\_$key\{'$id'}='$val'\n" if($opt_d && $user);
+            } elsif($valid{$parblk}) {
+              &dbg("Error in block '$parblk' in configuration file:"
+                  ." unknown key '$key'\n");
+            }
+          }
+        } else {
+          for $i (split(',\s*',$id)) {
+            $i=~s/@/AT_/;
+            $i=~s/\./_/;
+            $i=~s/ *:/__/;
+            eval "\$$i\{'\L$key'}='\L$val'";
+#            print DBG "\$$i\{'\L$key'}='\L$val'\n" if($opt_d && $user);
+          }
+        }
+        last S;
+      }
+      if($match eq "/*") {
+        /\*\/|$/;
+        $_=$';
+        last S;
+      }
+    last W;
+    }
+  }
+  pop(@block);
+  $_[0]=$end;
+  $blk;
+}
+sub prompt {
+  local($/)="\n";
+  &dbg($_[0]);
+  chop($_[1]=<STDIN>);
+}
+sub dbg {
+  print STDERR $_[0];
+  print DBG $_[0];
+}
+sub hb {
+  local($_)=@_;
+  local($head,$body,$beg,$end,$match,$tag);
+#If neither </HEAD> nor <BODY> can be found, find the separation point (messy).
+  if(!/<(body|\/head)/i || $`=~/<plaintext|<xmp|<listing|<!--/i) {
+    $head="";
+    $int="";
+    S1: while(/<(\/?\w+|!--|!|\?)/) {
+      S2:{
+        $beg=$`;
+        $end=$';
+        $match=$&;
+        $tag=$1;
+        if($tag eq "!--") {
+          $int.=$`;
+          &getcom;
+          $int.=$com;
+          $_=$rest;
+          last S2;
+        }
+        if($tag=~/[!?]/) {
+          $end=~/>/;
+          $int.="$beg$match$`>";
+          $_=$';
+          last S2;
+        }
+        $tag=~s|/||;
+        last S1 if(!$head{"\L$tag"});
+        $end=~/$R/;
+        $head.=$int.$beg.$match.$&;
+        $int="";
+        $_=$';
+      }
+    }
+    $body=$int.$_;
+  } else {
+    $head=$`;
+    $body=$&.$';
+  }
+  $_[0]=$body;
+  $_[1]=$head;
+}
+sub open {
+  if($_[0]=~m|://|) {
+    &geturl($_[0],$_[1]);
+  } elsif(open(FILE,$_[0])) {
+    $_[1]=<FILE>;
+    close FILE;
+  } else {
+    0;
+  }
+}
+sub pagedef {
+  for $margin ('left','right','top','bottom') {
+    ($m)=$margin=~/(.)/;
+    if(defined $margin{$margin}) {
+      &dbg("'margin { margin-$margin:... }' is obsolete, use '\@page'\n");
+      $AT_page{"margin-$margin"}=$margin{$margin} if(!defined $AT_page{"margin-$margin"});
+    }
+    for $page ('left','right') {
+      ($p)=$page=~/(.)/;
+        eval "\$m$m$p=\$AT_page\{'margin'} if(defined \$AT_page\{'margin'})";
+        eval "\$m$m$p=\$AT_page\{'margin-$margin'} if(defined \$AT_page\{'margin-$margin'})";
+        eval "\$m$m$p=\$AT_page__$page\{'margin'} if(defined \$AT_page__$page\{'margin'})";
+        eval "\$m$m$p=\$AT_page__$page\{'margin-$margin'} if(defined \$AT_page__$page\{'margin-$margin'})";
+    }
+  }
+}
+sub pmtoraw {
+  @pars=();
+  ($temp)=@_;
+  for $i (0..3) {
+    1 while ($temp=~s/^\s*#.*//);
+    next if($pars[0] eq 'P1' && $i == 3);
+    $temp=~s/\s*(\S+)\s*//;
+    $pars[$i]=$1;
+  }
+  $temp=~s/#.*//g;
+  $pars[0]=~s/\d/$&+3/e;
+  $_[0]="$pars[0]\n$pars[1] $pars[2]\n";
+  if($pars[0] eq 'P4') {
+    $temp=~s/\s//g;
+    $_[0].=pack("B*",$temp);
+  } else {
+    $_[0].="255\n";
+    while ($temp=~/\d+/g) {
+      $_[0].=pack("C",int(255*$&/$pars[3]+.5));
+    }
+  }
+}
diff --git a/scripts/html2psrc b/scripts/html2psrc
new file mode 100755 (executable)
index 0000000..e02c2d0
--- /dev/null
@@ -0,0 +1,62 @@
+/* This is a sample configuration file for html2ps. You may try using this
+   to convert the documentation file that comes with html2ps (html2ps.html).
+   Issue the command:
+
+     html2ps -f sample -o html2ps.ps html2ps.html
+
+   This should create a PostScript file html2ps.ps formatted based on the
+   information below.
+*/
+
+@html2ps {
+  header {               /* Running page header */
+    odd-left: $T;          /* Document title */
+    odd-right: $H;         /* Current main heading */
+    even-left: $H;         /* Ditto */
+    even-right: "$[author]"; /* Document author (from <META NAME="Author"...>) */
+  }
+  footer {               /* Running page footer */
+    center: "- $N -";      /* Page number */
+  }
+  option {
+    toc: bh;              /* Generate a table of contents, based on headings */
+    titlepage: 1;         /* Generate a title page */
+  }
+  titlepage {           /* The title page content: document title, author and
+                           creation date */
+    content: "<DIV align=center><H1><BIG>$T</BIG></H1>
+              <H2>$[author]</H2>$[created]";
+  }
+  package {
+    djpeg: 1;
+  }
+  toc {
+    heading: "TABLE OF CONTENTS";
+  }
+  showurl: 1;             /* Show URL:s for external links */
+  seq-number: 1;          /* Automatic numbering of headings */
+}
+
+/* Standard style sheet definitions */
+P { text-align: justify }
+H1, H2, H3, H4, H5, H6 { font-family: Helvetica; font-weight: bold }
+/* H1 { font-size: 19pt; text-align: center } */
+H1 { font-size: 19pt; }
+H3, H5 { font-style: oblique }
+H2, H3 { font-size: 16pt }
+H4, H5 { font-size: 13pt }
+H6 { font-size: 11pt }
+ADDRESS { text-align: right }
+@page:left {
+  margin-left: 2cm;
+  margin-right: 3cm;
+  type: a4;
+}
+@page:right {
+  margin-left: 3cm;
+  margin-right: 2cm;
+}
+BODY {
+  font-family: Helvetica;
+  text-align: justify
+}
\ No newline at end of file
similarity index 79%
rename from doc/makerfc
rename to scripts/makerfc
index 7da144556c9f0d582fee3558b712406c7b3c1508..cdc0bdb1cedc94f40e4aa8b58c1bb7398abf9c62 100755 (executable)
@@ -6,4 +6,4 @@
 #
 # Usage: makerfc <input_file> <output_file>
 #
-nroff -ms $1 | perl fix.pl > $2
+nroff -ms $1 | perl ./fix.pl > $2