gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r3544 - GNUnet GNUnet/contrib GNUnet-docs/papers/ecrs gnune


From: grothoff
Subject: [GNUnet-SVN] r3544 - GNUnet GNUnet/contrib GNUnet-docs/papers/ecrs gnunet-gtk gnunet-gtk/po
Date: Sat, 21 Oct 2006 19:55:56 -0700 (PDT)

Author: grothoff
Date: 2006-10-21 19:55:29 -0700 (Sat, 21 Oct 2006)
New Revision: 3544

Modified:
   GNUnet-docs/papers/ecrs/main.aux
   GNUnet-docs/papers/ecrs/main.blg
   GNUnet-docs/papers/ecrs/main.dvi
   GNUnet-docs/papers/ecrs/main.log
   GNUnet-docs/papers/ecrs/main.out
   GNUnet-docs/papers/ecrs/main.pdf
   GNUnet-docs/papers/ecrs/main.ps
   GNUnet-docs/papers/ecrs/main.tex
   GNUnet/contrib/config-daemon.in
   GNUnet/todo
   gnunet-gtk/TODO
   gnunet-gtk/configure.ac
   gnunet-gtk/mkinstalldirs
   gnunet-gtk/po/Makefile.in
   gnunet-gtk/po/de.po
   gnunet-gtk/po/rw.po
   gnunet-gtk/po/sv.po
   gnunet-gtk/po/vi.po
Log:
syn

Modified: GNUnet/contrib/config-daemon.in
===================================================================
--- GNUnet/contrib/config-daemon.in     2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet/contrib/config-daemon.in     2006-10-22 02:55:29 UTC (rev 3544)
@@ -124,69 +124,16 @@
        bool "Basic bandwidth limiting"
        default y
        help
-               Use basic bandwidth limitation? (YES/NO).  If in doubt, say YES.
+               
 
-                Basic bandwidth limitation (YES) means simply that the 
bandwidth limits
-                specified apply to GNUnet and only to GNUnet.  If set to YES, 
you
-                simply specify the maximum bandwidth (upstream and downstream) 
-                that GNUnet is allowed to use and GNUnet will stick to those
-                limitations.  This is useful if your overall bandwidth is so 
large that
-                the limit is mostly used to ensure that enough capacity is 
left for
-                other applications.  Even if you want to dedicate your entire 
connection
-                to GNUnet you should not set the limits to values higher than 
what you
-                have since GNUnet uses those limits to determine for example 
the number
-                of connections to establish (and it would be inefficient if 
that 
-                computation yields a number that is far too high).  
-
-                While basic bandwidth limitation is simple and always works, 
there are
-                some situations where it is not perfect.  Suppose you are 
running
-                another application which performs a larger download.  During 
that
-                particular time, it would be nice if GNUnet would throttle its
-                bandwidth consumption (automatically) and resume using more 
bandwidth
-                after the download is complete.  This is obviously advanced 
magic since
-                GNUnet will have to monitor the behavior of other 
applications. 
-                Another scenario is a monthly cap on bandwidth imposed by your 
ISP,
-                which you would want to ensure is obeyed.  Here, you may want
-                GNUnet to monitor the traffic from other applications to 
ensure that
-                the combined long-term traffic is within the pre-set bounds.  
Note
-                that you should probably not set the bounds tightly since 
GNUnet may
-                observe that the bounds are about to be broken but would be 
unable to
-                stop other applications from continuing to use bandwidth.
-
-                If either of these two scenarios applies, set BASICLIMITING to 
NO.
-                Then set the bandwidth limits to the COMBINED amount of 
traffic that
-                is accepable for both GNUnet and other applications.  GNUnet 
will
-                then immediately throttle bandwidth consumption if the 
short-term
-                average is above the limit, and it will also try to ensure 
that the
-                long-term average is below the limit.  Note however that using 
NO
-                can have the effect of GNUnet (almost) ceasing operations after
-                other applications perform high-volume downloads that are 
beyond the
-                defined limits.  GNUnet would reduce consumption until the 
long-term
-                limits are again within bounds.
-
-                NO only works on platforms where GNUnet can monitor the amount 
of
-                traffic that the local host puts out on the network.  This is 
only
-                implemented for Linux and Win32.  In order for the code to 
work, GNUnet
-                needs to know the specific network interface that is used for 
the
-                external connection (after all, the amount of traffic on 
loopback
-                or on the LAN should never be counted since it is irrelevant).
-
+               
                Default is: BASICLIMITING = YES
 
        config INTERFACES
-       string "Network interface to monitor"
+       string "
        depends on !Meta::BASICLIMITING
        help
-               For which interfaces should we do accounting?  GNUnet will 
evaluate
-               the total traffic (not only the GNUnet related traffic) and 
adjust
-               its bandwidth usage accordingly. You can currently only specify 
a
-               single interface. GNUnet will also use this interface to 
determine
-               the IP to use. Typical values are eth0, ppp0, eth1, wlan0, etc.
-               'ifconfig' will tell you what you have.  Never use 'lo', that 
just
-               won't work.
-               Under Windows, specify the index number reported by
-                "gnunet-win-tool -n".
-
+       
        config MAXNETDOWNBPSTOTAL
        int "Maximum download (bytes per second)"
        default 50000
@@ -206,12 +153,7 @@
        range 0 100
        default 50
        help
-               Which CPU load can be tolerated.  Load here always refers to 
the total
-               system load, that is it includes CPU utilization by other 
processes.
-               A value of 50 means that once your 1 minute-load average goes 
over 50%  
-               non-idle, GNUnet will try to reduce CPU consumption until the 
load goes 
-               under the threshold.  Reasonable values are typically between 
50 and 90.
-               Machines dedicated to running GNUnet maybe fine with 99.
+               
 
                Default is 50.
     

Modified: GNUnet/todo
===================================================================
--- GNUnet/todo 2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet/todo 2006-10-22 02:55:29 UTC (rev 3544)
@@ -24,7 +24,8 @@
     + fs/ecrs
     + fs/fsui
   * gnunet-setup: [RC]
-    + Scheme (scm) specification of entire configuration
+    + Scheme (scm) specification of entire configuration;
+      check options used in modules:
       - advertising
       - state
       - datastore
@@ -48,10 +49,10 @@
     + gtk wizard
     + ncurses wizard
 - fix critical known bugs (see Mantis for updates):
-  * file/socket leak (#955) - possibly fixed
-  * Windows installer, uninstall: Remove account [Nils, RC]
   * disk quota violations (#1128) [CG, RC]
   * high CPU usage (quota exceeded) #1123 [CG, RC]
+  * Windows installer, uninstall: Remove account [Nils, RC]
+  * file/socket leak (#955) - possibly fixed
 - More testcases: [RC]
   * advertising
   * ecrs_core

Modified: GNUnet-docs/papers/ecrs/main.aux
===================================================================
--- GNUnet-docs/papers/ecrs/main.aux    2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet-docs/papers/ecrs/main.aux    2006-10-22 02:55:29 UTC (rev 3544)
@@ -11,8 +11,10 @@
 \global \let address@hidden 
 \fi
 
address@hidden {section}{\numberline {1}Introduction}{1}{section.1}}
 \citation{dingledine02mixminion,syverson97anonymous}
address@hidden {title}{An Encoding for Censorship-Resistant 
Sharing}{1}{chapter.1}}
address@hidden {author}{Christian Grothoff\unskip {}, Krista Grothoff\unskip 
{}, Tzvetan Horozov\unskip {}, Jussi T. Lindgren\unskip {}}{1}{chapter.1}}
address@hidden {section}{\numberline {1}Introduction}{1}{section.1.1}}
 \citation{perng2005csr}
 \citation{perng2005csr}
 \citation{perng2005csr}
@@ -24,83 +26,83 @@
 \citation{esed}
 
\citation{anderson96eternity,chen99prototype,clark99distributed,freehaven-berk,feamster-infranet,herlihy87how,waldman2001tangler,pub00}
 \citation{cohen02replication}
address@hidden {section}{\numberline {2}Related Work}{3}{section.1.2}}
+\newlabel{related}{{2}{3}{Related Work\relax }{section.1.2}{}}
 \citation{clark99distributed}
address@hidden {section}{\numberline {2}Related Work}{4}{section.2}}
-\newlabel{related}{{2}{4}{Related Work\relax }{section.2}{}}
address@hidden {subsection}{\numberline {2.1}Freenet}{4}{subsection.2.1}}
address@hidden {subsection}{\numberline {2.1}Freenet}{4}{subsection.1.2.1}}
 \citation{freehaven-berk}
 \citation{rabin89efficient}
 \citation{mojotech}
address@hidden {subsection}{\numberline {2.2}Free Haven}{5}{subsection.2.2}}
address@hidden {subsection}{\numberline {2.3}Mnet and Mojo 
Nation}{5}{subsection.2.3}}
 \citation{pub00}
 \citation{shamir}
address@hidden {subsection}{\numberline {2.2}Free Haven}{5}{subsection.1.2.2}}
address@hidden {subsection}{\numberline {2.3}Mnet and Mojo 
Nation}{5}{subsection.1.2.3}}
address@hidden {subsection}{\numberline {2.4}Publius}{5}{subsection.1.2.4}}
 \citation{waldman2001tangler}
 \citation{shamir}
address@hidden {subsection}{\numberline {2.4}Publius}{6}{subsection.2.4}}
address@hidden {subsection}{\numberline {2.5}Tangler}{6}{subsection.2.5}}
 
\citation{cfs:sosp01,mazires00sfs,mazieres02building,muthitacharoen02ivy,rowstron01storage}
 \citation{cfs:sosp01,rowstron01storage}
 \citation{maymounkov02kademlia,stoica01chord}
 \citation{mazires00sfs}
 \citation{mazieres02building}
address@hidden {subsection}{\numberline {2.5}Tangler}{6}{subsection.1.2.5}}
address@hidden {subsection}{\numberline {2.6}Gnutella and 
FastTrack}{6}{subsection.1.2.6}}
 \citation{stratton_oakmont}
address@hidden {subsection}{\numberline {2.6}Gnutella and 
FastTrack}{7}{subsection.2.6}}
address@hidden {subsection}{\numberline {2.7}Distributed File 
Systems}{7}{subsection.2.7}}
 \citation{hartman99swarm}
 \citation{ebe2003}
address@hidden {subsection}{\numberline {2.7}Distributed File 
Systems}{7}{subsection.1.2.7}}
address@hidden {section}{\numberline {3}ECRS encoding}{7}{section.1.3}}
+\newlabel{content}{{3}{7}{ECRS encoding\relax }{section.1.3}{}}
 \citation{clark99distributed}
 \citation{clark99distributed}
address@hidden {section}{\numberline {3}ECRS encoding}{8}{section.3}}
-\newlabel{content}{{3}{8}{ECRS encoding\relax }{section.3}{}}
 \citation{esed}
 \citation{mckusick84fast}
 \citation{merkle89tree}
address@hidden {figure}{\numberline {1}{\ignorespaces Simple encoding of a file 
using a tree of CHK blocks ($DBlock$s and $IBlock$s are CHK encoded) with one 
$KBlock$ to allow for a keyword-based search.}}{9}{figure.1}}
-\newlabel{encodingfile}{{1}{9}{ECRS encoding\relax }{figure.1}{}}
 \citation{clark99distributed}
address@hidden {figure}{\numberline {1}{\ignorespaces Simple encoding of a file 
using a tree of CHK blocks ($DBlock$s and $IBlock$s are CHK encoded) with one 
$KBlock$ to allow for a keyword-based search.}}{9}{figure.1.1}}
+\newlabel{encodingfile}{{1}{9}{ECRS encoding\relax }{figure.1.1}{}}
address@hidden {subsection}{\numberline {3.1}Overview}{9}{subsection.1.3.1}}
address@hidden {subsection}{\numberline {3.2}{\em  
DBlocks}}{9}{subsection.1.3.2}}
+\newlabel{dblocks}{{3.2}{9}{{\em DBlocks}\relax }{subsection.1.3.2}{}}
 \citation{secure2004goh}
address@hidden {subsection}{\numberline {3.1}Overview}{10}{subsection.3.1}}
address@hidden {subsection}{\numberline {3.2}{\em  
DBlocks}}{10}{subsection.3.2}}
-\newlabel{dblocks}{{3.2}{10}{{\em DBlocks}\relax }{subsection.3.2}{}}
address@hidden {subsection}{\numberline {3.3}{\em  
IBlocks}}{10}{subsection.3.3}}
-\newlabel{iblocks}{{3.3}{10}{{\em IBlocks}\relax }{subsection.3.3}{}}
address@hidden {subsection}{\numberline {3.3}{\em  
IBlocks}}{10}{subsection.1.3.3}}
+\newlabel{iblocks}{{3.3}{10}{{\em IBlocks}\relax }{subsection.1.3.3}{}}
address@hidden {subsection}{\numberline {3.4}Finding 
files}{10}{subsection.1.3.4}}
+\newlabel{sec:search}{{3.4}{10}{Finding files\relax }{subsection.1.3.4}{}}
 \citation{clark99distributed}
address@hidden {subsection}{\numberline {3.4}Finding files}{11}{subsection.3.4}}
-\newlabel{sec:search}{{3.4}{11}{Finding files\relax }{subsection.3.4}{}}
address@hidden {subsection}{\numberline {3.5}Namespaces}{12}{subsection.3.5}}
-\newlabel{sblock}{{3.5}{12}{Namespaces\relax }{subsection.3.5}{}}
address@hidden {subsection}{\numberline {3.6}Keyword 
search}{13}{subsection.3.6}}
-\newlabel{kblocks}{{3.6}{13}{Keyword search\relax }{subsection.3.6}{}}
address@hidden {figure}{\numberline {2}{\ignorespaces The construction of a 
{\em  KBlock}. The hash $H(K)$ of the keyword $K$ is used to encrypt the data 
and to seed the key generator. The obtained private key $Prv_{H(K)}$ signs the 
encrypted data, but is not otherwise used. Finally, the public key $Pub_{H(K)}$ 
is appended to the signed data to form the {\em  KBlock}.}}{14}{figure.2}}
-\newlabel{kblockdiagram}{{2}{14}{Keyword search\relax }{figure.2}{}}
-\newlabel{split}{{2}{15}{Summary\relax }{Item.2}{}}
-\newlabel{encryptStep}{{3}{15}{Summary\relax }{Item.3}{}}
address@hidden {figure}{\numberline {3}{\ignorespaces The ECRS encoding 
algorithm.}}{15}{figure.3}}
-\newlabel{ECRS}{{3}{15}{Summary\relax }{figure.3}{}}
address@hidden {figure}{\numberline {4}{\ignorespaces Example protocol for an 
ECRS download. $(Q_i,K_i)$ is a CHK pair to request and decrypt block 
$i$.}}{15}{figure.4}}
-\newlabel{protocol}{{4}{15}{Summary\relax }{figure.4}{}}
address@hidden {subsection}{\numberline {3.7}Summary}{15}{subsection.3.7}}
address@hidden {section}{\numberline {4}Extensions}{15}{section.4}}
-\newlabel{extensions}{{4}{15}{Extensions\relax }{section.4}{}}
address@hidden {subsection}{\numberline {3.5}Namespaces}{11}{subsection.1.3.5}}
+\newlabel{sblock}{{3.5}{11}{Namespaces\relax }{subsection.1.3.5}{}}
address@hidden {subsection}{\numberline {3.6}Keyword 
search}{12}{subsection.1.3.6}}
+\newlabel{kblocks}{{3.6}{12}{Keyword search\relax }{subsection.1.3.6}{}}
address@hidden {figure}{\numberline {2}{\ignorespaces The construction of a 
{\em  KBlock}. The hash $H(K)$ of the keyword $K$ is used to encrypt the data 
and to seed the key generator. The obtained private key $Prv_{H(K)}$ signs the 
encrypted data, but is not otherwise used. Finally, the public key $Pub_{H(K)}$ 
is appended to the signed data to form the {\em  KBlock}.}}{13}{figure.1.2}}
+\newlabel{kblockdiagram}{{2}{13}{Keyword search\relax }{figure.1.2}{}}
+\newlabel{split}{{2}{14}{Summary\relax }{Item.2}{}}
+\newlabel{encryptStep}{{3}{14}{Summary\relax }{Item.3}{}}
address@hidden {figure}{\numberline {3}{\ignorespaces The ECRS encoding 
algorithm.}}{14}{figure.1.3}}
+\newlabel{ECRS}{{3}{14}{Summary\relax }{figure.1.3}{}}
address@hidden {subsection}{\numberline {3.7}Summary}{14}{subsection.1.3.7}}
address@hidden {section}{\numberline {4}Extensions}{14}{section.1.4}}
+\newlabel{extensions}{{4}{14}{Extensions\relax }{section.1.4}{}}
 \citation{le2005}
address@hidden {subsection}{\numberline {4.1}Keyword 
inference}{16}{subsection.4.1}}
-\newlabel{keywords}{{4.1}{16}{Keyword inference\relax }{subsection.4.1}{}}
address@hidden {subsection}{\numberline {4.2}Directories}{16}{subsection.4.2}}
address@hidden {figure}{\numberline {4}{\ignorespaces Example protocol for an 
ECRS download. $(Q_i,K_i)$ is a CHK pair to request and decrypt block 
$i$.}}{15}{figure.1.4}}
+\newlabel{protocol}{{4}{15}{Summary\relax }{figure.1.4}{}}
address@hidden {subsection}{\numberline {4.1}Keyword 
inference}{15}{subsection.1.4.1}}
+\newlabel{keywords}{{4.1}{15}{Keyword inference\relax }{subsection.1.4.1}{}}
address@hidden {subsection}{\numberline {4.2}Directories}{15}{subsection.1.4.2}}
 \citation{bloom}
address@hidden {figure}{\numberline {5}{\ignorespaces  ECRS allows the 
formation of complicated network structures. In this example, the {\em  SBlock} 
of pseudonym \relax $\@@underline {\hbox {\it  {Alice}}}\mathsurround \z@ 
$\relax  eventually allows to retrieve two of the documents encoded in the 
system, as does {\em  Kblock} for keyword ``food". Boxes denote simple blocks 
that serve as entry-points. The directory and the documents consist of trees of 
possibly many CHK-encoded blocks. Searching for keyword ``soda" would return 
two results pointing to different resources. Note that all the encoded 
resources, including the one document with no pointers to it, can be retrieved 
by knowing the CHK keys of their root {\em  IBlock}s. }}{17}{figure.5}}
-\newlabel{fig:network}{{5}{17}{Directories\relax }{figure.5}{}}
address@hidden {subsection}{\numberline {4.3}Efficient lookups with bloom 
filters}{17}{subsection.4.3}}
address@hidden {figure}{\numberline {5}{\ignorespaces  ECRS allows the 
formation of complicated network structures. In this example, the {\em  SBlock} 
of pseudonym \relax $\@@underline {\hbox {\it  {Alice}}}\mathsurround \z@ 
$\relax  eventually allows to retrieve two of the documents encoded in the 
system, as does {\em  Kblock} for keyword ``food". Boxes denote simple blocks 
that serve as entry-points. The directory and the documents consist of trees of 
possibly many CHK-encoded blocks. Searching for keyword ``soda" would return 
two results pointing to different resources. Note that all the encoded 
resources, including the one document with no pointers to it, can be retrieved 
by knowing the CHK keys of their root {\em  IBlock}s. }}{16}{figure.1.5}}
+\newlabel{fig:network}{{5}{16}{Directories\relax }{figure.1.5}{}}
address@hidden {subsection}{\numberline {4.3}Efficient lookups with bloom 
filters}{16}{subsection.1.4.3}}
 \citation{freehaven-berk,mojotech}
 \citation{rabin89efficient}
address@hidden {section}{\numberline {5}Discussion}{18}{section.5}}
-\newlabel{discussion}{{5}{18}{Discussion\relax }{section.5}{}}
address@hidden {subsection}{\numberline {5.1}Attacks}{18}{subsection.5.1}}
address@hidden {section}{\numberline {5}Discussion}{17}{section.1.5}}
+\newlabel{discussion}{{5}{17}{Discussion\relax }{section.1.5}{}}
address@hidden {subsection}{\numberline {5.1}Attacks}{17}{subsection.1.5.1}}
 \citation{levien03advogato}
 \citation{esed}
address@hidden {subsection}{\numberline {5.2}{\em  KBlocks} or 
triple-hash}{19}{subsection.5.2}}
address@hidden {section}{\numberline {6}Conclusion}{20}{section.6}}
-\newlabel{conclusion}{{6}{20}{Conclusion\relax }{section.6}{}}
address@hidden {subsection}{\numberline {5.2}{\em  KBlocks} or 
triple-hash}{18}{subsection.1.5.2}}
address@hidden {section}{\numberline {6}Conclusion}{19}{section.1.6}}
+\newlabel{conclusion}{{6}{19}{Conclusion\relax }{section.1.6}{}}
 \bibstyle{plain}
 \bibdata{ref}
 \bibcite{anderson96eternity}{1}

Modified: GNUnet-docs/papers/ecrs/main.blg
===================================================================
--- GNUnet-docs/papers/ecrs/main.blg    2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet-docs/papers/ecrs/main.blg    2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,4 +1,4 @@
-This is BibTeX, Version 0.99c (Web2C 7.4.5)
+This is BibTeX, Version 0.99c (Web2C 7.5.4)
 The top-level auxiliary file: main.aux
 The style file: plain.bst
 Database file #1: ref.bib

Modified: GNUnet-docs/papers/ecrs/main.dvi
===================================================================
(Binary files differ)

Modified: GNUnet-docs/papers/ecrs/main.log
===================================================================
--- GNUnet-docs/papers/ecrs/main.log    2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet-docs/papers/ecrs/main.log    2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,416 +1,425 @@
-This is pdfeTeX, Version 3.14159-1.10b-2.1 (Web2C 7.4.5) (format=pdflatex 
2005.9.11)  26 SEP 2005 06:52
+This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 
2006.9.14)  26 SEP 2006 15:20
 entering extended mode
 **main.tex
-(./main.tex{/usr/share/texmf/pdftex/config/pdftex.cfg}
-LaTeX2e <2001/06/01>
-Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, b
-ahasa, basque, catalan, croatian, czech, danish, dutch, finnish, greek, iceland
-ic, irish, italian, latin, magyar, norsk, norsk, portuges, romanian, russian, s
-lovak, slovene, spanish, swedish, turkish, ukrainian, nohyphenation, loaded.
-(./svjour.cls
-Document Class: svjour 2003/04/15 
-LaTeX document class for Springer journals - version 1.11
-(./svglobal.clo
-File: svglobal.clo 1998/04/23 v1.0 style option for unspecific journals
-
-SVJour Class option: svglobal.clo for unspecific journals
+(./main.tex
+LaTeX2e <2003/12/01>
+Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
+ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
+stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
+h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
+kish, ukrainian, nohyphenation, loaded.
+(./llncs.cls
+Document Class: llncs 2001/08/14 v2.10 
+experimental LaTeX document class for Lecture Notes in Computer Science
+(/usr/share/texmf-tetex/tex/latex/base/article.cls
+Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
+(/usr/share/texmf-tetex/tex/latex/base/size10.clo
+File: size10.clo 2004/02/16 v1.4f Standard LaTeX file (size option)
 )
-LaTeX Font Info:    Redeclaring math symbol \Gamma on input line 99.
-LaTeX Font Info:    Redeclaring math symbol \Delta on input line 100.
-LaTeX Font Info:    Redeclaring math symbol \Theta on input line 101.
-LaTeX Font Info:    Redeclaring math symbol \Lambda on input line 102.
-LaTeX Font Info:    Redeclaring math symbol \Xi on input line 103.
-LaTeX Font Info:    Redeclaring math symbol \Pi on input line 104.
-LaTeX Font Info:    Redeclaring math symbol \Sigma on input line 105.
-LaTeX Font Info:    Redeclaring math symbol \Upsilon on input line 106.
-LaTeX Font Info:    Redeclaring math symbol \Phi on input line 107.
-LaTeX Font Info:    Redeclaring math symbol \Psi on input line 108.
-LaTeX Font Info:    Redeclaring math symbol \Omega on input line 109.
-\logodepth=\dimen102
-\headerboxheight=\dimen103
-\betweenumberspace=\dimen104
-\aftertext=\dimen105
-\headlineindent=\dimen106
address@hidden
address@hidden
-\instindent=\dimen107
-\authrun=\box26
-\authorrunning=\toks14
-\titrun=\box27
-\titlerunning=\toks15
-\combirun=\box28
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
-\spthmsep=\dimen108
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
 \abovecaptionskip=\skip41
 \belowcaptionskip=\skip42
-\figcapgap=\dimen109
-\tabcapgap=\dimen110
-\figgap=\dimen111
-\bibindent=\dimen112
address@hidden
-) (/usr/share/texmf/tex/latex/base/inputenc.sty
-Package: inputenc 2001/07/10 v0.99a Input encoding file 
+\bibindent=\dimen102
+)
+(/usr/share/texmf-tetex/tex/latex/tools/multicol.sty
+Package: multicol 2004/02/14 v1.6e multicolumn formatting (FMi)
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
+\multicoltolerance=\count91
+\multicolpretolerance=\count92
address@hidden
address@hidden
+\premulticols=\dimen106
+\postmulticols=\dimen107
+\multicolsep=\skip43
+\multicolbaselineskip=\skip44
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
+\multicolovershoot=\dimen109
+\multicolundershoot=\dimen110
address@hidden@firstbox=\box50
address@hidden
+)
address@hidden
+LaTeX Font Info:    Redeclaring math symbol \Gamma on input line 343.
+LaTeX Font Info:    Redeclaring math symbol \Delta on input line 344.
+LaTeX Font Info:    Redeclaring math symbol \Theta on input line 345.
+LaTeX Font Info:    Redeclaring math symbol \Lambda on input line 346.
+LaTeX Font Info:    Redeclaring math symbol \Xi on input line 347.
+LaTeX Font Info:    Redeclaring math symbol \Pi on input line 348.
+LaTeX Font Info:    Redeclaring math symbol \Sigma on input line 349.
+LaTeX Font Info:    Redeclaring math symbol \Upsilon on input line 350.
+LaTeX Font Info:    Redeclaring math symbol \Phi on input line 351.
+LaTeX Font Info:    Redeclaring math symbol \Psi on input line 352.
+LaTeX Font Info:    Redeclaring math symbol \Omega on input line 353.
+\tocchpnum=\dimen111
+\tocsecnum=\dimen112
+\tocsectotal=\dimen113
+\tocsubsecnum=\dimen114
+\tocsubsectotal=\dimen115
+\tocsubsubsecnum=\dimen116
+\tocsubsubsectotal=\dimen117
+\tocparanum=\dimen118
+\tocparatotal=\dimen119
+\tocsubparanum=\dimen120
address@hidden
+\fnindent=\dimen121
+\c@@inst=\count97
+\c@@auth=\count98
address@hidden
+\instindent=\dimen122
+\authrun=\box52
+\authorrunning=\toks14
+\tocauthor=\toks15
+\titrun=\box53
+\titlerunning=\toks16
+\toctitle=\toks17
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
+\headlineindent=\dimen123
+)
+(/usr/share/texmf-tetex/tex/latex/base/inputenc.sty
+Package: inputenc 2004/02/05 v1.0d Input encoding file
 
-(/usr/share/texmf/tex/latex/base/ansinew.def
-File: ansinew.def 2001/07/10 v0.99a Input encoding file 
+(/usr/share/texmf-tetex/tex/latex/base/ansinew.def
+File: ansinew.def 2004/02/05 v1.0d Input encoding file
 ))
-(/usr/share/texmf/tex/latex/amsmath/amsmath.sty
+(/usr/share/texmf-tetex/tex/latex/amsmath/amsmath.sty
 Package: amsmath 2000/07/18 v2.13 AMS math features
address@hidden
address@hidden
 
 For additional information on amsmath, use the `?' option.
-(/usr/share/texmf/tex/latex/amsmath/amstext.sty
+(/usr/share/texmf-tetex/tex/latex/amsmath/amstext.sty
 Package: amstext 2000/06/29 v2.01
 
-(/usr/share/texmf/tex/latex/amsmath/amsgen.sty
+(/usr/share/texmf-tetex/tex/latex/amsmath/amsgen.sty
 File: amsgen.sty 1999/11/30 v2.0
address@hidden
address@hidden
address@hidden
address@hidden
 ))
-(/usr/share/texmf/tex/latex/amsmath/amsbsy.sty
+(/usr/share/texmf-tetex/tex/latex/amsmath/amsbsy.sty
 Package: amsbsy 1999/11/29 v1.2d
address@hidden
address@hidden
 )
-(/usr/share/texmf/tex/latex/amsmath/amsopn.sty
+(/usr/share/texmf-tetex/tex/latex/amsmath/amsopn.sty
 Package: amsopn 1999/12/14 v2.01 operator names
 )
address@hidden
address@hidden
 LaTeX Info: Redefining \frac on input line 211.
address@hidden
address@hidden
address@hidden
address@hidden
 LaTeX Info: Redefining \overline on input line 307.
address@hidden
address@hidden
address@hidden
address@hidden
 LaTeX Info: Redefining \ldots on input line 379.
 LaTeX Info: Redefining \dots on input line 382.
 LaTeX Info: Redefining \cdots on input line 467.
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
 LaTeX Font Info:    Redeclaring font encoding OML on input line 567.
 LaTeX Font Info:    Redeclaring font encoding OMS on input line 568.
 
 
 Package amsmath Warning: Unable to redefine math accent \vec.
 
address@hidden
address@hidden
address@hidden
address@hidden
 address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
-\multlinegap=\skip44
-\multlinetaggap=\skip45
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
+\multlinegap=\skip46
+\multlinetaggap=\skip47
address@hidden
 LaTeX Info: Redefining \[ on input line 2666.
 LaTeX Info: Redefining \] on input line 2667.
-) (/usr/share/texmf/tex/latex/amsfonts/amssymb.sty
+) (/usr/share/texmf-tetex/tex/latex/amsfonts/amssymb.sty
 Package: amssymb 2002/01/22 v2.2d
 
-(/usr/share/texmf/tex/latex/amsfonts/amsfonts.sty
+(/usr/share/texmf-tetex/tex/latex/amsfonts/amsfonts.sty
 Package: amsfonts 2001/10/25 v2.2f
 \symAMSa=\mathgroup4
 \symAMSb=\mathgroup5
 LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
 (Font)                  U/euf/m/n --> U/euf/b/n on input line 132.
 ))
-(/usr/share/texmf/tex/latex/base/exscale.sty
+(/usr/share/texmf-tetex/tex/latex/base/exscale.sty
 Package: exscale 1997/06/16 v2.1g Standard LaTeX package exscale
-LaTeX Font Info:    Redeclaring symbol font `largesymbols' on input line 47.
+LaTeX Font Info:    Redeclaring symbol font `largesymbols' on input line 52.
 LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `normal'
-(Font)                  OMX/cmex/m/n --> OMX/cmex/m/n on input line 47.
+(Font)                  OMX/cmex/m/n --> OMX/cmex/m/n on input line 52.
 LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `bold'
-(Font)                  OMX/cmex/m/n --> OMX/cmex/m/n on input line 47.
address@hidden
+(Font)                  OMX/cmex/m/n --> OMX/cmex/m/n on input line 52.
address@hidden
 )
-(/usr/share/texmf/tex/latex/tools/multicol.sty
-Package: multicol 2000/07/10 v1.5z multicolumn formatting (FMi)
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
-\multicoltolerance=\count121
-\multicolpretolerance=\count122
address@hidden
address@hidden
-\premulticols=\dimen126
-\postmulticols=\dimen127
-\multicolsep=\skip46
-\multicolbaselineskip=\skip47
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
-\multicolovershoot=\dimen129
-\multicolundershoot=\dimen130
address@hidden@firstbox=\box55
address@hidden
-)
-(/usr/share/texmf/tex/latex/graphics/epsfig.sty
+(/usr/share/texmf-tetex/tex/latex/graphics/epsfig.sty
 Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR)
 
-(/usr/share/texmf/tex/latex/graphics/graphicx.sty
+(/usr/share/texmf-tetex/tex/latex/graphics/graphicx.sty
 Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
 
-(/usr/share/texmf/tex/latex/graphics/keyval.sty
+(/usr/share/texmf-tetex/tex/latex/graphics/keyval.sty
 Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
address@hidden@=\toks21
address@hidden@=\toks23
 )
-(/usr/share/texmf/tex/latex/graphics/graphics.sty
+(/usr/share/texmf-tetex/tex/latex/graphics/graphics.sty
 Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
 
-(/usr/share/texmf/tex/latex/graphics/trig.sty
+(/usr/share/texmf-tetex/tex/latex/graphics/trig.sty
 Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
 )
-(/usr/share/texmf/tex/latex/config/graphics.cfg
-File: graphics.cfg 2001/08/31 v1.1 graphics configuration of teTeX/TeXLive
+(/usr/share/texmf-tetex/tex/latex/graphics/graphics.cfg
+File: graphics.cfg 2005/02/03 v1.3 graphics configuration of teTeX/TeXLive
 )
 Package graphics Info: Driver file: pdftex.def on input line 80.
 
-(/usr/share/texmf/tex/latex/graphics/pdftex.def
+(/usr/share/texmf-tetex/tex/latex/graphics/pdftex.def
 File: pdftex.def 2002/06/19 v0.03k graphics/color for pdftex
address@hidden
address@hidden
 ))
address@hidden@height=\dimen131
address@hidden@width=\dimen132
address@hidden@height=\dimen134
address@hidden@width=\dimen135
 )
-\epsfxsize=\dimen133
-\epsfysize=\dimen134
+\epsfxsize=\dimen136
+\epsfysize=\dimen137
 )
-(/usr/share/texmf/tex/latex/tools/verbatim.sty
-Package: verbatim 2001/03/12 v1.5p LaTeX2e package for verbatim enhancements
address@hidden
address@hidden
+(/usr/share/texmf-tetex/tex/latex/tools/verbatim.sty
+Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
address@hidden
address@hidden
 address@hidden@stream=\read1
 )
-(/usr/share/texmf/tex/latex/misc/float.sty
+(/usr/share/texmf-tetex/tex/latex/float/float.sty
 Package: float 2001/11/08 v1.3d Float enhancements (AL)
address@hidden@type=\count126
address@hidden
address@hidden
address@hidden@everytoks=\toks25
address@hidden
address@hidden@type=\count128
address@hidden
address@hidden
address@hidden@everytoks=\toks27
address@hidden
 )
-(/usr/share/texmf/tex/generic/xypic/xy.sty
-(/usr/share/texmf/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes, docmode,
-(/usr/share/texmf/tex/generic/xypic/xyrecat.tex)
-(/usr/share/texmf/tex/generic/xypic/xyidioms.tex)
+(/usr/share/texmf-tetex/tex/generic/xypic/xy.sty
+(/usr/share/texmf-tetex/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes,
+docmode, (/usr/share/texmf-tetex/tex/generic/xypic/xyrecat.tex)
+(/usr/share/texmf-tetex/tex/generic/xypic/xyidioms.tex)
 
  Xy-pic version 3.7 <1999/02/16>
  Copyright (c) 1991-1998 by Kristoffer H. Rose <address@hidden>
  Xy-pic is free software: see the User's Guide for details.
 
 Loading kernel: messages; fonts; allocations: state,
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
  direction,
address@hidden
address@hidden
address@hidden
address@hidden
-\Direction=\count129
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
+\Direction=\count131
address@hidden
address@hidden
 address@hidden
 address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
 
 utility macros; pictures: \xy, positions,
-\swaptoks@@=\toks28
-\connectobjectbox@@=\box61
+\swaptoks@@=\toks30
+\connectobjectbox@@=\box60
  objects,
address@hidden
address@hidden
  decorations;
 kernel objects: directionals, circles, text; options; algorithms: directions,
 edges, connections;  Xy-pic loaded)
 Package: xy 1999/02/16 Xy-pic version 3.7
 
-(/usr/share/texmf/tex/generic/xypic/xyall.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xyall.tex
  Xy-pic option: All features v.3.3
-(/usr/share/texmf/tex/generic/xypic/xycurve.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xycurve.tex
  Xy-pic option: Curve and Spline extension v.3.7 curve,
address@hidden@=\count131
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden@=\count133
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
  circles,
address@hidden
address@hidden
  loaded)
-(/usr/share/texmf/tex/generic/xypic/xyframe.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xyframe.tex
  Xy-pic option: Frame and Bracket extension v.3.7 loaded)
-(/usr/share/texmf/tex/generic/xypic/xycmtip.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xycmtip.tex
  Xy-pic option: Computer Modern tip extension v.3.3
-(/usr/share/texmf/tex/generic/xypic/xytips.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xytips.tex
  Xy-pic option: More Tips extension v.3.3 loaded) loaded)
-(/usr/share/texmf/tex/generic/xypic/xyline.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xyline.tex
  Xy-pic option: Line styles extension v.3.6
address@hidden
address@hidden
  loaded)
-(/usr/share/texmf/tex/generic/xypic/xyrotate.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xyrotate.tex
  Xy-pic option: Rotate and Scale extension v.3.3 loaded)
-(/usr/share/texmf/tex/generic/xypic/xycolor.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xycolor.tex
  Xy-pic option: Colour extension v.3.3 loaded)
-(/usr/share/texmf/tex/generic/xypic/xymatrix.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xymatrix.tex
  Xy-pic option: Matrix feature v.3.4
-\Row=\count132
-\Col=\count133
address@hidden
-\queue@@=\toks32
address@hidden
-\qcount@@=\count135
address@hidden
+\Row=\count134
+\Col=\count135
address@hidden
+\queue@@=\toks34
address@hidden
+\qcount@@=\count137
address@hidden
  loaded)
-(/usr/share/texmf/tex/generic/xypic/xyarrow.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xyarrow.tex
  Xy-pic option: Arrow and Path feature v.3.5 path, \ar, loaded)
-(/usr/share/texmf/tex/generic/xypic/xygraph.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xygraph.tex
  Xy-pic option: Graph feature v.3.7 loaded) loaded)
-(/usr/share/texmf/tex/generic/xypic/xyknot.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xyknot.tex
  Xy-pic option: Knots and Links feature v.3.4 knots and links, loaded)
-(/usr/share/texmf/tex/generic/xypic/xypoly.tex
+(/usr/share/texmf-tetex/tex/generic/xypic/xypoly.tex
  Xy-pic option: Polygon feature v.3.7 polygons,
address@hidden
address@hidden
  loaded))
-(/usr/share/texmf/tex/latex/hyperref/hyperref.sty
-Package: hyperref 2003/01/22 v6.73n Hypertext links for LaTeX
address@hidden
address@hidden
address@hidden
+(/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2003/11/30 v6.74m Hypertext links for LaTeX
address@hidden
address@hidden
address@hidden
 
-(/usr/share/texmf/tex/latex/hyperref/pd1enc.def
-File: pd1enc.def 2003/01/22 v6.73n Hyperref: PDFDocEncoding definition (HO)
+(/usr/share/texmf-tetex/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2003/11/30 v6.74m Hyperref: PDFDocEncoding definition (HO)
 )
-(/usr/share/texmf/tex/latex/config/hyperref.cfg
+(/usr/share/texmf-tetex/tex/latex/hyperref/hyperref.cfg
 File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive and teTeX
 )
-Package hyperref Info: Hyper figures OFF on input line 1792.
-Package hyperref Info: Link nesting OFF on input line 1797.
-Package hyperref Info: Hyper index ON on input line 1800.
-Package hyperref Info: Plain pages ON on input line 1805.
-Package hyperref Info: Backreferencing OFF on input line 1812.
+Package hyperref Info: Hyper figures OFF on input line 1880.
+Package hyperref Info: Link nesting OFF on input line 1885.
+Package hyperref Info: Hyper index ON on input line 1888.
+Package hyperref Info: Plain pages ON on input line 1893.
+Package hyperref Info: Backreferencing OFF on input line 1900.
 
 Implicit mode ON; LaTeX internals redefined
-Package hyperref Info: Bookmarks ON on input line 1916.
-(/usr/share/texmf/tex/latex/misc/url.sty
+Package hyperref Info: Bookmarks ON on input line 2004.
+(/usr/share/texmf-tetex/tex/latex/url/url.sty
 \Urlmuskip=\muskip11
-Package: url 1999/03/28  ver 1.5x  Verb mode for urls, etc.
+Package: url 2004/03/15  ver 3.1  Verb mode for urls, etc.
 )
-LaTeX Info: Redefining \url on input line 2055.
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
-Package hyperref Info: Hyper figures OFF on input line 2513.
-Package hyperref Info: Link nesting OFF on input line 2518.
-Package hyperref Info: Hyper index ON on input line 2521.
-Package hyperref Info: backreferencing OFF on input line 2528.
-Package hyperref Info: Link coloring OFF on input line 2533.
address@hidden
address@hidden
+LaTeX Info: Redefining \url on input line 2143.
address@hidden
address@hidden
address@hidden
address@hidden
address@hidden
+Package hyperref Info: Hyper figures OFF on input line 2618.
+Package hyperref Info: Link nesting OFF on input line 2623.
+Package hyperref Info: Hyper index ON on input line 2626.
+Package hyperref Info: backreferencing OFF on input line 2633.
+Package hyperref Info: Link coloring OFF on input line 2638.
address@hidden
address@hidden
 )
 *hyperref using default driver hpdftex*
-(/usr/share/texmf/tex/latex/hyperref/hpdftex.def
-File: hpdftex.def 2003/01/22 v6.73n Hyperref driver for pdfTeX
+(/usr/share/texmf-tetex/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2003/11/30 v6.74m Hyperref driver for pdfTeX
 
-(/usr/share/texmf/tex/latex/psnfss/pifont.sty
-Package: pifont 2002/09/08 PSNFSS-v9.0a Pi font support (SPQR) 
-LaTeX Font Info:    Try loading font information for U+pzd on input line 62.
+(/usr/share/texmf-tetex/tex/latex/psnfss/pifont.sty
+Package: pifont 2004/09/15 PSNFSS-v9.2 Pi font support (SPQR) 
+LaTeX Font Info:    Try loading font information for U+pzd on input line 63.
 
-(/usr/share/texmf/tex/latex/psnfss/upzd.fd
+(/usr/share/texmf-tetex/tex/latex/psnfss/upzd.fd
 File: upzd.fd 2001/06/04 font definitions for U/pzd.
 )
-LaTeX Font Info:    Try loading font information for U+psy on input line 63.
+LaTeX Font Info:    Try loading font information for U+psy on input line 64.
 
-(/usr/share/texmf/tex/latex/psnfss/upsy.fd
+(/usr/share/texmf-tetex/tex/latex/psnfss/upsy.fd
 File: upsy.fd 2001/06/04 font definitions for U/psy.
 ))
address@hidden
address@hidden
 address@hidden
 )
 
@@ -435,133 +444,156 @@
 LaTeX Font Info:    ... okay on input line 19.
 LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 19.
 LaTeX Font Info:    ... okay on input line 19.
-
-Option global - hint: specify \journalname{<name of your journal>}
-                      in the preambel
-
-(/usr/share/texmf/tex/context/base/supp-pdf.tex
-(/usr/share/texmf/tex/context/base/supp-mis.tex
-loading : Context Support Macros / Missing
-\protectiondepth=\count144
-\scratchcounter=\count145
-\scratchtoks=\toks35
-\scratchdimen=\dimen172
+ (/usr/share/texmf-tetex/tex/context/base/supp-pdf.tex
+(/usr/share/texmf-tetex/tex/context/base/supp-mis.tex
+loading : Context Support Macros / Miscellaneous (2004.10.26)
+\protectiondepth=\count146
+\scratchcounter=\count147
+\scratchtoks=\toks37
+\scratchdimen=\dimen175
 \scratchskip=\skip48
 \scratchmuskip=\muskip12
-\scratchbox=\box63
+\scratchbox=\box62
 \scratchread=\read3
 \scratchwrite=\write5
-\zeropoint=\dimen173
-\minusone=\count146
-\thousandpoint=\dimen174
-\emptytoks=\toks36
-\nextbox=\box64
-\nextdepth=\dimen175
-\everyline=\toks37
-\!!counta=\count147
-\!!countb=\count148
-\recursecounter=\count149
+\zeropoint=\dimen176
+\onepoint=\dimen177
+\onebasepoint=\dimen178
+\minusone=\count148
+\thousandpoint=\dimen179
+\onerealpoint=\dimen180
+\emptytoks=\toks38
+\nextbox=\box63
+\nextdepth=\dimen181
+\everyline=\toks39
+\!!counta=\count149
+\!!countb=\count150
+\recursecounter=\count151
 )
-loading : Context Support Macros / PDF
-\nofMPsegments=\count150
-\nofMParguments=\count151
-\everyMPtoPDFconversion=\toks38
-) (/usr/share/texmf/tex/latex/graphics/color.sty
+loading : Context Support Macros / PDF (2004.03.26)
+\nofMPsegments=\count152
+\nofMParguments=\count153
+\MPscratchCnt=\count154
+\MPscratchDim=\dimen182
+\MPnumerator=\count155
+\everyMPtoPDFconversion=\toks40
+) (/usr/share/texmf-tetex/tex/latex/graphics/color.sty
 Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC)
 LaTeX Info: Redefining \color on input line 71.
 
-(/usr/share/texmf/tex/latex/config/color.cfg
-File: color.cfg 2001/08/31 v1.1 color configuration of teTeX/TeXLive
+(/usr/share/texmf-tetex/tex/latex/graphics/color.cfg
+File: color.cfg 2005/02/03 v1.3 color configuration of teTeX/TeXLive
 )
 Package color Info: Driver file: pdftex.def on input line 125.
 )
 Package hyperref Info: Link coloring ON on input line 19.
 
-(/usr/share/texmf/tex/latex/hyperref/nameref.sty
-Package: nameref 2001/01/27 v2.19 Cross-referencing by name of section
address@hidden@level=\count152
+(/usr/share/texmf-tetex/tex/latex/hyperref/nameref.sty
+Package: nameref 2003/12/03 v2.21 Cross-referencing by name of section
address@hidden@level=\count156
 )
 LaTeX Info: Redefining \ref on input line 19.
 LaTeX Info: Redefining \pageref on input line 19.
- (./main.out) (./main.out)
+ (./main.out)
+(./main.out)
 \openout4 = `main.out'.
 
-
-SVJour warning: Missing \journalname
-SVJour warning: Missing \date
 LaTeX Font Info:    External font `cmex7' loaded for size
 (Font)              <7> on input line 83.
 LaTeX Font Info:    External font `cmex7' loaded for size
 (Font)              <5> on input line 83.
 LaTeX Font Info:    Try loading font information for U+msa on input line 83.
-(/usr/share/texmf/tex/latex/amsfonts/umsa.fd
+ (/usr/share/texmf-tetex/tex/latex/amsfonts/umsa.fd
 File: umsa.fd 2002/01/19 v2.2g AMS font definitions
 )
 LaTeX Font Info:    Try loading font information for U+msb on input line 83.
 
-(/usr/share/texmf/tex/latex/amsfonts/umsb.fd
+(/usr/share/texmf-tetex/tex/latex/amsfonts/umsb.fd
 File: umsb.fd 2002/01/19 v2.2g AMS font definitions
 )
 LaTeX Font Info:    External font `cmex7' loaded for size
 (Font)              <6> on input line 83.
- [1{/var/lib/texmf/dvips/config/pdftex.map}] [2] [3] [4] [5] [6] [7] [8] <xymat
-rix 9x6 932>
-Underfull \vbox (badness 3884) has occurred while \output is active []
 
- [9]
-[10]
-Underfull \vbox (badness 10000) has occurred while \output is active []
 
- [11]
-[12] [13] <xymatrix 7x3 383>
-Underfull \vbox (badness 1043) has occurred while \output is active []
+Package hyperref Warning: bookmark level for unknown title defaults to 0.
 
- [14]
-Underfull \hbox (badness 10000) in paragraph at lines 952--956
-[]/cmr9/Response: $([/cmmi9/E[]/cmr9/(/cmmi9/Q[]; K[]; size/cmr9/)][]/cmmi9/; P
-ub[]/cmr9/)$ (one
+
+Package hyperref Warning: bookmark level for unknown author defaults to 0.
+
+
+Package hyperref Warning: Token not allowed in a PDFDocEncoded string,
+(hyperref)                removing `\unskip' on input line 83.
+
+
+Package hyperref Warning: Token not allowed in a PDFDocEncoded string,
+(hyperref)                removing `\unskip' on input line 83.
+
+
+Package hyperref Warning: Token not allowed in a PDFDocEncoded string,
+(hyperref)                removing `\unskip' on input line 83.
+
+
+Package hyperref Warning: Token not allowed in a PDFDocEncoded string,
+(hyperref)                removing `\unskip' on input line 83.
+
+
+Overfull \hbox (9.0264pt too wide) in paragraph at lines 85--97
+\OT1/cmr/m/n/9 censor-ship-resistant peer-to-peer net-work-ing. The pro-posed e
+n-cod-ing mech-
  []
 
-[15] <xymatrix 4x3 438> [16]
-Underfull \vbox (badness 3354) has occurred while \output is active []
+[1
 
- [17]
-[18] [19] [20] (./main.bbl [21]
-Underfull \hbox (badness 2591) in paragraph at lines 100--103
-[]/cmr9/Raph Levien.  At-tack re-sis-tant trust met-rics.  Draft avail-able at
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
+Underfull \vbox (badness 5105) has occurred while \output is active []
+
+ [2]
+[3] [4] [5] [6] [7]
+Underfull \vbox (badness 2158) has occurred while \output is active []
+
+ [8]
+<xymatrix 9x6 932> [9] [10] [11] [12] <xymatrix 7x3 383>
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [13]
+[14] [15] <xymatrix 4x3 438> [16] [17] [18] [19] (./main.bbl [20]
+Underfull \hbox (badness 6658) in paragraph at lines 100--103
+[]\OT1/cmr/m/n/9 Raph Levien.  At-tack re-sis-tant trust met-rics.  Draft avail
+-able at
  []
 
-[22]) [23] (./main.aux) ) 
+[21]) [22] (./main.aux) ) 
 Here is how much of TeX's memory you used:
- 6630 strings out of 94960
- 81007 string characters out of 1182470
- 239058 words of memory out of 1000001
- 9533 multiletter control sequences out of 10000+50000
- 12713 words of font info for 52 fonts, out of 500000 for 1000
- 198 hyphenation exceptions out of 1000
- 32i,14n,36p,805b,939s stack positions out of 1500i,500n,5000p,200000b,5000s
- 351 PDF objects out of 300000
+ 6729 strings out of 94500
+ 83280 string characters out of 1175771
+ 240233 words of memory out of 1000000
+ 9676 multiletter control sequences out of 10000+50000
+ 13677 words of font info for 55 fonts, out of 500000 for 2000
+ 580 hyphenation exceptions out of 8191
+ 32i,14n,27p,807b,941s stack positions out of 1500i,500n,5000p,200000b,5000s
+PDF statistics:
+ 339 PDF objects out of 300000
  99 named destinations out of 131072
- 58 words of extra memory for PDF output out of 65536
-{/usr/share/texmf/dvips/tetex/0ef0afca.enc}</usr/share
-/texmf/fonts/type1/bluesky/cm/cmcsc10.pfb>{/usr/share/texmf/dvips/tetex/bbad153
-f.enc}</usr/share/texmf/fonts/type1/bluesky/cm/cmsy10.pfb></usr/share/texmf/fon
-ts/type1/bluesky/cm/cmsy7.pfb>{/usr/share/texmf/dvips/tetex/09fbbfac.enc}</usr/
-share/texmf/fonts/type1/bluesky/cm/cmtt10.pfb></usr/share/texmf/fonts/type1/blu
-esky/cm/cmsy9.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr5.pfb></usr/share
-/texmf/fonts/type1/bluesky/cm/cmtt8.pfb>{/usr/share/texmf/dvips/tetex/aae443f0.
-enc}</usr/share/texmf/fonts/type1/bluesky/cm/cmmi5.pfb></usr/share/texmf/fonts/
-type1/bluesky/cm/cmmi7.pfb>{/usr/share/texmf/dvips/tetex/f7b6d320.enc}</usr/sha
-re/texmf/fonts/type1/bluesky/cm/cmbx9.pfb></usr/share/texmf/fonts/type1/bluesky
-/cm/cmmi6.pfb></usr/share/texmf/fonts/type1/public/xypic/xydash10.pfb></usr/sha
-re/texmf/fonts/type1/bluesky/cm/cmsy6.pfb></usr/share/texmf/fonts/type1/public/
-xypic/xybtip10.pfb></usr/share/texmf/fonts/type1/public/xypic/xyatip10.pfb></us
-r/share/texmf/fonts/type1/bluesky/cm/cmmi9.pfb>{/usr/share/texmf/dvips/tetex/74
-afc74c.enc}</usr/share/texmf/fonts/type1/bluesky/cm/cmti9.pfb></usr/share/texmf
-/fonts/type1/bluesky/cm/cmmi10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmt
-i10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmtt9.pfb></usr/share/texmf/fo
-nts/type1/bluesky/cm/cmr9.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr6.pfb
-></usr/share/texmf/fonts/type1/bluesky/cm/cmr7.pfb></usr/share/texmf/fonts/type
-1/bluesky/cm/cmbx12.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb></us
-r/share/texmf/fonts/type1/bluesky/cm/cmbx10.pfb>
-Output written on main.pdf (23 pages, 293684 bytes).
+ 33 words of extra memory for PDF output out of 65536
+</usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmcsc10
+.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmsy10.pfb></usr/share/texm
+f-tetex/fonts/type1/bluesky/cm/cmsy7.pfb></usr/share/texmf-tetex/fonts/type1/bl
+uesky/cm/cmtt10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmsy9.pfb></
+usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmr5.pfb></usr/share/texmf-tetex/f
+onts/type1/bluesky/cm/cmtt8.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/
+cmmi5.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmmi7.pfb></usr/share/
+texmf-tetex/fonts/type1/bluesky/cm/cmbxti10.pfb></usr/share/texmf-tetex/fonts/t
+ype1/bluesky/cm/cmmi6.pfb></usr/share/texmf-tetex/fonts/type1/public/xypic/xyda
+sh10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmsy6.pfb></usr/share/t
+exmf-tetex/fonts/type1/public/xypic/xybtip10.pfb></usr/share/texmf-tetex/fonts/
+type1/public/xypic/xyatip10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/
+cmmi9.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmti9.pfb></usr/share/
+texmf-tetex/fonts/type1/bluesky/cm/cmbx10.pfb></usr/share/texmf-tetex/fonts/typ
+e1/bluesky/cm/cmmi10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmti10.
+pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmbx9.pfb></usr/share/texmf-
+tetex/fonts/type1/bluesky/cm/cmtt9.pfb></usr/share/texmf-tetex/fonts/type1/blue
+sky/cm/cmr9.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmr6.pfb></usr/s
+hare/texmf-tetex/fonts/type1/bluesky/cm/cmr7.pfb></usr/share/texmf-tetex/fonts/
+type1/bluesky/cm/cmr10.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmbx1
+2.pfb>
+Output written on main.pdf (22 pages, 297294 bytes).

Modified: GNUnet-docs/papers/ecrs/main.out
===================================================================
--- GNUnet-docs/papers/ecrs/main.out    2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet-docs/papers/ecrs/main.out    2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,6 +1,2 @@
-\BOOKMARK [1][-]{section.1}{Introduction}{}
-\BOOKMARK [1][-]{section.2}{Related Work}{}
-\BOOKMARK [1][-]{section.3}{ECRS encoding}{}
-\BOOKMARK [1][-]{section.4}{Extensions}{}
-\BOOKMARK [1][-]{section.5}{Discussion}{}
-\BOOKMARK [1][-]{section.6}{Conclusion}{}
+\BOOKMARK [0][-]{chapter.1}{An Encoding for Censorship-Resistant Sharing}{}
+\BOOKMARK [0][-]{chapter.1}{Christian Grothoff, Krista Grothoff, Tzvetan 
Horozov, Jussi T. Lindgren}{}

Modified: GNUnet-docs/papers/ecrs/main.pdf
===================================================================
(Binary files differ)

Modified: GNUnet-docs/papers/ecrs/main.ps
===================================================================
--- GNUnet-docs/papers/ecrs/main.ps     2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet-docs/papers/ecrs/main.ps     2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,18 +1,19 @@
 %!PS-Adobe-2.0
-%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
+%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software
 %%Title: main.dvi
-%%Pages: 23
+%%Pages: 22
 %%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
-%%DocumentFonts: CMBX10 CMR10 CMBX12 CMR7 CMR6 CMR9 CMTT9 CMTI10 CMMI10
-%%+ CMTI9 CMMI9 XYATIP10 XYBTIP10 CMSY6 XYDASH10 CMMI6 CMBX9 CMMI7 CMMI5
-%%+ CMTT8 CMR5 CMSY9 CMTT10 CMSY7 CMSY10 CMCSC10
+%%BoundingBox: 0 0 612 792
+%%DocumentFonts: CMBX12 CMR10 CMR7 CMR6 CMR9 CMTT9 CMBX9 CMTI10 CMMI10
+%%+ CMBX10 CMTI9 CMMI9 XYATIP10 XYBTIP10 CMSY6 XYDASH10 CMMI6 CMBXTI10
+%%+ CMMI7 CMMI5 CMTT8 CMR5 CMSY9 CMTT10 CMSY7 CMSY10 CMCSC10
+%%DocumentPaperSizes: Letter
 %%EndComments
 %DVIPSWebPage: (www.radicaleye.com)
 %DVIPSCommandLine: dvips main.dvi -o main.ps
-%DVIPSParameters: dpi=600, compressed
-%DVIPSSource:  TeX output 2005.09.26:0652
-%%BeginProcSet: texc.pro
+%DVIPSParameters: dpi=600
+%DVIPSSource:  TeX output 2006.09.26:1520
+%%BeginProcSet: tex.pro 0 0
 %!
 /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
 N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
@@ -31,22 +32,10 @@
 definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
 }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
 B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
-1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
-0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
-sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
-rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
-gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
-/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
-/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
-A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
-get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
-ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
-fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
-{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
-chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
-1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
-forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S
+/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy
+setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask
+restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
 /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
 }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
 bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
@@ -70,239 +59,7 @@
 rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
 
 %%EndProcSet
-%%BeginProcSet: f7b6d320.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-%     cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
-%     cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
-%     cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
-%     cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
-%
-/TeXf7b6d320Encoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
-/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
-/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
-/suppress /exclam /quotedblright /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 /exclamdown /equal /questiondown /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 /quotedblleft /bracketright /circumflex /dotaccent
-/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 /endash /emdash /hungarumlaut /tilde /dieresis /suppress
-/.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
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
-/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
-/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
-/OE /Oslash /suppress /dieresis /.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 /.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
-] def
-
-%%EndProcSet
-%%BeginProcSet: 09fbbfac.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-%     cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
-/TeX09fbbfacEncoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
-/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
-/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
-/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /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 /dieresis /visiblespace /.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 /Gamma /Delta /Theta /Lambda /Xi /Pi
-/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
-/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
-/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
-/OE /Oslash /visiblespace /dieresis /.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 /.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
-] def
-
-%%EndProcSet
-%%BeginProcSet: 74afc74c.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-%     cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
-%
-/TeX74afc74cEncoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
-/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
-/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
-/suppress /exclam /quotedblright /numbersign /sterling /percent
-/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
-/hyphen /period /slash /zero /one /two /three /four /five /six /seven
-/eight /nine /colon /semicolon /exclamdown /equal /questiondown /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 /quotedblleft /bracketright /circumflex /dotaccent
-/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 /endash /emdash /hungarumlaut /tilde /dieresis /suppress
-/.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
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
-/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
-/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
-/OE /Oslash /suppress /dieresis /.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 /.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
-] def
-
-%%EndProcSet
-%%BeginProcSet: aae443f0.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-%     cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
-%
-/TeXaae443f0Encoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
-/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
-/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
-/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
-/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
-/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
-/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
-/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
-/greater /star /partialdiff /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 /flat /natural /sharp /slurbelow
-/slurabove /lscript /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 /dotlessi /dotlessj /weierstrass /vector
-/tie /psi /.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 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
-/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
-/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
-/phi /chi /psi /tie /.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 /.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
-] def
-
-%%EndProcSet
-%%BeginProcSet: bbad153f.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-%     cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
-%
-/TeXbbad153fEncoding [
-/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
-/plusminus /minusplus /circleplus /circleminus /circlemultiply
-/circledivide /circledot /circlecopyrt /openbullet /bullet
-/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
-/greaterequal /precedesequal /followsequal /similar /approxequal
-/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
-/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
-/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
-/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
-/prime /infinity /element /owner /triangle /triangleinv /negationslash
-/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
-/latticetop /perpendicular /aleph /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 /union /intersection
-/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
-/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
-/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
-/backslash /wreathproduct /radical /coproduct /nabla /integral
-/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
-/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
-/.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
-/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
-/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
-/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
-/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
-/lessequal /greaterequal /precedesequal /followsequal /similar
-/approxequal /propersubset /propersuperset /lessmuch /greatermuch
-/precedes /follows /arrowleft /spade /.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 /.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
-] def
-
-%%EndProcSet
-%%BeginProcSet: 0ef0afca.enc
-% Thomas Esser, Dec 2002. public domain
-%
-% Encoding for:
-%     cmr5
-%
-/TeX0ef0afcaEncoding [
-/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
-/arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi
-/dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls
-/ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright
-/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 /quotedblleft
-/bracketright /circumflex /dotaccent /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 /endash /emdash
-/hungarumlaut /tilde /dieresis /suppress /.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 /Gamma /Delta /Theta /Lambda
-/Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup
-/arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj
-/grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe
-/oslash /AE /OE /Oslash /suppress /dieresis /.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 /.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
-] def
-
-%%EndProcSet
-%%BeginProcSet: texps.pro
+%%BeginProcSet: texps.pro 0 0
 %!
 TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
@@ -319,7 +76,7 @@
 end
 
 %%EndProcSet
-%%BeginProcSet: special.pro
+%%BeginProcSet: special.pro 0 0
 %!
 TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
 /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
@@ -378,7 +135,7 @@
 savematrix setmatrix}N end
 
 %%EndProcSet
-%%BeginProcSet: color.pro
+%%BeginProcSet: color.pro 0 0
 %!
 TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
 setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
@@ -464,10 +221,11 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 103 /g put
+dup 110 /n put
+dup 117 /u put
 readonly def
 /FontBBox{14 -250 1077 750}readonly def
-/UniqueID 5000772 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -545,10 +303,11 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 25 /approxequal put
+dup 102 /braceleft put
+dup 103 /braceright put
 readonly def
 /FontBBox{-29 -960 1116 775}readonly def
-/UniqueID 5000820 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -616,10 +375,9 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 0 /minus put
 readonly def
 /FontBBox{-15 -951 1252 782}readonly def
-/UniqueID 5000817 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -671,10 +429,18 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 101 /e put
+dup 105 /i put
+dup 108 /l put
+dup 111 /o put
+dup 114 /r put
+dup 116 /t put
+dup 120 /x put
 readonly def
 /FontBBox{-4 -235 731 800}readonly def
-/UniqueID 5000832 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -794,10 +560,11 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 33 /arrowright put
+dup 102 /braceleft put
+dup 103 /braceright put
 readonly def
 /FontBBox{-30 -958 1146 777}readonly def
-/UniqueID 5000819 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -863,10 +630,15 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 34 /quotedblright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 92 /quotedblleft put
 readonly def
 /FontBBox{-341 -250 1304 965}readonly def
-/UniqueID 5000788 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -959,10 +731,20 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 97 /a put
+dup 100 /d put
+dup 101 /e put
+dup 107 /k put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 115 /s put
+dup 121 /y put
 readonly def
 /FontBBox{-5 -232 545 699}readonly def
-/UniqueID 5000830 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -1082,10 +864,16 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 72 /H put
+dup 75 /K put
+dup 101 /e put
+dup 105 /i put
+dup 107 /k put
+dup 115 /s put
+dup 116 /t put
+dup 121 /y put
 readonly def
 /FontBBox{37 -250 1349 750}readonly def
-/UniqueID 5087380 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA06DA87FC7163A5A2A756A598FAB07633
@@ -1214,10 +1002,12 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 72 /H put
+dup 75 /K put
+dup 105 /i put
+dup 107 /k put
 readonly def
 /FontBBox{0 -250 1171 750}readonly def
-/UniqueID 5087382 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -1295,104 +1085,120 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMBX9
-%!PS-AdobeFont-1.1: CMBX9 1.0
-%%CreationDate: 1991 Aug 20 16:36:25
+%%BeginFont: CMBXTI10
+%!PS-AdobeFont-1.1: CMBXTI10 1.0
+%%CreationDate: 1991 Aug 18 17:46:30
 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
 11 dict begin
 /FontInfo 7 dict dup begin
 /version (1.0) readonly def
 /Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBX9) readonly def
+/FullName (CMBXTI10) readonly def
 /FamilyName (Computer Modern) readonly def
 /Weight (Bold) readonly def
-/ItalicAngle 0 def
+/ItalicAngle -14.04 def
 /isFixedPitch false def
 end readonly def
-/FontName /CMBX9 def
+/FontName /CMBXTI10 def
 /PaintType 0 def
 /FontType 1 def
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 66 /B put
+dup 68 /D put
+dup 73 /I put
+dup 75 /K put
+dup 99 /c put
+dup 107 /k put
+dup 108 /l put
+dup 111 /o put
+dup 115 /s put
 readonly def
-/FontBBox{-58 -250 1195 750}readonly def
-/UniqueID 5000767 def
+/FontBBox{-29 -250 1274 754}readonly def
 currentdict end
 currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
-B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
-AEBE70DAAED49EA45AF94F081934AA47894A370D635D93B1823EC35EB8316AA1
-86031FCC99F57CB21E8400E54AA474B57112F0D4754A16BEC19117E9D3638986
-0777A71B135CC18E20E193AE6C2BCD89F4A27516DBD2BFE69FF9920D547796F9
-89E0825B6BD5F492B36AF136EA91B826501ADB1979A4204B2CB5C0517F2B9494
-9B2077F316D2B3DA256C99F7549E6BC4B04FE12072B09B4F5D482A126AE351F3
-97DB85F3026A793B51E6B28B54661FEB087F011F0BFF67272DD1E8825C180723
-22AE77CD6166D2605D0C0F131537417CB60086F08E7197AA916D590944BD801B
-DEE8F29FFC516E11396CCB8395CFEC9262E22521882DC0316B0A129DBFA5FB57
-E656890C2471675E0566FE461028FB05532E274E6DF77E7D320D09B2203BBB5A
-8B185B66B2F8A18A49589C4EE27596DD56260D0D759D2A12CEF7FC3010BA1B36
-85A2FD45129DC01A0C7570423305C25D957DFF9215102FFF35F428C823D549E5
-014E7F99ACA6C10B3C92805376D0F3F280D65852CEA54F5CC9DEF9EC1347824B
-0733D3341B34937316E77E952AD9366D3B2ED045165565F07CB636385E5A5911
-2620E185B105EF6C93890833054E05B6301137338A3F1D6AB2F80095E57AE60D
-6E5EE2764624849978C811EC38E014AE4A5823734C5CEB2BC22DDA46BB408D00
-4F25CA8ED287D35E26A4CACA77D2D4B986ED2ADD3BC0C3405741CAD56DE28C7C
-68E8944967C022CC55907B3DFACC1EFAFD38D3EDDA1AADB6E2C006ECBEFAC8D7
-18ED3C46C331623D8FAACC6CF9292B8F1B407806A0D4808F51A5BC97FFF59BEB
-03767AEC2B6A88BD4C2E4DB8EA66094068C760FAD1CC29BDF625F831CB8C4840
-79C8550C8241C0C7002722F70E6046031B619E5BCD1B56C537C6F6506F83C057
-F489E227B49AB82DECC871124FFE463D8B6EA3CACAD00808DFE61E9E7C5BE060
-D6F414E9F83F5B5FC93D02FB1AED99992B9FEAB4D88AC1427095E26B20C4AF54
-57E4F57F8C804D5C1FF5DA298D99848C7837D67CC6005D51B33E6C37F67C34D0
-0DF8A2429782FCC3C9BD5D7859636FF6A1938853B39AD4C037E42844D997E047
-A84205C24E3EE1AFAABB6BC1E86F34559AC8F149176FCEA83E9777FE17DF7C87
-C66A4C485547D5A2C8B28C47B2CE6AEDED934CBB1C958D01B1BDF45627CAE345
-F535E866BBD157E483C05E4A4310A8AAE40E94B72914CFB60DBD9322A4CC306D
-3C63F02B23E447496FB3A187CF5E28F9737872442C78A2888B2532B41A12CEAB
-EC1366445EACD5F86F87DC0F650D18574E0A079E459D2B65244ECC43FD346354
-23F3313B883F1B28349ADC418F0DA0EAF1EED679D6ACB79BDF5F239288070885
-F92505952C8B6CCEC1D03731C66E030F370DC0414D9E1616240BDB647402CB1E
-C2E9F500BCE66BEC3DA60219222DAA377C6001C7B5C6523F744AAF9217C72780
-64DDCEEDFE1256CE0EB3EA6B72B33F543F247D9370C683B5F15CE22D8F94E090
-F4A573A8D8039DA7D6B6147F2438EB5192854013926D1996A7FAF5DA0DF11F58
-A7102A3AACB763CA5A8D98066A9CDC069FFF0CCCEC178A9E9E86E3D4F9C24AC2
-C69ECCB45070E08B822D8432206A65BB5D1D5F77F90E852281AB00A9B091F7E3
-CE70B24D62816E4FC71AEA1D2025399D387008D0B0E6F6F60D6382C3B0580CCB
-7D1985A6867545FA9DBB7EDD27853CF612F20315AFA292825E7EBE749203FC23
-3123C1D871600E31D988C796307C7100FECDE9692FDB7C5BE839E9BA98E0C8DB
-A65FC6825E90BE673E1D1412917D9AA2D40556115E35562908430DBAFC8D6F4B
-9A2BA851F4FDDACA02A625AB5F75A83CB3F61868E9F9E61AB004CC1094B3E612
-05138FD0308269C6DC0A79DE064CFB7CF5C249C8AEAE4D21F892FCE05CE133DB
-D4D79B827CE00ED3E12AF65CA0199BC21A826089168F7FEBA7D91526A55ADB34
-56F5EBAEE975D255274C65C2BD2E72429C961075CE3318F9FDB1A5F122BE1D0F
-E49D2B1316E1A18766C9087C62F062865F5BBCC9165BB75E67A8A867D6EFE05F
-4FE883765C86B61043DFEB4DA60C2529361ECCC863B30B7BF36B7E7473AB1E8F
-392B99311E4D7E6AC12F7B31DAC4442C16BB8587C28F71F0BF484AE1316C0280
-E898B7BC6244716063208EA32FF75D303B4C6F7457F8D924E04B83986562B799
-2DB2050CC802EFBD9113363D019E6F1EB17BAB4A52034D94F112FC55A1EF6F84
-41601655E995589E79558F975478055C3582EDBF577591419EE88114088EC79C
-F52187F47CD556C99B7D00901F6DB1922F9643922A4D862FE4C237B50493F05E
-430F2862E881EBD737DAF481EA317D6B570E5ED3FBD1F326EF4DB61D437DE352
-BEE91CD9CC31654B5CC4EA8BA22BC009C145556C76A5F0BAF77D916E38984391
-B8A8839DD5CCBADEF231EA790A82701285E900ED2D6B2FD8F2DC818A5E1E57C3
-C3173CFAE7A05FCCD8BA7B5FEA45D2AD0EA96E795FE6F754DAEC494778C6DBBA
-6A488ED15CD1D4608518BCA4CF45CC356A9AC9B7EBC8B50A6FA018FA6E52F43D
-88BCBD1794533D936326E374FD50081B3F62BBA6F7D5EAE19DDC193D884E5F4C
-34026D74BE6BDD71E48833A1BAC1128D91EF4E11790980A6A1950906689D75EB
-7EBB66216F0F4BA6CBA1C5F741B3C5E972710394260FFE2BCBE89F29ACAA0BDD
-EA562E2A98BFDDA0FA9900D967A28464C96925850C575ECC2B80325C5030AD06
-4BA2D70A831FFAA794C27436DEA5B65A1B69D841980CA50C5D07A76A67E1B3F2
-17BFF2B44B1C33E62D7AE2083F3E2274B6F7B1A3FA8F41A6D8111D6E11290D36
-1C16E19643B069D7EE66648E811D37331F2134D1E078B3E0849BA474A3C64FE4
-A96A83CA525BDF66E39DCCF208C0BEED2BFC7AEB75A99B2374AC14F415CED7EC
-BDF70477BB561E6AA876B040F6EC6024552FB5B316E04320118A322E360559
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
+E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
+BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
+3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
+F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
+C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
+BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
+2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
+879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
+141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
+63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
+4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
+FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
+395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
+82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
+763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
+165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
+57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
+E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
+178DAA7F1218B6F8EABB0BD9E0D61A82A79D6B4824BE756E96E643D04C4D419D
+EA5D7FD17218AE5BE43C7C7FCCA887291296CA23ACB6E4FDB42A8BCFAABF3A72
+47D903208E2A61AA58467F6393DF2406BA706F2DA58A99C3FBC64AFC3167A16A
+6E405C1CD0307EA12C6F59027DC38A9B51D72A0F0D4985EF8B4FF1B7734F34BF
+2225D04218C9E6D83FAFF4CAFE8053E548ABFA8A1B2F57E4497F122805BC7292
+8C07BD6ABEAAB7F3F29966B1F68341CABA319AF8D81E1687AE5A87BCD83B4ADD
+FC022D2493860742D73CC1484DC38D0A837915A2ACCB018A038765E43B731340
+843023B843BD5C3CEEC085763950DE7A2B5E1364B8C4284CE8A01B16C7EED548
+21F5D583779650EA0FAFE73D1214BDE7FF53BE6284FD793D1A5C9113E65EFF84
+C76436764F6672ADE2614F86BAAA6DADCF7623C791E45BFBF89B1D4E22F09BA2
+9BA14E76C6E246B7215815F402A89F0B0E0FC3256AD365D6CE74E11BDDEA8824
+A387B188B425BF5A00140CA9C057878D330B770FEF2C6DF873721BF826BFF862
+6047A2BCE7D6B096B553E180A9FCA15514B4FCB1CB2A2665A97C9FC01539D240
+EAA7178D33374781BFB1250C2194A486B4247812FA4996CE6CE4E501B93725C5
+2A37752C9FF5ABCD113C9047BD21BA088974D294445D19F751B5580D86ADC8E6
+93554394789A1E87236D69F191393AA59D8B9356DAC33926FB600AB62B7011B4
+F739507B8312C533C8357984FF5E0D9474D2B2B62FF736B4D3C8E8DAEC148831
+53606B8C245D4E93E9248D462EB3CAB53E89EADAE5ED1B739C803A65F061E242
+60FB9FDCA9AA84966E5BD0BA12D862F30DC38E6E26D37BB3D7F649B7A2606472
+C0D911FDD0C84E62952FB043AC0BAB1234079AF109156BAC11AA81E297B3E797
+13D16C553E0F2ABF37ADA7AAC4B54FEFD89E02B6F839B0D0EAE3200DF5EA5CA6
+ABF15982B2AEF9671BF5DA347BA1546514FECB4ECD915C04E94CEC5277F6B821
+819B183ACC312B5485862E91B3D6CCF5F6FFDDA261CFEF4167D5A09CF6E8C018
+A0CB32843AE14BC72459D65550AAF364384C9BE9278CFF75A34F6289466BFBEB
+0536C5179F8EB8EC0BA2DF992AEE5EC75CCEB4E7EBB88741DEE53813B7242D79
+59FCF06D4A7CB7A83D8725EC038DF2FE91481E51E48B7A54B908D8BBC04A95AF
+FB084F12476C44A28677D1FC9C18CB0CDB16C8F0CAA9D074CDB8E473BB7F2960
+9B0865CCBBC1179F799407D5F3058F34D99AC13F55957218FBE14231E14A4056
+82FCABE094118DB5248FB73B1F2184B3F38006FCD42FB9C1E0D6B4E9B65CECAB
+D72B57CE0DD32C8F2A35D804595086661018F91EECF98A50FB3D439F36F1BF30
+3944956E93B34900704256016F8D1D7674D1C2A4CC497536D28DB14C9446F2C2
+BD6A54AABCBC6F8902ABCD17CC078F9DABD1C9B8592591B395F87ED0383439F2
+5862B9B0C16E28C963424D8ACBE62C72BE08F3E265D0FA014827930F0831B129
+8E77B7FD86560C960BB238B68936467C748BD04E25F4A813E9B1EEA6E8862180
+F5E6F6E8DE3D35F41188F8392FBB329D0A509074AF88A74AB032ED2594DB44B0
+750A5FD5623202FC13FBA525BCEA5764F193B1C1874E37BF237CA5C762543C61
+33EE795E30A1BC6332D025339B29B55CF3141EA0C0CE7DBD9C10F4930ACA4C29
+623F634DCAE17DFBC9CDF7A49F34FE0FC43915CB29AE026D6B737DBFFEC75E99
+B86A8B2FE1898B1B8451995DCDC2226F2671F395EA7D2B15E57087867B4844DC
+22C350BB74BE1D90721109E5E2C622707EDA18637C9C997EE7153350F1C0AD19
+C52F31501847312C1DA437CE434CB6F763BCA482450AEDCE0DEA98551F6F7DF1
+596CA7C0A79A7CE9F9B8D427E8D3C5AA351D51E41E6E0E4F744EB9747B046633
+B9FD901F053CFEE8566C7A5E737839B777F4DC0545BD038E2B4E0B43D1331FCC
+D0CAB830E9B6C92572A24B8FE3567A87409981A028F120AA663AF63596A3EDEB
+5783A0A7E371D75D20949051B23676D12F9CD0AC8307403605A9777301D8AE13
+0817870BCAB1FCFC92BB6414E40F452C2C2F1174E47CEF667767D7D9957A5828
+18158D2878D334B92E3A5B14354D19014BFB68C21C2163B601AA43231559A908
+EC1E3A73B41B1F66AD1FBF2BB596F930CF96B9510D6C6BF2692F11AACDF9BADE
+176E4F8EF6A704BF4982D7B6A18C100F3204EAC427CDEE4DC8D4D552652BB423
+DE767FC85EA6D5240DEACA766F8B9478612B206DBFB67D96AEE2E06E0DA26976
+CDC085A28B0E0709A6BBE4D2DC539BCD0CD2FD8397E10D35F3C66DE53411B6B3
+19B67DFFC7FAD49355F1F0361193F1BB11461871473E2B009CAD0D60A243776D
+6FDE3D5086D772FDA88E282775ED357C59C2CE4F3330450BD2C75A0A2DEF5511
+47F01F0AA2FAB1B33EDD055AF3A722DF3632BB71B68348026A51C77AD046281A
+4A31934DAA12CBE4CB7482CABCE84FF893491E1F83E14DF4D61187F1FA3250BF
+A64BE9628247C2444FA69280EC177FBC0AD3FE7C56C4025FD390167ABA4B493B
+AF5DDF5AC37DF05FD9D53D1F5715C7E8352BF880
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -1423,10 +1229,29 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 69 /E put
+dup 72 /H put
+dup 75 /K put
+dup 80 /P put
+dup 97 /a put
+dup 98 /b put
+dup 100 /d put
+dup 101 /e put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 121 /y put
 readonly def
 /FontBBox{11 -250 1241 750}readonly def
-/UniqueID 5087381 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -1675,7 +1500,6 @@
 dup 109 /d109 put
 readonly def
 /FontBBox{-40 -520 503 520}readonly def
-/UniqueID 5092844 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -1762,10 +1586,9 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 62 /latticetop put
 readonly def
 /FontBBox{-4 -948 1329 786}readonly def
-/UniqueID 5000816 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
@@ -1861,7 +1684,6 @@
 dup 121 /d121 put
 readonly def
 /FontBBox{-542 -542 542 542}readonly def
-/UniqueID 5092839 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2020,7 +1842,6 @@
 dup 121 /d121 put
 readonly def
 /FontBBox{-542 -542 542 542}readonly def
-/UniqueID 5092838 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2134,10 +1955,42 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 58 /period put
+dup 59 /comma put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 80 /P put
+dup 81 /Q put
+dup 83 /S put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 121 /y put
+dup 122 /z put
 readonly def
 /FontBBox{-29 -250 1075 750}readonly def
-/UniqueID 5087384 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2164,240 +2017,235 @@
 759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
 5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
 BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
-3435E9C9457EFFF8760CDD8FC734ADC7C85D2D049368607CE92D63B88ECCEAD5
-2F69BA317E91124B17D6AC19B713BBBAB1093DB2A67E0365BF9497B8FE70C0C8
-30FF5BC27282C4BF76369F13F70F6F072892E7852D85067C4B63877DD364DA67
-D6F59D56FE015D3AFFAE8A9018B61917376BD0DD4BD4E54EBECD930BB3F8684F
-C05027818B512510C0437A9E27C18EA567CEB854F1D016244540BD83EE376C14
-9B181B33FFEB874BEFBF9A6A575F0189E551DFBE2A27E58604866B0EA00C3252
-B51D3BFAB13859D3146721B7F7FBDEB72AD9594F18BF06AF3FB40ACE8179F34D
-69DCB6AD7062163141D14958CF6BC56D956665A97B25B8B51A4E47F3F10A993C
-3E2A3FD4A45C673DD6DB97097D930E413B11213F2AF6FDCACA247677941844ED
-6766B08BC97A6EADCE6C8EBB4F8060E9AF00BBD06421FE05E073B8DFFB075AAE
-A182557EB5EC144D64C4E5265B109DA006A695425FFA5FE3E87BCCB039EEE5DF
-5A8F2F81986DEBBB8BDD7A7E153DD961321284A43431B23DA783208990D98EBD
-76832549BAA2AB6A050D1117B86A1E01FA384DDAB1BBBA7C7688716738CD336D
-A116DA8770768EE6C2A651D7F2D84CC4332E46E900C1B0431F81D371A826926A
-07F662434CC03E38149A97E4B8C24490BCB7AAB97B5540C9D786AE0EFE5A3F54
-618E1BAACE0D0A5B9A903CC6D2DC538F673EAC62A01923AEE7DA67A28889A4E7
-A5D658DD9938961E8E730FCB6A2CEF6668006E5C04B66ED2D5085007672100E6
-F00C5ACB34F4F4972F839436F0FED467181A983BB49D2D8D0A0CAB8AA321706D
-BBBCC2D5BA228BFC8FE10F8E6E69EDF6606864ED43790A877491EB933F312F21
-6FD5FBF2FAEAA99A425CAA2AEF924CB474A0FB54D2B457CC797AC3A62B9CF610
-8E394C82D9F92DB2625404A5459F064A5CD7C51959070A460567D75CA3B8683B
-F1977183878F49DB162C7D87DCB6E201ADBACA0F5250501D53EEB1289A241474
-7BD8AD77037F1AB509017F0EF8FC2B70EB04E9120C6663DC891FACA522F4FAA9
-556DE89E9455943F7362F0F50F8E2964A0D0C064A27EDFD698CFD0BE61F252DD
-922A155D4931D0A6BD7396FDBC07D6444F91D7F866BF0C89B0C9F6868A1CB44E
-84CD7A9DE9D9844242C2DE96697E11FBFB496B0ACAB937CEED623C92DD71045C
-9D58FFCEDE477553976078FF31183F80E9783B8EDC325B2E3A219A639B2FD84D
-CA7FB7EA63B7325D9B35ED13C72B2F708BE034837A853F8170913D67ADA5F9A5
-199A65FDD85BDE4DC0F2865F0EF9F052EE3E2120C8CBFA99A03E892944E98923
-7A4B2284F32EABBFB288436EFEB2FDE3FA8D3BF6FCF7859DAE43B6EDF4288A56
-17D9D38AD77EBAE36F4DF45F8B4124091A8BBE306A89B60E0B049780CED64151
-C4118C359DA6A013783E9BF8D5C12573E82B7019DBECE77DFB27969EBBB5F74E
-72D9A697D2969A822D58B1051DD1F2F9A46F2FA33898A37BEB4F99CC4F408C88
-A0CF3676B0BA19B6574380AA99A3D18F134A83332B48E0E7826357BA5D72D761
-7D435B5D8506E5268779D1CE1CF022457AF14C2150F317C7ED384E09F2E09680
-E5C0B598D2549637517A91332E06486F516E9A374D91E599100BBAFA702A0686
-F6A1EF857BD9F6E74ECA966563FD7B7064B258B4F46885504D2758DE2D449C10
-93FD76ACADE413916F0595936FCAAAE32360553963AF19BB76AC971DA88758D2
-EFCA87DEFE82EDE2EA4F7AFB092181A70AD7A3D54485FBC286D441298DBC69B3
-7C129B6BC12BA49B508ED9C5BC2077542A5AD68F751CA321B935F4C240C36123
-8F96BDE970590A9BF7BEC86ECE1620116E3E62C620E06646B59DF4994BB2395D
-813EE57D17FA57BC2D1E9A7F25CAC980F078C6061AADD3EB7786C710C148B26C
-9AA1DECD68AB78CD3AA6CE7D9364381AB88A11D3128814AEB37D2CCAB833D9D7
-F3D2F5FDA0CD46AC42D6E675858A37173D04B855877A95670C8639BBEC051D6B
-D55B34755670DDEFFBF52CAC7B8FBFD391ADAB7D682B994AA4EF7091CC4CFCB0
-E2FFDFC4CFD7A32EC0350D3CABC5FA06D00211F934EF0A21A55D9A0417B429B4
-A4EDBBD5B32A3C52AF24C28704627F9FB02DCE8223CC6260B2BB5570D546DCD1
-00A549DFE37BA4D089A394B5F48C5978CAF9317AAF7B90E275F852B7F4291D7F
-2E7F857B46D39BDB49AA34FDD97C31CFB621BB746EB7FC6FDA68B6B765386B4E
-346E2851D743E35EDC75201A6F24B2DB53FA469E06AF3F9BEFA5BB2F9B0D5BC7
-46ABBC4D12AE34177B0C6605EB24320584DD7E0BAE2F61A0E26CDEB724CAD152
-E1378B11F694CE89BF0CFE76B2B0D08E028E463E9D4C3A7C42B2612BE7C2A3A1
-61CF56257F851E2ACFE1E5042E819E966B65A3C0B8626136D1B9192B474C8F93
-C0C6FEE934C5C89980D64E87DE13B3ED4DE1D5B2D2A26031218E23C79EB544A3
-12EF1908F2495CB14AA4606A5B0F8BE1EDC7DA9C4B41EDA007CD939B1E45CBC8
-066FABEF0A6E19BF640A5D868ACC05ADC95F149E108406161E0A87BCEEEE4191
-A22A254B7704DBC075EC871916F8E1656CA5ECBB4D8A92A2A1E326E0BE8448F8
-DD045328FC35488B3016254434CE695AF3D79B71638705A759FA8FDEA30D70D6
-09A8964B8F769DF8E405E35FC421F1D37ED3CE3059FA7D687905BE4EB0AB28EC
-C6DC2ECA9F91860B564F9840D715F5AC0689C29974D61FEBAE107DDABDCFAF58
-1579F6BABF7B69AE6E94A8715AB097F444E888591EE86EF453EB892AF684CEEC
-028CF61E0ABA6907C3438CF5D516C74BF1F83FAC0E41E7E2A3A9B2E134255B7C
-9B329B930F5253A4BC363E7C37F01D8C9015A613C87E3F764690FEA6A4E39971
-762B4BE625FDB11409043249C5B3A1355440D977DA46E2F58E6E6A604E1FAC31
-EA904089FB74D4A0A7957BEA1575821BDDE9EEB15BE581C0D00CF96715FBB732
-30B58E32A698B79408C02B1E89FE2584EFA289BCF25226FF69F3270B1FDBDD52
-B65FE1C6849C697F5F1C84EB9775C1ADAC84B699882676752CB0453FCBFDDDAB
-CCBE9CD900DEC7C8D26E3147E59836F163B008B6761E55C0E86362832D6F8A94
-6C12D7EE0BC41DC1613853069F5B80B80ECAB594C1801CAFBA0E5618330B9AC3
-37C36C594E49FB3B9B30C61D512F6ACA827B706E49B3CE17606149AC047A3EC9
-1F150D9D96DF43A8773958ECCD43A14B1FD004ECBA707598F83F28A8E8930EA0
-38E12AAF157A2E0BADC6CB7869FEE3EBA897151F347AE4EC66D161A786134DE2
-292B4624BFB9D6327355EF90E54882A8BE0A680CB9597E5F5235018F1DD94516
-727B45F9FD64AE608C2E1CE5EC033E83528F3880676F1B937C9949BECC7D29DA
-09044AFFA958C1C05E802BB11E571868897E2978F48E881E7D3F4B86F52F4BEB
-BB10FF3352A79B9F920366EA623C97E985C388C4F05B67494F18F90F7681EA7D
-9C5E9D2BC9BA2A8364F009F0723B7BC05CB51448C7911FBBB8EDCBCCD016CB15
-B5D03215C20E45C0D943E9EE5D5B8D10BFEB1559FB07467C1FCF1A645E1E03AC
-809DEA05E8E8F435EA638720B17B3736319171D83E1194D39C84F731BC99A7E2
-AF667325026034DDC9C287D2B547B1EDE5579EDE3204B440F1BD8D86E39DCBC4
-1371DF589530C2B1E52682340A53EBC61519E85CBE2E1CD6A2E1146410AB577B
-AAD3E54654AF1523387D99B4A34386F8E00EEEFABCCD0AD168FDBEED604E6BF8
-BE9A1D61924488968B9234806E7C742BCF543B0EDC0BCC82BDA81F0E6ED13A18
-A65FA2DEE70AEBFAA07B7EBB2B9F9CD679190F81F881B62A3C73718F1E45D1D2
-852FBFC9BDCECDA9DDC5DB00F606E36F12406B35895743A0D3C98E948F278C11
-744DA724294238E5F45A0462000382EED299AFE5E75B74FD02BF913AC9CC7297
-713E05DAD8B375AD3C6A6CDF6499CC4E05560962BE21E327257A725B2DE3BF73
-0B6746CD04B12B8DAAE61BBA438B95C9B6F399856843C447C1A8BED4B0C4535E
-04D9B05641BE22D49D0FBDB4CB17D19F59F5A474C9C710E5F4B2B0498AA54D3C
-534F1B817772C144ACA1095E213499EB92578193515AE5CC6D31F12935796CD6
-59918D374A9462218CEB344EAC6CE58816C32D36AF3116702EF4201284A05398
-30A2156860CB06441DCC9F4D5BE63E970561CBD082A85AAE796F534AE750DBDE
-A102703792722602A86D383D722716164966550AACC45DD36CBAC38064D278F5
-5E572971C941435C57603126D2F454E7EA2D22DA56A5C558A040600EE4587B66
-5B76E7C43E459806C0B68A92FD65EFC86B77F00E41C1D22A30DD0377A1038266
-E657D58085C9FE1A5BEFA7C7832A7BB436F605BE25E1802CB96E17D9AB5F1587
-190133B269EAED5C8BD9D19411CA25BA9BF641AD797DD1A9BBCCDC4B73CAB195
-92F33CAF716E919007FA1F45A535E8D5BF9FEBE9A383532828D53327BC06C553
-A6D923C12578EE0331FAEE7A81AF7B78842E447EECB754FFDC730CCD953A0538
-7E46FD767295F7AE086647C801ED8774E0D97A45916B3BF7DD813C9776541D29
-559BFCAE040759BF5564EB2D018FAE08D684A6F74860DF9B3DF009431E7B7916
-1FD97443E6751805CCB68F4968CF3A3CC433886CC93B1706320B0ACD326D6372
-70C81D8B51DC9FA2EA62C07190339B8D1648DDEBA0FA8CC872E053CC060177FF
-6C01D9C94411EF003E0CDA737379C8FFC7FC54380874A9090DC773745254A489
-35FA6BEF069B087DA2F62475AEBE1598D900D46C252A6FDE42B1ECBD27CCED6C
-2F8234AECED556059C054D00012652DFB33A8FBF5FF498C98E93B686F543DAC1
-CB11C415F7B181C95262A8E8A3EF4369D1DF6A8F75A6023399087ACE65797FBF
-C8ABAE246AF66DF1B6A64B237C709E1FB00F38B8AC880E479A1CD019855AAA79
-B95AA71314D51115CC585972D5D279B21406F5516D6519056758459B9FAAEF6E
-C0A8BCA3B403232BA2DEE0275A725251E640B56C63C293297691DFDF3C6D7052
-FC0E9446879B28C3FAA63F88D52F0163FC77D5E53D1701FAE6CBB4F8F8E094EC
-7FE9604E1C445DEC58E0F04B341A1B6FF654A373E1F7A5D112157BBCC74EFB8A
-F54AC59304D67AFAE6C05E5D913F36DF52C9AD8657BFBA3B82C2EFB88DAEFCEC
-512C4DE922818D4B45CC5C125A235920F625B82D7BD3B1F67D97023BE2ABE07C
-64392455CA738FFF65DB9A9E057B3D478D21F7D70C22FB41CACB3FF41DACEF81
-6EB40E6AC0702A539EE15FC5C8D8D308CEA31A0850B9F4AB37935351652A26D7
-B6E9021B9991714A5DAE553D3F257B11B70877BC7BDB5BEADFF5597DF0F2A97F
-CE3F485DC400C7A6BC0FB0CDBDFE4E2C7D54D30564D0DCEB5ED8B74B806C9B26
-EBDF2784256ABFC0B34D2BAB0C14B1790907F2469D27BB38365E988B5D3F0905
-1B9AFA91983B2CAE51B7150E0BACB2574E8AF0A9B551FA415FFB0D7FD3C56F70
-F41ED2EAEB9C573262C0A2E54C2831A2AA490944CC26D3D061B24C690BF07DA0
-3AB4322B49FAEABE6286DB0201411AAE97BF9C9458B2E5217C2796A13F87FB03
-B9A9583548D47BCDD084C6CD1C280E1C845E449802C2C7499ADDC3A10DDE21B1
-0D963D4B975D85B391ABB0B853BB7F49A85A0A1FE690F081D786A288B8B56710
-E5B012E91FA65A78E7248D31CF179F244EABED1B1B2295F1577DA905524360A2
-B80B28C8B13413FB8490EB1ED2A0EAAE7D3CA3A5BB1476362A7A2124EFDE50CB
-E84BBC22F9BB0DF789570AA4F154E631C51A1826629E391B8693D3E850F939FB
-CF054CED384EB456D9AD552A1F08A7BF00B19515059E8114D94D4448248E5CA9
-F604BE6714BB09528F60EF67C16C89332ADBE394F7A6CF48A0CFBBFB6EAD1AA9
-B317FD63C152CD39CFE1D80787F9B6CA7C19FEA8BB9C65D8CEDD8F8BC9DB8B08
-CA5650452AFACAA0F02E99FAF09CB2FAA5C558E2D92DCD53C410149463555E56
-4125AB4DB95AB5D8BDF720735E68165BF752FE1B5604461E4BD82FFE510B8443
-7C8C8A8F0819471C5222F82F3B716B76F8D1BFDC0114CE1628029C3C458462FF
-99C7E8E6D0EF22C61C953D3FF2657DDEC85C58599628269ACBAF689C50B9F64B
-85B9A5A9D591C270058D6A73FF30A0AB1081EB9A9854BDA4D815DD33D46343F4
-A4E2793690D5DF0E4D457D2D0B86D95F60205B65885815EA6D3C38AB8B61E4F0
-008AF37551F210900D74C1B7F0602564BC06CE51085D287D30AA51731D2AC061
-AB0624C0FFDF43D010EB32539D123116681B83BBDC37F60D563570AA428810DE
-735B5C689049B90478EBBA9E7F0BAAD837A47B5B1AC95706E348CD584FDC5170
-1BBAC8D58B20DD71C7F7BDF1BBAEE1FAD1D3C5883ADC4825FD657975B8A61DED
-136319282AA5C042971B971EB99E7FA78C57129FCC0999B59E466C434C3D0F18
-35EC55E7D8479A718879471E307E3F977F14632A5D7A597132D8572A2CC09422
-95E83279E5D16193A310F7A0AD93120755ECC63E63208059B86654461233EB51
-84C60113227E430515A65AAF61C011780FBFEAA3AC1D9ACB76F360A405BFD1FE
-F3166E916B1E609CFE70398C80D1F4B8D29EBEC6D6466A612D7E12FA34CF7E6A
-622C3165E565844CD66567AB24FEDF2C168B583ECFDE0F9768DD1BA11E614AE5
-4559E109A27170AA117F68C58FC833FC2DCD7F46AA01BB3ED995715FC9E36DED
-E64E0F6ACD9D91FDFE513E32AD6EA7069E0ECB1732ECB8FDA0E31AD0E9F1408D
-4EAE7FA67417967094740DFDFB9A348F7806A36478279E8AF456110067C8EDAD
-B0D3BC1C082DE55B10E1BC1E1086C741313C6EB3A51355A9F0BCA1D1F71982A8
-AB605BF40FD57324497AB7461386ED754DF35E1F857F70D4301B796623B765F9
-1C001BFCCD62052A9779E6275C777879082963AA7EA7AC359DA85444A764BA80
-3E3E57EA5E4AC20E207D1522EE970911AFD3F5C1A36E1E96E8845C5147C3CD49
-1442C32F4399BDCEAB767C9B110935FBE93CF1357865044D9C05E6208DAA69C3
-AF801F774DFD1C8CC029D3B47208BE1F6580881E0CEB27CCF5890DB1A1E7DD4D
-346F219913E3FB436D61583F69CA98F644590BF3E7875182FE0799B91A82097A
-227524CAC80B80F2F45863169DF65BA31B91C8A5871866AD6F7BF4D2CA56F56F
-3633CC6D753AFAFF001CCFEE163BBFD0FDBFCFD80AF90D4B0C6CE62935ED6B1A
-B319666C116F0B841F29C3B641E78E90BDABE908B9FC2CD35ED371149424DE1D
-6F45E7B43066E8E7E5640F1AEA624008CE7242B6EA0C9499AA30D1B00124CCCC
-5A1D3907E5FEF13337222C5D95B59F18A30EF8A1C3931D4503C1A5DC79CD5141
-CDED2EA23B16C3F9C1638F6781153DDC4DF7E2F649BCB9E57F3A37FF78431CE3
-7920A37791C1CAB5FDE8550753DDC81D9B02741333CB4004E7E92883855ED803
-A11430BDCC0ACC61A5A79A28D3266D336D14351D2BBE10E894D056DA76DFF384
-C3CC8D3F1B2FF04A77A8F392A42C94EEF317F8899D2966E8472F9FF2DC02C7EC
-FBD46501C8ACA7C6E4A55CC291981420CBDD8D5091613D2C20E64946A914FA18
-C1DAC6412C3C3A451703E22A6BDDE685976DB21ED13A772DB446DF076311ED04
-619ED9220AE30AECD5413743E112542879726A2D6CF6BDA335A2327D7FEA2885
-9443DDD33654AED4C0C8A1A938443664B62A120BE54D8226635C99D1D4ED197F
-04C4223160D5CC6311AD444DA511F60C353A2CB62367BBF5619F09EDBE4FC924
-8CAEB8C6BB312484D1940BED9722E16C873275DE120B7B6F37A6D0D210C9C61A
-B48A8E227511289971FC6F38F5A712F4941E9BB47000DD46686646171AC0F3EB
-15B1957DAA1917057B6B66390E2F86F36D8643707389D26EFE677A230213100C
-AD72304DF5AE54B4FA60AE00A3EB65588A7880E2666CD11D0853926B214ABA21
-E5F82B7B7C254077C0A5076F8681284A6E5B2E0A55969E9B0B73B8AD77FA5F06
-5C31E0503CE0D0D6F1B9D4DA5183D07CB9C1B1110C5A84C447469AC99E62DE14
-93B95542AF83FB050E1A700B304F5595412F089826B70F7E9AA2FCA74C2D1E60
-8E0EEB0CBAF3602CB63C677F5EF945E31624320A190FA0F6341E68C02DE26071
-58FEB61891DA1D2D32CB52240064D90755DDF6E1628443DDB8A67B926CD0156C
-2BDECEC7146F78DD104DACA047501D460998251FAE12CCD05829EB26E18D29F4
-3D44F01BE0D1DE35269F8DB64600402AABAC32198644F26E7C5CE0CA590DCA07
-E0FE5924267672E2A2F45128E571E001BC4634961CCE2999405EFDB6E621947E
-D9B20E3E14160BA15230944BDB3F654B753FF0BF7BF6B698AC2C258D5D629944
-599652E315954CC1013167202681256CE54704976CD87A9BB029A518DC7E31CE
-ABD5941EDD39D4D8C504C2906281356A7D4E93FE743E1F5025BC15C0863081E9
-8C3C3EDB67CA83D3A2E6120D776BBA20552FCAA137157C6F8D5DBB7C8B0FCC18
-7EB1E73EACADE8EF665F8EC9911193B6FBDA109F953161C644DB1A687C4A7A83
-6683B13463872D6543E738C35A3F49C2C603806890914E314011C685C9EA0553
-CEDA2551487CB60971429D0D405880C07255A5CDBC701F65B4530807C0DD66E5
-31B5502BC01EDCD07FF63125D1A87EF1BDDAA8926E46A81B9BC98412664ED421
-915BDBAA1F6F6E3002A6F4D94DB1029741EFF2BB883EF457248A86EAF965F1FC
-8CAED5989B6416633E1A36C0E7E474508EC4099FAD25D1C9D497B1247FFFF4B1
-1E77F4F451A8FA4EE5129B8FC8386A580E5A02BD403842ED1E919493F1956C3E
-EAB6435EB966701A24C3EDA47683DC1760E076BB1A272D35C23FC0224EBE11CD
-49F777CE1B66A75077C9DE4C175C29FC2889F62DD771341C24B00E10FAB556F6
-772D69B3575CC99672472BAF57048AF908B76D2EF6150DA9991E04E8773F7B96
-5CD8A46324BE12FC9EA40ECB8C38DADC70A3543E0934DE9B47429182217505EF
-A07F43906A6498B0184E19FB0B170D4E77329B4096B36E58827DC7D56692C4D6
-C8643EC399F1AF6BF8C5B85F14A9DFF24AEA185BF629A20A33EEBFB448460689
-FC343DA6B5F48A68F62E2FF683F236D35BDEB68B0F0D84272CCF14EF735D8E2D
-0B02FFEA4B6C75693FFEDDA20727203795EE6FC85F3795A74A8E9DD88A35B3E4
-FBCC6984E4D4A9CEBA0A2DB69D7F9277A68CC01CB4F4D4E4DE07F0D93C3305EF
-87DBB9504E80B0668620583BD779C13C2A61C76978F5DA146AC643B5E791D899
-44CD866141E0E6CF895F41C46AC6C937B23A05946E5EB522ED4511003D81297A
-058CDE8A1DE92F23A61C36C4E941C63DAF17AB1F3A4AF67D49E7C504FC789E9D
-3EB18E68FA8C0D1FD2E017493672DC1DC42806BB762A478715FA4F148D9BCFF0
-7C6574CE4E7576ACA7E14852984E3DE9C0F76EE237A345FEA45AD1DC4508FC8A
-1A9A29A2E9E181B6B4587B7DEA86BCE9A74A51182B5A604BF74D7BEB0018754B
-106580A4676D0CA301FB181F592A803F98C5DCA636DFC29B18A5C46AE6F91106
-3EF0C1BCF0E5C0F477C6BFCA60C0E704D55CBE6DDDB4EAF6FE22487D6A025E0B
-D98623411D335EC537330A3A54031AF10270B46A869C2E0F5A015F1D7D01BEB1
-E22AFBEA6DEB8640BCD7AFD0E377FA6FE2EB93801C601D2C53C3A9D4C1E81804
-936CCD260AF17D9DA1493A90235331AC47E1FBA6C8C2032D2FECD0D1894835EB
-DA840482062DE26E6D0CC63C6D42DB6CB3EC7211C9AE18BCF2DBD704475B66A3
-9FC655B52AEAFD3F21E9EA1BCF80EFB465330589E1BA6AFCDB49DB3E524025EF
-1BD483A98927F58D0C2DEF0886ECF611A708CF671AA607145E7D744D9687CCEE
-1D194506B1FDC94795D88A3FC3C739450D2F5822C88AED04DCDE41B30D624454
-48AC1D5D5423CEB4DEAFE4A8BBD99CD90C3939BD94A0534A5733BFCEEE27DFB8
-BEE9F662C25B83BF9AE6020B35D0A751634E527932791916994B40334201506B
-37CAC1D841532ACA4F22B3BEF178AA6D82750CD3033D22E801AE839C7399FBD3
-0F0877232FE0969470577A73C1F7F3AC318CB3F8EC25F3B0F3301800B36F9C7C
-A4EAC2512D4F92AA0332CFABDD89DCCDA94EF7EE3777DD2BE4FA851BA8ACD411
-A22B58B6FA6E229F5724EDEC0CEBF535351C48AFBDD22949ACE0697715961DEC
-863BC3C865AB28C7853FE7C710ED7C05C751AF3121A172FF651A90662EFF2856
-51859B88A074101E4DD7260143439B0147945AAF771543742F67291EA4BD1017
-B8118B701953A5BEAD632CFA2D23B5759CBB018EC0F1C0D2257FADC5750A9FA8
-52EE6BFFD2A7C4BB1BB38B31E458E240ED584868271B33BDF15B37253AC99183
-7C63081F20F9120AC3194EA53CA44DDEBCDB7DFB240C329A2B3EAD1E3453898B
-BEAB33F09E6E4EEB354E74A96471F138F35A43830F97EE3A6AE581203A68A33E
-10AFF369BD61195D87B42E3AC77EAAD7D3C1C79931B0D5575D346AD0BCD0871E
-6EA52D0A7755D79445C73183AAD6D79909093EF897B82CB3E47C68FFAE40B2C6
-F3210E5971B9FF710839A6DBC38E355E912CE6EE52554A067158BA80B936F8C0
-E3730CF6BEB2CFB61A31591CEE951B7AE926EDA197B41F2CE678996F8582AEC0
-99874182EE0C8D9330D6216AD1149F
+3435E9C9457D31821224DBEA90BF144C1B129FF6D13D16AA827A26BB580687E3
+75116CA9F153D7F77B84289FB92A102EA55233FF5269EC626B4E5B0ACCBBE7A7
+613F82BEB87341A36F680816D2D67245602DFD47706C38FFFF78F667A3CBBBD6
+DBB711D0DB9F37A97439F474461FEABD47DD88A5112A27BF966055BC0AEBE10F
+B6C8936B75BB2D2F5ED63A524B9DB3B80EBC8D49C7E3C1578F3AD96C433B914E
+489C292CE27B2BC01E18E7EBBD4C3DDD11BBBBC5048C2880BF949E4779627D1A
+137D6F74858D5600B79A36277DC48C7125B5F36C03BF1E801CA9348D6FEF16E6
+EA0A2D431BC691188862193D044BF86C5065B7459E4027C2936903CBDC26861C
+D16443DE5936EEB02617B0E739720C19E4901B659D1E64F1EA1C14512C04EABC
+F46C70189C8A4E8DA81E22FC664C2DEA3A795DD6D8CED6797C7892DCE6E53F32
+36A5677DCE8CA51B2D8528963399B7D6584CB29EAA749ED22EDF0E0F41695569
+B7F5860921F9BBE867E7C4784CCEC7095D0A5169B5487C5A8C501B599C8533DC
+9B3762FB79C633FD87CD78E12C1B95BF354ADF357DABAF8F3EE3313C64E239ED
+E5DAFA8A4823E7CC3A08E25450B23EE4E135A781B9D991A63AF1DD99A0893BC4
+697A661B8B8FCA8C8A664AAC11C0A24354E4E6A1876D787118671FD9BA914B0C
+7115B9C619429E5117D087FBCF0B30C8E9BFDBA2CCC1E1B89D41BBE5D2A87718
+8846A1378D945507A60FDD43F52A4B89200F2930F216CCF9A00A76B25910E71A
+356CCF4033D359D2B68AE8C120626E99246E042A93D152E123FF8B21B68C00FD
+611F481C39EB2486F07FA2E7C0D51804507F9AF0294F2C2F769AB73B1E82B6C8
+BD29113B705C6B26741DC893BED435E7823B6AEE04B35182A7660ECD838C1CF2
+E28F231D2FC3816130A7770E387D6C565E359027D67D883D9FAD1A47685081DC
+F49AD27F9214E458E013768E661BA316E88FF8EF95CC28955164020C3251BDA3
+5E4D135F3D7B58DDA444B567C3A2EB456819E657E488A92BBF5670950FF30E6D
+600A9A1CDD6C7BA1C142BB69BA6898A3EAE6EBC7F5B24B5BF9C4D12B4637BC40
+0C2505E0E9CAEC51CB4BC1876F1E9FCFBBD8943E2FAD4C4CF06549546224BE73
+92481F4DE711E1250D8BF5B67C2083E2C0DE67853B39244E257167E5174A6E2C
+032B71C5E0345F337D2B0AEFBF0B75DE67C3B9700CB26BE73066702F690EA44F
+E86011CA9957A1964A0C96AC8231E622AE1E04E5A8023465834A6E38E85C8477
+375F193526FD11D5F3E18382A5EDB71D0A8F0C1C2AEAEFEEE51776679A5547AA
+5FE743D02402BB450B52564A5E065AAD4384369E900E95A62D938B56E685388E
+AC6C195A57F0BDFDD6561ABBCB53A08BF8248CB9C374B5FEA7A0518AD10A81E4
+595DCFA16CE5D37126DE9AAD35B2193830B9D4DB98B33ADDC285E9E258039055
+99A0DB04C63ED109D45FD139CAF5A96ACC6A3A68EB6899BB756F48B4058CC1FA
+111EFD9D07535768A3CC9BA2AB53C56633B8C9B912829294AF33A05EE3E16132
+6608674E4F3A81270E258569A919F5933461F8F141057012714D710E2E81C231
+EA8A921FA7A1AAED1EEE4F3A6AA5EAB198DDAD84730BEBDB2E26E1B3FA38EF2F
+F6E568403FBC81CA14382A2D0ED4670B2CF547021E5D3BA380F821F84A9050C0
+B1F6736515A194C63B6BC49B2FE0260ED002186B05DE4475360030FD548326AD
+D20DEE917A78B3C0E468FC516AFD6AB5908314D04AB2DD590EEB9B62B3AD6655
+5EAEF0112FC7A1D62948BC175A94D25F80060457610CFE517669B720A2806FE3
+5133AA6F0C094B749C6A9CD54D3B46E8B1ABC24A9E32EC4EB40F3E5A655978E2
+B0330898FB9EF31CBBE17BE0B6CB7DE3EE4930D13661A74B4A3BC19E94FC61AF
+F898667098397D0E2D1FF2630890DC712BE5E7AC2622D83568AD085815E2B234
+C6C2E03EB1E9A100A951CB40CC9CBE473B9521DBCD5981331F16956D3983F931
+CFC8F1C8538F4E6E7FFC4A94BD3BE7883B9D0577BA02611FA811D704B398381E
+B09F9D60EDC318BF8BFF5D95D21FD80FFD9D16C8E569C233E73548B3F25C7BDB
+972202FCA9D83D7B550D0BC49D4FBF4CEFBE07B07906E3F12566305CD1F929B7
+41748A78703E044B94C7503A85CEB9C21471F5897D75911A607574A91070D750
+41301682A2B047A45B20D41A806AD7484F43AEBDC927017E30AE5445DDA55D65
+161D9E29B9EF63516B61101070FBF37B7030E322765AB6F719F8979A306B17CB
+90ECDFC74117FD297333A4C8DE6AEC01E7B2D5C81870CC2D5A739929BEF850EA
+22FE70C28DA33A65FE6269DAC568B07B5847E0753C46F237B416B5C8283AD508
+898134798F69BEBA6C0DE6EDB0BE662B245FD6AE4CF8D3B86803081297D3FA74
+27549F33D8AE8135C237F17AF2F5A7AB66737B7D8B2D8EBAA20CE7E5069A436E
+8CF0063887C0702172E587CA5ACF3F3BD0BBBB8318F61E8B516F5FC2F2EA1B15
+240EFBDECFAA0BE6970E68D48058C641F956FF33D4F02717209728F45980B62B
+D3BBE4F30B7C3207C59153155D22BAA11358F835329B108F9E52C8F173A64585
+FC843F01099ED5254692BDA43A98CDAAC907481AD9843D9457A1D323B897F8FD
+28FFB5BFF3C4B605F625AC39F81D8143B43E03AAB55A094B1DE79FCD1AE47DA9
+442B8EF000567620557481D0E09375D0BEA69FE271910F3EB7AAB6062168CF5A
+6EED7D746A311493990E193939AE99B0C3578414BE7C4398346289B44A5808DE
+73242381A94602BCC283FA2F4E9975BBE90F0DDE7615BD6F3F7E0F93155A654E
+AC9A5497C40980579C60738475D7B202751C86D6AD05E7018306DE39FE83FBA2
+C3695033C261F2B57510198ED24DED27F0A786CA95691EFBFEED21B14D82A8BF
+58494B93194DA23E51C7D96C0F53BF8E0441305CD6C19ED39A5820DA23AC1BF2
+A4B94ABD45C3CDAD94E4CE32F1E36D34A8ECAF8FEE0AA508ED74560A4A2DE4D1
+CC71AF994E123273E8754C7F8569865C6D8C7B792AFB7CA5A6C4163628B37E52
+B91790DE9689A53776D4C0F6F628B1B38FB1C5F9E842102CA7B58B04F1981A51
+ED2520C02919D67658BC4E423823ACD48DBDF6DBFED8C5AB223058938F48BC95
+B1003880DAC0B26E1527602DEC41249E306EC8FE422239996B1A0743DDF1BF95
+4E3DAC0586E51C224D7666BC10765ADA4C8C6FE9F0159D1061CC1C82359392EF
+20F63B738608B6AB67BF32FD3F9F236A0DA91B037FFB7F5D56C75B6B6BAEA733
+95DC54214B0E6F30C3FDBF9D1BDCBE7A361EB6E1286B0FFFD248955A728608B3
+B70F91621701E27D5FD4A2F3566B7F7DC1D33051AD9BA442FF9BFD886A5A8635
+828D6AB4D3B965A14E5D6F3AF6E89838D2A06C057828CFAA22A7014310CC3A15
+0740FB9CDF7E99D27C58D20999AA6F929D8CD67FFCE5586231D8C71F923863A3
+C93E720144EF830DAE07F23380052E074940FD21F76539B3607D3FB4DD4AA8B6
+35A585DAA6F20783F4B6A46B0CF226158F9656A10BA0BB8E7D7CE501763A7903
+7EA0851595F4308398553FBB35DD4E97E6C75F510F81E5F6BC89D097790D5F99
+E3E1221F3CBB0F61BF9B8EED7D1279D7F92FBC1CC7AEAEA783F39475749756EF
+0843FAB373EC9DE6C018858E70546E1B9765CD73674D3CD273B86FF0291F23E4
+748261E1F257C73B4C9CFA6561FA5FBDCB7157AE6D2A16B18A21C310295B6505
+ECBABCC4940F4A14227CC71857436E0AAEBB4B3A119F5F4B724DDDE1CC916F8F
+8E492CF79047A5BD01C6187A8C4F07CE38DB44125F9931D71812EEEED3C75F05
+7F4FF0841D9F8491627ABF3668265E0136160C9084A3F9F1FFEBA7AA8F835EDC
+767536E7AE554C90AF6955F90E15F4C82DC233901E24F2D476FFDABD2B254E28
+7DEDB21E20E0792EAAE95AFCB1542046CBDEC2DBC5CCEA84C47604927339137F
+F324E1A6A7EF4AD9F27DB34952E972AEA2884720AF3D72DE2F3D83320C4F8C35
+0C33FD1E9C65997FD2E5743767786AF1EBF3BC91F6EC2E7B42346FB0F6BD4D70
+157601FBBFD512ACD70B60C671D7FFA52DFE90F74F1167688F3E84CD865D8F72
+C98E7B1240DB1445B039693A86A9A95AFE89356B19776BE3CF767B2FA3E116B1
+92C4A63660DDB280F5CD69B9683A0A45B8CF3D28F168AAB160F96933AFEB621C
+64D7C59F41CEE82038DAB324B484B45F7535DBAF49BA72E6DF762E5DADF0EBAF
+58BC50C550283978A01413C44C118865A671067B6B53D48E5628BEBE9E98C1AE
+2752DBA13B9B79D6166A267635079EB787183C6924F2CA042A5485EC562F8FBE
+7CDEE97105E46EE9137C68F694B064D2C75150D4C67B1A75DC721405C195336E
+A907AD469F982D05A9C7E54107665D79EE67BFF834DC77CB1BCE6EE35950B413
+7184AFA5FF6074D255B31BFA00595FCECD282FB58916FBC0EFA92BDF104D492E
+8B38CB7BA5E4B3B95AF2F3085E06ADA63FB66984ED009A40C8A39C10A8018D82
+315DEC2671C5DDC1E4D3CD6AF9FD0DB4D457EBB43C7DEDB3A5CCD9718EE36DA5
+4EB140017A757585486DB11F732CD0FC7E86795713D4AF1D6B9BB6C3486EEDE0
+EA91555E4F2F119CB06F50D56B6F0AF24E175582BC11B84A4965F893458DB5A5
+E7008B268E0278F6C1864015ECCA8A00B6763EC98D0083378FDEB0F8EB89E42E
+187152CB14802968659F8893A0A47FA8F5189B245C166E22C7B87AF53BFB06AE
+8D21649D4A82387C285DC2EBA449BB17776A6277808698E3F5B21661A4F96630
+669B8386C70633CB886A45164771BB3685B93F4FCEB5AD6FFB6EFED5BBF824AA
+73D1EB340EB96F5C70999154E093BE7325AF1C6AFA99A7B051A0AC0CA5ACFF7A
+4A116B02150EE4DE6D35B789815572B2025C4EBAF2EDBFCA3650E8BC8AAAE68D
+A47531831F6E62296E1CB1DD673BF5E5589A15A31CA77B4B2CF4A0B1BCEF901C
+54EF9346E04D20B64354C48F2C0E08BFA2920B56C48720A2B4F8EB1F9A38010F
+579523ED53631BF41F0CB5F05E8CB4624EAB2EE085F4FBBF1C540C7A48B65A0A
+C79CD426CD8971A409525276FA42C68280B591468D864E035589425E25EAD583
+4CF61D27694AD83E08B27FBFB6977747B4810BD35FE991EC647532601C3D22D1
+95A7C2F87F72372A39F5C77C070C259E5A19E9FBE85B9FEEED9B121C023A5CB4
+9D98E780E1A6B344409EBFFDB3BB7B476F18362663E5CC1BF304AFA8DA3B4B54
+36B46A127B378D4CB8DB9BD3F5D170BED4FE07B8A8690D6E817C3CBAFD28DC5A
+8DD2B5A2918F0EE7A28736951E13E2FAC21ACB83B8BAEA7796AE5CEAB4DE4EAC
+AD22FA38AEC1E7183821E42B254649B2CE421ACD06F51C957107E16C2E2806C0
+7C7803D904FA4282564BB2D9251FCD472B94472D0BD7F5D19174102544A1CA99
+4216CF83519C66F71404C5A16903FED76E331A93AFA1FD2E11BFE89A8F78B44E
+F1B0C04EFB3CFF2BA67B2A19E67DB9825541849CCE9E2DC8F19312D13B0A4369
+EF793AE4B1A870480D74D37E4873D085FFD68B77726A3FA567DD033A7BF1F8BF
+CC5D6F80C47B2C49C042BA17BBF8E3F6BB5B6E98EBF83ABF48443B2016026EEC
+EDA81B1FFD6F8557206AD4D7590AA0FC97C35EE29B3CA8DDF60A5B46550630FF
+00C833035A518CC0F5944AA9EA5DA2704F5C441AA23BE788FA315EE2B1E0751D
+84B92ACCC4EE9F5D1BB640161EE4F2BDA9111228BA1832BCD403E98B1A66A781
+C5F48141720611C1ABFDEBC9E27E05666872A354870B35D6C37F2955F77862A4
+C5FA193E0554D4F7C1778481648E7A450D46185824141A4C86C7984B4DB7694B
+49FB74F78C0D1EE913271AAA83C577B2664E15F24C2C3FA18E0AC2706B8089C6
+02AD2BA5A6FCDAA8E70D948B22C5AAC7E228A286FE9F38B63BF5083C680FC7F8
+92688CE226502C37E66D17C28DB56472924C9D4C2855CCA9B787ED6C332BAFBD
+9EDB20C1EEDAD4730F2022506F40797E0F0C2FE6877A4A96A2832302D8B84855
+A2A4C68B6B202E8FD8B47F3C8F68207DA52CDCFD255290F5143FB4463E389780
+3E61C9259C7A2440C10308C2166478C92185BD0F890203DBB652BDB526D46E7B
+18A8D6551B0FEF458EFF7524739914F85D799FD4AC45523F9359C4D3F4037424
+2A545F5693BC38F60D8558291561AAC412A7F61EFF17A0CC38732C65EE40D079
+221BBB500E97F85A7400EEF2EF0CD20B61CC62B9D75D5206E8C7D4A8DA8E981A
+A21EDF7D2117044E0F0EBFE9E9B69FE32FA741D797F418E426640D25CE3B84F1
+D93DA54D74E8A5BDFF0421F74F45D8C27456918A8C8B91A4B63EA1551CBB9E39
+D35456641F1319C5F6C7122F87B8C3DAA78192EF4518BF6992973B5F75794040
+205F37473E333A2B9448B08F5E154080DA0A6CB0DEF7E900FC207AF150993736
+46C60DC6E3515C88F07467393AE8DA3D016630F6E09BA0A3513876D52DB3218C
+4A55AE86BE04202D2DF973EF388CA15246C867D50229108874DD46C256388ABD
+DA6A346213457C07145226164EA8CF28B653F206831EE9C7BBDB75111C97ECB3
+F28153E888AF158EB8DEAC3AA6DDD294A67E8B599F3BC26926B9FD87467522DF
+897CEE5FACB6968FCDA07D3CCF02112B2966B633EC491EF11F340F8EE5E42E5B
+AA52AA92EA190E491C636C8813D6CE701E17FA565EDA35460EA840272255AA5C
+05F2E2B00B093121DEC628AE3E837C637A65E1BBA59360877EC32DDC25FE5951
+4CE891F8F5EDD81CB69195DD251504BE60CCEDFE5322491FCBB60BFEC1275123
+4B2C7802B717821DD4EA9CB2D20B2619CACBE8908AA1402B2229B0D4EB4A35EE
+F821876CF7FEC30B9023779AA99B89632A1B170264E888D5B5D71BB7515EC9F3
+A3B47F8E70548EFFD00464DEA14694DE8FA7A92151D373877025923E834E4026
+F5DDBB390B25C5CE2171C4D6CDB8A840BED26B0FAE6C475F99ED8A48F1E6FEE8
+C9F6ABC8AFEBB534F4E8C9D70E256BF146D6F27DF15F9C2673621A24591770CF
+F17C8754A37CA8B2F09E9482034C8C86D9F5016A71761B1DE0D194E2966B549A
+5CC20F5D1CED116BF9191D19137542232666BE6B47F974822D272118BECACEB9
+543FC4F87965B229A3786E0796BBB2096A50F3CF2219BA8B6EE1F6DE8434801B
+FFE114B6414624ECF85D0D964EFD07A70A1E04B275BE105FC4876F9DA75A0988
+6C985DAA50356A7686A02820883E5A191F2406F87357D9F5453D21ED3F7D2516
+264C55442481C102D20F0DCA1861040A7765E3913DC6BDD0E6DA66C9BE2B68D4
+E0229C141C3305B4F4C12A99CD44F4456C54B9243EC2805D91726395D1816852
+7845CAF629428E667E40A3B6C6022B688E036FF9B182C8DC6B0E6E6C51466110
+0744A32DB97705D28F41FDEDBADA325E249E206614F715DB92A1F37B4E22533B
+47B1CC7001AF90A29A11D2931DF76B7E273EAF6806807DEBB3D7E90EDE8F6492
+6B2ADAC45DDC8B4BF6247D0D46D80436CE3CF3552E93F5AC6FEF3D2CA8D7B95F
+3DAED7E23090515A37FA63C011B414F550D2527C9D4097077BDE613C4A59F7BB
+78EDA1AF2F8872C458CE2A6F5170CF8D166B974B2FE4A0ACB10ED632BBC3BF7F
+D32E5D3A3F486896735BBD6720E1438F2DE70B98ABED52C7731540AE38775176
+C8AA2128FFCAC88AB88E262A7549F11D12C47F9EBB3FDE3C6F0EF92C5374D7AC
+883B2F122E6C188076A5031C779E1A881C8384A486F5C1E82830AEB8B3228F41
+BF566D630A237B65715ACF26598B56AB96E02F95EDF5C0D91016A5359BA8A6EF
+1E18D5F2D2BE1CA30EA5C628E7B743E66719C0A7F8EC9EB7A6C542C26480FC32
+6EF025FC53BBF2BEBE1C7CAE9212AE95F577BFBEDA51F9E508C8B1650DC60BC3
+512CFD3E6BCA31D3E606B25DD7202DF31892333DCD15897E0D8A753D3E30D74D
+A24854670A46196C98A6F7132F3D17B5A34B16ABD4B14AFB74F119C6EA312907
+3B7746123AD4FE4A57CD9CCB2813AA9E59B10A145985F4D37D2F95DE73FAC036
+5339B6AD53279B7266BD45B5788D5A6F5FB0E3F5E1B158C0702E516879022FCD
+F5B5E0323FABE8C27361FC8FFD738869F9231B0EC47B622B5B3202510BA6A346
+AE584C7484510FBCFEBF8ABF567195CE18217C15B9A47DCEDD911ECB69BA1894
+6A48E7D0F86354F2E60B98B12011B9314C729F149D5C1CD3D414BD6A0EE2559A
+4EDB310E8C3E5B6CF1B5872BD52E0EC28393A79BB4A68BDFAD696D3ACC872299
+E4D1007BDDF5ED370E3D4E0F67662B5AF06477BA50C4C094B8516ECEC616E125
+59D7D6872C2353E6FEB456E6ECAB3BB22D6586FEE1ED5EC8D703FE6A9218EE5A
+2F5CEFCD3EBA790388F486F51082AB188B91CA44DE486A3FCD108351AA9CCF3A
+AF02B13C681E5A237061469646B3E2C57342C305D032575475DD5A9041A6ACA6
+9FE9FB185E914D733D67CDA75D8481ECA4BD3ED93BB0E3971C5B686DA60B6837
+130901D15A6106C18150A80DBEE8932E8B008DEBEDAC1A47A1483867AD0B4BBF
+DF452AFC4B226C5CF1D07019DA334C596FBDC29D2EAA4B57101F4EA636149806
+FE70DDDA8A9CFA605924C6B96F02A6CB6CDDFC4CF7484121ED48D888BC4A0D99
+AE9A3792084C87192F1DCDFBFEB71086A72566303174542D99AA526B8B2C05BE
+54F2663F274F2C9467AC57F1B135F08D0205C2E2F7C85FE4FD7EE25ED5685AD3
+D5F7AA5AC147733C48D2AA0253EDF1A047B5512103D9C4DD17BD85441F466020
+747044E43AEEA0DB078BEF688E336B9B43AB75BCF78D898BBECA2E5FE6FF2560
+479D0A3A51B2BEFB4D41FB5576589D2FF1EFD4EEE7F555666570AD7ABFC7E973
+882775CF75AC7F4C51F8C5E740D172493233B01D30FFC8778DE80438E3A020BA
+AD33E367FD4A7CAC5083BFCDAE2333F4A4A718A640628E9F3F88A33E31F23168
+209383CAE1AF0FF41CE32D33B6733782E4FC4E612821FF940F47675AA1124FE2
+59AC8C4CBA879073D964BAC21969C62287842F9FFA6776381A0F76D190C3F9B9
+81E29BBB7F977B273EA7743403178CD959DADE0462CA4ABE93B4AF232324D717
+8F084CADE6A3901771C2041D55E2F4BA893B86BD48D0325844EFAC347D5C466F
+CCC756BB1B9A4C530A61504C647CCD1B5E684450B0CCDA3DB2D6E8349B1F0039
+0530275C058DE1EB2A9218B795E0DD6336C086A829F78B22A6410C9717B2ABA6
+38228D4ED25FACF98653903307FE2276843C26546BF7F78A3E979664621A986A
+BE04E5E1DF8DE1000707EBCDCF4254254E95F261C62C05CDC928A4F1D0A4865B
+47C6CFAB7E2D3CF4360E193207C3AF2172F86A9F3455D476A0BB26956C4994A7
+56FFD46CA83DA5BB27BA53967B6030E32CF68343211CDBFA909F98E1F0B3651D
+68519F148D1A496E950A460E6B5CB84CFFABE4ED68163D125601A86EE289524D
+A946D10A67027A9E3666DC651E2D416BFB086BE7A6A4364EBB43959A45A9B5E3
+353B5F6384300E7103518B7019D211F39C92E69EB9E0B49C15B14C2140682FD4
+F85C1ED1926EBD08BB14D382A13DE2DD8873508596992DD4F487EF5644DC6B85
+F41D2F9AB315EECCAA1D2E76D16527133D05C02E4152AC78477DA7AEE5443833
+8FB1A5E3EF421B1BD5D6CE034E4B3DEA7D78C8C1B71BCB941009BC385307582E
+024637D4FC84C62577D8213119F59A792DE957D3C4BA9EF50DE9F9A5D6D42AAF
+BAFE0ABC8E698FA7CEF3B7332F5FE5C58B221E7D496543C85F6E16CD6FA1F09B
+01F4326F7A10267CA26B93D48A0E6C9F64C3B966A75D0990A6BB330CBC9A7A20
+FBF6FA0A5141F33914DF5AEC7587DA67D60DD73CCF78BEA73D13B113253BCFBC
+8F6FD171342F72B254BC015FB2AD888C817683D73B19FFE440B95DD81C84AAAE
+4B02B94ACF5B005D6522A08F9D153DF9162EDE30634324DB318F3572136344FE
+FF47E498C9DE68A530E57C8A58F8692A4A6C9AD3675AFCC5C04719A896ACB55D
+04E99F8B504E0061451E833E77092AD42535BED7F9289AF93C9E600708687EE8
+4C0C6231E0CCE910B9CF1AE75970176649EEC484057C0D89BA0C75D94EB64D30
+20E31505B65A24D3B6D3C553CDDDDA5A1E4EB9EF92EE012CC08C6817A8B5B9E8
+0437D11551E4D6A5F793982CDDD20814AD5DC59C99FB01C65DFDEC1E4FCA8679
+07503C6CF3FC6B028EDD67A9811AF158C8E5D789C8CA67FDD78D1B9DAC25C5E5
+EFA2574D7F12BEA5EA9BBC2DA372551A0C41C4E0C3BD267F7E8F2DC5C91B25DF
+3B2BDC29C67E614694393463666490116F301DC50B8E97F9A19E5E43F31CDB9F
+4BE0B525B456B1EFAE6F6ED059A9A94773BC15CC1A457A981E765037AA3A8516
+596FC0056099BDF3DBA6536FBB4FD785369516BE511CC4DDBD1509A7B86D754E
+2FD5AA51F33DD222EA0899BA3519BC
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -2428,10 +2276,72 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 12 /fi put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 123 /endash put
+dup 124 /emdash put
 readonly def
 /FontBBox{-35 -250 1148 750}readonly def
-/UniqueID 5000827 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2863,6 +2773,386 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 12 /fi put
+dup 14 /ffi put
+dup 45 /hyphen put
+dup 46 /period put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 65 /A put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 75 /K put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 83 /S put
+dup 84 /T put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
+1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
+757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
+0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
+6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
+E067598E1B8B78188FA4BCFB0B51692D07B0BEBB930C6F0997B437E2C51B876B
+61A563A2673932C2045833FAA35DB22ADE12102335D36BEEC9D5B0E0CC51613F
+0561B0B802BB1E1111E959C7745653516A296E671784C8F9E06B892846BA33E3
+8AAE46D5DD487E56A90079CA7DA18D25F3681DD0131C46E14DCDF512FC14D9AC
+7341D5046C96E98C17C37FF5841CD42609A279E8E3D4698F925E037E82E12B02
+1B0B763596B1655E53AB42EBE4B24C3F2AD371F10BA0F922AE573BBB163DD66E
+89F2C4E2B1A15300BB08D9818E77F0AB16910AA98FFE60E4A8C7048962318896
+14FC51AC3AF1497ED9F43B8DA7FA23DE5DD815FBF20E1D9DE2223F4CBCDD0068
+884D90CF371C1A2709F44B556CDB7CB1A77C52F20DFD64D7F70A328B8C3D6107
+1868A4CE3AA3077101B3A36C552BA0F270EAE2638FF076060C4F37550A944C8B
+95B4EC1B9A7380E3A66208382AA3BA671B1E88E9AD54CC91B60FDA9109D30B51
+21D35D4755521650099378AECF718D9C52E3CFF47410574094AD902E89688D20
+129A629713E087DF8DD4B02241AB3B1541899171BC12C8AD659ACD0120F4830E
+FED86917C5CEFF9ADFD18C0FE8D4D6EC398CC60728D7C950215F7843FD99CB48
+4614FFAF54066F94B31AA0863E9934CE7C2EA2FB1CE63889E1526A93C1BCBF9F
+25BB7EC9D9675B2F7E4F671B5A17BF82CC947D20F662D0B48B056643CFE19206
+513A9FAD9A9EFFBE5E67FECDC681A6CEDCECFD566DD63D83EA001C76B681675F
+5E4400D758C423D376E2C160558324E097D62EC96E3A6CE9F402ED6B4B7ED5A5
+D8B764216BC9181802C0C0857483036192B3123723667CCBA5FD9457ED7EBEB5
+F93210ABB0BB624ADB3AC453F31C68317DBDA92F6F61640C711AA6C3AD5C2468
+B3257271C0FEFF3726CE5FEB881D996024C4E030BCCDAE670E9E6759C193D44C
+E02070CB55DE012322BF86A8D12C297099974D431D391601E2048AC31ED452AB
+98B4843FD5DD4244726E81B17F00D205E02A0EBAE822C323CE6872B45D735B8B
+8C334C58991EA7E57C686C4C2B16C21F0F952E0666AF999C90CF95FEDFB9752E
+BDD05251E26D027F423144945E786853C9BBF2A194F3440F5D87935F9E83CE14
+30E3E37A287ACA2BC2708A9BD95BC5E912B2F2A621A109633D9702DEED9C9EC6
+D1597C5E676D2D16E9493A2F844111216CECAE91F6C10C8A043E6C91020CCA5B
+FC71BDD1F773898882F63256D5372F6AA8E337D2E5EA68A14967970D215C8530
+4ACF0F6251627590154C61E3C44CC224376327709BAC1ED4DCAA4A65894CE3D5
+59CA000BF23A3BB89DDBC63F9DC14A3EA95A9F818679DC7E902C68F8CAE9E037
+28922060B8315E2E1C6335F9768DB4D55E3A90A7179AF65322691E027C5C1CC9
+0A887B19F9F316A935049BFADF5A85B454F4F1355F2B3CF94EA94BFA669E3838
+989D65D90AA1DA57DDA0F9ED33760E52C720C1214CCFC9B42C2184A045718DAD
+D506AE98E1D88CD4A69FC873831350B8DDDBA6B9E8EB51C53056C2DFB799D835
+7C68591875202613C59ED8B3F7EF5B1110074569B4215256CF805AD524585F57
+A04027FB3F47D63DAB57B0BEC59AD2DB0F8C6FF6FA866A12EBBB787CEC01D9D0
+37F75FA34E1BAA27183AF85C13DCC2617E7B6FF5A5A0C578162E7818097C7906
+43468790ABF883898728D3C6670A29A16D1BBFE4ABFD88BB3714C81975ED8C16
+EBE26F230C89EE345185FDA39726ECBF48AB4FC966A7A04A9F886D077E93AD54
+7927BD8F581C95550B4076F0F024EDA854BB1AD128B6991DDAB98F0C7061739F
+F5B0E2DB726CB1014C8FD93B2EC56539712649E6DBC75A1045ACE60AA4027DC2
+9D17F5E56AE4A59F5F18001E7133F539CA09EBBF8EC968D20A3ADA7741F89050
+7FA457857B8AC622A5248756F172011E601626A30895615C6025B760421603B8
+D2E70D6F385AA2D036829B29743AD33FE56FC0EBB35ACE5F786944DCC95F540B
+8C0D1E200F6777FDC0A90E78AB55FE18798393BB9F51545D31B5BF00300AAFF6
+5B59E551C8C69BFE0BCF6EB6A8CFA3C81783F9A26A3F87D8CE4406BC72770BAC
+01951A60196C91F5D614571F46CA969E03A06FB76B69274CCA6DB36649EDFD51
+A91A12AFFEB478E8CC1853E04A97251A46F82107FF53EE8DE220A62F3CB78366
+9A9786935BFF1B6F68E3B14C2380B48FC26B0E043783161702A449C1BD19932D
+47645477DC84A31317F09C9D58BB49C5E1A597B5B2661493348D5BA1E4329A5A
+A151998D9EA4419B4E1BDCFA55F2D95806BB802141A13F806CEB93CCD8F0685F
+69170569F1B7C2EAE90F2F610DA86304CD85B9AE5A110FE235EC0F531F8A8DF0
+71FD32C11FA5574BDEF4BC4EE5DF944F7408638E1ECB63763AD385C7140A29A9
+4CE1FFA2AFED0C2D0ACEE8BE8E68DA657E4AB533F8DC919538935FDF283A94CD
+A3FF2A71A143731294F1FFCE545FB15612120A193F182829C15100E545A927F9
+03ECB17FD4DC9745EAE806A832B48D75EA017A1196CE4975B1310080CDEB6F2D
+88D60599FE50FA30AAA85CBF8A77027953F4E931F7F101CEEF8C888361262B22
+9A796EADC9B393F10BE9F835460364BD59E318FA82CC14AF605F5F0C841A2F67
+829E351B14FB4F57B9F4A1EC8B5C201233EA9D90F4007E75A2622626144B00C6
+BC01DA4D64272BFCEC70B5B65CAD61535CEEEEDA1F9290470A9027B2295DB46B
+D840CEEE3B1A68B1CF3BD4765ED003F0C47EF037CD797602EA4FACE9963FC590
+3D17CCBED7AF3730A094AE4D85081525D483D1BAF4F01B6A92904EACC56BD384
+1BE8369FB7105203B974B08A8A33782B0AB6E67088DB0C5914B81AFE779F7727
+95EA367518F169F2CCEE12F8871C05CC5C5F200A8335BA967B5B5CBBBF38815E
+A1F6C5E713B95EB4F8327D2193EF117D8673456F8B7230DCEFEBA494595C9EBE
+D3A0E237809F969B489D85ACDEA6A99EBA0E5BB9C79C1C85597223D45D710980
+6DF2ABE4C0137817DFE71838E23F4AAA65C613291ADF1A13DE22A214E079ABF6
+4C9CA80A3C0E4749FF0B7F325DA7E212CE9D9BD68B21C39F2DD12D394171627E
+BDF2A28A8309D0A5B8F35605176BF60B646265F21108935CA1F8B4F3A6618220
+9DAF021272FC7311EBC47EE352F884F4CC4ABF0724E4ABF697D0494A416563A4
+F8F89CBD9B8BA3A268B08654172D14A4ECB2A91E286A3F1CB0C356C402275119
+CDC5079F9849E3D7DCA25D55365241B8D721F1559DDEA9741F80FA7489BCF520
+386ADBD8ADB2DB6EEB33CA0FDD9A066269ED6A0D48168BA6750154993DCB9145
+AC9E6104B9644505ACAA29F15050C1ACCA53E543F2620298CE252A8AA4D5A02C
+6F18F62C7FD48BD336FBBE42310812D712C6913880463DC0E7E6ED1B72705AAA
+7B531CEE4B782F220CEBE9DC90F91295D3C0EF7EB6D891B256F4B45F22604D5F
+CE6646826C5B3B56A6AB9FC0641946ED5ED61094679C829B9FB4E83F1ACC3CC9
+4075E13165B247ED18F6EC4BDBBB58757B0452DE5702ECBEB0715A41CB109022
+9F9B10C5FFDFBCF391D5AC309AA6361EA199D35BE968A872EF7E2555173E5342
+022498AB5AEAB181AA8B090C389060D8B09A6CC07F8410237800CA4B76BF7443
+2EB77D90C4BDEE39FAB40CBF6F973D1CF103EFBA9584A3E6C1610D3387C6106F
+A9B7C398629CD189D882EB07A3BC046502C82CE80BAEA5D98FEBDD85137682E2
+49F1F25FAD223D458C00B5A2049A508A6393112364078A75D031D7A753E56AA0
+74B35F538DC57776DC88B7F540FB7CF9231D71B80B7A0587CB91B6785BD176E5
+3F4117C7B0EB443A04A80EEAB10B93440AA69FA7182A55A9B76CD111E6E8E64C
+3E9A9EE21E82714688427E621E6F980B94A836DE248C052AC6D30D418E6CB785
+C19E5D97C2B0681FDC97ACD120423BADA07433B93BBC9662352610825B69B97E
+596A08BB190B50790398C9209891C418CC3AE3C5066158B852C5AA0E2136D282
+23200BF70C14135B6F0962FD732655930990E2B7647834EC1646C4B6DE12827A
+D70F4AF310174F6AD11DBE2D32D4C9D655E65AEEB06A1014357FBC8AFE6FA5D4
+886A8BA7FD6BE6C76EC41FB68FDC99919D70BCF19E5A39722D00CEDF231DC63A
+399CE887473CB2AF1F446C1DA837D177D73CFCCE7FC13451DF735835F7E5546D
+6B6D318830C707F22CFD84F3C6F55D68AF33F75A9A4F2CD2603E9216E30B2949
+1C2E01BAD8F944EB94506A0FCC5539B800A104797B55D65AAFCB4EE443EC21A6
+F91630F483D1E59B436B6BD82D453BABA1097230FB204DE5F903BCDFF63C02B4
+5DF9FA790129A565A3ECC1CDD17846EB9361ADBC69CB2BD6701E1E30C13EEA4D
+01C51337013EDC6B154AA64913DAE7212EFC0C5D226F9F85908B919EBA27231F
+863683819ADCC9EEB4F92DD707B48668337B0053652227DFE1957B4095B35A8F
+B7853FF6EDD9185CB64BC38798B4538566416C308CEFE19C98BAF00795D393F4
+A947C1737A8BDCCC3BC0ED9E2D444DE263116CA5D123F966180A9AA7AFDD9AFC
+46D0D02FC6A1E2D78BFDB1BA45939DCAC4E5FBE7813007C3365D25DF2E1F0477
+6A717DF3899A2242D9D15B5140F19C4CDB1F9C7EC58BCB455126D6CE58C78371
+5FFC16C48C6F935573BF1FA63C4FD9F8620CFE3BC7E70167A4F0725D1879F7A3
+14B89AA468C14F40AABE020A1DB2C38F09864D2E852A7EDCD637EEFF920A428D
+DC73392D3E6BA3DEAA8AB3F0BD6635AA1254AF53A588A81A6960489DCB2876C1
+1ED94458540133CF16CA8CBAECFC9FB929DEB721E4A7CF806168C9EA0C523D35
+159D4DD8BC39BC416758399A5E324039572F57B4B188B511B579612BE8068E3A
+E7374A6D42F191F2229787363799FD510015C0E013F6F0961C5E656A5D03F5D2
+2D28C978A5811BC82E49BA6A57A7390EBCC2EAF2452C7D46A82A478DE1B968AF
+3082D7A44540EFC555B6DC97D5EFF5769E46381DF8B225830F02AB30993E4CC7
+145C04AE2E8E7148A50AA08DB10DA8663CF4A7840C817EC5E9F8E1DDABA25DE8
+24128B83B71B480FEE06FB5F7D360E4ED6C4D772B7B080025BF9FB7CFBFDF2C1
+ECA2066BC16935646500BB97FA42D89A740187D95EC70811DB76DB82E9D5F8FF
+0E140AC413F07F2EEB49E1A8912FFE8AF50F18FD1C9BDC2EB84078CF54E92679
+B7BCBDCEBD8C914B4AC30F86F12492B8249CE4612ACA6076926AC3C789E2B579
+1E9F9132107DC87927FDE981D3128F1182AB329DE82A6BC4DFF2248A410A6263
+803A05F0FBAD1EA14DD99996D7CB9964B81B7B504AFEBDEEDBF2B504B474AB0B
+0871CAD376BDB0533D5DF7D40D2F2DF78B40CC6033BAC676B09FEBDE354197AF
+DDA7D3240A5D9544C402419C4609C6FEB1FA67DE68D835833B5BDE62814D8BD7
+AB8D76E5D3795B2CE4D86EB72655CE6EF4113E9F6FFBE13024BA6DA1292E47C3
+2E1FD246404A219C82EDDF2D64BDEF288526E5F0A07090F501BAE98C6F089FD1
+92D921A3222A376CAA1F92A7FD413EA6CE563013F68E8B34F69ED445E23254A5
+057F2455475B0A92646CF874249DB46F0D2D0001C729782B4D01C23D3F4CA097
+891205EB2E44BA08E1223A5B905746B3AEFA20D16DC49D3A2A973546B32FB6BC
+FF708A554B94D0D012A82BC0D621B042CF22AA77B5B80691BB17CEB14B34CA7B
+1F2A9D5A08740912C0FDDFF9B676D78B44D6A75AF5BCBFA0FEB60636FA82F634
+B843E8C7D53A088500CC2F79B533DC45935E46116BC0B81A0A4DB12DFF2CBB33
+879E1BB94CE7F36E122F527ADE2A2BD23434A94992B181A9256CD43C39518BC2
+BD7246230F81A788F101ABE9D68A635B5ED081220D950FEF8340939D95F7596F
+67F2263C73A5B5A94F6CA4925ED40F8E7E583E2E4B3F21DC4898CD7E5CEDFB0E
+65E9181B02473EEE5B0FB777077E9A5D8A58D6D314B535B7CF69C050337D813E
+EB713428EF426BD35DC7E25392E1B13D49E92CF4DE13F2F686CCE8E45F14C2CC
+0DD469B542DC16A4D63A3E8917BAF74A6B17B0524CD637F26DE89847FB03261E
+E157A477AEFFD4C5EAA63BF613E04993E5E06582B3E0A2877AE5AF3F556B0AFE
+CA3C667A6F70C7C441FE3B3D867E79FC6485A2298267485CA6744149175A2A62
+B30619CFF3CFA2C0C9F575784D34175E46D80351E0B282082F5A8876E9908D87
+62CC9FCAF336C10A8557673C541941EB2D4013ED21A5E0D70E2A6942DE94FD42
+C66AC928EECDDBEB1C8E1C3DBC87CC204547F80414F61F69144A00DD2D7BE195
+BCD3CBD2B7FC4735259237EB0B243E422C14F1666E4FD67B949A5F18DA24ECEE
+157A464B01CAFF4D8149FFFDDCFFA7D4748BED7DC16AC1E950D5D7EDA79D3C5B
+28AAB577618A48E7B367E9DD1F2F33CE107BAAE00CDF0D12A8DA557E8E267DB4
+4A642ADE6558403E2CE13568EF250C018FFD0937DF9DA6516398F48B471D5C7E
+521868517B34E81F16D2F992CB4BC9983DF9AA670C9DFC4C0F2DA3FC0A6BB8FE
+F992C0780512F82083C1BF4CF601F6D0E492C5D8E402BCDFA24DAD4D1AF902FB
+8AC667BF765BA02F036C7633EF495AF0E35C12DE7B9E031478337AD6F65027AF
+2F1F0C115818BE7E8CD3487621B74C77231BBDD873D6CA01B2612BCFEA59B005
+A5CD74209CFEEBA697C6400702CAF067DB65A6BF1D38370E341F52A9ACDA87D5
+CF1EE3BF78F0C555241D43584F6ED92C2B27D5023E68432BBFE7E972F2404401
+6CEDFBAA150AE84B5CE12D936B0E3048DA950DA9886880B797116B8D041CD97E
+A33B28CF39E977DCD5B060657636672D2F684ACCDCAFE5A443C1B324871C62E5
+B0A647C0E96B5E95396E2B2AD6E914A0873A0CAE556BBA906FF2961E0BA4040B
+20845D6D977BE110724F36624C07B0B3EFD919CFE569C471402256CF9DBD65B1
+A1858B8108794157F11906C58EFB5E0FA55083881410C8011FACBAFF851257DB
+856CD6EAB49DE8E672632A321FB2CFE294485524B34E6AC000F80A285B3F6DEC
+CCB59B0AAE1272E69DCA044BF49D997D38E2E159F03C253700F030C764781385
+8C4C1AEF067019D50FC8683A15BFC0B5C6B47CF49AEE7336F6B9FCD13EE2CFDE
+38EFAD7CA071432356655738FEF3F09FB21332B1E712D80884DC03C7E6429E71
+DBFCABE411112F5E45CAA9C7E06597E8FA793134E86230F8F6BFE876FFFCDA90
+11D86E28AABD34DBD3A90B343A8220E8340DC76EB96DAE856DE464DBA9F06516
+65E3441B8159FB1F25E6E0186C5FB35EA58761632B766742C6224234E05B3D4C
+B8F0F84EA4766EC708CB75D6AFAC41E64E1F0C76BB8C0FE4A5D2C6E8153B2AC5
+AF8170E82AE8E2390334AB8DFEC1A9A8A677233D96B341349711839187467959
+82F4B0442C4C39753EF6AF7A27239A665BAED85439518E98D9578500CDB3134B
+2BE5638F86C8118169B9CB8B301C33BC62C1DB167424401DDFEA15A70B11AE49
+DD9FC3677BB55C894F689DCAAC7EC66B4983C66510B9AB0FC30FBC0124A389EE
+4EE79A41938DD47B73A9862F92E804BCBE32590BEB487458B2DEDD83E9BF24E1
+3458AEDCBF202718B886C1D61CB8E034E7FA95D19925D4B3B63969D4F3E11923
+83747C4338DAFBC389DB7A5C52BDC25AE34C240B58F2D2678AFE5C6052A0E0AD
+51ADFC4B15492AD9060DAEB24DDD8B73315A17DE4F03CC17B95014E74683A375
+D4864CD3EAE5F2AB3BDB2BF7B0A2A7DB07ADC88AE63B528AA5286ECCA8A8E567
+CCA540251DB6A23F814DA79071956425B58A58745073A588604178B2DD1DF9EA
+0A6B97E8941CC96D515491532E2DD56496BA17931C1A3B0F11527029A940BD77
+2DD1580F6F82096FB766AAB27B0DAAA4395FC2DE3CD753A1341DF09CECDC7E35
+FD93E4C6CED141CA0D0EECD4082183D53A30FFA098E0A365890091CF00A54936
+495377E86A36BD3E5BF2E176B0208AE61732BF6E03ECBA8489B90D45458C6C17
+08340758605E9FCAFE7CC748512A78E47B36F20C79BA6EF572C4A2E4467731AB
+8340F338966807E9619E6D2130F050DE3F132CC4DBC57AF4A297ED553A11CC66
+0B85ACBFF40FE6363EC3F9F647544D9BC0BBD2EA890F48424F2F0C44C68BEC74
+24B19B6F198E192E7A381217DDC8642A5FDC2063986D2173E2D169FB130C6DCC
+521E23A7DB4CA08775987D2F58F748A03A43BBB4CF345B89171EEE0B7218635C
+CBE5EDDE42C532FB2A0CC6B4FC65F5B436AE690274AC97E8C1C3E82A64BFBCAA
+299ACD3E4F62ED6ACBCB7210810787241279FB90AE6E3E3B894993CE82736DC4
+2B4E10C97E1D557EBE25ABCAFCDB5C990D880321DB014431A52F36FEFA77970C
+3308074B679597943D1073CD1CB4138315CB0A74A014926DA36A888A1EFFEDA4
+999E5B25B1A5FE63CB5B1F55324876C6E7450C1713AFEDA559D4ED155A7FA909
+BF6F6B30270C93B23559B7EDD07FD7792031C536FF74E2FA32433FC2BDF74127
+62323A82F35EF707D37423B911F37E948F2174DF4D3FE1F8B787B9E896635F0A
+58595E77DE1B1D91520E8FFEA4F10488E50A840065BA633D155AAA746CF5FD23
+50D6754AE123A4B2AC4246CC1CF35EF0F82D9D46E18C33D9A6AA1E9E7FE1A74E
+A5FF30F870D916B47F9778AA7AB02EC4CB1AFE370466B8B718490AD0AF532617
+AE64A363A617E7E47BF48FAF88A5B1D9298ABA81926155DFE273746A52F3494D
+CD41A286A50E6AC254D2A6433DDFD9684916C8B25DECFB5A7D4B94D685DA425D
+C06136E9828E058F1C713B2D24A3710CE2233A20A9CB8EED0D3FC4C579D56033
+99A366A840282D9154ACA10707D8841DD4F5AF4990A26276DC085B8EC91A02EC
+F11A14AD8D700323AA2C8899B48554CC9E6F5AE0BDF2ABD466D6C53123AC706E
+53A96C7EF316773D87501FFB78BBF203A608051E6ABBCDD22E18B63DEFDBC5DF
+AF8241366BA0E01D7BBDFE684A9C9457942A0CE0C87EAA3788BD1092D1A9CEED
+1C03A4DF4D2925E28F002A5E7E4981867E449F5729087BA7E94C3BE0BCFFF147
+BDA227CC6FE66C28A02CFA09167F89BFF514684CB5CAE0EA6BB45C93532CD279
+E86DBBAB031DBEDC63E843EDCD2D16257865054FC97CD8F57B6792A5EEB5149C
+3AEF8D7F3D54B85401E588363F02583D1FCB81CFC8B45757AE9F78F3EAAD0EF2
+C5B73A50270AA183C1F5FBC27E0C1143DF39E972E7F7FC2C66517484317A9CCA
+1A39C7AC070094DAD681F2DCC3DDE8E5E0686D476F2B6640D6C10987F1F6EB34
+CC877FAA1F9AB3A6637D5C4D284615786A1094D06C931AEF485300872BF65533
+1BDDC21E560559550C96043FE3BFD9ABAC8B01F2CE08F55770113303BA2233AE
+A81CA5B4A4442D1B9DD01F0BEE7FA42F0FCD748C184AE8E0F6D228A5B3E6A667
+670BCFE3C7437E14C5A6B5B63CFDE1B26448998C011C47A3C59E53A5034B72AE
+63B265FC370F0C758366C356268E0B734B9370D4ACA7EA711E8B4B994055A6A6
+29CC62C34BDF0FD35AA78E667DE05646BB36BD57854C49BD69BFECEC5A7FD9EF
+05D0F7AD8619661E5D35C7071A690708C321171DA120E8495F5E8F36C13938E8
+BC63CA5144354AD6049DA467008514F69D470DA497C825CD0FC8B246C78EE747
+4B8602523D898F6FA637F8AA3DB3D8D2E27E7D06672075DA8135B90E976986EE
+F242A5490DCB536686C00FA826C027140F7F5D473B00DFA9761CE4D18E1879F2
+4BBD6A475FA560F5EC85240CE0D76299B9A40B03C51F21916DFFECEDE4567D41
+E188B89B310B1E33A6EA1D095F630074488F59A3BCC5450F39F655530E1A5B07
+39EA0FB3019245889E7BA9817F41EEBA22DC9B3095139981BD71BB874EBC01D0
+D52D1103EC5262A1FD6D2505E218CE130B0031A8FE0EA498309BB0474FA5A528
+DB00DA7BC41D90F2A66EB5668B00BA789AE15728A4D813F5F85182F6D16B2409
+197B40078371F9E6A6D3A4C771994FC4DF2503C7948B4E97DD0478E342152A2F
+5A91B2B72D04B6B05DF7B7F697A3127CB63988BB0ABC3827E2244021BC0F4405
+BB3DA3C12A471CB31F8151A66ED53C6AE4274B2D9A3C1CF88F8A0AB86B1BD3B6
+55CF316DD2EFD3EB36638DDAE9851C52ADDD8DEAA877CDD790A03042CC968099
+2AF7E1F0946B9FCE82FCB8C0D98FBAA25BB494E6F962069A6044BA933DEF10C0
+79F95FD66D129F7C2ACD578A490061BEB3CD4B1100ACDD96EE10A53C8DB1BCC2
+5DBB7AD4799DB01B0265B23C981FC9165F2FBE8C801E9A07F9040F6D6F58E098
+793A9C84E0B941F35BB74C82B6DF2E5D9702E898543876946449387738C67580
+B8D8CB8495AF951F84CD56982E8E2C55A2FC338E495C00F91785D118599D64AC
+488D7DBDB9E407517FFD3BDDCC075F7A641CABF8368CA6BFB788E00B4CFF0183
+6793F04601E214849C7AF34D2FDDB256671929B2BF0EE8B0E46383228BC3B87D
+AB15530FCC2121E9F891F74858457E789734D12F0909E1D21F5C3044CDB3F6ED
+1CA155D5765E2070DAB10DDEEAD9AAACF766A75582C1C20B9AD5ADFCF2D1E0B7
+7662B56B04D73F007F06869F10FBDD78E843D7BF741AA5A73ABDC393479FEAE7
+DAFB70005C81D387B960394AF016B12A8E73048D06A7A83039C3D53D43CA4A3D
+B1C0290A8502E3FE10D692428E2B5B5C3880457633D9B30DC69241D3162599CB
+0635C9D64C10E049AF2A04CBA28B0650FC356B78D666C041BEEA72A774D482EC
+ECD19AA25BA2ABBD41DF3FD1187B7D6867DCA8FBF2D60E728B48771E779F6CBB
+E6F4D35752FA4F0396C4167841DCBD1B0161A5BA019C9BB4CE4B4B010730CC20
+A92E2840CE301820C95F28E46E5FC4FE05C3BB23AE5965F010E48EACC2537C12
+D5521E5333ED7F3730442D654420F7F1B0F8B86CB4C3413208C43D91C357572F
+4FFF2890BBAE66679FE48D8EF935A3E50A0A2EE17B4DEAE2EA58A792E1FE887E
+16AED34F268BD50FD2A621301E3B4F22231FB1EF60A4BE64879E1F3348907217
+336AE7E609EC24C64276F61AE8146556A7E741AA198B297872364AD079CDDF38
+F99E76DF4EFAB0CEC030895562AA315CE8F3778609819E06284A26887FE0BF44
+440AA9530B1347290CE791377BC6D184D7FD6598201086BE3A2F4E9454D50AE5
+02B982D6E9DFEE244D794321D6CA46CD5D2BCBF5C40C63D958AA8A62A039E676
+FE7A6F57BEAF5F57F0E33BCF5745834D020CB4BEC82C4E901260261846A86534
+9BCF2196AE379880C40BFD58827CA049656F469FF2D4D5130CE0F976BECF2E1A
+08DB3C133B90DC8C378B2B2B621286D364941652A84C719E31744B44819B76C6
+C6B390B21BBE1064312D29661C46B3737B792B850526F6D26BB3CA39B831B3E5
+3780CB4524F948C7EC33A8E4499EA70C5947E97AD61329FD6A6C00719E602B35
+D565F0DAF6B0554AC168225C06C2DA0C1B71A51A9EF3E35A31E0CAE31248E893
+420E46A0EB13CAEDC853D85D82D5A69E3618BA2EB415FDBFD033788C368855DF
+0D86921FF800060D4EE3A8FC7C88A61F30FD2794822939AB8DB26DF937954906
+63D675638FAA01BB92AF2F98B28DCA1D336022A216927A6454D68041EC003338
+35AFD8E970E89A7B56B28D14F29AB0B937F7D6DE1235047DBA2FC59905F02BFA
+7146009A13814BD713DC78D64420BD3A90F791FDB5DA162B0D04BAFCA1ED375C
+659A5D383C8EE938653BCEB3E0CC80C72BFFBD46E4F16ADCCDAC6D36F28296F3
+5111917A11CE8B7A861B1E8548BE3049B8994D7B1C2222371772B42186731A5E
+0ADF67701B0923B87095CADF7033204D5F5241D677F017F7097C4DBEEC51BC8F
+CEE3197B733836B5CEB957BBB122F393A9EADDA051A26F5BBC0903F9273963BE
+CC6DDF021188A929660219D5F6E67EBB5AA342437D836685D894FA8F44E2C6FB
+F692720BC754D41B86467B68BF04E7723EF32BCBDE82F37824450CB9B3BE9296
+428EC5FFAD4FB49B74B57E25611B04DCFC1B980A617F6C514CF7DA0F66D6347F
+756AE39418BC2BDCBB0281BE4F46C2EFFDC1517948F7108937703B298B584168
+81C61A67A0094853C79A4064C5B012C5F41BAC8C29EBCFDDE5033C890EF4E158
+CB6CDF90AE33C088EEA96D944FA8AE5B850EEA2562AF5C5258D291025B8B8AE3
+EABEEADCD5F2D25ABB924BA87B4CCD99E8CF09FA18D613A375E9F7E032FCFFF5
+B51AB280A79139C3B2BA28BA2D089289FD9691EBA0AFA50C0EA8CCE00585386B
+3AD6CA6C612BF16472BAE5F1EA2F52EF923870E91BEBE59DCB7843F24D7E56EB
+D2936B10490F24A80ED7EB39A65B1681AA5EEC490C9FE444683C0C9A10D57DD5
+E2B17B90CF6BE85A86D783833814B56E7B9106C545F80A3284C3D3279100C0F8
+DEFAC90BB71695017377D5AD6918E1C74796F4B699AD5E74A52C07D8DAE2ADA9
+DF7429C8D8E9CCA2588DD2DF3855DAAF52C3152D49C2828FEC6C650200D6FA33
+E718FCCE5873325C9CFC4FAAD36302D07D3EB38C04A2
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
 %%BeginFont: CMMI10
 %!PS-AdobeFont-1.1: CMMI10 1.100
 %%CreationDate: 1996 Jul 23 07:53:57
@@ -2883,10 +3173,35 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 58 /period put
+dup 59 /comma put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 72 /H put
+dup 73 /I put
+dup 75 /K put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 88 /X put
+dup 98 /b put
+dup 99 /c put
+dup 101 /e put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 110 /n put
+dup 111 /o put
+dup 114 /r put
+dup 115 /s put
+dup 117 /u put
+dup 118 /v put
+dup 122 /z put
 readonly def
 /FontBBox{-32 -250 1048 750}readonly def
-/UniqueID 5087385 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -2915,157 +3230,181 @@
 4956D50291F0546E50FCAFA6DBD0099123F5ECD4AB338DB310DB4CAE11337A89
 8ED99B6F483940C97544F888EAF0CBEB11094A13C073D0061808662A04A82BA0
 AD35E8782F854AF66C20C0FEF18D0ECDD1646321B93D327E53D88CA0E825FA95
-05AA57BD70EE700EEE696546A4081CEDBF8A19E9CA90C426522BE55251BA7E19
-EB6A3E1B8359509B30CEF2A838FA84F66E3F18565062C3AB7A1C455481AD9729
-0C204A11D752E3AB1C18A9CDCE7530E09811EDFAA0BB49DE752C84FCE3819B61
-852995D09FBFDE41AA0E2BA2CA720C2D2B565FBFFEF16F6F9AA43D0AF1E466BA
-E31715E4D896A5D658DCB69CD7A412A382AFDD5F6D3996934D383C0F8DFAF866
-412815B3C155587D1F4E4928FA2627BD34495B845C1D033C5B003437B64C9854
-F807C6966D7AA32EC4FB094127DC046ABC489553BDD6CD9A63B840A589A4D6CC
-0FFEE6145F455D72ED43FB477C7104A10270FA0E42779F11190D5629F937F760
-E1A0D4154BF06E30DD1EB7EB81BB4DDCF3928A7AADA25C42B0283845825F1127
-05EBA90EE8A86000D11C003D716818ECEBDB94286FC65516A14D7B85A083E9B7
-6F9BBA613968181E66E4F6744062F0E4F58136CA6BCE0EB402E6FC0968698C89
-1591642D1FB6EA4D720D1C066693739AD4945337B49007ECAABB785188602AE6
-BDF4B77C8EB5093C4E0FE2760D19BC6C52C0C2C733780A135ACB4F6A9647DA99
-CA6D591C337553CDE1EB58CD359F174CCCE28340052DCE243AEF6F59EF1915E7
-0BBD9CB03CF21F326DD9E5453C8BD5E5F224DEF7724C46939C8EEFF88C31FE35
-0090A7A008AE783A3E8675833C223C62EB4E93BE3AF3D97C7A812D0EAD33EF58
-B630881D432C72D37C109D131969B0146FBF0115388A74CF6AD5F2601B118FBF
-03B6F5E3397630476D7500311F2CEA956008C51A23452BAD00496C3959E2EB58
-EF36C266E219ED4A2D3664B8022ECE8BE2462D6FFA71ADD20BCBD9CF87F29FF9
-B79773AFE53CBD6D675C019D61470475CFC44BC3CA447CA08A4260EF485F876D
-A548355CE54CCFF33812221A66D3BE42C327194BD806C2E353920F02559CCB66
-F4E0E5C2B9E2045121B6C1177C63F6032893C4984D3999A9811E73E5DB9CE184
-84AD74B06FDA42911EB3A392D147CF85FA79C0386E26FB3F5D8D3B0398BC34EB
-11B3DF86A2E356710894E606C702B8AA8FA30CA68849295F08994CE69140594B
-87B748552371322A7C525158E59B9104E4124A56749AC1320E474119DAA018AD
-D1D635585F3D24285A049B520B8054D5EB46C24BCCFCAD1D209ADB6F1018F74F
-F7C1D343A0BE7D1C0E71EFB1BCF002133B41E4A4928044F87E7297C8DF2D7445
-6FE7506922CB8ECD5F2473BD46B8F3818C325591D4B4FE233130A044F0AB5A5A
-2BCAD5FADA450A354D5FDD1AC6AE33D127CE387421BAD6C6F07819764DC53236
-2DEDD3F2385E1CFEE3F72DBA73E564DA7FB93D9C79E19D6604FD6CEDFB1EF098
-BD7FF0265ECE36D2CB8BA16332B98A0DE19625E1D6728BBB9B76A619E72A84CB
-0E327D1600CA4D8B802B63C4DD2AE82C15B4B0967F9D456CF054C97090858276
-88F60EBB8E650C31AD49193A3E4118328354A74EBF81B4A21681A750A5F895B0
-55C4CAAFB734BEFD23231BBBFA3613B5B5EBAC8C5CD133CAB919CB524BC1F96C
-E8007D907CD4FBA9CDBAFF7864274BA705B77D2668759083F9922934345B21C4
-4C8F97310D8B54F9E8B5C04909D9822E4F26BDA969E255961AB62FCFAE28DA19
-01679A8D9E362441DDE91F4ADE78D11E0D2773D652227E988DE7D889C9B96E4E
-50005FDB71F6BB990066FFB040B18A333EB869C5F398476F50853045DAFE2CF2
-A0A8FFCDB4DD800096C3DEBFC72178D73B661AE268E1039B204707E96DA8FA19
-08DF839DCFE7B4F6AD89CF90D72C41A4100712950BC5E162FEE9E24FCEF0140A
-01A3C705BED3766B4758C257A5FE35357FD77FEDC396A2D354AC154FA916927A
-9E4B1FC495685B874683E55D0FFB1D07DE0D56DAC1BBE7CE5FA5DEFF9B16F53A
-BF18F7197482E0471CBBFB53D3C83231D07DFA10541C678EE5CE2F846E9434FB
-1FB185DE04963EBEF365B768A636298317078BB96CB411EECD85095F814DD120
-F75A923E1D47810AFDA3D84118CEE85D5EE4D6525305111F5EF4ADA791025212
-352BCADDA00CFBAC80383094DE7C9AA206F10DBD9C9817C1C578CC8D47585386
-ECE8B95E2F25C2A437F75F9C43C1CFF50949ECCB4E9025DAC7732586199E5E77
-4ADB821A0D92A7567DB758B3D8A55F6F06ABD12B13D62B84B7CCAEB95E6EF1F8
-D93C28641600F6B97870BB80CA8F86B95BA7A4E93AE0DC35AD0F6433BCF92007
-62683CCC79FDD6794494E89931FC485FFC17999BD4B02E87C9BEED0C4C7D13A1
-BCA04FAB6DA37905972D62F51D547DA851E7D6C6F5B964B4663D7D108AE8E336
-BFA07050955341A48CB900316466C0794DC10CBA1B85CF91E12A484CCCA8083E
-4DB5FBB4CDC58CF6E7DF8B750259989480C2FB7A3E271EB2B1081BD609D97F4F
-E031371C889B3582A3A1C7E55D7DD136A4C63B4CCD5255EA4CB294D7BF4097D4
-85B8AE56E8C018394B30B47A7DF06D6FDE7AFED2D2F525A90B7E119991D94173
-108BC501E96064B9F3D41E3DE40669F657F6F47B8F3C854A4494F300A0F7D6E8
-24709739E76B53C2424262234563600E66AF2517BE2DEF9FEFC9B9CE3108BB81
-F60A46EB25EF730E533308A18F923FBDE8E105910833D10CEFAB778E3EECAB8D
-A1CCEF300FD3C6FD0963BDB721130F525DF5F0270BBC6A4C92A4477EEF7C6476
-DB24294ABD0EF98D8B9E648E17B3315223A7E483547984BFF72F78C672D990AA
-FA1C749DDCB123374168FDC75943178B03B59D19EADEEB9BA4917D0F132B32DF
-A9B81B60208C07646ACE4226BBA042D33F4D9C8CCFFFAE0C526BA722C3142CEA
-92274150F2D4B34AACBC9963036940F12FBD1FC465AB661F0F8B3498EA68A948
-E88713ACABCDB98B692A46F65CBED4AB2ADB93AEAB18412C2004A820AAA4AD41
-D790D116D3638455F6452530BF11CCEA9A8E21E4C69E2D70B11EB4695A56AC50
-F9D1859B59D2395974E0847271DA9D48CC3CBB8788B52C797B358794DBF0A4A4
-964D9680758ED2153F005181B8F2D19B2E366E3960A914DAF703B5B9A1A30599
-2C982603707023B2FA70AAA76BF6CD83448ACA528E3E78017CC1DD706A47D52D
-866D303A2CBE5E03ACCC81E05426D98CFC1D68DA91EAB867DBAA78D87DA79B49
-97896346C66009A9E4FD1BE1768E9C4800193FCCC175587E3179BED4B6F11BA1
-0A6EB150C98C821D14048A78F975F3D0C7E1A9F355C60CFA09674DAA89ADEE78
-1CBC2F1ACDE860D8203F34103879A6BF2DFB10A3731617F4AD4DA0E505C6A91A
-51BD578838F5FCEC4C0F2C4F423A36ED8C35AD5FDD709727F2F6661B6B63A9DC
-BBF3A001F5E3EB9B54236C8DD64DAF56DD7D0757426B7C78C11F4FB4363D518E
-7C940831229234EE8D638EA8AF20E915D5B1CF684DD800E071F414D8BDA69DCA
-D3D310BAA7EBA66FB467E6D787B17EF54618BF029CFA6EC62A10DB2D242A413C
-82201AA08FED3E1105727ADFC1F247BD4EDAA81C445FACA77C1CF13A65CEA819
-2CABB1550B826DFDC387D83C611B86E3A540C0B3283B3E2EA0E38E8749D67B32
-99D82A1F16E5A036442F448E64D3A2B3D3A8BB6E418C37A6C86CF147C5BBC5C9
-A35F8F96C71CBDFA205DEC5A1F7E2132E063A6C9E584B7A4FE503BC2D66A1602
-D53B8713B5AB08037601D1696C15896918C4BD105AC35E6B2D36416CE4AD9E78
-517D6FE163C3A5BCFA070D946609088C01CE50529A466396154DA9CE9E397046
-4AA13A56F7B2EFFFAB9F3C2CC3F4E9904D1EF405B2EB25CEB57DDA0C41800A04
-BB2C06402F54919D48A3F45B08CFA013C487EF53EB63C4D1B291BCC6250D0EF7
-CB333E13AC7EA553C2C99A2F5FA8D620F960D6EF37E44D9282B597564480DD86
-7FB82E421691A485460018EBB0F82FA24D24ED35CB1E313AC23AB29BA0E265AE
-1869A9045A24B51EE309B6938CDACD045A5091990E9D449CABFDCACE9B89DEA6
-C08DBB7FA268FDD59609D521027F80726885AD435B72D1E5B284BC45EEFFC416
-253FF2F88562D6CDD324C10A3991D8215A5614B3DFCC42E251BBB9CE33B91A9D
-778D128DD3C20EBA78E354958D3132721848741711A2F9A9CCFAA3626896EC37
-A2290CD3C36274D83833D1DB29D0EB1FA298BC4494A04C842977A119E485E60A
-CEB38EC72B880ACD85CEDAF1CD9286CEC05BCC9BA40F6B12DCDB6291370BA6E3
-AA347B7A65275CE71421732A4A0C93A4EB302CF0CA29238170B3A1EF621C6928
-09580CA960F4567076318CEA46F0B4580517950D8CC7D3D5855554E65FE3B5E6
-8AF105B71FB647CEDB61DB871A1120FF2AC5D3F69FEDB8A634B5277ABFDD068E
-58F419987C8699221DEC199DF82DED9D05A50DFB2F00EEC15B604E6994FB2ACD
-556F4C861C05E73965E625A53BC5DC73ADA47810CDE8A5B03B449BF9949BA4C2
-1845B810EDE44851866EBBBA7B4D81065C75AC7C71DC54BA1AB96E7C84B0EF73
-A0FB5821788F9B6E1682FCECCA9FE270EED3689DA6DA8B8F729CAE1AB1055148
-7CA51D7EC584C9416D2AC33477C1C24D824B838134B761563C6EEF70DB3275F7
-5823116C88436CA310BD073F00F4936BB663E2472D5386C35AE0B18D9491A95D
-C9DF8F04712C5042A10FB72DDCCB455D1BE9CF9A11D9375291833124CC2DE1F3
-DC4E1403647A937BFEAADA7EFD98A237DCDA6A1FC499B20FF6BA439CA22EE368
-B89FAAEC0A5E657D584E722DA420766272EC6D31F13712413129892F960DE9DD
-E506F7C03720A71DDBCF9AE6A50FEFA3C526ACC857ABD4453B2653721AD2783E
-3EC342252B2E20EA8388E2A7B58EDEA82976F6F6439660DC2597B779FAC6ED29
-539058F270C5DF0DC8D0CC5354F4145B41B7B1989F6D3286E977C2DF6B0C88C2
-84BA10EA6A39D0123F1FBB7AD3D93E77DAD88F6C9B7433F52A97C18E0BC437A2
-564D8CFF52CCBEA15F1427C54A9805B0B7D5B9987FB26DA328D6E142BCEE1C7C
-6D766310F34274B48DE7BEA5AE3AC5564F682B4D7221A656991E04AE2A85D9C2
-46FCCBBB4160845DAFEC409C79B367B445531457D70BB451D55FB9AD9B47DD87
-8EB725FC6E83582DFF72C0F07E7091CC90E1938185A8F100B6F884BCE2FF8664
-9B0A0F8A17FD2C11E5D3E7895811712D842D9A89433AD9EC9D999ADA2BE34F8A
-1607C6618FA71FB8CAEF05C775EFC2227E19A87441CE6CF51A83AB7C84E50E4C
-A2F33610769210E8E66D1FE77CA039E6B3BC618365430687A14C09E7F24F4131
-DC825A048FEC1EDE15ADFAEA09CC9F56FC60E7C7771107ED55A4393ABA671028
-85938BA3A48E24A99E129604431275E9EDB2C854E5BBC7A79448E2EB75E4FE0F
-E7D4E6BA0E919E87383C0DB82DF919D424A5E91D5578D8029B81711856077890
-7CCFA7E067EAF5988B0D40BA665F6F9888B82266B1736D68317206D825F2E9DE
-01B4C33F82306466740218F103118E7A2A855673B9B49F4CF32B1335896433DA
-6867994D8081645312186562265C08B93F23ADCBF75B252174D8D1BCF77E181D
-5C9D46A777DEB9F25FA98809915D18B59361B84ACBE937E9287537A5A1F46591
-009E8646D4DD5505C143296AD1BA4283FB7B236F09AB03FD556DA4CE8221EFD0
-FA069CDB0324A9E73BDC931AAE1C9B5E888CA677BC29CC10E63793C59B69E53A
-974260081E3B89E9C5810843D19FA86056C78800353D4D451709F0F8E37BEB4A
-9B77E23F3B467D9C4FE298DE856E474FFC87DCBEAE4298700961F92B59FDCE62
-EA066019FA356445C66C75FBF13DE3AC10834F356E00AAC4A7AB804B872D6EF3
-B58C68B5B715F3EEE13E82A0D5A6FD9E6BE288ECA5640D183F9B4258F80B666D
-E1C68AF795AC15A44CE1265243D8C26EB291A50DF7804C9F59F4B9742AA47F62
-54F5443AA119E240C79F0C77570CE39ED3E7BDFFE2FDB5037C83FB7AE726A265
-6BEE58956CDBF3DD8607AF9D21484BC03F722A69E52F8DBBCBF667EBBA93790D
-28A85709FFDD046C6B68E26B45E9C38E9CD83FDE4E45682AD9A6D2D06DF595DF
-195E91B3DE27AC199F663977312DE2A19D0741E0FF3DC83951666B32013041B7
-8925D43258E04071774A92AAC8C5A5EFDEBA1A60C4B317D1D5E2C04A42DE8B8E
-83586D043143D1EC3D5A4C9932A2E42C4D4BF6AD946A15416FF3FE15ACB66445
-3C6004122E39E0642CA5BAAFFC54CC527662AB8010D23156139006D3D1B6CCF5
-4D13C99BB5D2C4830E8340B567FF5A616FD523B319D1F5F3B20CC46B297ED593
-4FD1CC2B6B75C45CBBBBCC7A373A0BEEEC828D2FCE5EB3B977F96A7452686057
-C6CB88CEAA08D823144951CCE3E832EB0AE0AB856437CCEBFC5542FE7E8C7C41
-6B8EBA26C9CC301FE87E84B0BCE696041F09D3087BD92DD09B21B2513B1E63F3
-E10C07FB2A5BD868A9867F1E86F56B2A952E52FAACAE75C77978C2F6515F0D81
-84C71287B610B020D0D471284A30B94A1EF0376956F44A02439E7349DE54047A
-52950B3C3DC0E375B399EB53263B9A7DB543556019E5C24668B64AAF709E36B6
-5A4196CB90567595737CF13E7CC85E4F0984226A094BC3224530174469E0B4A2
-35E913522388B2C7C3F943823537550A2BBB2DC6BFB3EA9E9F45698771427A32
-74091ECF9083C9166A14FB68B8492D33A57FA8CFA4DA3B6B44B60F7E107B1BF9
-37B7F56A67C3892D2AB9EEC20AE4CC3E0F7FB87FA44CBE01D1A2AC5237A07405
-01702867C1D6DEFADCB112297949A5306DAA98DF42F6021B48330114C2B48261
-8A5F0851252F83C4B2FCC51846E9284D3659BD17A76B762132BDEA2B6B4277CB
-92DAF9CDBCCE6F7A034BD28B7F578739B33DEEC041BD13D987C2ACC7547566F2
-2A88A513CFC892E7ADD909A8DD1C8E1548AECEFCDAFC565145
+05AA57BD70E52EA0396B20ECDCB589689BC5EE0D3592A8DBD05AEB79ABE812D0
+3E46E3579EA7AADDE4791AC5B8AA565B8EE18AE15E42AC7AF099559AEE3BD2F9
+513940449AA4DE15BA4B10D4F05F44C9BE7AB2FE29F0B227B36A0F9E8252E69C
+DE135451FDAEB52B8AE11A8B331DA9E103128C5E514AD8A9C9FAECA16B4E9489
+B3C8E6D3983EC23006B39BA01E87579C671F9532E23584B7E33A8CC11B1D0AD2
+01939D97A84CB33FA6097F17A630C5C5F5BA63E6F819700A13CEE8F10924F0AF
+4A5CC405DC5308191F9E2EBF074CFAA720E242C497537FDD628E5249BB85A708
+281590D560A5BA8ECE8EB168E7DD6BDEE07101ACD4149F6332060817B3F1785C
+04BAF230BC9AE077F2196695D50D740B308F76F3A468826A718E3F8AD3770CB2
+F7F1D410BE2E74C953D13C699D7BAF8A7AE71FA0FC074F652E62E985FB1ADEE6
+18DDEC4F01FC3768BDCAFE2D62BCAB9C1365C6C27A819C5FD400B3FF858963E1
+919D9997CA721FDBDFB7D9B13061F4D8C4F73ACA8F0C5524AE3F23383D4E71DF
+6EDC3203DDE466D23024CD887F95E728F49FF8D064346080B4D1CBEA9C60EBCF
+BF9C2DB03F6678FECEBE86D51CEDBC84D574A03F96DD9E1B35A147C38CDD9209
+8DC645430634DF91BFD61520566D8055836C9BD8A747C64123A686ACDA3E1C98
+3AA6C3ECAEF4731A5F221D117C6956880AAFCABB1F155330F5717871D45AE094
+AAC55038CD0EC3E13B7B62E9EA7FCCFD5001363252140AE250A2D7569F00438F
+C84E7D6795E1440EE418009883503D0F02ADEAAB40A85A5D1D8593ED8D2E8D3A
+734DD7CB333A10F5E2E662F28E7E1BDEF297350C3C0115932A078F66BFDACCDE
+20C40928D487103167E7A8BE9811AF38B5643511107F6CE354755D31FF7FFF05
+30D8682871F78E120AE2A29ABEA76406767E01FE478383CA6B6C387385FD58A7
+8800F6EA3B583F6D4049C480242A8AD59049F09645F998DA33DAC8B47B81F6A7
+626A205BF0489081CF31627A3FF35963A9965BDEF737EE6AC1E9D790FD9BA033
+92CE1018EF4E616C64563845CE5FA88B65CC1AE51356BF859F4BD609349C989B
+D3C9A2A0690F2EC8DD022EDF03E69CC035A1786BBB385B60664222BB4E967516
+8D1F18A6F0CEF8FA4C32FA0930D28213A0EA85293F25D3F196507BC0338DD5DC
+2E10C0CF4010CB96CFC9B5EAFB13A0B6B6C77BF72AFCEC915A4382BA10FB42BD
+4CACB7597E2637AFFE6C0A46C4F7074DEAE4518676A5327177205EE4F6C1BEE7
+ABE5C53175DD52242F0EBA6959B6EBE2482B82CF882BD745AFC4C5DAF3DEB0C8
+8CBEF6E24240467C2664FFD2085A2BE7403BDFC2F95E8BB0830CDDE88AD24670
+F1E57245B8BF1E0E793475581F8B889733353E895B3064A76D7C4EF2B90C3B05
+8723AF14131FFD1B0C4E98A6CA16BF5698D58DD487EFF23C33249211A8CACBC1
+2B005D7176A1BFAE9BF628AAE9D369F25B5040A8828117CD74294C09A7EC4630
+809ED075853B81B60846122E0CF0494588F269A7BAF29C4EA73DAC39692B32C4
+6D743CE2A650CE90B0FF576EF4C565E8AB4901B580FAED154D80A235A6F866BD
+5D9C7D7267E904D0F5AEA04C0C09DF4ECD2085F4CF55F607E803B5AABC21CEAA
+5EBDBF95C6F86F6AB78E67AE37AEC25F85A9BC3151B1CDB1DD6EF2CC295BA77E
+6C3967352E995136F81C3F4D2C7B55BD8AA6A6E308BDB9BFBD36F606A007F671
+30719EB763CBEE152A3F5EBDBAB1116F1A7CB31BBF3CF98E226A14C4B3627E6B
+3B23B1121018FA98893EBBF18F593CF9FF8207204752C1F06419AFE557657030
+E84E7C15CA19757F6A0A0A2DAB497518F304597DAD6D0C3342DA2483642F8612
+536ECBDDC571B0923C77E0EA4F0B48CCEC6E942963CFB1221E746E38FC9DA58D
+BB08B3B8D80273EA6E05F572E7FD71D5A122C91A539C88FDB49AA1ECE9D66928
+F0978A3331CB8C052FBE600BB5D9058B8CD9BB02C907EEE81B947EAEE3A95B20
+ABFB7FD33D377798A16F7213426034B16B6CA5D279859E00AC102BEE36363F5F
+5D7852FF9D5508CBE3F3F65BB4F725F5F2FEE6A75AE6CB00865525FF64EE87C4
+D079A38DB5F194CF5E5F517FAEB157F9DB65E82EE2B6EF2102DB40C98ED3C9B7
+31C282FF23AE4194F900B4B8E3762C3A511E6461C3CE4711E4D61731A796181A
+8CD6D80607894AE00032EE6D040FAB53415BC3638712C88BF4EBBEA49462A32A
+AC71BD8DAE14796BFA5651A4286ABF7008C76724BD9A42B6DC9A3690FE5649D7
+369F6D1D0178D0C2C562B247262113AE020D614B5BB0D11DECC654B5F27F630E
+F1C51BD077CB08E71C0B57264156755C552D70602A51A16990553FAD0E6CB3B8
+2FF4D3C91722E5083703068AA616271B9D20DD18D516FF41A51560381422737C
+BC70C64ED68BA5AFD5AA063B528BCA2DA3F9C6FAEB1073010726412FE6BBBABF
+B09B05E2292B44B71557CF20EBD07FC70A76B85F0E9112CE4FE8167062D8A116
+872C2880C6D399DC39F5417A8FAF6BC08636E2012F681A144FCC868A21264595
+1011B6FF3BE9E8F82DC95979A30FA8B8ABFD719C78EAB1EFB55F0ED0A7BF00C0
+C9E36C40C141255C12958897F77839FD663627768D0992FAB0C06B4FD3BE046A
+C0C0F90C6EE8517F7C3B133A4545043959B9200CBFE457B0C6BB49CF3E46B702
+B5183590F8B1CD228BBA0FBB447DDC82F3C1403993469768737B7E893FF6734B
+CA6DBBFD568B0B6FD498D37BF0AAE926376EDE237D79FC6320816B5348DDC83B
+8E2ECF6C1D42AB1BF8B3AEF580899581C3D529BEE039B2DBF404D06B0789E122
+3464EF4CC15A623DACD5DEF1C9C8CDC7FE1B08DF39B3C4E105E9997897952DA2
+D059A1134ADB56576B1DBDD0742932DC8CDEEA40143C3E31CE9C1B6C2BB9BA70
+884811D3CE935FA7231721855201F84B31FE595883A7D132032020D2B166C940
+D368B03C2B4ACB65ADD39ACCCC505838AA474747E35F2419A2D0624B27AEF786
+12182C4A4DFB50D8E475650E37BF0F536A87571F3681D110A0649613D8167830
+A88038383FF79BE6E07ABE8ED0BA06B85D940DA9CB2D9A7FF65836440F652F01
+8F6CF011A3300CFF590DE73D7CB5C036BBEE3BEA975E25311F3684C864EDB33D
+88B0D7EC728B67851B452840E04CE0F188B89890861F4D3A75BCA721EAD8D19A
+FE1D8010446102D20D7F396BD91E7997AEFC8A8F08E3B210D3DA90B49B97A462
+CAD0575F550920A83A5C51D2AC9DF59A0150DC951DE53E8D5A78FEFA5C8A9FE7
+1292FD804E284D0C3C6B0D5549C401A8B59FC5E136E37022FA66150EC5C0D1CD
+8908E9B92C058210AED78868B6D11BDF2D5A389A5C8DF807D71467D4598124BF
+EE431AC98C57810B737BC95F375AED7F0D9989105B1E16C902DE1E9870D6E6E0
+8710EB4E0938D9F7BD3CF70C29AB8B244FECADCE88EA703B93E52013BBD3BBA0
+E4112CBF361D3FAD125E30FA33163AABCBE3F36F8B9B8F302DC6B52A8B0674B9
+2BEE34EAC80D31FC0D8BD0B67D303D9F1682569E5DB4A626A03FAFC6258F9AC8
+8CBBEB4045EE158D38BFAEF53C9193549AD408576D5FBFAD25244D26D783E76B
+AA97B5F56643DEAF52C90B9BDAF1A8460E85200988206C8FCE3B61A0094182B2
+A040A4CA3DD310D6F23A87469FF7EF50AF3252721C492A9E7944C816DDDB25A6
+1EABC4B1EDF41849E222960C771E1E94B9D147A0F8A2C8FE03526F949AF75445
+B9BEA253A517C000AD1498F8EF131B689D336ED5B50FB94387A561FDD69B4B94
+6B1AF617FD902B0418FD118F5418DC57C02BF01FFC9A4EB474B42B7731266E3E
+C381A1098B3BB1B4C19417A6A42C89310122461512435A94E6B42F580061E7B1
+69C9CB09B8A8C1F22CA11F6AD46531C6FBCAF093D9876D2E470F77AE74088C13
+E95A427188CA2FBE208E818E0B0A404BE18C02685163A67A515EFAC1E56931B4
+69B2228DCBBA96EE191CD8D098BC3A8A3EE6655BFD10296DE206A1FCF1DF7695
+9458058202C7C4CF9C63DFA88ADC438DB21C616973793C3EE42A21D7C9232EBA
+D25F8C8B3BB5BA39B6FE277C86C18747933AADC6D25E3B14547F88CEBEF0935B
+6F26411AF72A9C3E65D4D025C42EEB556CC388A774B2A88F2310CB07CDD0CD69
+45AA5303E97BFB3EC4AD24702E530F932016BFCD8151D4F1087EDCF6695B1F29
+B30CC14DDC304FD92A8974F724BC7BBB421B70ADB79361DC589A23A81DDCF43C
+1F5D586CB58123F97F25F0687CBE203CC4D1672DB0843B80E91C6420CA3A577D
+DABD4344746264F48273F52D7174977A0811E8CCFF0136C5EEB9D5E2705D7391
+1F133A72A108070BD8E038720CCC1760DB33B64F056952436F6169D13F2A8A9E
+DECBAA7880194B97E6E55E3E5E478121BD15ABF27EBD7CD12111A8723E0AB4CE
+3E404EA4F047E181239F33D501F44A288C1F43703DCC9DDBC5AFF9230BDB4913
+16C24F3C2DE86A715F3C268F63D14E3B02AF820403B04446A370F05D58D37D3F
+814CC88F65F1F394ACF90FA93E43E24015665AFF63818E39E54164ECDEA202D9
+1737AABCCC3EDE4DA406E2A1FB6FA68206EA204B48CFBD43171A83F59503BC1C
+2A3DB11DFE999DF4BDF3DBD0FBCEC291DF7C093E0D295519B0C0557BF8F46D19
+8CB239AD8271AC029F85460183507DAB1733115C29E914DA6CD6027685654703
+BEB83339D53D39B27E97943A6DC5DC205308F222350D9D436700B1E4BFB79FC1
+7E9C65100025A0594389F64638E225AD6B0AA69E4D51F339CA4CF0036438973E
+ECA4A772CC9424C584721B46343ABAD35EC50E9CA55086B2EF7D71CD1EDA5DD0
+20085592103BFD4CC90AB96BEA580AAC77D8F4C5CBFCE9479C17202195626499
+74E2AE8BB0684E238ED872057E74AEE7AF6563B6F41B2273FFECAF6A3F697F44
+CCD5288E286588799253FCCB28CA27352A673F13A511F5EE4EEF89D47297D6F2
+028B4B046F37D0B3F168CD0C89EBECC032B0340BDFF7A1AFB9E116115C7FD463
+EEAEE3104288D1C1EF7B1D18D9BBD1340675AE981508AE8F214C2EDCAC5039DE
+1655FBEFF4FF9599301F8FC80326F853166CD680CAFC5F3D598234933A21848B
+B6E1247DB00573D02CADD86203E51EF377BA3C902954403B0B063C1BDABA8740
+769E71DBD66FAF4A8B73B43A65BD5144B09EB77A8746006A45DB7E288027EE73
+679AB8587E3085A07432A3B82812107559FF7F2F4686A650B04866BECDD7032B
+F416D7BB3AB39FC039EC5D73FB9279686D191F6AF18E10999CBB3D4F2B79269A
+AA16C45D65939F16DCED60B1E265E528FC664B274331AC7170037C9E5ED81ED5
+4DF9554ECBDB10C35B9FBF3ED28A886C1BDE903D6F09308CB02F731EEE7FBE40
+6C274506CF56EA1AFDFA1BAAAF67C090C62C93B00C9F66E65C4EB19CF6CEF49C
+3B9E73A3F1CE804772C9989AC9E3AE7C361FD65255532E629E1B9B148A281CB5
+A0A2C1F8E586933F50AE3D5D3BDC8925AC261002B852F5D0A13E0926A4146FBF
+FDA6CEA3ABFA4BEA00A25F5138CDE9EE07A94CA2C47FEA3A313EF74AEB154FD6
+97F0516D5888CA99CD2AAED17D4104C5301C310A9BDC9131BDF44A3D45934D18
+33466ECD58E51C24FBF723179998737C236B8F516526034183E69EDEF3B1EBED
+CA3078DDA32D6AE047E8EA9EB15940111AF3FB129A9D064B6B3D42EAABBABA99
+EBAE9202C091F62DEA8F1D83ED65474986D09B44C3889D17FE34D489F142680E
+70AD0D34CA4D90F121EA520D2D24AB5A8713CD5DC97602E7C2AAA3D028DEFABE
+7D3A3657CB7B296C8FB2A08D35129D14E19BD3DB8EED6352EC58D50154489A01
+498B2293EE06C232A148C918449254E7FBCF15AC777C5726DE50331445BEF361
+6EADD39DC67327E030B8C6325E7F99124FFD07FA789205F179F720F75B094717
+6744C449A5C3B03614DBA5DA5668E7D5DB3FE84826DA2F6FA43F06DF67949616
+3464DDC30CAEF50F1CA901F4A5AAF5149378A92F111A8518FABA42A2CFC1043A
+E9B406EE5EDFC6E69D0BFC025DA274CDE5E3FF0292B84D628E2C0F4575ECAE69
+8D5298F6A2654301BC73367173F25E2F1418D39C69D2B8B38B5FD1C10CD98227
+451FBD34E57A9F51D0A2B566647F27E94432888D0EE95F8C2A6166384044EB89
+0C2B9AF3290B5AD03A39DD135CFFA00DB618F27BA5D3CA0249D64297ADBBC7E4
+B26BAEF3646061C27D6399BE45D936C98A7CF3B2AAC382C6DA831468ADAF0EAB
+ECE6F09D40E3FD5D2728033AEA8277D77F89938625C4A1E7164433EF7501E837
+BE86BE14B06B0945DA42BE9CBCE5AEC8514726494C29DFF0414E170F9B193DF5
+41768B8C927B131CCAF45554A24CC5C34F05B8FCC214778FC310D79F531DEC08
+B7552A0418CDF75394CBBEE461AE0595F40ABC738ECEA43E42975E8E4DC7C4E1
+F6A8E9C1E0E7F0228DA0BE44942F083974E0AEFE18A86F729442123795736C62
+9A7F50CD83A6BBF1B26F42BDABF3944F71C61323BAAD946E3143262EFF91E4E2
+2C14C04095983D2AB6FC1B5A9202ACCDC4CF3D69DAC9450CC3FFB3D36566DD3D
+18497411F6F8EBA62746DA015A1251D6205BC77E3DB297AEFDB71831A2527CA6
+0AA526AF7BFC20F5DD157AA1E07A45B2C12298895FD3409AB939B7909F1F19A7
+3CA916A8A0AE374A8FB0F39E3B15CDB9B34B8672DC53ACE778B4A30EB8CDB285
+E0CC83493AD90D973CD1A01F9978919CF5147BFFAD10796EDA5EE44E64C318A6
+0BDB31AF6ACE9388D17835389AA07B371838EACEE53750A3A1DF05D0D69D6303
+D2841C0F6AADF7090148D9FA9001DC909B4D1B2AD8656C1D0B33391894BAFC66
+03ABE2D07CB8567D7DE167BB520986AD7AFC361DE40409CE3012AF83F14C79EF
+DACDF6356CA9D9FC9FAE5D52652CE68CEC07B830B4FFF4C05F0A727FFC4FA4C1
+1E7D2879B0C7C50913B9C1DECE2E3093D675149D8514205387CD373CDE76630B
+FAD82707A15F56DB03E64031C326C920FF00308D9CAC9664A3F0FC6ADD2793B7
+5A760CA7DD7980223BF68BFC7B49C67BDFA08E4E552682B5A9F3B3264F435827
+C3A60AF89F135364EDFBC2C53A00206EA10B208839A571C10427852B15EDB9A1
+60178C25107D40B3052763DD49EDA25CA223821BA0D299403D60994079107311
+A1AE5328E8884F859536ECC1A27AC5028661709C92A16E8AD0659ADC71C62015
+8F2DE3813DE390C335AF909FADA0D79E6F0FECC884AECA543D9D859F68908E07
+B81479347229D9E1D18B21E995CE9A29D1B5391840CC2B5BF6259FF246577B78
+FC8DF71A0F3018EA7A44B5C3E91E7F7E5A4DD062EDF239CDED78462B63C72EE2
+BB0E8EC6AD5113DB8E179A8C17EF7FCB71978C3E6FBD80A17D24717E9289D2C3
+B56A66F636CD168B15DD8FE33D2A083EF2737EB917429A0C42B3AB6C8314F103
+666880B5E037B6A5D980D0BE8A8010D3C9B584F7022ABABFBFF1C8FEC3490A5C
+8C59EC8EB2B8E66411FDA8F36B94DF97EC7079A1F7C864A7039E142583E5674E
+9574D444693AB36D8A8B45BAA17CBDB29DD8E9EF600FC7895A6E5522345AAFC7
+9C11BFFD2A040FFECC90698F49D82A41BD92A6F0FC6B3999E83FB80C56EAB00D
+5001BF0BBC8DA0661E98FE4BAB6D6D1C24EF0FDC19E56BD0A6A261B1A1D5D7D5
+75C594F1691476ED302E32B8704E3AF7B62B4AFB6E00F9A6A229047356FCB401
+F34DC1B87EA961AB359D7D353CE5408D02421EAB04EB5B77251F164E7A05494E
+67A65C4D621A4CDB002160C360FEAB0BC043E99D882417B857240CDDFCF311E2
+74DA67B96E24BDC83F19BF351D2613BB546592B0373A1223B37DFA20CFED6A84
+27F0C793012334D4C70E29C4C21B17512904C01932D03F517A263FE6DE2A1C4E
+F955AAB62CF6D192138A5735907D12A0B51AA379F285454494618C57AB3110D5
+BF12B64D
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -3096,10 +3435,41 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 12 /fi put
+dup 45 /hyphen put
+dup 65 /A put
+dup 66 /B put
+dup 68 /D put
+dup 73 /I put
+dup 75 /K put
+dup 82 /R put
+dup 83 /S put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 121 /y put
+dup 122 /z put
 readonly def
 /FontBBox{-163 -250 1146 969}readonly def
-/UniqueID 5000828 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
@@ -3136,358 +3506,223 @@
 75AFFD283746EA8657E33B8872EA021C6875189718CA0E705F28A9792E71452A
 B89E04787CB1DE71CCC500EA765379AE119A4D5F99F68D41B9178C7C8ED352E0
 A1E6DC9DF53C5301100FA3234C1D8E2EB7D5E267C640158A7C16ED424F1F801E
-D49A6E55D88E47257C1FE6F4911D337E67499213360B5335A69D75C6768FC2EF
-3911057FC30AC0799341051A4ACE6DB12C707C05D2FCB11CA7EDDE9E2AAB5DBC
-4BCA8E72F2E4610162A87B79319A53C8E6F6536F127F063A9F928F68183009C3
-ED472572C46C4FC7A85B35C3B72D9251015CA6A76DC4A7A60A8036B88B9E0E73
-F4C10B6470ADFFF340F0E51AB5D3E407CB8F046CAD06021A84B208AD2CCB1BC3
-FB5F1031DE9D3D3E3C1C7BDCEE5EB5CA46F31EE847EF6D456BBB3FCC564594AF
-E4683E5E8ABE43EBCA6BC190D257CAA8A635AB0ED3E0BFFC30A6857B57E024E6
-CB7B990F3AC8EFE023444FC8820F8FE4472187AE8757D098FF45D63895A14D95
-E10618E257020D5B309CE2CEA343D32F1EF13FE4C9F1D5211F0E72BA7058837A
-BAD2553F41526FCD34EF1D7EC7213FEA56C07BC87576062CCC6AFB36C016D16E
-8EA67A5C78A41DAE6F4D22622525B27AF0BF5BB1983BEE800EC8CF9DDC72C43B
-CD38C831C8102D4CF7B1D033CE8EDA8F000F73BA92AC85D8542CA41BDC0C3A39
-D91FE381D597D56BBFC3469A3AE9B6386D2232AAE7D1490ADCB37DB249B9B1CA
-9742A757ACDF8EB5C0357834C311C1E33A9CC5ACE310D38246758FD617ED35C4
-87D905A3D7DBB0C29B1226F86AB0D79D3DA67A41B53E98A04F628E899C916196
-60BF79D0F3F120AF13B027231A6981CD3FAFBA95214989632C1E5BA1B7196F3E
-12193D0C8C613BC1D738C33D7DF09A18C53425C0D52EB473FBCBE15881AF11FF
-7B47369D303E02F56CC728FFB9A27A0BBFDFA74CA083C4F9425ED6B327F172CA
-1006B04FD0491CBC3C1C2268A855DAE6B8BEE2B0D218A117C6F68119B3337815
-5828912BE43E2A550817ACEF4D9256936DC42E0468DBAC40BA0E340FCFB0AE82
-8CBD80115D4149DFFCD71BADCC8D6EDCD4588BAE4CCA677A550AD777C3540DD3
-276768717058E91314E2A24526E70FD68C659BA4E4E17199D99E1DEB990AEA0C
-24356D60C8C5B23D06EF00FF1FA2C43DDDE42A6BABD16EA0D8393849FBC9F282
-A71F1881199A2D5D683569F06F7556F280686226DBFB04191757ABD357511EC8
-0E0BFEECA88564963E74FCF8252F83712DDF13FC9158862A73C02C94A7A96861
-45CAC4C34681C3015B159FA339D3A2BEE6D534DF73EDD9E5B08704AA17A82D46
-190F83B1BB323F72FF3AD583B0031D685AE00CA0177B7C1C0C92F29348906D09
-3744EB3F41B6335ABC256995E0CDBC7157D8EA5053E4F3FAB080F683A7A0F503
-58A5D5799B168F1FC66DE284DBECC73D5126FFA3B58E1C16ED5323245433B660
-1C528C627D2800B4584261351B3683C612F03061D0A0117EB35CEB08EE77572B
-C00D50988A7D7FCB18E3969BDB3D70C9DD3C37CCE783D83FA0A50B02855AC756
-F680B24F172EABD8A3EC44D76D74D974BF5A262C5F88DDE199C31DFC95F9727B
-8314461230758FA25324855C0C4B0F510637FDEB169D3C02A4E18FA0A8895325
-B781613C0C2218FBE94C1D7C985DCAE6226050683D8B8EC4BF09B0BF593AE648
-163AB89362BB2F95060FC70EBD344F5AAE4FCCCD6453F2DC83C88B786B24AE8C
-883CFD61B1781ACC6AAA0D5EF17A41CAC189AF91D317BC554FA5B16170C83DAA
-E8AB8E5956E8713E0226410DCD14AC5FEA370CD80EAA88B82C9D93EA2A7777AD
-594E4B279CC01B069C20FD6BCEDBD1434A13BA4ACF1EAB20381FFAB057F0B8DF
-4596390255D023A1A63535F915D6E24BB0E68DEA24A7C4579D0F0CB48B3EAB3C
-A6AD5A0D74C0A166C76F73BEDA87D9A17EA216CCCF20BD54A5976BA779FD537F
-7DF9A4DC3E8F3371A09CBB4FF3AC3BB9455D357DCEE9D08FC831779239F09E0E
-E8C2AF003704A52C461868DA9422F9A9498EDC8FA643115B163240A9CDAC20D8
-A588E4DA6C7B5A2AAA65C48C39083E38804A3A460D7A33B929331C2FD54DF538
-D76E60F7EDE85EB92FE7C2AD21438BDA817000529C1CBC6C7E3D362EC6CEFF3A
-BE6CD74ED0FE8C3C3D423C1EF912E829A0B33BB7F5A2D6CCF04D412C10B6E74C
-052DF048CA870454846CE52F1D3AE83966584327896343375E9AB2EF70EE6074
-B870BA4FDC01DEEBB7F17266C0068129E42F8AE8125A67ADF34F14DF51898105
-8A91511CC942FCD00703502DF919AACDF3A453B4588986C14DB3C504A46EC039
-86C2E62F9E5E0DDFFB5DE66CD2B9E289EA42E2B760552505F2B77A0C18F115E4
-5DA12CD8233D65D491EBB48903DB4030B1D69C0BD1A5670EE6EA0984DC0683D7
-41212BEFA724B9C18799D6C469D6B0520571BBF9A3E118511BA5450E02306767
-1362D71C408AA78AF9DBEF6AB0F17723D0DDBC56B7D229A1B162B4373262B91F
-84AB6FD9B3D14B0A9FFBE6C3C1CCEFC78C544D2D81BC8E490E376F0A1CB18B9F
-F6F25987BDE5D8339B65DCDBC16FE18EE401680FD8B5C9F74E23D0B54CB52BE9
-ACF744343C4C3CAA5676546B13D1FEA7AD186015A580522F1B84C1A5561DD3C4
-E6FAAA7AC993AC0D20352EF4872837551204E7134CBE79F57834CD95A49C78F9
-BC34AD3765DBAC2D353D5A2BCF77409D4B6631162A0135C0A19F567A1A2C363E
-AF4C25657D5480B105D0512E9FB8A585DEBA0300F5C0E7987A5715B36FCFCE4C
-9B68DBA589AB762EAFB80F28CCE381609B7DD0687207E70CFFAEEC81170F25A7
-DE795B194AC5AFBB52513EFA7DB3BB4B0B3FE11E78DD934D0F6E2D49B3E54ED4
-FE9FCA2A6BEA7A955A0607292E00EA6005A5F831FA0C0A4BAE7738F01CEF363C
-DDEB19AFCF32EC096640787448172585B5D7C8AFD3C1FCEFC7FDCA1F522CF207
-25017E3A08A65042BCD26F0BEDC9EDDEDEFC55C0351B2C76139A0E1B9CB92445
-B7066D5EE18B771FCE1BE21A5534595623FC44A605F5F30342005E1E6F0E3DFF
-28DC65D8618806C9AEE15715275D33E0C850189567DB5B815FB8BD2AE506B357
-6897D14F6677823AEC001879223EA953814CCFEA7B56AB19CE1F3D1FBC95AC39
-03D0E00012E9B6280ECCEB603ACEA31754653B0C8E31FFAF63B40E80395EFA13
-36EF311F80B77A34E761E25A520D62B358B8D66269CFF89676400B76BD1F598A
-00658D8F8898673E597B820596D2EE29DD772CB4A7F3F69E2C4AC7CE073F741C
-B875298A8D981B22EA032AA753E6451917923B7F76F0056410D33D34919AABDD
-7954CD0353FD277AE99D8C63831A25B2B1F1B6A7547D0DD0CD281A825C0E8BEF
-33342657B696CCC5355E1E4BC92333B5B8DE4391FE3C62A91282AD3E6F15395C
-DB1657D0237126A51E5E7B4D3A50E11A3BDD1B43A14F1B3AF2820F930BAC9330
-711054970E2B195E0127C7B8A46E52D5BD4B9126B539BE6B4931A095B9EACE01
-9DD0BFCC7C92D7F9890464BCA465F9713E5E915E1B366DC984C2E2FC92A86ABB
-2E7B323F3081C65CEDB50881039856D5E6D84C50386CC4BFF83A5F2F2796FB58
-FC3905E0DF503FE6A961D08FE8C988D06D7634891CF9F30EC808CBA02AC55601
-D8711DB3A7B0931DEFF21E54D842D4DFE1335604A28FCB0817841FE8D7EDB698
-81FA6ABE582B481DB43A730FE4D37B1B1A4BA0831E455D945DD0191511A04760
-B5C4DF361A418C61475C16FA1DF391F2067F46C9018BB965C29B065015B54239
-B0C0F532C04182C6CD3A8F8A4EF80A99212F584543C9F70A0B5E7F7B3BDB252F
-0F746B970A3B0C1F75FE71CF52AE3F466AD9D0D320E2380B5D24AD4ADF9DDD4C
-E5C896A687135F23A87AE484383FC955F34E8FADC66B06D9E6BDA67E828A5601
-BB98462A30A18B6FD34AA4F5D3F356BE0ABD9F07C61B85694B027A702A602DD6
-D0449C8E38C5446AFCD2EFCAAB1660AAB4237E2E5490A6FBC947DB885B33230C
-DE9545130D9268E7A215EF17CB031EBE77F4CC6C1D5E325BEABFE11C77831DE2
-A27115E58E4F687FB1ECABDB02BC84A85309794E99A0898B7C675B68C9CCFDCF
-6EE5584346708298F48CD50C390B0324BC0A05278A3747A1DFB2C71E9B829DB2
-E04AC0E2E3BBF0751A0496FB0229511BE9B25E0A70EBBF6B7B660913D4E28D64
-2E4866238E1354571F4A7DA8B9F4659AC78BE4293094C84F888243F213658DAC
-41AEF077FFACB5EC9C5BDC17C45FF7DAB0DC619E52BB0FF69E63B7067DDE8ECB
-7117943554C99CE8E8FAB43D924417FDB0CCA2A0CA916BB9F81B98D924B1EE14
-3C6C9ED0BE140A329ADCF65BF69DCE97AEDC792D3881EC91600045A1FC0FA12B
-522014E2001483BBB640EFE831DD3AD3A1505B8CF85B0ECB528F98D262A1063C
-A240FD9DCC37648A532EC7D9F74B43DA473CAF686031F6D3171F93ABB2ECFEB0
-AAF847A339114895CDBB61713BB03B5579C6E069C1F8CF7361785D661A7C5D10
-30D0D45B7721D0C5ED7B172AF374CE3575BCD4F04EC9F8316944839BB8375813
-3B89B72942A2FCEF22A32429E84DB489D0C96295E07AA8E023E2D5CC904F22E6
-9417C9CB56C8867ED65CCC43E2D300BDF1C567794AA5EB0B3A725DD1BA8FD44C
-5F8998CCFC444AEE26BFD9760E2C44387E522A6AC4A7A0409198F68F18C27FD7
-6C4B40E881EF8A1FE7AF5E6CAA73E51C6BA0D3AB80B4F17168137A57F6616E03
-EA941FE4F0CB35A1BCD965D6786C2BDA06C7F5C7BB3F5B9BDC32FE55AC5F7DA5
-7A403EF4BA78A0C31EB4A8647413888CFF79B04F55D8ED0296706B474BF28D98
-28437C6192314A67E577041D04E4BE61B01434922243FC31F859E02527E1700A
-0BF86424BFC3EE5F3521942E4AFD9AD944A061376A7A25F66C8084D70C8BDFE2
-2E517E91E3DECD4B894B5D1CF57C50E1A76A8BCCF8D85007A4F9A58BBC745D1D
-7C2379F1194F99DF103FE76B8A055DA8BBBA197D58B861D8B9B9D4D0157FB8DE
-AFD831B99036D3A66D35620DDD15CA9BE18BC3F3973C6E6D81A51B17FB963046
-367042536476F40AD4609A95837F3A8DA6DE1A5A8FBAB2531F5EA7F1B0331079
-FA0B8F39089B8475A2B2191957B9CEE8C343B3A438627E4356EC122216C6F814
-B92DCE42E85A9430284409AA4C34C60DD5120368AEBBBA960D9755A507B535BC
-C3EDCAF26171EEBBD88C48A556EDB960CDA772C82784AB19E8AC9F4909ECF551
-3F33EC3CCDFF358204929BE09FA5FB1E8EBC84F6A74786224092EBE3A1D62A47
-BBA67E4B91C031B3EAE4FD8C7DCD4EC83687626856DE32629B4FFB4B76F785D5
-53469FFE0E3C6D499D2EE41C46CEF23EFF4E830B15AD7FF8CDBAE8308709ACB8
-7E354D143B4FF4B3AE3A391D6AC26756549F88604F43F0360AAE7F7C71F18218
-33D571E860D58A64382FE095F853394643919F0C2040A986553EBFAC1AEFE525
-3F99BFF63E106A52CDA70AD043E08085DAF75D6426A61B493101A133E07E9366
-FF96FA7AB32D430FEF4A25A92817C1257BBABA10FA4E08C4665969EC42C809B9
-5BE48DD888EC22DC1F653E39E9BF8D8E387AFBE8938187A38EAF5405B5BE83B1
-8FC4B181C2D6FDE43A1D8ED3E204A13114333896C5A43087613507D086297325
-3AFB24DB85D1FC3D6BCCF5EC4FA11ED31806E3E55748152C3B4BD8A652AC76A1
-0458D7FE39F95E358CFDE75BE3B79345C23D4B92154378F737FF53C94A2ECD07
-A75FAB570919D6174A309260E469A59DC505D4F08FE371CD167468EA03B95588
-552D1E2C5C974620663427823F0DBBCF32733BFD3BE4E6FDF5D60F926234AF19
-10B82D971059603CAE136049C66127C4C8CB7D4796738F27E1486490717E8FA7
-78C30A31C92E667A5210D0191C315C5B627C2D621446E989D292484598A27E88
-07D9DD29196CCA0E5E877D3F8D949CAED3686AE87BD052F7980FCE9A828BF5E6
-1E7ED7058054B822409C074368A45E3F03EE6D0EF0C7147FF0DE79A59256ABDA
-A8957671F55AA01410897598FECADB79CB80E99A6BC6A7BEE060E37FE1AE9619
-1043A9EF80872C710D39C820555F38CBD08E611AD53077B50A4C532CF24E608B
-9CF9A3273C9786295701166D7E64C58D9F9462E59205091248729D6F60FBE4C1
-A0A28FF264329E83F834158BFEBA5A91F324CD65B4B9EED04623E5478D2D56AD
-22FD8DB71BB6A40D114F1861704B0DE5D9EF9BA69BC9A929AFCAA4987EF8D96F
-39AE51E6C6B2BAA8CD08CE9BCABB32A3F4AFAFCC1F874ABCBFC845A2A58BB88F
-71A89468323FAD90500743E9E72DE19050E0A6933752FDC8760DDDA6F9C190C8
-36212CEEF45CC0DE04876871C1CE6517ACD34CA57AF771DC8C805671CF817ECB
-BBE1316D2912AE1A22CD0E697C25BA7EE24A0B0714B479CB6B8D1022CAAAC01F
-BD5A6D1428AF6B0875D6445E259EB66FD3A47196331A69841B98D06E54EF2DA8
-899181BCCCE8CCFE9A22C915AA838D56FCF04950CBFB5F03594593A892EC86CE
-1D4FD6BE61EB9E071F5CB8B84C006AFAC2280C94F6F45A38E679A644B7AD75E6
-7C6BA911A36D27E29518B4DA8FE405CE8062D231571A511EC8D3D94661B61005
-ECE6299F32778DF7932A98E428A7A3FE1314D14974782F5A2A502B26D233D2EA
-EC6501AB6753CB36F8D8F13617D42EDD278F267A199CACA6F42357B0429DCF28
-FDAA39CC086809C81FF7085025CD7F6257D84530905D940D0FDF86F68DCE1095
-61D464A464E13D4BC4693E71D790F7DF7A63AD1D2E416C243C95DFD172501DBA
-425C7384F821941EDCC7B2DD3B7BEC8C8672D9ABAFE8C9F2BD352528BDF39CAC
-CFF1288399C833184675F3646126CED33AB5DC940C770DCCAD487BB9C21A61BE
-69A137EAB4944C347702CE89CB19D9F1055F8AF4A8AC18BDAED6E58B9A247F1C
-CC8674D607D47B21620614C81AE2AFEBB8501B76198B32FA10073A25CD95F2D1
-C9F0284FCAE97DFBB148D3D252ECBF074DFC9D5CFC6B779BCDFA13F2CAB5AB5D
-43B2309C9B0A6209FF72145C6A4935B6008C9B4F20798351A7D16CB131267A07
-18F07AF3E228F06F2E3FE113CE403405C846304607ACAF8BC325B61939AB259F
-4D8B475A1DCC2DBC7EA5B873DA91AFE9CAFF9383EC1617253358C4827F2521BD
-FB90BB9D2009D43F70DD9D07F7EA2FB076E0E584ECA5777B8519D337562AD458
-7A53B34027824D208304EBE3C78AE67FC45AD1566AC66BFE8C076FA7372A1F91
-68570980750CB87B7F9D724658C5069BF592117F1D7FF3C3AE4E632739804AFE
-1DDE7A004C9C4317A9CD407BDF8BB7C393ECAA69ED356B5717FA7EECBC184110
-709B009BBC2F2357F20D51AFB9511EBD3DB1F918EBC97787DA4C314943B6C9E3
-20890BF7C72E4BEBB411FF0D16D561B17CA6A75588E691A1DF13685CC4CB9AD1
-4928BDF343E66D9EFECC4C2D194161E34A48E3FF21348E6DA32B570A9DE018DF
-2ABDDDE58F0897393EE3DD0666DD73E877855F6F9F36EB064C6667E90C505256
-125D290FBDFA19A5A3F503A555BC0482B6388A8467B787008012F3F65E832CD7
-A2DA552E6F326D27DF2B86155043972097941AD807D0A1B1B00827E604743DF1
-73D7DCB6B4F5FA7F271C01FAA0E4B8864A919EF4E643C8313673F0C98AE34636
-B9BEB200C79651F0C6C790048F98F90F67F595221B9182F5F70FD068D927B694
-EFDFA45425C645EF71A759D3DE2F2C46D351C1442208A4A88D5A569427E769C4
-740220BCD27118A4EEC0D8AA29C6638B5AE57D27FE116D2EA4D82342BFDCF3D8
-5BF1B2A3532A31D11C69247D952A37C2D8F1AD3DC4315A0B65F19E3E7254D35F
-DD3B8E4843B7F85AF9D16BDAD231553ABB43A4C8518F4ADFE6DA2EA9016316E4
-7D33F2C09AC97544E68A2C9986D3DC2F46173A4696FF0E0DF7CE859EE046F1B0
-698321A6A97F01E3196D088BBC3BE4C93CF5B29EA29CFFD97547D338DE429CD8
-5569A3F2C0CC05083479181013BCBE155A5A7BC3805C5DD851A5385CBB761F5F
-A79FF6DAE5F578471DC386D721E2A988AFF8858A4672BF84D30E1446224E0506
-97ED5BD2F5BF6DABDEC5C2E99E68F04D2E1CC7D34951734AA040E905175D2D17
-232D24C801FA83C9545D4EAE8355FEC30F6886D25F7FBFE2C49104DECD3D8EEB
-1D3CA42A7D63B3516FD6BEAECC979DC1B453AA618F28BCAF464AAE6001554F40
-DA5385F2264E6F2924DDD40EF3AF528E578DD972F057BE2AC2D363A9582153F5
-1A2AB2F160275008B5C1A733E1CF91AFB5656E80349D99476036C5563C0414E7
-BA46B54ADD6D7E81A653C03E55A1FCE29DE476F1A9841E2D767E918D7197250B
-005920189B85A3633CC754878A3D098D82B6148A0276D46E16E8BB4952ED887C
-ADE347FA8F9FCA32AEC937244693A52F7AA87A34F10F68EF0BCC061E1D502A38
-FDCFDCDBCEF8477CBE2A677D24ACA43DCE30F63D6378E88F81EB858C1D97E2F5
-06679B27CB4468BA78AE78C7DC6489965FD6E3F2D4E99E0CD84663740434852B
-965C6FC07112D88466E3832D7266BBA5BA5148B4E2E1AE80285FB51C135266BF
-D7134166823BABC20DB1DC0D5646F005EEDDD035E0CC528A91D44D3C67B82C0B
-20724A3A90BCE37B479CD555DD0CE6969FDB2AFF3372C14029BA1A956D244886
-53773144244EFCEE75580E813A82A44886ED38D5014A597BD279DAAD86D401F8
-C6F8401E8B53EA12B65F1FEA68A7C256B790091BF80FA1DD518DDFC09FAEDB32
-CF02D6CBE4A58A0601886D4E9D0F8208846BAA9FECAA7C0C343A6BAD8C07EBDB
-53AA5482270857B6E6AF3AEF66026A0F1BECFAC6DF3C9844AC65EC6570A18021
-852D083D4A940C3F5FD0E6312A8A71587BBE6373AA5247C178D1EAFEA43D563A
-BD4DEA53AFA9283D1923FA8EAE2692CC4A8E74A754F4940B4BE72084348C2CFE
-56AFB77063C0BF46D8CB0928EB14E9E7787BA2A54A629C4B862AE421133C6F75
-F0EE3326614C54A6D626BA6C7F001A1F68F5DA828CC3EC5C9F27F07DB5959CEC
-E2A40AC42C501ED9849B5C34A04FEC8AE7B7A1C9004F659D9EAC2BE3EECCFF44
-F96FC24EF5645071916F84E4C2CFDFCF12EAA8A6553B99DC7221A07CCFC29713
-934C1617D32DA1554AEFD1F9283D84C2BCA9E8BE820FB799CFF5EFB354B2A057
-28FBD6B4384CB197A0D25C065A43B5EA52AF49844DA1F19432435060DDB92A21
-D15AF8F2277B570A90D73D492614A22494263DA5906C2B6A7B08EA0D4D3612F2
-95719DC1380C90522D49A09B5ABEA33C5626ABE717D7B159382621C4E1624014
-ED61BD70E715F7CF5EAA33475DA5D431FEA1D2DAE95CC8035F4DBBA3A867A0BA
-2E68E4D9922596C8F7EE14470F43EC00A214A608F6B3FD2A72887F3F41CFA030
-D7D7AFF9CC77770D1B9B10D00DE4944B68C693E456A2945B5C4D0B5BCAAD387B
-18175908BF809328ACBBA126CD2258EC3FFF4E7CEE42780E26927310279091F6
-7C57E373A98619702E72B8BB75F1D9ADFD262F155EB94C9242730DE2552C2E5D
-B057C4EB6AE53727933457B232D7098D5BDCB4FD89903BB71F71AFD9BB7C2999
-13FC43C3916ECCE867BEF659709E943C49E5DF3A735B7A74C11861E722ABC0A3
-3C23710D0BA81F72B2D8BFDEB16481222570897927D3FE2B7480071E9010B591
-019A5B692355F60262D84766EEA29000CE84A5926A576EBC6E34B426710F95DD
-0CEB9E4BA4AF6EBCD187DACB3FA4D7D73B6CCC49880A8BCF05AE39DF47710738
-EB367A513D3D3049D100DECCA0B5C77C676370FF48EB1FA4F063138481D4E80B
-77D8B6758D3AAC93A84C715F80FDCDBEC4362AEF531141E58DFC06871E7F5A37
-E9932371CED658C8D5C331990B35C98602B9ACD405269A09B1A4A1F58EC0E471
-D3DEDC0FCE2A82966F8457E7E104C0575042A0CDA955A6544AD53603E6681118
-3607EDCFCADB07A71A151D6C9D267CD7397348C0798ECEB6C7C758ED4909C1E2
-B9C4A82E5C2E15C6BCD77C4E880DDA1943CDC6EF1E88DDF0F6D5441F0433C432
-66DB53E0B948003B0F4F5C49E4C42CEEF6691E48AAA1581FBFCE7D950449DFD2
-306725C8E6DA5E51471622968C299D6263D58C31D271EF5BA34D5E04B5DB1F3C
-AD78EB9665F3F41EF4E621D54DDE171ED468AEFC89FCF9E02CFF63806C62C777
-FBCB384A000FD7C38F30E6A651BC255EED41F72B9504D75A1C369875B313857C
-0388229198EA169403F8DF7A9098C8F533D6726EF2EECE8798242D2D78CCC202
-4507F2AE183E0D7696B3CA52B37829FABFE281DCC3529CBD043AE11E0FF97267
-6794F8AC762F20D4B1B331A43F6881EBAFE47A19D78BAF92D82BEB3835E01FA9
-65178B918BF484EDFA781280F78556818C8378574B8530C0B4EF4F7BDAB5488B
-EAC6529404A2B2F43079EDF2E6BDBFE90A7DA6C34C098E988B717C2E9728AD1A
-A599B8F8AB4CB11E5A50C222AEF768D58E8BC0B3AAA1E258AEF805CD79CEB685
-6BEB4624F10E6A5590D5AD9C0256CA5D20F403C2B26AFFB2879ABDF2C7A42861
-1A0A171E67D1FA8C23A36B72769949A4A0F185A33F351D62B9526ABF185BFAC4
-58B194FC02AE70CDC61687D12F62DC4A2BB2D4B577EE96E1FA4DCF2B2354158C
-DC6F861C75359D103F21B0EEC9B0E90D14D529FFA3A0BB7B61318D1021F5839B
-DED9D93BA906ABDD7AECACA8D1F91D7D583337139B29D1ACBF214E2B083BE23B
-04520C95A96EEF56F99129C4FAB0D02CF4D8637D7F0AA2216F36CDF62FF3F38D
-36C34DD0F29D7172AFA94EF9686BFD530D60109374363AC14637FB7683449DA0
-AC09E3E9442B9D2A09843428DA510217B5424E7F03AB938B7546A936FAD87E91
-80D1DE0269F4B05CD49956958E13B049EB8F8AA7AD407EF14ADDBEA91D8491FF
-DE2F38AFF251E53B08F7CC55F360898A842F8AC11F70FFE0309317225DD34849
-E1E98EC87F0881783074F7A6628A2825E7EA8C777D7F82008355FC3D207F0AEA
-BF98834BA7DA46FBB965F40660034BCAA56F5A44786D1FCA16B7D0F4ECC6BEBD
-4483D335D2A38DBC34BA75897008B283F94B7D48BAC5C0847160755CC85266F9
-0CD1AFE3886A452F512BC9197D66E4E5674E842CE0F7487D459E7FDF345E80A0
-31DA40B2D0A4A7D464A3185805407019C234A3994222444107487748B87D8077
-83A9913DD5D4D9A3DDB2F28E2327AE157603C50C5648CC7B0329F4374CF076EA
-D98FA206EE3F92DEFC9A9B9A122CC8524EFB5FCA9ACD46CE922C80E4AB50150D
-BE1B3FC7F7BAC4FCC261E825625672499F692AE35C1AFAF556B7BB90CD3FCA30
-BD35CD430BA50FFF19B24C50813DC2A86AF4BFC003AB3A6CB9878D365789C410
-FF1FD552ACA911B48AD65BBBFE3A0737D3269E5ACD888DE56B9A9289B0AEB017
-7D4171F43FDB5342E82E6E57932774BA3F1715574C1B7E94CBD70E36663C35C1
-7A80CAD7762D681B4F97898A253506BB5DE9B2E4E0D2F38AC2E72D8C61D33A73
-566ACDC33A93149468E94775430B4C22E62046B1CCFC37FD8E4F1ADBAE43524B
-03A137C339675738A622B458FD1AB02EE2D98FCB490D864B07F6D9F3DAFA5E9B
-F675A8E1519380D429BD784E98659059D2D63346C7DA277C16B79835D287774D
-44903C5B58583A6CD1C6E4D2A622F0754D7FEB0FFF0CFBA9D35AD8C643C28747
-36552F4663BAD8986B7F27D448C41780C885BA62516FCD0395A2F986E56AC9A0
-2A7AF47210B2D34BB4779F9DB2A2D7193CBBF9A98EE587A6EC3E0917BDCD5F7F
-B62DBA1A5A354FA5C299618733AC3E47AA15F65A87DC33F2320FBBE3E80E17A8
-5F7638B7BB3AA642A0B283E4301E339473ABC28BE7B2DDBF391393A140F52352
-ADA3A66BC83FAB5580990B1996FD91B9053F2F05484BF517993FF4454FB1F818
-4DAA797AB7728388CEF27EA13D09D26D95000F540C930913B9D269D13DF72DDE
-07D3580C7F8A74FF5EE15B3530D6D5982EB54CC5213B10008C3CF6B5A81EE1C3
-BD842885DA8F5E83959A8167CC43F71DB88CBEE3F4CF0B362923EE4C94651DF2
-68493D28795D46414F3F4689AC9D2E1494564AE0828A4A827202CBF2EDFF6DA8
-F5AC990EFA0CD748D40B71EDD615ACC97644754CDF328001E17EB8A464F61FF4
-B47DD8E871959A851D3C777D0213F185E01FDDD70919F1501E9872DB02D285E5
-232DDD002F028D3A4255A47F3CADD92ADAA55D103528911F7827C246334C1CE3
-033A1443385A5A0C00DA3968791361A6FF0161BFA96C740AC0A50CA55E9053FA
-2DEC34F11609EA462C3316080E2F59E4D1BFA87BAC2952BD1F7604068A0299CD
-26A3973EA9B2064426500F2531C17F4D13C80B1A16979208FF9A3BDD4C06440F
-3313C17B34E3940207CF8B041268F9F73868D61EAE92E22E9C11E8F086AB915B
-30E4B3B7BBF0C94A9FCDC891821185BAE694258D1CD40580DA64E52CC32421DB
-F5969A11E5F1CF514CD4225EC56C64DE47BA9D777F9592D6B123AD290B91797A
-3CDE8F98054183A6372C4DD0D45B42B1F91836CAE5F80AA677CB8821C15C7946
-EE098DF7F88F65700862036C29BED3D0684EB3E5160BC70BF7F0660299AFA859
-AF00CEC43B560085EEE87A253C93EE8112B55BED9E9D61830A3F5ED454557641
-139273E35C56842F245790661B6608F690AD522EDF6E475792A497D2BD96FB8F
-69DD4D94DA6EE3B7113C722E4A759C55614A80FC7A8796B4302D9C4558BE5563
-C6334761FBF5F9CA65B9492E4D124ADE2CB93DDC168F711F0AB6427D69345D4B
-D3443033A0D131E2448D0F44B7A26953E4AD5AE89FBB120FCAEFA91D438C0A0E
-A7DDBCF2005EA0395D2AF2F1395649EE57E59DF8AD4F7928A14E490D61686A9E
-5DD49038C29797BD8245C1F3BE432BA52F406E28AAA2D7751CD242385AF70770
-96C6372AF2AAF01C99BE5F3FFEE6F7D6C832934F199F184A4F692A147EB28088
-5D6A6CE65FB6D820930A1924C856A764AB673C95D3119C89375CCC1FB42592B7
-4362839365DFCEB99256A2BBBA113BE043787C99A11086428DB3AA42277B5918
-28F6314ECE036801FA7FCCA8895D251C2DD80D10184DAFC2ABC59E439A38491C
-2A42FBA5480EF025617C24641E7783D0D27DEF8D884CBAC048BB7C88844D235A
-48648EC1833643D760FDA52053428F1B12A32829E8583BD64AFA67E75F1A4F81
-51E25F98FD7FDA6C5F6BCD212732B2DD1D183E5F5D891C034087E242656F3C4A
-FA688D410DC3B5F96A95AC86B180D724AED48A1A32046BFD04C5C45DE9CEB5E2
-122F63BBB3A0008362E89AA6DA01DA04873635B12466911F6000331F2C8B2B74
-CE7E520B73C20BD0EA6D941E37908364C2FB389BF7A0DE63043FF7ADEB4C92B1
-2ACBE0EA8008227893905A499D413F25073AB5E7A0E34087A83498238EC65583
-700C8AC527CD2DAAF0705D4A3B166878177AC2EFDD28F42A94877AB907FE87AE
-4E16CE40A04F18486F6AF0436514368F8E25DBFA6605EC307E817D2A80D649AA
-9B857F2E3D03BAC9EFF21C6060E2626A5D891D34A68395489E99426AEF41B9FA
-3338A2F35C705EB5C4DDAB5F8BB2B8F90976112D67511F84581783A372EB6577
-1A40D156CF630B2B0224269AC6C4DBEC0CA50F33E032738FD04342C882E0DF11
-2C16D307EBD953E17286740688C62B1F9F0AEEAA46B1757C61B55899E0D01363
-B558DFF416620CC38AC8897F04D487F59E82D723860DC6879503116EC59C734E
-D26E1E63BE2CD2CD36D695B0F77E5E627AC2C11E98CB5C4060311149DE95D35A
-BA496B00DA093E816D10E849372106619C8B022826E88F7BBE5B1E10FF3A2050
-2E6CA4F9438C5978F882B7CDEB3E86864A5144A6695726B6F9BE7A59DE774651
-A010C8F6B2A03D496A05E2F68F72FBB049B06BD01CBB0F78CD08AC4F0BBBDB2C
-280AEC5C951785957C5FF3F27AB4EF97853E2C41CB9996917E712BB97AEA00E7
-A25CDFAE481D2ECE1F8E7F4DA061DED765F0883B9A9B75024C4EEAA2F3391517
-06D982558DD11DCE7EFA51EF10318F7B273624E08F44F1ED23EE5CAA795F0585
-C4FD1929466533529737203B93513BFFAD7330D8CD1F84EE24B7B9A03456E4BB
-A6BC7BBFF237AEAD8F0AE9F8667999E1AD4414CA3F0182E3DDEAA76EA850F7BA
-9ED33BED11A0028FCA6D133F20B7094FB7AB9A8793EA9D71E862BEA5CCEEFEA3
-0178C6551C7CE142F289C7DD064957C1128E3B8B5FD449D8B6213C6A0E5B8DE1
-064D4A804B113868C9CAF482CD8176E10C2A445A780C7EC1E233BC3DE203ED32
-75DB325A3E589900CB7337E87A3D76C73F620D9C54B26AA2473F4DB6BAD7EC79
-32C3B2D40BABCB24B14D416AF96B9C54C7BB9062B5889B1C6B59E3431CE82107
-62F2FD17561061B2CCE3E16035D06A2A8BDCF86FE38C7CEDEE8A1ACCB5AA78A1
-3DB988583C7180C6BB12BCAA97433D5BACA552332B5881CCB8BB16C0EA512105
-7EF1EEF3C92B7DCAB059AA8C70B8DCFBDEFCAD39196A8EEB763C61F7E89E9A43
-CA3C10A8F847D038E7F6A400A5DF890E3C078F1C06029475A2E9CAD8E6230916
-A7DE714A5537A720C0B17FB393E712FBA9B62144044313CE114164F23CD87013
-086308CBFE75D2029599B0D6512C59721F6F6E574D5E7D40825879A91FEA2D19
-C3E3BA46FFC95AD0E597BC61A5FA8919177F6E5A8C94176132FDDE246BF4CA60
-BF794E610E8427A6AC0EACC10BA6892CAF64BFDBB9DDC550B8CFDDD0AE009C41
-523A1383405BD3545A3A3ACBD8D6F661183B769FD20B9407C3B99B1057B171E2
-E2425B2442AF944D7AA280490787E4DF6C661FE9BEE8DA3CF6032FDE6FA451EB
-CF2E523EE7BA5C148B7915FF29F1E5A4390363AC80D28333DF5F0943716215AA
-4E399D7E97AE759050C591BADD7CD7912DC1B7B47715DC5F532DB81BE20348D4
-927B7FE611E9C5D02AE5F02986F31B612A595EF028EE5F6D06C3E9E1132A03E3
-4F4107E8D415A2ACA95F21FFB66CD017BE21DB2CCEE6BABE6072EC7A9D2E14AC
-4136E38C5E7429907DBBFA8A2CE07824C9CF38A54328FDEF8B9E68205352C8C4
-416A974373D9B855A78876319B77C1B49DDAB3AEEE80CAF2DCF53888DECAD3C6
-A7D7854E395B2088FD18A9E8451EF5C3D34F7E929880C942C62C368DC7BF7E42
-2DC301BE4D14A63250A6445543601AE251C4D6011B6EF37EC04DEDF937113E83
-8C74FF7681A14CB078E66047ED7286C099BF3ED292BD79521BE55D01DFE0BD1F
-0D4F0D8C20D74BDEE8ABA50B742C2B9E30519493919EC74F6EE3BF2AB3088CC0
-67BDAA2C2CB3C238CB03C73964FF1E1E21DD87D83076DFE44E5DC5343BF96BB4
-ECCC2A41EC548C26266B80AD43A9DD962B3CA2D7AC75CB73678EB2847C3F7363
-4C42A172D12FDC3998046A089891473C1C2948A2344580B6A895D64B149911BC
-F0AA3639E19A5EFE027096FBF80345624C8B4F4D1F832A707D940B23778BAA30
-BEB3F169180AFA97503F196520A27B3D9C0F6698D666D267953E3A17489BD485
-372CA57F5E5F29FEE3911AC1C470235041D6BAF1BB8F2A2C4E785AC326DCD91D
-6F1886A48AD63A5E80BC176E884F3DEBCEE84D96F2CFF3BE5D0016F78F3847D6
-C2835B98827D459013D3548A5C47452501A16E73C03C78727BB264EDA6AE0F88
-9B8829DCBB434B1A9CD43D918B31A2D4B3326877E1669FEBFE042AF5AD7B65F5
-B5DBEC166F3256C13F8A9F4FAE9D324A0F3A2646ED376F5C25525BBDA0A0104E
-B73770E9E47C9D7B611C89CF0550073F5FA18FF15073D712EA0310A4C17141C6
-4EBC7EAFCD6C47EADE4EE1FDCC8FD8E6534E91DC10A8A57E98D79A3312552117
-BC956D6EFA1B0B125DAFC9D4B31FAA31A10878A783B260069DC0B8AB57AB83F1
-CC9E36CE68F6C9C1034E6F8D676CB929C7B8B0503639CBC25BDB8A8F550223C5
-9EB78D1CD62430AF0A62EA1576DAB2A0D7556236A1CBB38480CB7BDED3529C90
-609CDA15C77C3470C20881709BF2510BE8D5B72AD063921E365E87C11C72B0AC
-5DC311A7117F82AEF47B220D70D4BD8645A13665A86A9CF9BAE17CE4553E2370
-EB5635F7F76C410C86B6C397BF37AC0B3E175811A923B6A98C82839F5ADF9DF4
-D036CF8CFF083CA85802F8AFB9B5A91971A3DE0F461945035F78DBCC3C368582
-91279A2AAF385A03AD8053740BB2A64EFE4F9806EDAB1C0E81
+D49A6E55D88E47257C1FE6F4911A80F453FE60FAC91C0F1C634BC8303F889319
+2249F256E3D03ABCABBEF82548BE9EE4760D5AFEC07FBDEA52A0AD12BEC7726C
+C7A5EF714229940B17A6B638974A56D694D6F66A013BA2D8D4A60B81A2F0B8BD
+64D410F407E46F530C20E82EC071AA1A458E262E2253F566A721AEC77B45C6FB
+E8A75FDFB56E4AD57E8B4DE82354127A95480448B5A3CD3782D91669659C3E48
+2786CC34FE63AE4D1EC82500A6BEE04021508456A9151B657833BF67E0A4D138
+F863FF326D70E64B11294E78541DE8D10D0C6037F79C9E0AE641F93D94AB5E59
+C8E8B9F6A1EC99EF00F60A3AFE2E7806294FFDEC239A953634C3A253248BA86B
+9A739CA7AA6B4089806CDAD309D746120CC07EB5730B79D20B9DF148C0AECEC9
+D3E047399A19FECC88B7DB6466A9C78E6F83C5B277045B9E447C508966F876A8
+F2E7F7BABFCE61135E65AB9015C0A877917AAE8B02539FDA0DE7669B71A614FC
+A95937854EA7868FB4219CC8363BB3912F14BB4D7A7F970A3FE730C92D7F81EA
+D6EF892A8F9C92BBB68170F00A7CC0399B26B3A027BEA79A11A45511BAA2FB2E
+85749B8E30260B9702C504C6FC8CA72591B40DB365F088FA8C38D4CD97E22D72
+DCD8F550CDC091DED860D0697752366D641BD91288FF41995440432838FAD5D8
+EDCD5167D6A918450F9F9C7C89DA325AF3811B9DE030C545049019150C58AF39
+CF34A44DECA0565144CA40FE60DF801992A1AB27B563A13F01074EC69BB895C0
+7488953AC184B75AC1FD8B073CD5DD25C67275B1E123245813D415403F1E5339
+68F8A8BEEDD68CCFFB2F87F12C4750E0C8CB86C6DCFFC3ECB1523B5EC2C3F5A0
+2929E86E61D8847A24CB2B3496690FDCC4C41E54C972D59DC70330459B807F37
+7375FF4D2FBCF707A46E6DDF599C852254C3A1AE22F77B0CD91B439F9BAC227D
+BABF7509981BB89F85297CE234629456F282804D3C7072101E21BAA6A9C41FDA
+F3F5082709CF1930DF46F6F296FE76317F8DB5855E945274D7E7CCD73B8DB342
+CB6D405DE6694CC1FAEF674DEE1836772304C13D708A63071C2668F330D549B5
+C197D91A14F50D0824619D972E8257DDBF2B95160FF0DBD3AB8B25EA333EBA75
+085D7C86FBB1A9C65DCC4D1114E2C88B4637E68FDD6168DAF901C425B5340703
+8F0410B03BD9A3EA8550DC01FAF9E1951131C261B0F62911ACEA464A170F1746
+14BED6DCD655C5EA7B9A06E1726563AEBD74E8A768FBDD613E1ED94B6FA10BDB
+6A6BA655ACE6E1AAF9C6DB0B99AD55001D0502A3B78167140848EC3481003B7C
+CCADB0BB37E063C5EE58E75A12288FD2B8D1CD60876E867E9C81E0ECF3A99FFC
+B30A2529261616CCAC571C90C39D5B8E01ED476A262DA8711D22EA3E004493B9
+7D9246CF56917AD4AD3E2FD8EA64399508A1658E6D0D731E97021C1FD19C8BD1
+94859EFE3E15C7EE624F92E345FFFD89011DA93599B37795DC64DCC27F1FB72B
+8A063A96A4E9B8FA84473780D81482FC61E491C62DDBA658FBB9A9B94A106F7E
+EB0346F1363A11448A236328B0ED08001D55A2342B618816AAE767BB6711C51C
+03EF73E87E95F8AFD59D99132E7D40B5F190D6DC4C6E38DF763F1B25A7642A81
+C3FB1D804419378033FC2FE1C0C6C63316FE563C9A9A662419B7AC667280CF6A
+A72037E9741375F9914C83918954F24950C55D1CAA777E3FD9B72DE61D0C0565
+BC959C913FD6F080981D39432D8CD14A03E6B47C76DE30AED2747AEE21FACA7D
+307F159294803FC78908D42869D05B488C3EBD4EBDEAA407DEDE3C299790C8D7
+9DA89AC90CA82FE0F2AB144DBB54A356EB711AA89EE56C600C0127B9712DD759
+0F9E235A3A68671D80843B94DD28983BD8D6FA8561F85C07208F23611ECDB427
+EE4FB25EAF65D0D2DDA9D77D31627BD57098DA97E7335693F5F4D63C3C0D8AE4
+8D6777A7372BC19BA27CD43E97984D1DD307D4907FF910E328F5CECB5E92779D
+758EB9E3C68FA6DFDF8843F26982D53D27C1D68AE3CA3EE40C57BB56F97042DA
+D37D479CEEC4EB3CA73AE5C0262DC4FA56575F659053268422BA92BC5F7D687E
+46839260337644933248ACF82302597BA67F85AADBD7F3CBA91997EB675F0D3F
+3B816BA7B54D0C57708C88D92E3D71BCC5F840A106BB5CF9933815EFAA885794
+5DECB550BB444DFF21AECC51A25355ADD2D2FCD9A9CD9731EA8F68FCF22EC87F
+381F102F6FC9C867B18E0D5A64B29F0607ACB7E4C40B238D4FA7CD5CAFFB6980
+968D14A3DCA0BF9B08B347326517AD1AAC36FA2EBF627F4FBB14715E2C3D0A81
+B3E75FF03D45BE2356C1FBDEBC6FCB8AB34D0EFAB99E34BB0F7C0C6D4824E1A4
+A8CE1121D263FCCB34575B9C503BDAFDC9D5835C73D25126BFEAC282991AA7A4
+403D94F9EE9F373F77DD22DB4E85D495CC8CFB522CFC461067F16AD0D40680A0
+F190852251C73858F6533F56C2AA86448BB42E979A4047AA97F5E2E6CFE66CEB
+914D51DA8BCA3AD97F3BE0CCB4A80128C285A462474996D1CF2F00E92BA93916
+235E10AFAA3E7E4A00A3CF136E14B2C49BBED4B6E819CBC34AA4AFB6E4935DB8
+A97C67C44E211E765CECB4562252EF16F2412222AB386D560337505B4EA02280
+F0D8DE22EE274D246E6D1910E104AFD75E917AA736EB3C2CB6F00C9B8D1801AF
+3C9A9EAAECC917A73C5B39FF3CF9673D7236051FBF7F3BB900455061C1540B81
+DF4BA02B0A5EE6D2E558E844418B7B07DC6328A0D162B7F6C3AF0B473987E5E2
+2265FD8874A1ABD817AC9EDCF1CF69676297EA55F673BA3ED533ABD001BB7B74
+6F780F7B60A11E3A2555ED3CC9C3B77A2B6FBDE6F0A153683D72D4EE61FCD74A
+874AAD2BBCA5D8476584E184815117FDAE4B9B09114CB3C3F2B877991A97AADE
+409B4C93C940BA5846E4A6692DD9D3F39E48C255C903125BCDBB0B2C50A946CB
+24EE0208B64BE594017FC0CC51EB21D7C0CB0A87E0FC8E5ECAE81D26B46959D7
+775F8E59CE25E46F84C888A7FD669CCE26E62007016D7BFDE9977BFC762C5BFB
+67E4D06AD1CF9BE490523C8A5EB4B0778B80A19FA908B416D817C30624B8EA0E
+614ED954CE073C45D0753D17189890B813792CDE4797C66BA3AF818BDBA063C5
+40D44D2F0AC5429D8196F6CCAF57F82A5DADBA925758556B55B5D7F8E0F9CFE2
+46529537ACB145305E493F22E04E9E53006BF7FF7317180AC13C8960DA0886F0
+541D6FAE149F721ED22621BEB9C4C72B26690C8CE344F4ED64F28BE955379948
+A7D740B3424AA8DDC3FC03B7D81E38435CA7A7C318A8D66852493FFC62511ABE
+1836DBD501B92ABE48B104AB102233F7C8FEB17241474EFE22136BC24578260A
+D7538FD192D6383657CC79EA30B7C422B5F3B2BC18A8674AA5C7A425B92CC8DA
+C8CDBF59ADED76C26D082A6D460D1D6AC7E8671091756F5E68AA0AFE22005110
+386FFEABCA8E8688B74E43D5FD9188EC2B275F08E09A393D53A6F94E3017AB46
+D81A591540DE3BC56A1B52846108E91F6E7CE6AB86218B1EF45299DBF4E286F2
+4B2FB661AB9C13C7F650EA05D5C9A2D2E63383A89ECC38568A801699826FBC55
+DBD6248250CE6EAE910D2DCBD60852E9044A79B0F9E5C41CDF523C663BC54B59
+E0956AA08F7E5C6F0C270821A729491C3756BB066B65CDF2F18131A0DBF52750
+F365D6F39CA7BF1149BE03F2EC8DBDE684FEF3A280D8B7E5FBE0A07A5C252C43
+FD40F7C372B20A6DE66B57BA4F53E2C3001403BC9C7C7092CC038A95419AE4F0
+325CFAEF2C26201A6C0B71D350C5D1EC8103CC828B49BE81E06B06A792B337CC
+0A02EAAC152271CD4D432E12067A2693B5F1F510D7A65A13AAD534CA9272AC37
+C06A60C83768E12619D09714FC46F5A7DB145F9ED2EA19F5E4D66FAAFC089CB2
+DEA5752AAF92B57815D11843810723C2D46E94D67F78C1DB494F837639BE9DA2
+785997AE5AC95FF7D7BC5BB246168FB65CE98BADDDBAE0368B8FF3AD62825BEF
+B822D77B985510E6F7376B7B08886604E81B110318BE491F3A0759A0625C701B
+B8845EF170BA637177BFE6CDB43C84E303680E85B4CEAB6AF29118D36C7E45C6
+BCDDF9A7C68A567FCCAF9C4571D56690F7F17265A9FA149A50C7CE888221FA59
+C4444196C259D1A3143A73483980F91937BDC4E66A699CA2381CB1B31F7DF657
+20A4956DA24022AC6675C70C510284BCDE11653C899D6734618D0D7FA66813C3
+2113F26C8A2B7017672FBDD53C4DC3540EA823C3066221CD273F5C2BA2DEDF35
+AE880D0D9E56A6999021EE38F476EBA61B62EEB7E8B9671E49B6C0688AB9A888
+A451BD9FACDA716FC805D0D5595BEB9B20807CC6B5BCA439D353687F473D5B11
+9B981E501012732D42586B1B0F10C65E31A5B0ED2BA5BCEEBC260F2FB387A487
+48EC3DEEA18B46396A57D1F6A642162D15E8D2B01635701B04B8B6D32B303CDC
+770EE6D98A0B6D3EA3F3936F1A3EFE1296A1AD4303DE9A52796852333427C5A7
+77FEFBBEEE4434BD740948CC4CC1E91572A8E62F0615991AA2BD52B1A8DA7493
+88D0BB679B18B7595F4D1D84E937DE65B123B9205838000D0A426FEEDD97A36C
+0C5FE5EDB1F7D09A8D4DE9E8A2ABF89B3D8B4A85E23E7F9BB5F737494C2BF735
+EDAEEAB16D26799C68705D9907E6DEA78DA6B85E9E20A80B44ED2056EC0F3C40
+64A7413414080D36E6BEBAA0EC0B9D7AA2A91B3618405F0F9C16F2E93B2765D6
+361553148D7860B4DB534BA640DCCA6F78CE364713B720C5200E45B36DE390CF
+606345CD2785C8D1CF833E74FA18C1A7398AEE99A2F1B92CB7D32C8CF6014ED5
+B9B443BEDA28C4196FDF65437509C63EE533D73BC411BAD5B8B836F2E2BD87B9
+69CC1B192D2F4B9892188BCC868511D8F0A7AE2E1282E84D3619A88437A82E33
+A265A54D9F02DE534BC0BA1C64C7E6BC0F22E9E526D5B29EF14D3C7C17ECC378
+5AEF9D4F1A06700C6F0469A279D12092D20DE6C79C0056CBD06F760FA08F9635
+733C96A4D8B833A12F45E0D4E3470DD1F1110D10F2021B028BF8DC3A5D2BF646
+81237B7F8C3CF8B3481ADF5481484239D992C45196656E180528A7B785922073
+DF6B28B5F82F4087B88F712F5E74F5A50E2DB04729C66A63BA14593A01167E72
+166DD64624D50DC94C581CD901A8EBE7A0B0E6E2A06BE97F81E7678313F004FE
+BB5FB96E061428358FFFC551C171BDCA9725C0CE019890E02B7C6D2615257E86
+371296C6A3A3ADD137B376E7433F41B2A29D48984285FC2F9F6F57080D9F08B4
+D9FAA679243B84F8A288568E9837DE0D7C7F0A909358E6FB283D322AE6DE04CC
+BAAC229C177336ED007823817293CFD09CDA20026EF2183BC903F632D4BEE7E3
+BCE1CF758151F53E9068E55916C9C9C849B54CBB057F7D5186E615C030DD6B30
+FE0B089E526767D91F0337CEE20C8A26131FB869C3BDB928AABE885186DB667F
+7E97D33BA93C8FEDA47B64D8170BFFA6A6CAE93485C2865B237B62211DE9B5E4
+427E4EF2C22F8F9258556B278F941203A2D2288FA7E5E2818F80D872823ABE8B
+90A8EA84CA48DECA6F80DDAEEC20428B112B9661EE0E62832F350071B0CA16EA
+6E5DBAB8E9809C08032FA0257535E3D530CC5CE120144467356D8645A234A4F3
+D1C338FEECDDCDFB935AF03A8C4C937A119714AEA6A6F41F623FFF57FDA79885
+D1976AC4FEC0FA6D2B9F4F844BC136A353C0B6430690E6F76C03A6687AFFE280
+004ACC9CD8ED85ABE03A67C830BF30E3004C8DD45D1504A828A344B706637655
+C7607226ABCFB04281355B51181D07F52ACBFC9135A9F87E8E8D59DE95239A48
+EDC30B5CB54A33CDEDAF4D7A3B2F0513B3513977D252D5027C76B2D3E7CCC859
+64EE4061B1885B41448A9462C7B1FBD0395321E94E35736931AAD1934B4F3909
+4654EE14440DE1B29FEDF3B8B7C5F6ADF54367D8150FAC1AA33EE272BF731575
+88D46E9C8F62595E723D9AC1E82F3F953D46DC130D9CBAA14D4BF6D631FEAE7A
+B9F41F069F3B26C34CB8DE946628E972B1887B82B8BC02A2DE877EE7E1B9282B
+9FEDF702AEB78A99BC7D01E2B1B8BA40EDAF702D1393E3A4A8F79AE4023E17DE
+D56F12CD437E6CE1A0B02A3C4EFC2ED70DC4E2BD8A78C44624D943D8EB11F947
+06B72C63F6BFE4270D9950761EDE18967215AE0D9509C6B63B8170F6470C3AA4
+4A0B7538EF647BD28E6DAC1FF84260F18013F686F44E1E25DE9EE5D34E8ABBE3
+E4AD59C747D808C94D6C2E4648746563604B3053FF9198B0E382A0448123537C
+D572DEF80F5FDB6EBE67A936DB7C0250BFE260961D9A02B4258B1660B7B836C2
+1F832061CBF799FAF15E923CEB5A9AFFB6D090E58B2433BFBD950D080A7FE974
+067158D676603068F65788C3DE67F15A78AE8ADF441A25BCFBB5C43A6E8FC828
+32F0DCB45D4DEFC817663AC30913932AA059B3DA3598733EFBE725FCCA168986
+296ACE74EBDE74FF1850CEE5A169935EF0E725924F2D48F8C07A631A94D979A3
+A250BAF3C137AD1610DD0D9DD742E41EAA8D8B92FB7F52415CD5A45E1E89007E
+1682E34F69FF779107951EB8B2D9B2D815C2897ABCF117EA4CC9F7A8D87BCFCE
+410C0789CD1C6EE0C0DE1AF09FE11A02F4A324A9355AD85146E622D726995DB3
+52D6EC5BA1D6017F291FA57666A218EBD3BCA4B7D9488F5C97E5A6A4EB23EACF
+5975FF93173E806C2CFC279AE778615501532B53B14996A6D27156F497806664
+A670A695470571B09B01FACC0AF1EEBFDC527EC55188626ED70CC5EA82AF4D49
+B85677FC97E85201B2740E1FAF4996370686A0FDC40A16224527F212AEF775A5
+8657459D4194FD2AE5D360F21FEB98F974BE6A6559A2CD5234004C901FB68C17
+3DCAB1977BC678859A8AA831B24FDF95D9925324F4C3DE7C6593C36B3A255786
+D291EB042697B323B6E48EED39144609A8101D762CAB67396106CA42DF9B132E
+9DEBF3EC3948B949796DF2C017ECBE51EE50940EDE49BB18F4D03C2D8CBFCC31
+B00E81B1C926064CE3240256D3BE830F8619CDA6EF5DD68FF535BA837740201D
+70A453E521C3B795084BC69CFCB2ED488D5B6492F34EB7063135057F898DBE02
+EAE872BA77F73503963F0C33ED7E00B90F32108D1160682DDDCCF04796E094F1
+F66DE61CB07D71851171D29C00C47F642EDBC85B27D9A7454649283535A56FAA
+201D3FE2EEC5DAD5D64C77701F7234709AC1CB5BF37873A6578DC407A0551F34
+A1C06587B6C319574CA9CB4B4B01FB2FCFC9BE9D18882C138D9150F8490868D5
+7BE4457192CF699FEEAA2A8C458FC6A7102C1774A9079FDB50998359E6A8F3F3
+66BFA40F65889687DEF79CE235069E5CA7C13053E7E726C2F0EB1934B98CD3C2
+4139C6320995F88E624FB6AF2179094CD225DF90BBA1A9AE149DEE32ACA76B0D
+89E306A130774A11FCB0711D0C1D871BF8D56C00E88BFD6C68EFBB011C738E97
+5327ABE9F52F916B7E92A28E8BAE984938A6FC9984F655A98973D93F7718514E
+069F0F13664840DB822D724BF56F3D3016111620E4C6086E61E22737150CE75F
+9FF97D71A2F82AADCC7BDF9A6D386AEB56F02B40963ABFA81C50F9BE8EA78B6D
+B8AB5AE7EE670F59EEE8EE1C6EFB30AC457B8F300A8A891D68CE65F64ECC7321
+19AD6158887EB0055E9C3FBDCF18ED0ED4B8AA9A7444F6945961F1B43E69A4A3
+83BA61E4FE275CBAD512427B222B33ECA8B6CED39A216B19376AA56CB7983DCB
+8D25C7EC8234AAAB4DE41C60C22FAB5E9017F55674A1053918C7EA14F42C3F81
+2CD2B5D4D951BE0EDAE4FDAF981C31CA65714E2E95CF5F9386DA2BD3D75FC9DC
+8F94637566C50D6DCD9B278BDB43AA8A45CEB8C69B1646640DEBAB2F6A09BBA5
+2F4CBDF80B6C1E4F76C768324E54674CB16A9402716255355897FFF1E3200C25
+C4438CDCBB6E60242843383E75BCB25981FA9E33C1E85C77C6438161B9007506
+CBA3BF4BB65045BFABB62691EF0FFC0452877A15370F2930C340ECB109AD6F7C
+9BBCDFB4A0D6C7067F2909BBD45F3CF3F2811D3580BCE16020FFB6250D75CC6B
+9AFB9DF65AAC48348DC2CDC361239C1222E2F8796E934E863AC9078BCB1D1DA9
+A6C399D3C18DEF0E72EF2EDCB5B8A12CBB26FA110BBF66A788D229E8E5C74313
+59B17A0A6FFE1566E495B6F4A6D0CB6C2BCBCA4B32B1305C22B6875AF39F0A94
+4F16DAF977F12B3B9EC797D4D73FA5CCDF7891D06F9DFBB48248F4804DAA0356
+5D576093ED36D4AA120B5088A73FA861EBB7A8C9ACD181E15BB13D2D780B8BDC
+F730932195E691C79F1E52A1CC6F90A0D2856EBAF90BE4DFA660853E817969F8
+4829A96BF2F33A8CA3520C439D4A60A3EDCF8C91C9A06177BC867587548BA29F
+19E4CB7EC23833A187B0767F6666B972CDE89F4FF592E42E9CCB0E9B2A750A7C
+B931532A52D193FDC1F88CBA0FF97837BABFACACB0EEF99A4DDD81B673E75FD8
+2F45FBD4C2FD7270358E4E724A1DCE72900104A8DE00599A87AAD1148D49BF25
+B435917DB8C5801FA2E23769DAE88CC3D386B0BA16253C22F7E49BA636DE0C4B
+81B055003EADFC521AA7714340D07905DED8D1CEA42ACAE2C6EB84D1E2F8B4AD
+7191DF2A108AE08B570CE4776C5B5BD1EE35073F620BEFFCB8EEC31FC583EBA4
+B5F296A2D7CA15E88ACC893877AD3241B09134AD28BAA6E70ED08A436520901C
+49613473155FF43B6544B4E07ED1D1C300595675565FCB814FD5F97376B11B55
+497F1EE736ABA0357C108F88744190881E2724A06EDE2D17F044253BA4C6338F
+D5FFFEE33581507D34BB814936B54706EEDF4E225F662EFBCC613AEA23293979
+910BD6AFD473319CE9D42376F1B87DF7728C234242918A270B9E89B25C5B15A0
+D606021046F53AA79C2EB149226ECD789EB9A22B6CFA985BFD0870A61B1B6032
+6AFFD28682729599CF80FA34E38E1A824AD1CA281D665146E9CA8451A6B07DAB
+F05D7D8AB0907C0A8FA4C7081F421316F7B01EDEFBD136E1E50DE286A308E7B7
+F8B3AF6483D1058EA6D627263791D3E17A48C4B79DF95609F66FCF4F129C519D
+8CDF29F93C047BC5C48277F6F4F9F30352914815247493DB14C007D3EAD9C117
+F8470C65F5B533EA5C8CA60E0B9845AF71925FF85030B18052B5CD8622C914F7
+47BD64D5C3107783EDABFBE9CC0F4EF358153A9FC7E7CC82631C9991BB367B17
+BC3F48C76D6EFA68D67A03BED387D370EA4036C5D064545FA907E165C381386C
+EDB3B51C5274C53B7746DA5BF231A9EB5F5861071331691A96C9D4053ED78DAE
+E400353D291EABF92C7D40812E4418AD125C5799DBE2149370EB44ABAE366E56
+01CAF04E390379EF47086B54A0460A207A810698B45CA66127CF204E250A4B97
+CCB72B395B6419443CF7BEB054B36F63D6DDFB9693EC749F32D7D5CFFF8A4A93
+1E6B39B4E62203E50A9BBB88AD2A72B4EA1A0D69B0BC9A85D8FFCE379FFFA037
+754BD25F7DA01B647AB07DC3982B7BBAD4DA97E0E11134C68DB5453ADC3B4475
+B55243802B988BD8361D5C05FD0405989BF01BEA30E0313D45A1CFD4C7E24FDE
+FF9DF58A0BE83A1BA0557211F1394A24AAC909D2A205199FBBCC9C8BCDF0DC0C
+E5330ACB4DE8A89C3CBD99BAB2C6CCB1B3E4BD780D2F6AAAC5C15A29E899F89D
+5A589E6621EB4DC953E4E67905C751E4AD74A14DD029534B311D725EB5F1A1C2
+F6530E7090D545AD4DBC85A2DCD4F33BA4E3B3FF4F2ED77F83E94C0AA2A72D52
+A37E13849843288250C20D62762569292C45A12348DA855065EB6F9248057D82
+36FCA9B863A59C73D8CD5884CDB68E9EB3F1DBDEC5136683656659406AEAD8C9
+E73942D0D7E28F1EC6970F625AB99F993E5BFF95
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -3498,6 +3733,369 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.1: CMBX12 1.0
+%%CreationDate: 1991 Aug 20 16:34:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 45 /hyphen put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 65 /A put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 73 /I put
+dup 82 /R put
+dup 83 /S put
+dup 87 /W put
+dup 97 /a put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 107 /k put
+dup 108 /l put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 120 /x put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
+7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
+20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
+B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
+68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
+D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
+26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
+F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
+77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
+BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
+C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
+30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
+148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
+E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
+E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
+337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
+0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
+472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
+A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
+35FD4F5CD7C10D1AA982C30AF9DC9B3B22747B32FDE22742D5E370BF56DBB99E
+43F1ED8DB32DCA5995A24ED64B47DFCC63742DBE5F02F769D2C65ADC78730E10
+735FD6FEAA5D24044B6F8D1A114634BFDFB52020BA2A90461925EADBAC1FF4E2
+FFD8DE1AF359FB85747DDDBDF4577ACFE6254ED56BF78CDA007E0380A3CD8BDF
+B73FD2AD6AC46F6233592DD1CA06DACA2DFA63445C4EC9599489FE090FEE40EE
+9A9AA43E56E92B76926884F909F6A38DEDA3A1562F474CA2051A4E35146543AB
+78A34D8F917CE2D93A4A9D51B55DD2C9586F3949343090282988E8E0A7CF5651
+BD91EEF0DD71C6B1F4B0A9B21FC047729912FDB7DB8DB1E3331BC00A7D9A5AC6
+904B6B861202CD189A7EF310A9CA1D1488E189CC8E677A7287F841285C289DF7
+24021EC39B9E948C791233F3F74935B03EEEBD89C24C97717CB42E7668A399EF
+A6D8363F0AD023B7801C50BCBB28BAA7D6002DCF1BFA0AD0303D8837BC034D06
+E15989DA4D82AC30CBBEC5B66657C47EA427CD5CD9591C478678306ED9FFAC2E
+84B4BF48B6A089D1CDE2CA10EEE191FF2A3727A230E8FFF74C48C2706F2B41FE
+1D985B7B54676E411E75FC00DE787090BF39C49019CA771ED796C700074F2F35
+793DE3C19CF5E2AF8BBFE8835614D166E1E26AEF6B37C8E82BEFB1B1D76A1A91
+DA27EB887BF9E301DF919A020F6466A9DFD55BF35521F270349ADCCD13956957
+4EDE2D1F89116EBCE2A21193D14E70908CE9765BEDC3C5F1391D72B506AF153C
+DB2564BAAE504A9F406F551769D71E2F0DA7FB37A80936923A7A213DD8F539C6
+5AE1F1E880C7B3AAC75C5987407F41C1F3B67AF3AD2BA8553F7ED0C9504CE206
+F77B4FF91E65710F4DA0A1D278D27FF96A8466143D64D9173E511B1B1E96B671
+8610881E7933C4551AF61182A587D674848C85D49CEF70FBE50738C4D48A70EB
+1CAB00C5F13C6754CCC0C5ACD371D678AA03B4C05A096A0427F0575FA36EDBCF
+715AAAC454D71461165521C3400A2D91EBD54165EAAC6E12B9D841FFFD1E215A
+BC9A8E32423D86A01EEC7A28EE8D0F40242F543BA71657258A20BC85E5ABADA8
+42EBE6C015E5DB95CC683B5C41B531239C7A56DDBE46A563E42DA62FCABB22F0
+244F28194D98AFF1DA9F0147C43635488CDA4401BD3B31E1828846390F047D18
+34DAEF7E8E61B5FF5E3B5357EF93C1D5EF16B5556990ECB5E0D2967D4C6424C5
+2C8C5AE029850E5EC1B97DBCCDF0BC1ED1371BB087367342EDC2E2DF6469698A
+3C82B8ABECB9C1DC37E58625B9F76B2FAAF811460B93ED6EBAC7259DBDF4A008
+A2BB38416E43B5E6032364007AF9E4CB2FDC437697BDBC43C67AF4C2F8BC0E25
+0C5669D208D18F446D80FF4DED076E03F99D4959D5DC9A99C2F46823CE81B1F2
+0379B1641CDADF0D07CD6FD4AF25D2DC31A7864E797AB425269C0ADFAC8E8DDA
+E486515200DAFC454A5327D6B4B90CC16E30A6031A4D3F65A1E8A3BD89C21D68
+AF708831DF1343AE2A88A857AB60236B0033CB3712B4DD04563C51D992B3E563
+97DFC9834D4BFBCB4D210D91DC12F8ED66BEE657398C08D1B1724F06A480D23E
+6249FD708E1C4A0DF706681410BD20C29CBC89B276B90693F9139AF5671F4929
+017DAB8BC68131AB77231A8FABEF37F76FDB7FCE5000D7DEC185575FD8812FD3
+0A0BD9A4132BDFD986CF6331D235D4543EA704A3B5961C378A25541B9A1A8C3C
+944A10ABD89A0CC72FA7AB2EA4DB49E97E346615566A67732E38AA4299932E12
+E3606ABE3D2B2FA42C392DF6D9BBAC6CD51DF6AA2825C07779769CFAEDDEB706
+70ECE0B7209FBCEC3CDB71CEFAD3D220B53401FA69E5892B8B45CB24BBFC17A6
+7B0E316DE23B798F5B8BA07A6469117A3D5D6F0DBE971FAC0B52AA859250E157
+CC758C5C634E88474BDF5ED2B1E83DAB5DC4B7C0DA10D5D471083CC88F7696EC
+F4A9AF2A98206F1346A5F70BB6CACF654D2D9305D62E6A0EBAF22B833A4DA713
+E6F3ED176E47B1AE8C5594BD4A261323CF199C7C3A2E4E1964CA0219D3720A3A
+F753E7FFDC756BE5376486E1F0AEB9897A6065356586D218E2029575BE1780BE
+EED6B40B6EFAEBC77BBAD1D369010193A671BE12B9013AF4887BE21C7126C402
+6BEF1CF6EC3C7E0D02B2B1DFB577CBB5D9CE3236DED0B9CC01ED63928C0F540B
+15352F0ABDA3CEB33EB4E103F6FC7350A2494D71FEFF4143B870AE10CDEC3165
+BEDF382B6C10BD8EF0DEE3A55EFA86338492EA37891AF075617FC3E8F5079AB8
+9C7599F2C068961FA3BDBCA7298620E5352661B907B2D7144D6EBCCA6DC3E089
+35D8666F473B72BD7E7BDF0D8073458BEC15F1F6634DF1EC24A9EA8B07F8FF5C
+BF1EB93F18E14186815E8BAC357834665DC3E9F9D76FCAF72D5085E9C35A1546
+8B927AE0AF1A392B094A31E4126AEA7F75E4ACAB9B1925D8557D54A329F4ABFF
+20F8D2AAFC79BD7BF72FCECCED5761748372365C33A263CA1574E4EA87B421EF
+14EFA629D9E5FDDCEA399FDBAA7AFA14F867A5E8AD9EE7046D91E54A428FBC08
+EA946A6CE7D73694ACA1FC67B2F67BBA97AB58C528AACFD57C4A5AC802579EFA
+43A8B8A99AA542E8A2471609D02BEB92F2E51AF04E8DD61D20F938ED4C950A8F
+C466C0EA769EB8B46E265B06B543CA171395EAC0CA72ABE5E62DCA0440E4540F
+019933F59008DE51DD9271C81B395191DEF59AD97FCC60CC93E59FC126310D01
+A29457A1AAACAE19F91368387050BF7129AAAA6613C4829460B65E64C138A069
+2FCD5E0559A5A3AB1924D4FB22F3F5CA1519831F4E41C87678EFD2FA3CF3B335
+266BB07B6D5CF82D3D547BD9020DBE2BDEEEDE61F6FCDD35F896B63E7B1CB104
+C7D488B99B4A5643E1546AFD096C183098D7ACEEFFF84BE9F2FD02F98F90671F
+12A5CCB20A0A1269221280F8DF3CC33455AB3A8DC32380335F8E3E75D0DE1A1A
+83E4A7E7BFAA59BD0090F034C9FED7DC2E8C66814276FC99E6378E7BB0FF38BB
+B5A81DA91AB6474A4DC9A0E4FEB313FA885AB1E9BFBE8198417C5EEF90DDCE55
+453B3B153F4B8DB73683117B6C484D098F57B6DCA65E4C59C8B7050B080DB465
+1D07039B35DF1B3A8A4DC98A77F29DE13978D1854C4B73E8BB973AB40A4A38AE
+9325911E222702054C90DD14FB3B61289FFEDD6744F1E721A57F77D824838D9E
+333EBADED37D76CCF63CD736E5831E9C7D51EE570A8C9AD9717EEA95D42143A0
+048816FA23FAE10C54898998525AC14CD811B0765E6E658879AE7080FFB20D30
+9EAF2D838B3F1D96D51590A2A0F5D484F7548E33C549237576D5D82BC256D925
+E1138FE09B87FCB7540B3E2187FE2DE58D8FDAED0D75651C9BC188BACC56AB5B
+E7C7496C553B7714383ED3E70D6B92F14B05E26B6B0274E44C53C6A84B61CF22
+9273BF78466892B242F58AAA92C038E13258F3C2F9A57098B605C885991025CF
+9BBD909A6F93DB0DE07FBBEBAFC9CB1A87A6A6773A5A5FC417B9F31595750E60
+B50DC0A5CAECFE62543F59E96F51B0D338B7A0C44358C650553B296883CC573B
+C2DD43BC846EB197E852194A2C9835750D6524D63294BF6F4FD3CAE8D1EA16EF
+834B6801D1B081A56E405EE80900D0F6DC00E7800C396DFF63676EACD908608E
+4DDA1DC3A800B63E1368677A2B5EFD2530917BA1539BE6C648CFE0C2244FCC43
+2C1739FBFC39FC2E50875425BC64605B1FB6C37357AE11BEB8E499604036F51B
+52457B6FB29A9126838DFA068EC9D01FE8E69F113F57DC8BC3B52DE2A35CD032
+56F1096B6ACA46DF36F8CE45AEA357C1B7F6FA8AC3C4AA760BAF57B5128D6438
+21EF83DFED26E4144E16AEF1B841CA546B2C54A4EDACDD6D5EC5A6A4642A1955
+65313193EA7C499B168CE70EF13538C30C94DBE6F86FF103029A3A7CA8E0B5B8
+2D6B7B777FE1DBFB279B5E855E19FF08275FEA6A3B9A9D8E719D59CF7D3E151D
+63AC8B3436F913478D7B8E3EA85D7B73FE0DABB9D1EFE917580E2E6B6BC0EFF3
+9444C157805BAB4B00499C528476B2AEA8A98CF4A2530AEFF169786F9BF30B93
+DFD7CF3557CABB61280718C432D1EF9A4FE963B4DC8409B5B38852837ED1C01D
+E6C05FC403E99A5ED5F13E889173C17276142F20F2AA3D8F141BB5C460B41D19
+83C93DD5912F6DD150BDCDDEFC4A27B1A3764FF654FBF0A8CC9EA73F4EA270E4
+A0B7BA521AB41F8869826DF7F22074521F50F53690AD3321ABD7F5EF49545053
+F7F90E8940DF878A9308F5941680A25BD1119B2D003C02E9E271774334D6022B
+64F2A995C5EFA8AA8BF1D6E0BBEDCD698D6781E1C675E632EF7D6070EBD3A0EE
+DB0AA291E350EB1F221354CDB9B8536C2978FE6BB3B0BD6DA6B0B91EE683F6CA
+4621352BDABAEA6CC90B9FD9E94EAFB05E61B62DB5484748A7FF0D83E448DDB8
+9400308AD834C46502D605EB7E08FB5A2671E3FBEBA766CDCADA8B79A3CABB98
+195C456B136E92519068067BDEFD98F4FE4C4AD4294D5176AFCA73439EF93B03
+0BD966E6F1B2BE3B22373CDB626BBDBA1F17A78FF0900BE60BE4D5D39C4B8DE1
+686582842A732094E2F5B09D0E4C20849B103C8F2BE7DE926E5EB9280932336C
+845D9BE95F2C2A36AC3B309786A280A319070DA1FAAC6AD63F4F07971D85C474
+6897955C270CAE919F09E95E3F8C619409D01DDEC5EAB8B8C9CD1C23DB2AEA3C
+FD0E2A2BDECB96389BF0C426D9FD37ABE5F42B1E2C16D9FAD4CA60DA27078937
+108979AB5635BBD83A85AA1FA53ED7AE4E9F62836A405A47FDBB9EE9139E7EE9
+CFD7BE1F069EAC13181C205A4F31E84010727738E1AE9346B013B041DA251787
+DE232006A566ED887AC0DFC66D225FB30056A32BFF52E424F0FB5E7DE74D730A
+3B52A096A0C2C7C88ABE8487245DF995189031D2B83591B41312463C1BCA542F
+CB58F26B6C9C8E33DE5D46178F42B11B09C327B977D9BBF12D84F92C30B4F87D
+A2D656668ED80AA24DE48F60620E6FF319B2D033F228F7819BFB94461CB3D628
+FE05EF240D0A758752C0B841607140C1D8D4469AD4AB47E66B817B2D28115BE1
+57A82769E9530206EFAC4008C66DA918175ADEF5D862D10D0A27145B651053E7
+15042E5E68F771EE1C84B147FACCDD9CB249FD2505EBB3D3CA589A3E7B05E10D
+3EF0E7C2E5C620E68DF375AE4592FAAE964DB394B969ADE73CF9338AF65AA5AC
+04522F0F7054F7868CF38A54FDBC40F85E7804977E5D950F5AD1A2F66EC24608
+A685183DA6AFAAE7CF28B185EFF8F1A26814605CE4D223FD2CB6A079EB5CF7E5
+078E0AA5109C87B3EDCB1383ED7D3E47ED9C30D2AD85F150B9186B609A3DB4CF
+F79FA7BB093B8A243A5ADDD14DB4CCD8BEF6A53FEEE0FA9D300C0EFE06D7BA3F
+BC30F0F22CDE2C36F349A18759F88C7884AEEE21D06D7C02BCF93B3CD17CF374
+9C8C80FF0F29A954485ADCACFC9C45C86147CA65FC34D79161CB7C106711727F
+635D38DC5083506135238A4E750E63DED93E6935D4EB75CC149E6BC3973CF5E1
+60D4C9E8B5DC4F0A4E5B1A4910AC3AD727AA2A27DB3FB5A49A2829149A17B7EE
+AB7FC2C2B9F3E503BBDBDDD7F10BA1A12A2CB61408A23B7379FABB11624DD883
+7364AF01A37017F7D20C4DD20A32CAE20EC709972794AF7426F8CD5A92F68DD3
+C676872ED2CFC73AD91F207A355462923209B449ADDEA984CE93ED30BEBDDFBB
+EA514B2859CB8E6BEA3C259BE25E0E78B2373FD115D2DCB7DBFE1E9B967385F2
+3F784D96F6F9C6A6925BA7054E18F1753855BE9FC4390CE2A394A39E278DEF45
+5B26188A7B28F935FEF2EEEE809BA40250E17BF843E5694007C89010E24889F9
+761BB4D1FC3EDA64295F97AB77D916B02EA4BA866FE2AB03D7A0ACC59DF414DA
+8D3BAF84A16EAE1B42302A21EDC4D8AF38990B936086B399161DBDEA44CCBA44
+3DB4F66F20BDF07C9B28EFAD710186C241F716A69ACD6BBB2EA238B94A0002FB
+DA0B80801918F6E3E12A57E836614703B1D42DB35F27862E58B7CF4233B01288
+2AB48AE700C299C9DFFBA0060C07ACB8AC57031B3E853901844E63BFCB4698E4
+D1C01886850B615E42706FCC15C0A4326C26B78AAD1AA1A2DE32C655761E9E82
+E36EF7DEF7C11BA1D2FBD3085D0C79869C93775622B97BFFA8C88EC793F730C2
+3C7EDEBA218E2616F47448DA23E4B750DFD15D53A1809915EABF8953DC152B2C
+8126931CFA112E100F5F5196918A29C0BBE0D9B57B5311E408BAF5D4F69B22D4
+3330D936A375A7381E6E26166FEB108E719AACA906CF0564A621D5538F88DE5B
+EA8174D416DF5A5E4D6FF766229F6B2A13F6C99A3B813E30EC46BEF614BF7A4C
+88ECB0DE5324D806F63D755D73E000002CA833995AE1CC35951D363EB591A751
+C282B4BA536F4E5E475F32C669F2B40B30E133975A1B066B6F2E9DCCC4394E44
+0D6D73A5A1182BC6633D837432B54998EBC1B7C78F2C97ADCB68DE357609D018
+5DBFF60A15EDEC18AC62C6AF4B9084F6BD2805A3F1295BF9573F03D5F2717F49
+00E086F6E7948EFCD3F1329B874321FEB824E2757ED18DC8DB2CF6E4EC87C36B
+D9969FC3AE3040C0E7CA7B1D0FFE77F45503A52601C1FF22A88F7BFE87CDA6C8
+7F2010682A9D47D020584E1B0589CB3506F30AF338B24512DB82BBC543AA2F61
+7B3A2DF6F0F38BCBEC9CB8E514BC9EA0BE85BA65164EF438DFF8BF8431C04CF6
+EA6BCD20057E86DF0E2DBFB15FB2E8BCD11EDECC2EF55529CB9B8792DE210381
+089B90C19B117BF2B88E5FCA492BFE546D7515C25264DAD4C0C45F6483DCC05F
+5BAE731326420411E7F5773E673CB9A9A84DDC1899CA896F55486C096A4670B5
+633F76A24947654B465E65B1144F3D661B98F7BA2470154DE081588962BD16D4
+94FFDFAE48DC3CF727FED78C56419C328BDCD30FFA2BA50EFB2648D66A1518CA
+FCDE32B5626DF79E03BD7AFCC4EDCA05E2A4F17B7836810E11DD44BC14D48A98
+028A15A853DAFCC4DF862E08AA1C8423DB1EE1C6A5BBE90EAFA8BD72981E0A68
+8B687C155294491941DB5E05FABB7BA957701B448E92BF377DBE7FD6AF56EEB2
+8ABADA2FDDDC6105DC2EE8193D579DA71B2AE335A408C84258813B7F48512E3F
+F26232E759F5566E0B1A65ADB1D98EF2C1E699564E4E8808BDFFF17D2993C536
+FBFFE327AE60F81AEA77CDF2DB327BA884B72EBF28677A5767C74A359DBF2D4A
+5E5B86A99905B95B8A774189B89046BA78B484788DF8
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX9
+%!PS-AdobeFont-1.1: CMBX9 1.0
+%%CreationDate: 1991 Aug 20 16:36:25
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
+/FullName (CMBX9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX9 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 46 /period put
+dup 58 /colon put
+dup 65 /A put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+readonly def
+/FontBBox{-58 -250 1195 750}readonly def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D635D93B1823EC35EB8316AA1
+86031FCC99F57CB21E8400E54AA474B57112F0D4754A16BEC19117E9D3638986
+0777A71B135CC18E20E193AE6C2BCD89F4A27516DBD2BFE69FF9920D547796F9
+89E0825B6BD5F492B36AF136EA91B826501ADB1979A4204B2CB5C0517F2B9494
+9B2077F316D2B3DA256C99F7549E6BC4B04FE12072B09B4F5D482A126AE351F3
+97DB85F3026A793B51E6B28B54661FEB087F011F0BFF67272DD1E8825C180723
+22AE77CD6166D2605D0C0F131537417CB60086F08E7197AA916D590944BD801B
+DEE8F29FFC516E11396CCB8395CFEC9262E22521882DC0316B0A129DBFA5FB57
+E656890C2471675E0566FE461028FB05532E274E6DF77E7D320D09B2203BBB5A
+8B185B66B2F8A18A49589C4EE27596DD56260D0D759D2A12CEF7FC3010BA1B36
+85A2FD45129DC01A0C7570423305C25D957DFF9215102FFF35F428C823D549E5
+014E7F99ACA6C10B3C92805376D0F3F280D65852CEA54F5CC9DEF9EC1347824B
+0733D3341B34937316E77E952AD9366D3B2ED045165565F07CB636385E5A5911
+2620E185B105EF6C93890833054E05B6301137338A3F1D6AB2F80095E57AE60D
+6E5EE2764624849978C811EC38E014AE4A5823734C5CEB2BC22DDA46BB408D00
+4F25CA8ED287D35E26A4CACA77D2D4B986ED2ADD3BC0C3405741CAD56DE28C7C
+68E8944967C022CC55907B3DFACC1EFAFD38D3EDDA1AADB6E2C006ECBEFAC8D7
+18ED3C46C331623D8FAACC6CF9292B8F1B407806A0D4808F51A5BC97FFF59BEB
+03767AEC2B6A88BD4C2E4DB8EA66094068C760FAD1CC29BDF625F831CB8C4840
+79C8550C8241C0C7002722F70E6046031B619E5BCD1B56C537C6F6506F83C057
+F489E227B49AB82DECC871124FFE463D8B624FDB734D28DA427C2EE6C4289797
+4930686136A813045E6B9D51EE3E1C48017DFE3A8BF7EC74A4008EF30AFFC68D
+40BDF5300613DE1EC54D2B13641B8C1898F28642DC8247CCB638B8037463E812
+FE021B7ABFA08C2E6FFCFFDC6EFD65622D50D389FDA80BC2BA629B2E6D1BD6D6
+F655E007CC1A29D44288297010B35359DCC69CFC9D49E478697EB9C29857112A
+462CB83FB0AC53F9148B05834F4659AAC50B979EF0AE3739C7AA9B59961D68EC
+C5A1FCE6016EE3080DF24BB9FF7168C25AA22D3BBDA56C096159B3A5B1642079
+6EB3E29CCCF42D243F43F460B28A2D341B935CD72CADDBB84046C8069DF19154
+605F2A05DA4C634BDC93DECEF681B638C5B1E3D4FC0683C80ACDCB699619BFD2
+59F2FBB0F86B3D9FB4F09111C221C1775B0BAD78661EE0093824FA310B9A7DF7
+EA39CA3B8190B7F8AB2B6E6ABF1C56169360E9CE96832A394D95D6A3B23F707B
+D722DB290D1C06626C4FD1C12737919577A7792854A940C25072E7C4A18A299B
+D728CA9969E5D35367AEDF9444AA0EB22DA89A6B52A9325E5063ADFF0426E0D7
+175694C9090B8079EE96F1D3F22065F83AC7E57A558FDA16DBFFE94ABF3BCA85
+3E89AABBFD4A09FEC104EDBC15D90C295189AECF1499017D7FE59B27C0BCE3EC
+EEF893F66BABA72F61410F0DB9EC5F331334F021083B9163C8B82FF133CAB7E6
+AE2D845AAD60D6EDF6648D8427D68AD5CEF520BBEFC5744DDA2839EE0FF64B86
+9A19466E09D2FEB89E852929681AF889D5CE814C9E6B52F1AAD9F9F52AA62AC7
+18A3BD13FCF0371DAA0E2406CFAF4D470F41701957F228A27B828164A67517A2
+458CC82CD884C3463CC7B390A370F60C1733512344BF950875A1077B8EDCF36D
+4B4D8EA8E82ED14D433BB6F07F042DEFB701CA07567A63C75134B65D3EF2E110
+3F77B3CA6307B9258B7EC84F5FB9D95E220F6C4FF3B679467BB6988CB2C9F406
+D35BAF6A1A2866FDEC1975929B21E637B89EFB2C00A5DEC960E2C3A0967AA152
+5DCD2097185FC9FC3BE58903106D180BFC9457CA0D09F0C5ED13F3EF8924FA39
+015B6CBF4F5F2ADD6F1D015A83F279EDE510E4C3D9151A509BCDD2A899AE2E44
+01A565D9387C2676EA8C69644DADD205263DE9215DEB947F90576240F0FB2E77
+E0B61645A865C164A2EBB4D168FAB72C3638A18314517B6E7911C7357E6ADFCA
+201D38FF5FFD45E54F2A9B91A6D94B8984F43554498E3715092B1920CF3798E0
+CB6C721478BA08F9D1788280AC644967FAA11BE8FF42A7AAF6165820D650A499
+1205AE0FC69CBE9C22876DF292EF55DB33EB59D42B94FBF896977A5DC430E60C
+84C3DEA0E57D3417B21CEDF2F31F16DAE71E5BBED4F243B87CF1A2E3F29BDD62
+36B8AE866E809DE2029B6BDE5C1C1016006DC48864B44CA5EC62AA2E248DF514
+5AA10F6FAC16FE7FADE47405DCE32B62A56CCE03AC947FD72B2959DACAFAFC5A
+51BAE60F49DBA29A27716C5BC43B865976D574F0A2849F78455E7F62A4C357E6
+3860AAC2F8D582BBF14510D1499F2AA36075702E2E7DC9A4B96CD009450A1DDE
+0C062541E090B178FC420D195C98DFD20AD65A0E107E198C4E2A1CA081FDA2B5
+5FC6E8D5243851181B12746D6794DA05C9D7B793FA7DD88B2BB7B1979044FDF8
+C728A51975AB24CE3A7F2526EABD97808BB0944BD401E4D1F3A0EF79E498FCA7
+A16EE68344A9FEA77B9B7B7F7CB1084AC615643D3F38004413C304FAFD6BEC81
+1DBA56C37A55E464A124A97AD5405D1FB2A6AD6D10F770073D422E400A633B8D
+BBC752
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
 %%BeginFont: CMTT9
 %!PS-AdobeFont-1.1: CMTT9 1.0
 %%CreationDate: 1991 Aug 20 16:46:24
@@ -3518,10 +4116,44 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 58 /colon put
+dup 64 /at put
+dup 65 /A put
+dup 67 /C put
+dup 70 /F put
+dup 75 /K put
+dup 76 /L put
+dup 79 /O put
+dup 80 /P put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 97 /a put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 122 /z put
 readonly def
 /FontBBox{-6 -233 542 698}readonly def
-/UniqueID 5000831 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -3741,10 +4373,88 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 11 /ff put
+dup 12 /fi put
+dup 14 /ffi put
+dup 15 /ffl put
+dup 18 /grave put
+dup 34 /quotedblright put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 47 /slash put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 61 /equal put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
 readonly def
 /FontBBox{-39 -250 1036 750}readonly def
-/UniqueID 5000792 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -4205,10 +4915,17 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 34 /quotedblright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 92 /quotedblleft put
 readonly def
 /FontBBox{-20 -250 1193 750}readonly def
-/UniqueID 5000789 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -4311,10 +5028,16 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
 readonly def
 /FontBBox{-27 -250 1122 750}readonly def
-/UniqueID 5000790 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -4394,167 +5117,6 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMBX12
-%!PS-AdobeFont-1.1: CMBX12 1.0
-%%CreationDate: 1991 Aug 20 16:34:54
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBX12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-53 -251 1139 750}readonly def
-/UniqueID 5000769 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
-B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
-AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
-7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
-20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
-B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
-68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
-D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
-26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
-F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
-77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
-BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
-C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
-30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
-148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
-E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
-E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
-337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
-0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
-472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
-A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
-34CA95CE253D43CE484A4988A8A48CFBF90D270E9286625C85471A2EB7F38FA4
-34EB9FBDA3943C873B3EE9AC29C25B8E8871D8BC351A145FC6996EF4FD40DE13
-B13EBC70FBE696BE42627082A90E595D9624451079C78363C2EA5B1C444B5476
-583BEDB58A28DF8A84489192AA68657059D7EF6DB9DAC2AEAF046BB26A5EAA0C
-D131A5E86EA78DE50D398D9B6EF03106E96DF9A9E0CE39CB321C5D02B2AAABF5
-94AD08C2A6CC17A27D01BD5644CFE4E3D3D1656A549CB54186BA6770A2BC20E4
-04ABF8220B11EEEEC37D4D8A5BC1617EC1641D3F9C2ECA670FC006FB1FFD9341
-4587671F4E61B3E2296D4F6D56B2A31A1164DF9E4F0B9CC664D6CC756CD723F7
-ABC1EB45ACCFB4F1759C2033A6F53A3D57C598B533F627794C8E33EEAA2FA620
-BBF596CAA44E758A126AEDA85EA50D5A9D9663234B00C27177AB587558735465
-58BC0475F62419545ABA0C8E01DCBF9F957CEFA6D8BAE29880938617A53B9188
-582ECB3F604800414F6A82B328FDE173B1FEC93F8793DBC13E72AC0D2B109E2E
-68F2446458EED8603E40A081ED6A42DF179D19F4987F7209B52E3C376CB451C5
-EFE8B58C5C781A09695D61BE4D04F909F2EC4571272F01234E00F607EF2CC292
-82EA6C0FF8E48F08375EE50AFD6B5389242EFDECE07DBC01786BECD51B593FE8
-AD266705B65F77AA3E79A7CD5DCCD08B891BE057813E3AECD0EB731B800F2673
-66ED2B92D4C1076FD8A738EABAEC08F6874E4ACF5D59964A700ECD27F2EE7745
-0B1DE2FC87A2DE5C2F6798AADBF79D8AF23AFB475DFC4BC9436DFE530B256FFE
-5C048638D09DF6C096163D66DD1F4AA7BE987CF1747326776FD01BB90A7FF8C6
-761645FCB4EA0CA06446ED59853900821AB9E471D4D27227A356A412D7939EA8
-37A08AC3521EE59D9F19CFB6A7A584E9F93B5A5A3F8656279960474165DE8A30
-A4C663AEE32D1136F0B442CEC157544CEF826027945A488A28344B979E2DD4AE
-B14ECC9B0E5A73896DEB8568D37E314BBA7BB8959F73B7D01E276B1830624440
-FA3164A2C29C59C2F1FFB8401086B7BBCCA30EDECA14F54E06B08DFF6CA1BDB0
-829DC7E61DBEFB5A5EC9EE86C2D472F6BE8A3C56FDA4FEE2CDB7692DA1BFEB72
-5A0F2AE43084C78F336F2D89CC8FD3709B25539D62B454E6A04E3EE2C97F0D8E
-6ED78EF414CB1D63622CE9E10BAE5816292C33AEEBF548CF2B5D94623EB8E511
-3334B355E123D6E4E7E3C53835D13CBCECCEF1C51DFE1071B7E569A15ED96CA9
-62ACA1C3DCB706A4C02D8E42405CF26BE3C818A8C707BA372442CF28E3163A0E
-D1120AF5F1300AADBBC1916FEA6D800E66833AC496C79CBCA32E4EFFFB970779
-020C078BD405C043DA53F72E5FC9AE8267B438FC8BFA54B16ECD6AE85D58CFE6
-B016E66FEF5D09D6F98E5B9FA10C34A2A4038A31A1D4DE53EA6A1DD34352E80F
-04C88A9BFFE7675A041298BF53A9276C5C41ADDF5F8E1B5B9DAF14B8558EA38C
-32CCB779ECFCCC96C89070689B435E5B2170ECAE2FECF7BD61C56743ACCEB167
-69682DC47C79A5D15A347E3402887B5AC0F37DE50552A3B1A78173F05E51FD40
-272D9A24636A091B8838E95EF5FBF2EE5B5F8170567CCC2F0D2A9ADE544BED5D
-F5E5C7620094EB9DC27FA91A102CB3C18513AC4C1693963F36CA8853E43BEEEA
-6884FAA2F377C5B6038A6C88797A7D638E34AA75E1C9CE84AA7066F55C54DDAD
-AFEC3AD6E30AF343F1B959A6716C77E168205676A3B1A925F8C077EA24F71601
-D73911656C49C9F802BBF2A2EC3E34D05253B983019414BA901848CF85A92101
-F9610C964BAE05A848C9CB782229AFBB4BA2D001B253C307454458BC7E566EC4
-636D341B94159D40255545865CCD8A8CF439BF4648986E2811A608DB4263E138
-7EF44AEC48BA7251AFA45BFF133F240BC1DC8856D691689A8475657969A28134
-A3D0523EC9DAB3226A0DEF850FB72B4A7A73B439B2B5C7C4F436F2F38C725BE6
-CEE007D38A40964C5E3827545892642BCE4F75F98838A51246229281B91F5707
-D941D76130EF51557D83D8158685882304763645F7B09F75920953D4D072722E
-5EE90E58E8DE2C1A135D8D0678A559B40F25196D9C068BE4533C4F62A47E0B19
-CAD3925AA7931238325F85F8BA4DFE85D9734BE3ED9903D93011343326512D97
-B5373894E16E0EF67CC4F9CEC8D703E8E15260229BD83E6918C4AE30B916F52F
-02ACCB8E209B55DC3BDCED71EF713CDA2D05F7367916F4D417F93A8F8A456C5F
-9381E360D929FBA9AB0FB3DC5B7E721935A1F9EF16C58EFCBD69654EFB9DFE58
-468C2619072CDD0EA19C3AF11DFA2124646BB8C6EE6B3EF5ACB71F2C05D644A6
-B3AE666ABA408CBF81D25CA2B8C570C14E694D18D391CE2B5C08A79287CA0023
-2D5E52D9941219C8AD310E719FBF0DEB3FAB90BE17C32338DE7CAC9E8F1B5E01
-AF57A9C94C554B640C10BAD1A5A2C21475D0E8B87DB43F51A1403BEE875B4027
-22B651E98E8A299F65FD101ABE3312AD85B4E4B4DEDED913FC4F86FEC320EEF4
-19BC9B250A48E0552788C82AEDA05DFB20B098054CD6B56AB3FBE061C5065312
-2878DB8682DE35202ABB8CE7170584DAF43DBF6A2540B12027766BE2B9EBCEA5
-49B7F5F65F02260CFAF4FE15D59EE3378E36CD1D71EAE336BF3A8F49147F1D7A
-3034C23BE5EF8380E02EE1604909B7686B813E7D50070A86B47EE0774A394B5F
-BA8CE75392019B0BD14EB9DCE89ADDC74CECF2A822531F0CEBB01ED00E3B8253
-A55449F5FE3F987B28B89E30EBE3E6EA34B123ACF091F99C32CAC583725067DF
-9100E23E81B49C5A314760465931829DEF8C31F15E43BE6605D7CD290E7C8D63
-77A899A9722C2BC3C977B4E04D48C89C7EF6EFCFDD05E8765F5733ADA11AAAF7
-CD7850D2023B74B62458EC6D856B9DD2FDD8C184F68DDE318B820B97BDA3B957
-645B2B6680AD05CBBA8ACCF21926F885198C56F16F7DCCD41678A5CDE1C61EBA
-B0484A86D4A7AD1E7AA3E785971C13BCCD22524A05D3F420AE16FBBDD486FEDB
-A05386802F61D9770AA2385A4387C456910F23932E22F7A459EB88A7C3D6D1A0
-C5489866771F4760E299FB7AB9054A7E720EED586019C93B666BE01E6E0289F2
-AB671134D783829880950D86B9F52524D6F2D14030D152C466CD77DCE2CE6F7C
-2D5264980F5A4BD8B21DA6C2D004D1459670195883E17131C9AB9F1904D44569
-2678D117D3B7D6B346D6B47A28E2EC2E4665576358121434F822D5BBADDDCD85
-125CA8EA158FA01D10DF7C66D0D8823CB97EB274ED1F75816FE6C06518521506
-23D5AECB764C06FA8B66B7EA53B3342C312D22929E6B9818479217A96F603AB5
-51BAD21434070138942FBAA3284573D9EAA3C8149333E36C253B4B8988765113
-DEC0668CF7AD9C1315D724EAC613D42C72261C79346D547C20D41453F9259923
-95F0C48724827038D58B23C600C1170759DB71838E3855A5E8AD8B790EA4CC63
-819B23871CB0EF242F14A6BE5E89735DB518CC1C6029A7539591F23806BAC994
-BDC882D7B03DD3D336CBF881F82B9DC16FF626E6D563F5411CC363C623909134
-0FEA73C7B3ECFBDE36A34FC9747CD0D26521C822491545ADC661CE17FCACCE6B
-5B13884952F1F58D3C4B814F4308C3C0C3CEBC17452DDAD81DBB438784B4B0C3
-948C6575A7C950E3E6D84D7093AED5ED0B32944FF6656C88FFBC50D449AD26EA
-9AC728F8D524BFDBDCCC9A62CD26A891045689F53559F1476FD75EDB33898796
-A6FA150DC93F934C8C04DC428283C7EF70C552662A6CC300EB81F0C7828AD88F
-5E1BA31C37DDC45CBB003DD6788B92E0C1A948FBB29AA586E5461304A97878BD
-58EB58A23922C4B79B34230EF1044E8EA83C49C65703DE405251C98C55706EF1
-4C04416CC45CD8A0EEA03BEB768401A6C61980156D79041FDD584127B17473E1
-51D3CE602B8812C43E653E5EC88283EAC131C9E3FC56855D6910006D9795EBE8
-B65197CBC1ED0416295B437E51168ABB321AC22177AF8547F71CF6485933D5A7
-A46892E23BA35D7C49B91E73589A350EF54FD4002EC0992634F0903A30EA5EDB
-A86DC40683900272044B4C356A8484DA5E751DA874C0C263E2898E233ECA6239
-58A9AA14F9A70834F114D967451D73C3B50087C218852C7097E35F06F16F2182
-E0431C593105EBED3113CE28B42475BC60D1D18D2721B699C8C2244EF03D407F
-0B34E11035B35886D9278D2BA2041EDCF30A4696C1702A3F4C51696FA7641C45
-F5A056773B9520743D341B1A134F16705500A05DD5CBA1106D29B71FEB0C8BF7
-021800B7B0BE434EE2A14372E66BFBEBCA241614106800762108C056A96EEFE9
-033CADCA9ECD01CEA206D6EA0B8C5431BA377AA817F43E4D2F9FD39030468A2F
-CBC4E02083AD5ACC06BA592680C81E5D4CE2956A83CFC64A86857BB6E19D6F71
-A76EDB
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont 
 %%BeginFont: CMR10
 %!PS-AdobeFont-1.1: CMR10 1.00B
 %%CreationDate: 1992 Feb 19 19:54:52
@@ -4575,10 +5137,90 @@
 /FontMatrix [0.001 0 0 0.001 0 0] readonly def
 /Encoding 256 array
 0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
+dup 11 /ff put
+dup 12 /fi put
+dup 13 /fl put
+dup 14 /ffi put
+dup 33 /exclam put
+dup 34 /quotedblright put
+dup 37 /percent put
+dup 39 /quoteright put
+dup 40 /parenleft put
+dup 41 /parenright put
+dup 44 /comma put
+dup 45 /hyphen put
+dup 46 /period put
+dup 48 /zero put
+dup 49 /one put
+dup 50 /two put
+dup 51 /three put
+dup 52 /four put
+dup 53 /five put
+dup 54 /six put
+dup 55 /seven put
+dup 56 /eight put
+dup 57 /nine put
+dup 58 /colon put
+dup 59 /semicolon put
+dup 61 /equal put
+dup 63 /question put
+dup 65 /A put
+dup 66 /B put
+dup 67 /C put
+dup 68 /D put
+dup 69 /E put
+dup 70 /F put
+dup 71 /G put
+dup 72 /H put
+dup 73 /I put
+dup 74 /J put
+dup 75 /K put
+dup 76 /L put
+dup 77 /M put
+dup 78 /N put
+dup 79 /O put
+dup 80 /P put
+dup 81 /Q put
+dup 82 /R put
+dup 83 /S put
+dup 84 /T put
+dup 85 /U put
+dup 86 /V put
+dup 87 /W put
+dup 88 /X put
+dup 89 /Y put
+dup 91 /bracketleft put
+dup 92 /quotedblleft put
+dup 93 /bracketright put
+dup 97 /a put
+dup 98 /b put
+dup 99 /c put
+dup 100 /d put
+dup 101 /e put
+dup 102 /f put
+dup 103 /g put
+dup 104 /h put
+dup 105 /i put
+dup 106 /j put
+dup 107 /k put
+dup 108 /l put
+dup 109 /m put
+dup 110 /n put
+dup 111 /o put
+dup 112 /p put
+dup 113 /q put
+dup 114 /r put
+dup 115 /s put
+dup 116 /t put
+dup 117 /u put
+dup 118 /v put
+dup 119 /w put
+dup 120 /x put
+dup 121 /y put
+dup 122 /z put
+dup 123 /endash put
 readonly def
 /FontBBox{-251 -250 1009 969}readonly def
-/UniqueID 5000793 def
 currentdict end
 currentfile eexec
 D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
@@ -4646,418 +5288,422 @@
 D9955BF6730BD59495A1F81B708292B509537089D8AC34A06DAE5E8BBB9B0A0D
 F09BA6723DEA964F06C0E1A6541656470E251F5AFC6677043DE7C6D85B60D3EB
 B8A4415DBFDE3F29D5FAA0B5CE4BE9559595265FA8BC24A172FBAF9B1AD0A4E1
-1CADABC2B71A43098146DBFDF7E126069259EB490CAAB07D5C9CE17851C89DF5
-572CCA6C0BB6AB68134501204E2F42F12A5FBA5AF39B47CEFC12B69A96539F94
-33C51466006D0C920D65668958967054C281834D9C7655F2F6524386218ECC2A
-663FD92E0B7F7405B78EDCD58A9F3271BA25BFE20425BE8277E060439CC611EA
-7DFF650F64415B04FBE57214EE2B29B5CE8F92A993464BF54D9182B0EE8D7119
-809AB256DC872A482F0E60B0A19C6B37951739429C3A0530CF99435775F3F792
-94B73CF661AB4204C024F5F19006E9EEDF6017C6BE0394BB447F8234C99BBDDC
-2C2B5152E47DA5DE6755C163062053B41027582ED55DB7B07BF47CD5ADBB02B3
-9015D56435A66993565A41CAE6F0AB8759E5DAC216C22CDABBDCE5D4439BEE99
-3270FFDCE90B4549177EA0EBAE2C5A1E847AA817E02532B5D385D3B5A26C2B56
-DECDAF956D6D29A7DDB8354BDE4E48C2AB710EBDF5C625193F0ED160A40B49A0
-C9DAE7AEF51711C397619848A91B59BEFE41076A0E27BB683A1DCACB22E260AA
-3E86F800CBEBDC74D02DA003F0CAC365F884FB44B3973EA6DC4FF623FE085D43
-858127C8DD62D421859BA1F7916416C80E831836D3CF0B73EC2FA2FB22AA624B
-F3A710DE015119CF6EDAE22AF154541C5A587897D181AAA2175FF982BA7CE014
-4BCD82134B6A6A5660EF786A60B928525C5D88147DAB7EAA987F93E98BAE4818
-169293C7CADCB1DC7C9F07B479534802084F1731BB66E5EB7C110542CD6A3298
-DE36F3507C76C1ADD1AC1068DE972966A0251AFA805D875C451865BEF7CAB9AA
-CCC11E1FECCDF6A9123CE9C74A3FD7085D2983011A7802DA90949FA3BE5CEE54
-AB3331C80548C7466F159105E91F82975A6825D805567BECF797B837AC11E688
-6E6754DC135F6E4C282A60527A9C953B2E50F5075DD685A18098FE4F3D24B950
-1872172E32B5680789F7E59D484ACCEE8E99E45A817CE6A5CA9FAE944C09B476
-A5CD9D94B162E78AF508B60FAAFE7F3E0C8F7923084D1C4A67D3320F025C6E52
-BFC0032BEA5A3F76E76429EE2C793805420E30BE3A5C53840B78F5F38109CF9F
-99E43F466EFAF83C7152E41068DAFB33A323892D80BF6E90130EAC21AF7CBF4A
-EFE033EB416BB7517658E4B5BF4257290474C9CECB421F3F1BA6B80EF96BCBA0
-E0382B913A7FD88E458EB8BBF47539E828136AD3EA71646EFEC60C67F91E2727
-00368846A6416B2A1733E98724F27598E3D5897132BAF362F59817362F6CC968
-E9F3E9E308F7530B72FF543FB9010F4BB2F2515264DE8C31F4E00B62F9595118
-3B2C36AC6BDA716BD6D32FD96D42EC6D302738329A283465AEDA47E552E6AF69
-C84E3B2D73419809C4BD374A77BCFAEFFF9A5062249A354F9FB10893DB86CCCF
-200E466C296BCE3E3E5705414D9BBDA844C1BB3E006A79042825C4BDFB799EFF
-E3EF1B1E7A65CBD0A0A6372E59B5B7EE4A592824465AE2962A6B7369457A8E94
-0010EDB10AF373ED96B37A46BB89956DE7A19B23AD950CCE08CB45C85AE790A4
-E85A6F880EFB2BB7BF3E2E29B5E2A83232A1B8BDE671126C4B33575A60B5E747
-189D930005BC349F7D0B41825EAB6D3A589A76F2E8B243B926C727BBA1EF517A
-FD8DBE8C0A7CA001413225ACD0817849E26C410DEF3918C3BDB0DAE151A495C8
-14285ED6E31111ED9731C671E77C8F54F9464FFC2456F9567092ACF93AECFB8D
-3727837B8ED97903A6D41647019C67E2747BF2BF65B3D59CA88F51ED1DCDF6DC
-806E4A102B918A9DB827A7B66EC4C4EE3E5775C71D8510237C1497C45277F22C
-0DFA2881AD867FDE7BC39934F070C534F1280287BAB0FEEDDC6F8BCB318F7386
-1B376D22DE4B8B5F2E08920C97E4E6E8065EA223A9C359231871AA4CA20811F7
-8F49B500DB26FB2B550ECEAA706932846016F8EA7D9023B71773FA201111302D
-7634F88FB89AFA818AD7C787A2166E72DD905512437EAD930644E4BA72B30576
-71AF31BE577E7EC8B14F59276B18A134A78C03B677C554C06DCB7A208CE49425
-37C35D9D87AA3A7AB609E35F6E91C30152FD25C41BF9464CE4BA51A9AC615518
-2F36CA26ACAFA7E98A7AA00A47A5B6EDE065C5688952CA2EF7B09A15B19647EC
-E0544F55617714BDF5D9AEF7DBFAB78A586A68803D9844781E8A51D609F13568
-9F57F24318710B9C452365D50447226C82C5917EA8A64A2A89ABD7670E0D7E4A
-6D974C5E2B951A64D1DFFE5EE7A485A3AC53E912CC9C92105DB48CE130CEDCB9
-5821598180C98E391F9EC60B400CCA34458F1A373322D9A3B9E1E81BE06E866F
-9EC2178AB4ECDB59D93457073071D7E43E5FDFB0E062EAFDB97E8EC218ECEE68
-DD6D35AA1894825F1FEA6D81B7D23A44F8D08A19CB4BF0E18F4EA76763FB2A50
-64F7E5F07B5A876169DDBD8D650F3D4610722B2E07FEFC533F68819B53A8F438
-5A602C58C058771B3F8BC7F96AE43EFB3FCFDEF95A5CABFAE677AE8F9AD4A36A
-A6BA3F38BDD73400CD1EF3C4831A45E05B9E7B9231420B6D768B23A82E9A4EA2
-DBED14D6E50B7E01927E453EA6D8B30C78825AE4909553EC5BD882B4B035E6A2
-7CE1203A335617541EEA4695058A4E126787E22D5E1669714B969CC5AE84A31D
-9EDFCBBEAD06C9A7916BC53847011A6ADC275A6EC33270DCA0BA9BA932A23145
-BCACA63666478E0A7C5160FD93EBDA381ACA5C8F58F06B3702A0BBAA05DC4CCA
-D2C44EAC4C4D298E9E46CC571685D256C83BEE24E62DDD8E76536F3B3609424F
-F1171F1BF0AD0A58714CFAEAF6DE54191223D0ABA749C8101E5A16127D1D0DF4
-9406C8429E444A743F31B9330AD6EAD5F6F73520420EF459237BC0C66B260C1A
-187F137ACAF9F40BDBB989989E7AB8A1C3335E710B67C3500371A2E7C4AFAB4E
-1FB4DDC6A131072C5FD06791B2EEBE9373F4B3441D3AE98522EA2973A90FA3CC
-4B2AFE99D1C4C9EB7F5C1C47EE9E7DDC3C3B68F650B7C9E886FC26367DA426A8
-71B42B7C4755E0095D0532B46261900F7E8B329AD2EC68A68D4931A0E3BE16A0
-01485EAE7996A78EC4D4A6BDFE74110C2E02FF334F3CA7159ACA2B650675D5B1
-1EDE3B9E601458EB787F3AC4CEA4767B73B52A57CAD1EB70D6568261E9CBA12E
-384CC67E3994CACDD5C0D0F47D887F300F12F7D1FAC2B7CE1197FD00054C0EF1
-AF89DC26A1B1C2AF63021D0BFA7CB3047F656E91A19AE24EB43B040CF5E9F95E
-BA1795D67FBA2E546487A18CBAA7529C721774A8AFF7C100C14C297A9F384160
-A04776F76E2680D6943134C709F687F237F4CF6EF47163EB132B794E2FF20A82
-053F328D17079DF6CF32E9848FD66BC527C0E131E9D1FC97829F5A1CC8E83ACE
-EB69F29779E6307754F922406DC678D1D03B79332B37599691A631E870162E2B
-9E62E33B855E302CCC65BB63C9CF27020B37468C7D6D077A1B160965C068BD71
-82D9F8ABDD4774667E1E39E24B1A633A43366F4944DC8D2C11F7A02B8674BF00
-B23CCB21EAFFEA50D1480D1FDE0202A070AD2E26F3A3D4818C788AAB7504A31A
-0100373E671C092AF5DA9120697A02BC5117CEF9C99529BD7CE69638563C47DB
-F3F5C0D1CDA42F4B4022BA73D38D08D3D9EDF3974411853CB106A42250EE1B89
-F30FD8C198EE0B8853A94938D1F1EA49A01A29DF4223961176E652DF1B7386ED
-5FE67E6862B8C251D7099FA595BECA96ED987EFF9FEEAF458C9D8CC96E7950DB
-0C3953247246EBBBBDEC54FEEA94361D2A48989A505AA0FDFADC79EC04C21B7C
-30BC7447206D18803A805D761E118C4C00FA627E668C27BB2B8611F383B0C083
-EC2C893C321865A6F1A2A5D41FF784146869B32CB36B90F280A1DEA8C0AEB466
-E8E41E3644EFA86A570B35DBEE3D659DC218626E669EDC6356103E3E0278A698
-D922C30B1E17B1306D47EDF100839B607E38625E606DD8A69665CAD2DB0359BB
-114B563DC25B4435EE7B48EE13FF7279684799C77D173DAE3745C5B96EF36130
-FD4287E15F5AD3FC860450B626EEAE8A91C5DF4E0026A79DB29EEBC1CD6D7F9A
-6F5F1F7EF2D86A27C17C549F5AE2A70F37D875ABBF3DB9A887EDB9523640CC57
-8139F9D3E3D447C6AFAE0FDEBDBDB6B684AA0756BDBF7F6FE3F98A9B3762C633
-B402C3AE79AC1FAAA7153067493CCC75E36FB3E5712334BB97844CEB1A373CA5
-E8E3719FC1356C5EAD2DF0651BFA411DB07685E9DC0202D84D1F345DA2415EB9
-589641BE4AC38179B1A84235FFB9C027E9ACBD4F617B85C67200367EA46EFFC7
-D6DD98ACFAE40146DE5D6832ECC2D02E96296E02DE80413214A358F16BDB1C25
-6F36571B1EFD46B7C55FC027B5DB2D02BAFEC217C6F1ECDDFF93366158F0E61F
-E6BCA221296534EEDBE3C858CCD8D59F93FC6BEFD108C15E37171E39587084DF
-59DC1DA290D4DBD0CB60E6A679DD2343D9218C1C710227152D2E969C9E6F190E
-0BF9B0BC1E4869FE1E84F5D75F181A2741C1EA5BA1F60E0CCE48721A66949703
-6CE15B088831BC62F8036F41617C50A1AF95BD03BADCD06EDD21D2F7B4723B66
-33592393B74D2181FB85F43261B2A13E363EB1A7E6C659F7395DCB66C330A744
-F73D1E97B5C056220541984A964031D7EF095EEC10AD3A25760F90C6715AE72F
-EFA9305D5D9CD8DF6F40DADDB59817389B1B8230BCEB6C14A121BCA144561E33
-9D7A8A5524196C58669ED88E1D9045C92CBAAAACEBC1A811869214EC20B591B8
-65A23D369213762F23A57C62563D29107BCD2A5F5AC891A57C9ECD174407F42B
-1AFCED966981E52DB5C4A4C3F720B5F59F040E301CFB6A51AD65D525E6B5C87A
-35834D558A2060D04BF6E707B7911EEC1DF03083BBF0F9183F4C8CF77B4E8D02
-DA5EAF50FF0C488E9F79DFE5430EC8CD8A5F89296F0D821E493EEEB1FCEC24C9
-78B6F286AAE0E651F4C7DC9FEF119FA5BDED701E7BF810916EEBFB8C6B484E56
-8819F0844707AFF8DAF18C5D3D9B517F77CAAF2DA954513178956208D8C9DD61
-220354F7508D604ECC88ACD5EC8043289F2AE45CCD364EC4E166DD0EDEFA72AA
-CDB6296445F2990EC4960843CD578C7006022B95EC3DAB29952F77CF1BC8080F
-DF604B19F6EA7893DF55BF917942DF0A3BC0CD616DBC17086601BE682B684E5B
-D857526612AB7AD14FB568F14DC362ACB03B62C9088E086F65F35893DC6D6855
-7C182E47D8777123B791574EC9B21B84BBACFCE67C09260399506A647542D7FC
-13D6957AE5E5540EDC6426D593584FA88BCFEAD50D58BC8ED4CF2EC9A17C24E3
-116B461A5700489D4BF18E5E0EF65DE53B54717C214CD56136550C3A6234BBE3
-EC5E3E1419D85EACF258D99FC6E24C31DA6F295C37F67C60F67CADABC52E9DDD
-C551E89661D67615730BBB10FDBD1752CC3878432692ACFC21574672BD96B124
-14CED5145F7D900832BE52330E61DF52EA15E053108A216F05111E10362F3150
-CE2C71A1CFF3E180AC73656282F8131D04E7AC606A5D3DD7F73903F86A9C962C
-7E3757E021FFE13F500291B0BD7B125CC72F72AE812CEB518635DACE4526D8AF
-6F59F7E04BAB47EBBFC00DABC431C138C3AB431A5711E8300E642057C1B53406
-6AE834CF6E015BC7C1BDC5732A6FBD1FF9AEE433CB95EC2876E5C21088D6C9DA
-3B4B202A9DB29F39403EED0162A345C27D6394EAE12022FE7DBEDEC44B5C3DDA
-2AABFE9FC183E1444041A93D61FB32513CF0F9668F6BC1C0E70AF86825A2AF96
-9E3E81E1719E96B57444E668B3FA5C5752CB20E3939E4FD0FBF486335A106D06
-0B92D048462A276E06ABBA46C29BD8CC2DD2E5B1D9C1C5473A2EE9A07C4AB93F
-D6145C20E057B0E3676963F91506E04ED4F722A21E7E87FE3801EDAD2B538CBF
-C6F01C248A875EE5465FB6F18461D90A33EDDF809EB16F41ACD4E9A787FFAC7A
-B898E66ACE4EBD13D4A0EA1900960BE198353E0DB4E4B487CAB3C97CEC4D4F47
-CA30F76BA036EA388F755A6DEEE83B44562ABDBE5A5CEED2F89C9242DD3C940A
-61AB21E66AB7467EACB4B6DEDDC793511902B452B5F61E1E6D808E29C908B747
-7AB4694A4CC0F9F47E00507578B436523E11398E7B55CFE51C6A8364F301D487
-470CFD00A8A47B31D50106E49677E9D87956D906601F0E289520E0FDE9E499CC
-89FBE94A5E688FF50CF7B2387E08C46FD5B8E8FC96B137FEB9FC5DCE08723D40
-06E4A53E208FAEBE3888F0F93D2A644C06CFB89FB5B2395B49BB9A4EC70831AA
-05C293689F11F077E05E6F0A8E461DF9FBB71A9355D720C8C1373D3B3153DC00
-410A637D79C7CF4BA752EDCCD261E31014E6F547CC2868714AD2DE3C31E89617
-23A588D89ED8EE5C659988273E41719B1DDC0D11EA1D3C726AEF7AA29A34951A
-9D45D317D2746301CD942D37D2876ADA6E12F86D1AA6B4DB8F2B2EF325AD1F38
-82858F588D2DF81D22826A537BF910A7C16D5FB515246F6C0D040EA4102693D8
-A87A3C0B8583F860B95D9B9C79093829CF6203487F60E5D72D5E82434EEDA725
-AC16C090B8BB9294D3E393903338B25B1D62BABC34FFB10F4BF2D5E82F60AD08
-72DD274414A257221EF9F5C5A8E8DDEE14836700258DB7D13A12DCD0DD021BC6
-589799D67D959AC31F00CB99170D2DCCBF8160A51EBB2CD2BA029E848932BBE2
-B9423EC5BA33DFB0A3C67CFB4D797D2C8122FBF2C7EA01EC2C399C6CE040E3F4
-0BB6F2D2F03C930204B6567A65CD0C60AC6A732E50EE667BC8260F1C361A13EC
-2B136537DD3896FB79DD38618F3131C921BC9BDD7E614BDF54C1FAD91BDC4679
-7C5E029F2BDDFF742C814C412654050AA927369C8728CBFAC36FE8F13BA49E1D
-A0122018BF04D21DA0D52634B0B899B95FCD1DE6D30CD187FADF6751886A61D9
-101426CC72A376E06BA803534C9A13DC1C307C050950FBBABB74E47F031C61AB
-4FBCF8342C2BFA693BA2FF69E019AFA66A1C0C32DA0D3EED025BFE2F7ED95B81
-C8252D16F395F22E8755FEA6F4538A5CF02446E50D70D56443CF211CC81E26C6
-8C39D2FCCCA77D5F3F9ABA64A65951DDE22B5EF4B4496F921DD0FFB057A48639
-784D16F9248C86F267ED2AD0CE266320877F62BC81BE7C9BCAEC9E1584F94D36
-F1ADA9AC0411D5274CBD0C442AAFC80BB2DDB74CFEEE05236E06813FFEE32223
-7ECC65E13350B557EDDEA13585EBE55DC13183F5E99436E7DAD73CBAFB4CFB64
-B5BE7831D843596C3D4253F857329AA4AB04CDB89B105BC802472922FAAB7F15
-DA1E0B69880562E14FEBBBEA4DA6BBFA0651228596F9B8FC9F58D4581AE2602D
-05A865808D8A4589E7F1AF367B005A6DD91D729B5AFCA23E62D0DC90F3D6A1D8
-48C9168C60CA6C56F2F5DD26C1F5D684C2BE9B99C6B6CF2CA3299169F89F7C6A
-69751C92BABCF3EF4FDEDBC054DEFE206736309E9B389C6076545224A42E7ACA
-A11DE0ED03455BC7BA39C03D85551CF55555FFDACB028B0D4BF14D623A73D1DF
-3F586BCF7B5055289EE607C749EA6D4A9395346EDAE9A4E9217DCCA5E68ABCF7
-C3A056DE823247A1558564B77C32260E6F7E0B3AADBBD96C34C3198B49F2A153
-C01CEAAB7CF15BE284B73FD0A96E1F95FDABA3EF350CB517B32352A8E0A25563
-73FC2ED666350CB611424297FFD478546B8F7FF61EC59FE1CFC6FA55A4B3B826
-E8AA4C3304AF466CB20167C94DA8BD705572B76D23AFF04AB385FEB64B59C2A5
-8BA8C060E27C100E644DE834A7473A54924719BE73BB8A9E75E3C9E3B81B0D35
-30A87D83F62BE30440FFB54713CA7A0BE7E88EB555C1F3AA39C089A3BEA298D9
-346AEBCB2DD30D7BD35AB683816FF2EA42F4D43120364CCC51D1EDA5ED096E64
-D727DA194FCBC594D84CD31DBBD05FA91A96718B111E5D33F52D946A6173E661
-CFFE5A419A3924AFDC74923CD358FE3B3918CFA198DC5BF8F062FB77F64EEA2F
-4986FC5CFE6601C337D095024559823097737BCA52E916A4AC18D8717C5C71CF
-EEDEB3DE27EA888639BBC39605B69FEB4457E1D5580F4E30F91917FFD44C25E1
-C1B6972076CD9D585CE0F96C45D30A95857F2CDD7F5FE98C22485B63398967A2
-9678FE1BD298C81CB1989865C7F82EF201A1DCD210E8A8666B15682B23429E38
-76BCF61BAC6C0B89DA2BB294C8B04E8D4A337065FAC924BE82913579496AABA7
-AFF726263A20E7B8FE86B696841FE021167C2CA8D5AFEC6EC839F67AE4146408
-BB202C20EA7AA5A91D3E45AA3661E902E35C240B5AFB5E540188A440EEFB30D8
-0C46A4E74FD4B1C20F09A3625A750427016D08EE8C223E00D21E9EA40A3FCCC0
-C398BEBBB617FB172DB89200828DD5097C44062855444813A5479CC20B9C72C4
-1C78243BC0D7CBFDE1818D53E6F39BCB890932580C6816A9E3BE683DB17E6FD6
-E063F6ADFA119B8850ECA736B2032B835BFCAE30F31C23B028237836F9CFAB95
-066D6A7F20B479AC07E5A85D88E0E779319FBBF3F740C62F41749FEB62FDDC0F
-F136E8A064F3CEDEDD96A74E423EFEF433FA775119E096B80081E99314AC6EAD
-D32A9893A1D0668DFD80CA35AC73E62FBED3BB1F55720AEE1846E97C796435E1
-CEB76183A40AEBB7DA0D4888965F463221FB7F806281E41BA7A1F75F576763A0
-283F8FE8280992479A964AA115C4FABF84717540B98D4F7AE5555DCE2972238E
-F3A2F94B6C40D0523C4A1C009412DBC6366E8D781E5B3698D7D4B96746C61BE8
-508EE219A992E61840524D48A521FED8D2439F31623BAFA588EAF05F886A33FD
-5971BB5A5E6F681602B2DE0EC7076C9F674112C3284D6877F54FD16A95603190
-1A3797B579D26CD06AB1B6778F9DF9C985F3178101E2212F1F48688E43BCF34D
-3455386E255E74D309DB3B26248064D916A864247884659ACEBFA327C048CAAD
-87587D8F8D66ED620A2FED29AA9B61447CBD2C4612CFED3D33C8FF8F4D4D93D8
-E2C51B7DA2D7C54FDC71DD454AD9CE3E85B31F6B112FBAAEE776A3A3DF629644
-360AEB7F01C66D1A3312F821753538CAFC7154D26E074D701A9493A8E47A6B23
-8692FFE12F7ED5806E0DE53114C36F3B00E9D2BF440CCDB86CF2423312C275FE
-03C8F4F0BA3FB03DEEEB32602DA2DCA8C7A568184220E8F961856ECA81D61D52
-CC12EC6267B60BF8F086C8C518160073956B4559C360F5B72A8E99936BBDFD95
-BEADF0B24B10295ADC7596364044E54D0953B9D88FAAF4412355D1B4F2483AAB
-4CCC5BD5F1D1F18A48047B551990F3018A610D9BE0E6996244640FF04954E9BA
-B2AF1B248B8BE48C0131751E6181B3D386D04D4D4B7DD29C6601989BC3DBA515
-DF6D0E679EB82BAD107BA8E141CB987269E6DC3230F13DD9A83A1136729F861B
-8A2CBD90E8A85C95315258915A24D46784FC4C285A25EB9D3A64F2F0CA3637E2
-64D72120CBBBB4AEF6DC66232DC897A9ECD688A496EBD1C2C37A82019131FD54
-AD11EAADEA8EC2A00287434C70E2C85099EB41C852CA05EB139F930F14B27DAD
-D9F7C58676C0B9114347AFCF2C428170C6D28ADB0CACBA64FF8C4399284168CF
-0E2D7A5AA8D37FB4D1D549421B15E2FFF224DD4CA740F3B8E4B32077F57790BE
-F6242EC557C7388B78A91D0F50046642580B65BA6B2682205A383771637B5452
-2D41EE5C9E948378877C6F1FFD5E5016B73EE8DC17C761F7C0AA8DC97B813948
-858FEC8E157EF1D75333B7D164AD1D67FE99D0F9410750CB8BB2E71C8DE9987A
-9CB0EA84F9F5BCBAAB1FB1BEF9C68FBF001DE7C8DDEA3932C9D08F089AC0D5A5
-EC79B0FCDAF74C16CB6BC8F99F77893AFE05F9C82FB48992F2BB122C419DBCB3
-C0E80DE17B30283603EC4CC2858622813D302BE6FFCD45957B2349E2614E00DA
-1404D3019A0B58F7C67ED067CBC1087130F8E0F61F11ABDD312770B775CAE81F
-BC4A3BFB5799712A2B47F214775F5410DFFBB70E07B4790273F7D528BC56B786
-AAFFA5FC7180DF2863BC7BC523A5B151AC84A07DDBFB58D729E10ECC6E6FFC27
-4DD3651ACA7F79F836B4BB7A02BF44128C2500E8147A1EC76B8EAC477A73968E
-D66F349E677AFDEC7BF3925CF5C7673437CB38E920B3460AD9579887CF5C979F
-75DA527501EC96B0155A4A5168BA942BC479099E9E5500835F4FB7C59AC3B72D
-C859F3288C8A14868A1CCF7E0324796F86C4AE86B26AD14A580C7BF7EF5B9EF1
-57B914B2C3BCAEF6C662A8AB1F5DE53F6CEDC39D0CAF30449DE452D54D8407B8
-B93549ADE6052CE023CC54DF1E446B3AD5CA66D6BCAEC638BF583FC660333BF4
-0E8C3DBB8A755B0B41DB7A172E5C180F72B020772FD3C0396F863A9D39D02288
-D44631CCE891378A3A2F87093D8125F291A3B54164453A573582405E771B9707
-9DB7C113FC5A1614343991E41809C94F0B30ECFC224E0B420E66931BAE7A88F8
-61F7FB6CC6BAD5D8B319C06E4474A6BAF2E84A1271CF63007280395BBC2E60D5
-9E731C841C48CCA835CCC10693A1517DE74F0B6269AB54E9F4F4A19FC1E4CC59
-E92B834A8D009A30EE61CC5690D6717ED57301179AD3F2AE21459CE1E0AAE5CD
-333F0D6C0DB6FC5BD42A8529CBC12CD5F12E74AA128209B33B0E3B2D5A33142F
-25CA2B7A8E91BD3F4AC6D90016FEE8FB983DA9F0F11A56F83E69A290178D7ACE
-BD1AAF67DC2821E7CE67ACB3BD37D5F00DB9E557B3F3776325DFF6342BD8FC04
-16689C16B52F79917A116750BB35F0FD5CA8A288EEEAB64E405FAB251469B6F9
-790EE601085D6955E53207ADF019F5142F30D454905971711386DB8C5F5CBB62
-60FA5E4F02A066DD3525561C2120081D9BB2120F0059E75B16B16D62F7FA5A32
-9ADB4012761D906588BD0CF4539C83B137C9E8222474892498932ED34267C75E
-3B66063F9908BBF059F7A86422A67A269C1F97A1967A06470090B2C8C465738F
-49253F8214BF274EAE2CC31ABAA7239CAE3333AE70C000152190AD3EFDAE30AF
-A9406D9892839FFEAA4EC1A1286697C1DA989D6D38865E2AF2D0BD6E8C22D16A
-12A22D1A5EF960401F74C6AB0858014A79BD434DBDB6B07CDC89FD58DB08DCE9
-C8AF3A125309F1B16D8C0AD0F0A00AC8ADB692F4AAB4427E4DCC5820FA8072D7
-36BA689AEADFC53C935F6CED02F9C4161DAC674ECE9D851F665FB168BB11F33B
-1A32D9CE142B9A3C947F23B7223B3C142DD28A99376208FEDCF68DE4F82671BD
-98A7493C9FD691F9712A76F21D7F3C1E9C6BFBFD6866D5E28964CBCAE26056A7
-0B5F2F32C02856CA4E34997619577690082E64334E5F9CB59A341D4DABD42069
-43C255657D8E19C4857EF010A1D012FED32DDD8582F6FCCCF20C2237BD9647DF
-2FF0D04ABD5F18C5BFC46C818D9A33380B67067BF9443A58844C748D7829123A
-7A1716533DFD2D146280291EE9D0961DFD55240F6F236A3BFAF191F07EAEF9F4
-DB2913C2EFAABBFF77F1F8ACFCC671E7F551C0891A9AA6126FB777A2AD6C422F
-670C2CCDBE985436FE986EA23B15328725EE453B5FA8DEE97303E5FA09496299
-A19C6141D8091354680458EF938EAD1C3B6F8EE6C4569DC6959F57EF43F4B48B
-E55FFA0E9493D6F9C4E65682F5179BB7D3801DC2FA361C88FE759BE5905E35DC
-C9B9DB076EA3D71EAFF6B86D33F73C067B4AD8D9578E2B34248CA7CEC6AA6962
-799DA9D0F0CDFFCA0809E65ACCB63F818F572BE13407C650B1283F3B43DBD6E1
-FAE2F68F5B960AE50683D7C91F2FC2ADD31A701C8D4249EDCF4C13F96AFAD087
-BAFFC6FE0210264CAB0ADB96B074DEC79EEAA956ABDF2EC21506792C6DD4427C
-4ACA5119A3B9CAFE49CB28EF617885CB2B1B1EA35BE8454F0AAB48C9B7D5329A
-044A830A90D120AD59907147476E3042594DDE4B4B6F28F76509F51DC3AC4B30
-C6DBF5480144F23EDAA028B89EB889621A16E3ABA90FF0A01B351029EABE83CF
-362A392A6FCC388DB51E9D279148F5ADB487CBDE1C05B5AB3C7361C001CD07AC
-6AEF38B152A34DEB4E8FB910808B940A423F525372D07C2B14CEBF1575F44D34
-DE434969ED9A4CE10EADD429DE98EDA8CEC59642456275E065EFFAF4310F2FB2
-B5ADB68D65F2ED9342DEE4789F3FB7A2E77248D77D9D85DD0A0D165694437C3A
-1EB952039F93B6CC20BF07CEF91E6DC21E3CC2183E293D23A73B93D9D5944B2B
-A73DE3373A363D0D8CF9446651F87F37BBAD096C8A51E950D45AD8737B951637
-F2A5F893996B97311A926583E060C7EB47D5BE8B880E84058403AE35DE888948
-1AB9A7D811189B450902A1B939B01D6918FBDF6CF1A3F553750CB233E9BD3AB3
-9B5F898D8802030B60205258AE117E653112D4A2DD904DC6B04DDBCD604BC045
-C61FC9E7734F2876B3664F664C50DD43138BB6EC52F7C76334E09C11B2A8B4B7
-9E833D3D5BCB2B7C320811E80928E949F55D393C48CBD10E8E31442F83406E50
-4F18ECAFCFB3BD5A9DBEE5D8F0077664CCB2AE96DC23272E35ADE053D3D021C2
-456AA2077BAC32820A207B10F7E9C0CB0805D48DA03E8F9741C55476A8CEBBAA
-516DA7F030A174698B4812A08AE7376DF9A0A017EEF66BB7487AD761C33A62A3
-F490245A0E19F11EFDB6EE7833F09E9BD88B769F752D1E5BC3A17B1543EB599A
-0A45FB7644EDAA9960B39F20DAC5DDF27A30515E07FA814A2352B685551F1746
-B00F8AE674AABA33DFF53B7B22F433041848DB8CB601632715E12FCB08D36769
-21BED2FDCF276610FB03C7D973E771EA0A5D92EFFDB4BFF1C3BDA4A25E99ECF0
-18A28631C6BEF1887A2486ABB49C738D6C44789A2DDEF0257D9C92DDDADB06B3
-B14DC2051F7284BF41572C77256520126AA873FBF8D89019294D4466D4FC02AD
-36966385FA1E6B7B9BA10E80425F32B92BB7D7EC1773FFCBC60F0E742032EFF1
-1D8B8BCFFD37656E73AC3DC17116471660E751499DB6802A7D659F489BE576B8
-A9C229FCA2D17F23491D42211CA620DE1AFC8F84751F7165931BB5FC426C6EA4
-E0B3C686E3D728B66817CFB772E057B462696A3B3F41500A3F3C90A931500F1B
-D40681AE7365CA5F15301A5CA9696776AFE6781072CAC4E3CB3ACEB90395540A
-402C369F2A57C74FE961090E22AF52110FB5D63AA2D9D7E42C55FCE68BF139D9
-61C798912EF55B0EB968A1F8EE1891BDF704A696D5150F341C27111DC880A50D
-CA2E9E472EE1C60BC1D722EEFCDF7148F305FA2C68E835F8E79A6472C1B2775A
-3A1716548E1DBDA1BE5F03ECBEB84C47AC9BBA932C02AF18683C9B08754E1D0C
-A83A875F3B49EFA79BCD65F1531F548E82BE46F20B6AA927EE1A465EB926892C
-01BE3CA5A3529B11242A20C79FF141B1DDD338EBD07DD5256B17DBD701AFDBB5
-4CBB92E688F36F65EB94D0C9EE96589A4035CAAB711984157AAD09C7D837D267
-112A1562872BD589543B8C088C1AB432493595AAA3F25E32B30FF5AB594EA196
-658CAAC0540F2EC1731168E0E922C758574B44F867200FA3354D91D658EF8BD6
-59FE207B55D14AAD7B71730A0277AAA4655BBEA27DF09D80EC1C0CFBA9E625A5
-113A8471C6313860684542A6322DDCD9E01AE7D6DD4E892C64CB542061955A99
-67F90DA0D2A4C746D557B91627823128751CA68D1590DD2DDCC671D072AB8CB4
-8ADFFA77BBB9AB181F91C4058A32AAEF44E5972916723D56A5853F815D11F255
-6059C0EB43BFD6C72E246856EF50E8B341CAF9A88C678D509B44A55F357172B4
-75E3376FEC94DE7E0C7F3E1B2C19587AF367E8335229C7D6A68E7D6C82A166AC
-F29FF4084E4AB0BC080880F8DE60C31348BF60C66E8722D27F29626696EA9E57
-409E157A0A9097AFFB6FA65453B3D810363CEA327860BE8AE7431CD041EE4BFA
-CDA4279BBF8B7CC837750F9211FA917A8940890E1ADF4AA52D23D89FD9D3CAD3
-6A37306729DD4DB7C6FDFF81D323FB5EE0CA7AB80751F9C55C4C8CAA243BC2A9
-3F4CA75AD2DE5A93D116D4C05FBA19E4CC818C2F405D95435D1EB868D208768E
-C42A6F006F5FF2E62072BDDA2728E1AE41B8E7068A7C51D5D476255951EE72F0
-A6B559B3158847FD550A378B5700AF86EADCF34542EFF2010F7074A3A41B9885
-4B3B85AD46E069F94B418AC65A3B2B49ED19AAFC332464727D00FE9DF22C9244
-77D2F689B4061D0755B4597947739AAAA671FE47C43DFCC6181679F4D7B7693D
-B749DC3B7B3E3EF44E30FE88758C839F20D0CCBBA69E705478B70E00E7B85AD1
-8FABECD6216A57921C8460AC9E89A485C24C9E217A4F12E4D1D707222EC7295E
-9A706C8431206C77B9D493502159BD3B0FDD838008D707620BFFA93CCEB4FDFE
-D33A3B2C96904F47E408DE92FF15D5A3D0343C4533FCAF92174FD4F42FA9462B
-DFF21B3FB918F14FE11D73299599120E87E6C46C42F693EE172CCD31F90896B3
-94E21560BEB266A4434060BC2ECE5AB3B9E68E6D850320C210820232620BA4D2
-E4A7085A89CB81ACDD093B276849A7DBEE32FCB1D76F1217E1CE0FD8B82C06B6
-E3AEE75BB78CAACDB0D13C1DAE23DC3B015F7F20A3105BB15B8717E5966A630A
-806AE27B1F1F69D82BADD927DA77DD114C7AF90CBDB41C21981FF1F2370C01FB
-DE4E82D2BA4B0EFB68EF62198879603E795A554DADF6AE39830D780E9CC85681
-D21D59D695EAE98545E048AB1E0E0ADE1B11F87C75205B614C25E711AC261AC0
-FEE1C8A3D7C6258566250425EB29DAA5440F0D25EEC5936DCE240CF8FE621248
-1F2201260C3B32A3316D7FC9C07CE8394BF163D60087C5E744DA4484628B7BD2
-2F2C00D52B8009654D9073FBC9D140AC4EF480BC1C5C1AF28B404050EFC20309
-F9D06A272D4163237587C2F682C2689796BB0C2186D14276D35E7B8C6FC9E4C6
-61FD4AE4366BAB7A7F646370572E429E843C6234AE4E9273D25C7801ECFCFCBD
-6E7299F51D9DEE0B232494EB54A49869014AF5681F52357AC30BC0213AF11F08
-0C24B9240AFE25579CA9F39B85AC32A55850A65D283B7121A562D61D6B56AC4F
-BA1D60B9227A3B814C0A6EEF4E0DACEB46D2282958457F383881D8C6F90DAADF
-4D0DE6AFA48C8C69A64336448879E486B506077E9A4FC3EBDA12C9A07399EF06
-E7E12EF338E56BEC8230F0AF3AAE350C2EBC436C2AF4CE9C3B75780B4AFDB879
-E82EA96C98BA7B2545CA233A357CFEDC96B4C6454C9DE2641807826AE867F441
-C7D693775A9657FCD53976241FEA0A5F2F2A82DD5BE4D63C2C3B1BEDBB946516
-0E2424945F1CBCA9C07A34F6A9BC63D9CEFAAE558F72469BFAA74729D5EEAF9E
-21FB0BA66D2C7C51FA2DDE5667BDCC956603C85702A63F95A5C9B016B6E95D5B
-55A76377FBBF2D473430C3A3393871C98B6EFFA275D05D6EC5365DEA9B8EE551
-57BC3C387611451FFAB5874E8A12F9FD919DDB1FBDF4D40BB450130861C9C181
-0E947D0F54B33E0B28BFB993792AAE3DB823751546A887E371FC392A156F420E
-B79861552B6E52C6B452D8D8C20AAF65CB829D3EFB220A899B5024D212DB23EE
-8BC66F37F97223229F552306AA956859709913E98EA7D5837F0B2E49EB99DDB7
-88185058567CBAD16D07DB5DAAA43448CA7AE056136AAFCE9BB272E549E70D82
-746EF54E705BCF8F7BEFEE5E1F647166EA886FB46ABCB95823868FA411B1F960
-5019471DE6465B7C44063EB672AAD9C96EC0F0BE53B8051B6C0277D0EF511E1D
-CD164BD4F0504DAF3F0F5B89EADE95D7C5FA9868AE6F3DB6E4EACBF5F12B4B2A
-A0AEDA667F49CF5E113E11F5ECB33B9BFFC6B5E20DCA335728B5EE2E7ED4E170
-7580B6141699E2D314E83383F321B8ABC44F57906CA1F7DB25F52D325C32C276
-79E37A158FCEC5E5061815710A1C5CAAB2B14E3F5A4F1B3621EA8BDD41D2D75F
-EF320FDB4A370049B4A1254C5078409E05E8850321A5043FC3EA6EFEF6F1FC6B
-F930E850AA1DED7BAD08303D16E41ECE0B881BAFE6F4690777A002D85832E87D
-856F7FAD4C8D9F1F5CF7EB65873429AC031C187DF4CF5AC8A79E42C953445966
-5554EFAB727E5F9DC28444618157BCD0DB9F161B1B35A634CCBAEE6AE8A5ADBE
-8261DCE98B0D609E038D63ABC125F6269CE0418F1D091F12CC47E41DA6855CD4
-E27370D8602B14F33D558FDAE72CB4E8C6259B8683C452E8001A5AAC98A515DA
-8D7AFF58C8BE4DFD933987D14B62F080C72FC1894BA477A32A86C4D23C70584D
-3119B5B5463F0484650010C9AC80FCFAD166C553054E1A37F4C28AAC4775CBF5
-28D8AC71D793598CAA90C5D96ABEC9D6561E16757487BECCB390EFB7ABE3E716
-B9ED5EF198456A9B4AAA1E58517795A3E7A18C6E59D3B764D0DECAE0481C639B
-E3F5A6B7F3F935E69F6FD23BD0455929F2B147B2CBAA29927A1E10AE11FB8285
-06BF42E5A7720FEE61BFF5BCB82729E27C68F35B62939E574FF31D222537556B
-21673E155B90ECDF8D46C1D5DC953798499FE381895EC6A8D42426C16C96391C
-C60ED2D9D9D6387E16E8A7ED9976D44BCB0AFF4085A0609381F5A4AD8990BDE4
-25594F927E5C1E8A6A6731FEEAB01E58D44CAD33C57F486F3E8EB4A7CD498358
-73C2A152E49897CBEB77B81B2E2D28E49C5900D88EFD5005A7ACB67C1AFDCC0E
-28D73D8E4F8CF5182F0CEADD77795FEBD075B96BC2A2D8D3737BC6E18085ECA5
-EDCF588CE112C8CA36448F9F11E6FA973314C97FF40F5D9D597E015CBB2EB337
-0B6338B1A5FCCF2E6A75FD0A6C1BFFBD725B9D6D82DD05180536FA819E2930C9
-A4EACA8D984A4FD3A1F3EC9B079C28CE2DE5BE82B8F40A065F849D70D3A35063
-C954FD1380B1F05F9D31FFE8D08F78CF7EFDD8A02288F22B4C4E44A2CD5596A2
-FF82C6F8E964781244D69E8E0079E3F043ACC00B93E0A110F5B927A01CA981B8
-4F3F0827D905FD803C79F1611E55C00611C89AE6DC3546F2324B6D6976C8DD5E
-FDCCC7ACB6E26CFA0550FABBC009F80AC8AB9E0E63C5CD126C47E15937CFE447
-3D709EFF9D378A898F57F49D4507C5A52C83625E27A6EE5D48559C4733F26FA1
-56492B7F570FFC1756752193C2AB7111756F53FE22EFD2E92906C0BD7F4FE374
-FEF8B460F70D2563F6D11D25294EBCB0C87EE6758F96D48CB4BFD4B96790EAB8
-C218C8AFE83466DDD7F3EA343EA6F16917F02164DD93CA7662481DBD2A0EF160
-CD2FB7E8DCFC439AB7B95374DAE86DD11A668B3D62161E0D9853B156625BA448
-50E9A631CF1770204864143F549835BB041E8E0CB16FD543CB924A21F8492C31
-260A8C5B6AB3B620A3E0925BA0C435804D3229B57A96CC86886000F51FB6B10B
-7A81611BDF82EDE6BE5076C2F251E5F30CFABE0AF8AD6BCE8DD42BDCC51A2C94
-F6AAE36B96A2857FDD2C67C909958C8F144351EF177BAF35542C62ECD80C7D97
-6086C9AEDB2271884AA694A44C00D33180186FAA005A5A74997E69B6AB4696F2
-FD524C29572758F42F4E62E6B03712822807DA0ABD40007BCCE9BE0A4A25FD1F
-204BD421F781E65E7DB7EB9E0DEFA40E3FC41AA45C23F6BF206D1CDDA055920E
-572E74FE52807FDC085654C69D5912339A64B7B8FFAA5A759408ABAF3824EF86
-5FF8B204B794B410B3EB0971A15A8EBC2FB548E6E4F02A77AFB27AB4A1B32297
-0C63C7672AF4CBF0110C689E3CA85791FE63C6FB8F8AC62A06E4ACD31289D5B1
-3681A897D07A765DD8974530413513583B4A6028A061700BC66889C1259F2E43
-A1010AEF62FE334697FE16369EEC9FC1FA667529E0579F9CA83FE8B35A171DE3
-98F69E3AB7006689426A223F6F737A46604A92A7F7D5C7E526D37716759892FB
-395F8B05912C915B748519B630789B7FA80C4AB0973A34D1EB9EAE97AA8AE37A
-0CD61CA068BC5185EA7235AFC3A4E1935D2B58AAE607DCB847B461234EC655F3
-F7633A94A20DA340A667540DD7E3AB9FCC14EF993869F889EDAE81C93BCEEC57
-6BA0D11074645BA9DDF5375FBE4CCFC25B94DF1175D9DCA99E816AD28E746809
-1468EC9ABB60445A8A43C6EB3F251876938DF0E69BC2961CAF2C049586E0C934
-448FC1F7B9B6690042531E52C06C74A50289DAE7354BCA24F82845FF4699EEF8
-4010154A0F9A93EF3A69B43E7C21BB5E8B785B2E7322247CFB2E9F33706DD4A6
-B963DCFE7A2163E7CCCF6D55C51046F59B2FB0E43DADB8D163D56474F325A92A
-E7A0F2DF32182695A3224B9A863ACE932B665C8CE70297FD01F809C799CFF218
-8AEA8DD9E3F68C4296928596631F3E1B0B308D2571C90CBFB9FAF815F81EA080
-637F95F144EE8EB308E1AE572A4EC8C2FFE2D91D6BE64F5A78A2B3302801F278
-D7485FE8C2D2056D5CE9BF61D8235400C940F867EA8F24B8691611E164872EE5
-FE7ED0D0A9EBE102298EE57A87D797B07338A732EDCC1DEF1CC557F773F49994
-BB7E450E401659DA0958EB2DF17178D61303515C13D7E1D958410F99ED99BF58
-9D0C552CA2C2D15CE9205F30CA98281BCEAE00D541A62BCF1537CDBB242EFAB4
-79EDF9014F58D7F742EA50D34458088A7C3BFB9C44CAEE1B4BA993DE5DA251F1
-481CBE79888410F843E2EFF714876CC6A2166003CBBDE76CC870944449CE6051
-8C0E56001F96C1C9FAF04257C6F5CCF40E983A7CFD77D41CCDC9CBBE8EA15C79
-44E6A68C49076DE1FB6EFBA826801D4D299F0D4FA5B1637EA89BB6A8A576FAEB
-87AE30C25B6C6E24E379EC6F4C143E072311454296688BE6DED0065EC830EB4A
-2A94342045BB157FAD7C9A1356F0578B3D89B622F8E2BAB39892D4E684042F62
-99291A3F94D593B3A19EC975CF28A03171FF08F22837982F62AAFBA694DA1752
-F6A8977683AA80BCD53E09E2024027B338D85D2FD4295EEA
+1CADABC2B71A43098146DBFDF7E126069259EB490CAAB07D5C9CE0AA888FF3F8
+6E7AE6C7E5A8A38CE61D5407B7D163846F8CAFEBF385257AEC1848DBBA60B7A6
+ED708C86C7E773802F491C636CEC4A15591428383D56204E70E383AE361F3E47
+4C7B9C5EDCC13E731F6B67BD79A09B7C29769D4D9DD71A21AF20D347193CE5F1
+BE70B010A0E02A49118A0E5B004D6C193C6BD5A392F360401AC1742546A60CF0
+3CCD14071C31DF91E84427DA969E42D357A3EBF440A3C5114B443162D8D4A968
+045BFD9762858BB82E98AA5012EF61EFB32A6EC4F8D3D0FF770F4EBD8CB47101
+BDAC234FE799494AAFC3322769332895AC076528768ECF4C69318F4C4287D30B
+09FD4DDE2436C0AABBAA14C9E4F4E1103FB17FCDE3F4BA395FE9950E700C6733
+C6E7C1CE9BE99D275DEEF49BFAB8EA926FB9EBBB5917B66E73161BBFC50CB621
+A33B4734FDA1EFBC5F6C0032F63C3C32631FADFCB9BFD2F7ACE080C16D1DF08E
+8FD4B291900016094586EAD0EBB75E3CBB0152DE572521EC96669A3983B13309
+5C3E8907744F25ED623F08849675A75D8BDACE3F86A988CDA9C1434E50D4E49D
+FDB354D7F43A9EA6AF6E45903ABCCFF2FB6A216E100755067FDBA531BD3A3A07
+CBA99ACC978A28D49C8D9F293DCA7BF4A63F48E775AC7320346C07BAC826DFE3
+DB999101CBEE0F6E729B40E6E2F6170D02D325B8545F39EE052A9E883DD40B90
+CBD1447EC852C226A5B3820A6C7329BEAB0831520BC96A966636AFA75914EC4D
+94AA9D027F5E9782EEFA1FC08BA671FB7CF3DFDE40A56275AA008FE44185FE3A
+20F8F75D5EC2ED8DAEC21737F08088E9A46E607E81D2123596E5917395B7961E
+B9BB98DCDAE063460FF2AA64845B4D2385D128EA79AF54DAAAAFDEF37E7171B5
+7F023CFC72D929BA153D24EFF7ACB9A01CF3C21495BC225698658EA7AE007343
+18D6CE00560DBFD216DBBE01EC999840437AE367E44EAC72AAB971D2C189CB6F
+2465619D1F26D7E1B790EE761D79FBF12504137134AFB745EFB606B843CE0CE7
+B50714E2B5A4C514260115FCF078002A777DD814E9B1670A4E00AA89AD5DB378
+1F3382DC2AFFB13A1EB945304863D34CBED5279EA6A062127A77BC4FB4C58CF9
+6C42EF3689986C7ECF800BA9A064C4BF26E57297FA0480CC593D0473C499B9B5
+07308F8C2E11FA0BA0FDE55D2277814FB0DC8FBE2B77E5D56E6249A95C58F024
+71A2186CAF2BE7AF5F742223BA650408BBEEEDBD93EAADC0B9AB63F6C63E0115
+E007265B85C144F97C00170DAC73D11B14DD6DCC8955EAF77FC5036ADC8D2A43
+7FED7BC3E9AC937E2BE081CF724B83142C0300C8467BB057AD1B652BA1A086D2
+0A6C40538AE24837924138CC67631F0FB1B8ED1D22765FCDCA819A23128D9AD7
+15BADADA5B2AAAC4CE7A3EA3A9C9C398365875B0424C6253CEEC826C50A1812C
+F8B8B2B11537F7CE554FADD8648885E8CD5C3BF8F9FA9D6D69BF3043F02D68D7
+2EE216F948A2B0EDB37001498A346B803D8D0B013830D219EEC534A1D779C7C2
+591470B7A6FDC337442538EB3422956EEF135315A3504B7D08162ED89791CE49
+27699C67C9D1F57FC66E110B02024410F0A5CB53A56622B63310C7D971ED2759
+16438B5EE81BBFE1B9A16C7356357B6E7E123546D0A46BE587032CFA86F541EE
+0CF088C6D4912647832EB31C85FE05F89DA37D7D0931EB19E382D08E26CAD346
+81A67034769F21F21273C52E0009962534F0A1994C984101136F731BDE489961
+A0992B7359BDA9C6C3C02FDD072F56F64DE2E1E973B48540BC4BC14FB0D27FE3
+516DD831A7FBAC02506154B7324F5EBD97EFFA8F58AAB00DEAFD2F0C21FE022F
+E3D62EBCD654EFC54C233EDDD39FEAD2EDE01A975F10A62B05578B0E1D553B60
+4A62DDDE020C53A759B2DFCE2C73FB6BA73F1256C8380C62803CEE16742DD7D0
+955A325812E7B2AE721F28D4AE711234867ACE54162DBA80E88C6113D4C6E7DD
+D7BED4A2EA232BB545691A0189CE1DE85F6944A37CF2B66683CFA322DA002553
+16921443A0A5E4F4F176F36D26BE08EC91A017ADE6C54CEB42F8F002AD97CCDC
+72C3A27B9B6E8D3E57B2C253CD9D26688C2DADE289DACB4323DE4C15A189C43E
+A6CB97703CF7ADE63405D877B2A8F91B87AD8D480BFC3A24EB8A908940A99DE3
+0269905EA8C922EE243B7E01A39CD0D151F16906626ADD9724BB77CC859EEF27
+09CC58E9E7E83A720C61E71A682C530A3CBCF5C99FB690B8319B5FEB9E58502B
+AE17D595E8EB2958894C46FB151D12E785631C03647B6406CB0CCE48FA78CEA0
+1E4511900523B88BA7F338A052AA6980BAF111ED55C2872D1B87E92497C07D64
+82D7663B93188AEE5D587878401119922B947E19A857F4E2132D90A1ACE58EA3
+E35CDD12BABC3F6BBB50D4324A299773CCC1A90ADAD8FE50539A141B3E12BAED
+909CDC998E815F6F2E837BB975DFF9389AE488D5B5535925DE707E9CF9881D80
+3A3F8AC81D97A685F3CA52738A87A921EEE0007E71473DEA037C3B4E7CF5F26D
+4E418687B7AAEFE2D5327C3F8ADE51D394CFA283083BC0FBAF122AA1678684B9
+21E8D998F70873F8170307908B4DF06D3D1D692411F8DD9BD6ABE89EFB7CDE42
+2A6633432636E65AC72D1B8ABF55CF9250A14120183080D2E95AFE5BB39AB713
+D31D251AF007CD8BC63E87BAB56C8588DAEE97309DEC367C25C60E7A06D5451B
+216809F9D23BB48598F4A677AA281B32F73D0842E7C16A35061C93B0421C5AA9
+0D24C2477B230804475BFA52F4426DA6F4DF979754A0F4DFA0792F76A710AA05
+3A14DB027A641CC11F24F821ABE5709FD8C860FE5D3C3164D6C906EB2848F2DB
+ECD5CE8CEBC52A427F432C618563FEC50FC35C51CF0C4C31DB05CBB8CFF2EBB9
+51DEAFA4E8D0F8100A91E8DD6FDC74D6A09092E4C5BE635D685C7D0B5D1B6A35
+AA1894CD13F1FCC2838BCE1C957143A340B96DC3B08484920958D25114C7DF8F
+DFE2D1A6E58DBE6668490E0A3F75A016EB40AAC8DC623EB008D9677FE604587F
+2CE0B16B06DF82B6BA800C1DB2CAF259A1007401B2CACFAC1F55053630152D0B
+9765A4D34BBCA0E531CA90A03EAAB5F5857BC3914D24E98076B2BD7701678EE1
+5B97A371FF084FDF64BDA12E708C4BABF6ADC776CC057121C84395504806962E
+02E31C1EB36F914B6463A390BEF4C35FE25916A1C51337325A97C450D3134C43
+94B3B14DDC11C933A813182206243D0EC32703DB33E76B181F12015BD987BD6D
+550D7779B4443F226522A3CD00229DE2E74A2C9B000C79770CB49C82266B9A40
+04218F81207FB109F16CDA49BF83F9EC21378A783F7F16B61D62F6D94F69B76B
+2239EA2F0E7DE13FA0411FBA5932FCD80E8F241AE46198A2C7B442AFF8EBBE19
+71264B66744E93ACB7DFAC8139372E818CFAB79297E316800FC5E8744757C5E5
+D23FB58CFF8370128CAF7EFA09C8906AC06D259193AF137E301CFD08FBC48F07
+BBD510269C70C03B9F511C755654FB3B23D4EA9DB3082DAF53613CCC08A63C91
+2C2AE73AD0F48BF44D9221281F3166919AB2EB1B251CF5C8BCC50FA9E9CF5D95
+5C039C42DDF3D00D829024B27F6C7F4EF80C55CE7FF888675FD69316AAD371E8
+8AFA37D087F5F3D7E38E74DE37BA359F49365267910272AE65CDEFD5624E3695
+03A5120E55B4F60DE25883CDF9C9F8AE6C5BE923B41BFF29729442A711B9A92C
+34D3BEECA65C06C31A45164A40572C06BC82FBCBE6C75461DF336207C25D2B96
+29682D5F782509220891F98B04A2489CBC9704B597D29109F099298E8F067423
+4C7AE016FAF83DA75D50E0D93CCC7B4ED67E80BE5C2F8FD40E869C61D32A5BDD
+1C5519DFEB07546B8C928078491D01A4CB8DA28FA516A76668F2A755E761C865
+FE949A5F1107D7A99DBB581AAE3D6332ACCC7930BDA7EB264FC152691D1ABAC5
+1E47BC5E5DD8E6FF1F80397683DF63C3655C064E243B9376E6882C9F4AD0E4B7
+473E3FD32D908C3B7B31E0FE6452A102F8BB24DAE554BD01D377862143E97BE8
+F1EE9D4747FC7076B52F633A33B9271D457B0DBC787867D4DF9CA587FBFF5F29
+2C0FA99CF6497062FBEB531CC148667DDA814A1A2569BCCA0A3A429E53463D18
+41268AEEEF94B3A6806747664F2B17AE3C12EBA5D53CFA8D22D7DB3A16DAC814
+C3EA18E2BF3A712F36815E9DBF973C7EFF59911B3C218BB9ACB5B1010CC9801A
+DBB7BE1CB60B10CC12B57DFA4E7F90033821383CA184F579B3176705D310F7A4
+E94A519C59237ABC27E6426748B0D089A2D389B58AFA872B2B85C5E980DF5E4D
+0944ABE5A954C928C82266E2037FC98137B068E34F4C59FB334019F8EB7535BC
+8BA352C2F77C1D90413B205E112AD3E4B983E6E0A54134F96ED09F72C5E6C43E
+CF951467988E87E795F1BD54382D45F1A903D76E7BAE608C99560C6E24387628
+0EE9F71C2619724759EFFF8A04151DF26176E14CC8A2F4062923F66B852673D1
+2FD86F20B1811E40125023C1B2389F63F87F1DAD3D578A2C1CFFA6E8DE85D8ED
+4B25FC597068648A2DAB6DA122B93DC5F3C8C74545DB7B0A728D2F359ECB05B2
+BD9C8A0F473C00BE655F9F114D662A6483484D1B08BC781E1FB4BFB489B7FFC5
+A16E3C2A5EF93AD571B60448FFA9A390A04D5246EF386AB02658A3229B0F4B29
+2065B73758EDEFA94108AAE9F4E9E8E1432340AF41BD7BBF18300D37BD442A15
+6B07B92AE7CE617F89CCFB7ABC99556FD467D771F218A30D6329921331608C7D
+DC34D348B612685113F8D1C9D8156986B7DD4DD252495E1CAF091DC43033E763
+847299EF4412169982CBC70A2B2BCCDF9A3B0468FD36B0315D0DAD08CC9CA302
+7A33F01D9558FD2A0D0D067F78841A3CAB2D3122E54DD5277BED97BE71411342
+1FADEE5374C1C4137491FFB729CD81C1C6C783803427BFF3B6C5B2B16FB92EF8
+70F6355305E89FDAE6C6C5A33B29C142A4250D19701E59B4FDFCD1F618D3C34E
+EE661E8658574020290E2C6D1C6551F29A1228D6CE402B618BD9CBFECBCB9AC3
+EB24B26DEC2F6B74778379F72F3EE3EA4E2B5EF258BF38FECDA5E30C2CF46C23
+FD05C8FC04D3F7C1CD776604316CD9FC65CAF1219E1E8BDB97C8C6D6303252D3
+57C549686B9FAE947C01003FEA242DA11CD50C18ADF9C41048C7A5B74C755AEF
+9D1624AE9835ED60838C7BCA29246FA5A9B13E30886022280B1223EA24F8251C
+EB134BCD8CDCB18CFC461672907EFF2C6A7D516CDEE63EAFCDDDDE3E85F9C0D8
+795A69ABAAABA2B18DA6366AAB4BD17E263D61D454C1A0FC3860BF29A7ED3214
+840CF222E1A880867D597354C54E542119405C6C2EEB54E6A4D6D04729E80042
+AA9B0B8B1D9DAD231F2B55B09BF7193207E6FF5AC533691BD919E423176D7A26
+30F80324D29DCDA2184238107504E07EBCEF343BA5C139CF85E5536B7AF8B7F4
+4260B36E99E81BE4709A5EE85B9807FA4F46FB72868E9AC422A48F3EAC86360B
+423DB302B84E5CE857FE0FEDBC3FB065DB523FAC7E3F6EF2CE959B273FBAE6EB
+4BF558583BA69E1008ADF8B38D8A84347285599CCF6B3E84AADB8AAC3ACA920B
+13D7D59565D908E98DFC94F5555031A78F252A5938F012BECD507C830B440750
+24F1A7D07856BCC2E6F0B590ADF962F11B2310B298203B1777102946E70F2575
+FE1A075A27A318B738015DD0C60F3B67CAB9B1D6190D065012134861160A4861
+5A806696D952CFD418719B3C18BF15CF6BC55FC15372B335137ADD437ABEA7B0
+53D1CF760CC084B531EF350A5AADC3E21981B9411941E326874462C77A90F22B
+AB60322289D5E05AFFBD0A1E843A50468DCC9F6A616FF066CC0D77637CD5AFB7
+0D17B55B21C50BC89529749B66AC2D1AD3710B4FDAD98A48C7E71B2418C25478
+365488EEB01886830B5119E30247462C9C36F225FD569F4B2ABEFA9687E61F23
+EC48EFC1501C2580F14B0F97C2FCFED1E9460343744DE472C9B8B8716BC60152
+15F777D23E3C67CA2D726103FD4324FA4E307A94244DDC3AC4FFE5D977A6FFB8
+E5A5C8047A9211B5B26EAF84D23AEEB2E6B08F88C9FBD82CBADFB64825227FDE
+C9DD19B06F844525AD631AF7D464CF1A314769FB30C4A8F2E564F32F656A113B
+8C610BD45209AB3F8C336BEA9CA6B2A6DA6096CB37CD20D713F9548E94284EF6
+404D5AB2E86E23DA2009D3E0A1AC9A3A325C95CA2982D070D9C528DC088DD605
+237E6636D8F63E40D0B183A90274398F517AED7FBEAFF1F06A1CA60AA23C71E7
+59702319F84DB3532A8C268A743434B66171DE5D000A96BD14831D44F9E027DA
+463F5951E1641BDF7B9F25B3A25C3B46327227FB61B1AF4D3BD6C1D68901B6EF
+23344A04BCAECCC56801EE609657D4EC9B3AA49A974F6A6C2D5ECF790CE6DD19
+D2F882BE5245167369E4570733ABA9D79D74F11A8283C320399B7D4FBF7575C5
+153307158C9C492B6F2A131C268C7A182D5230361174ECF404CD8A012CD731E6
+E770F4E5EFD25E7FB70B7A6078FD7B8471490AF9D0F733096DAA30B01A0EB250
+A9AF91CD16CC67235AE9DCDB7249B8C6FE3D81C1B9706F8D2674A6AFD13E5480
+9E6D7E87E0FC70A113ACDB7F765DADA0060821690456E4F0988AA0C65D78783D
+E3DF13FAAB8598902A2363BF0BB07A571826754738137F3AA89F08C2CB61B4CC
+8D0D93FB040FD17DB5509250259C62C70EB3EB3062591D5DB888482677ACED2B
+C1F4873A380CBD76885AA4732D5961178456ACE597058C034652951D1C5FAE6F
+4573082CB8B2C26D08205838ADC1391B5B66BCF142489825B6F76636B729E9FC
+17BE4C672AA919444CDEBF939E6C4E28F6ECC22C53C3A03A3C29966675311EFF
+10A9804B7BAFE3395ACA791CA6BEE8B3EB3AC50C988014C1443B6D9399597259
+D4D887B9BB7B74EAB86AC984F71D6AC804DA16C3220A1C8E3DAF65CC9458FEB4
+4D816C244A964DC1BC17562B85E4638F7EAAC3220DB56B04B33EFDE1E95ED640
+9C7DFEF6D8D9DF10A49161AD0E28CA9A789F499F789DBC6383A8E0E708AD49DF
+870F9561158DC629C27F4712B1CBD50C9E9BEFA4DEC0C4A524CFD675C6A79966
+47AA075831D51207D440186B5B26C6DFD102BF1FE943B63A936635F5855913F6
+C2F8F7C95BA09BE94C35B9639EDF7D470F259F1C478C4013383A012E8A5CDC98
+662B88B69C105C99C27369A02CBCC2EB0FA787F1119F3CF0C622D22ED801CBA7
+839BC1941E7B4806DC9812D66DA745EFC609F96820D29E0A3FBF4FE863461527
+A5EA491B95B469959F1702A227B5B67973E1F77058FBB40CEA89C9347F4D8A50
+BBB9B1BE716B880B1EF4B2134AA07A352C7DB177C5E8B09AC26E70A947A105A0
+31EDFB08C21DFB1AF969047B3F890EF22DF9749328D98E9A24CB717518F5E955
+7D3771005C602BBB9440C4F8C88F7AF1F8DC5F9D46E95407791ABFA4C9899D80
+519B8317709A4BE26E566837FFEF6867644049545F85556CBF47F1A9F1DE392D
+2796BE25C7E87036A719ACB6DFA1448A8E54DAE20C2B940CF598DF723BEB9899
+493DBCBE9523C0ECD4FDC5BA29E8DBE58CC930F7C42A67536573028777A716DE
+4A48F7183C03CC8A63D0C53856EEF5801B67CDB0FC80223D328D30E153C5F623
+71A8CFBCB12B69D5B568ED82A8EFF7591A0C9EE0CD4DF44F3B4F3B3F9D590BF9
+76895A0725E330A4070EADDFCD30DEF05A8AD92D4D3A2829E2B82616745BED98
+783CA03A0B056B86798EF20CA09FDCA263D48534E092D5237DCF9373F8D54D82
+82AD8C598233222BDC06FBAB7A27BAAADA72A1AB5F8CAE2C148B132D0BEF5352
+241818857BA7C4EE599C9BAC5B645C8164D9D234B343975C36209D8C4E07475B
+5225142147B5F869481A7BA9ED0162A27A11C12C581DCB7A4344EA37941214CD
+537F5DAB0F52F7745D1B8CB7BCA462DF516E3F1FC1D6E6C156CB3F230B3BB24E
+540B749058E4BEF20EC09D6BC2E4C8452B2A48B1CEAE146BC359D1735B5EBAFC
+7C2337974BD76951789ED282B6B98DB4C8A582B887BCA1DC9AB91B3454D3EA9E
+3B822E7FDF7D4CF64874544706B0D5CCA429C2CB5FAE1CBBDE8A2B2E1C1BE51E
+85E47A455FCA235242A0E2C335034D61B507B3030E5690DC636C726E2749F0ED
+3D6B56778B79D6110683A34C615CCECD0F80F4DE47DC05484750DE06DF3A49D2
+C8B4A9EF6B0E3F64F717E441FFF0D53A239348A6074372247DDCCEB6080FB50C
+EFDA0831DF29CB9561AC5F9B47175708BDA8A69F1EC0BC4E17E2C0951404AAD5
+F691E917CE40D0D7EA70C9C19B1817D21B6CF694CEDC7C7F3C2B99C40EE6A1C3
+B790A6A27DC6D12AE1524E7699F79D61061DFC4C7D2E7EDA2AAD01938E731D4B
+23EE052305D1BFDB6C0A804A8FAACC7341F511CBBBCC78AE7B7BE4FA3C8D149B
+1E6E78DC058F254E034B976E6F9033B58BBB4382C0C21DC5FABD92FC82EB2974
+90FE54ABEB9174656DBF8B98E5908DE55AA46CBDEC25F7A88CE6BAEB56299F2B
+01D7DC9ADA415055E3D5755306219A468C475B809A0FDC9007F1FF6E7AA041A9
+ECD7F0CBF222205878761151691BC63BAAC5B11FED047F336F4F4F4626C5B27B
+51987B37B4D9B0EE7C111B0E7157E6CC6CC05E871CC7EC0BA4EFE831BA1B3CA5
+6439BBB0D546EF01A3AE05D1855D1495F766084DCE3C2E85D6F224845F24C8B5
+70F1D2675A6FFCED8150930468FBAEDB86113271544690BD091DAAAA8AFB910B
+E4683935D47BA09A6235A981BA86DC8BB3237C802D2A224A8817EECD00DE8A2C
+ACE71321D5D6B04FFF4C05BE365D8409CE2A223BE59EA90D39F6CF7C243E57ED
+21B25A946A54450C3BC68CBF64B9261594B0A89403A10FE739F6000BB214C4E3
+6C632355CC35BE7F65242ACF87D9768DB04072D4928E34BCAEF1C29EF429B517
+22C14638854D4DC259D7CDC13947B8ADA051A0C0B84E5D486589DBC0CE0E3AF4
+2048CE778AF0BC3CEFF57FE4B3BF9BBF1A6DE676C83CD578DD39EEAF8E26FED8
+895078A2896A6FF6123E89346ADBD8ADB3D80BCFE21BFF8BACA038DB9B3FB51A
+B9307E067BFB7BEC6FE9C2D3F8660EAFD7CD79274E061AB390744100995DB0AF
+83A0D9C783C73C1F9FE1DB5629B0203961660A31D7874616C4EC1E63AD15B034
+5E3EBFE91A93329F635EBF9BDC93F413A38B0F9467BD292DBE2D72442F8C8E6E
+0A3BEF27D2D12198AD26C6277ADADCE99EE4569A0CFBAB625FF41AFAF724E533
+404AC0035A265FD62DC541541D58D0A97943338791408439B3E7D93E665A9A12
+1CF61691AD1C9A7F8628CA273991B514E525273605BA5E30D8B9E04F1888D04E
+458AA66B6C1588B29A1204B1A02301A200AE4A00BDF28A33D2EDC73CD5AB82DB
+547135A13BCB8E1E03B9FD9E13C95E0F6E38DFCE0A51999C5EBF7898199501F4
+AD52F2D5538E097E7E781065EE6D4A87A7F627EFF812071A67FCB19BDFCEEEE8
+10719FB31EFAD71CD4051CF1D38A808CD394CBA71E700B9AB4FED19F92B8438C
+3616C25A07A0B053223B5CBE4859450AF6773CE9157896EB5AA8E5CFF3ABB132
+8AB1170B6324C491F7CB9DDDF277C98FF261F8713F28444B159F481AC5735D5D
+343FC764D189709D3E61E30EBF197B14D882A3EC5CE4A67F5040676EE3DAFFA7
+822F8B8C0D77115EA82E98957EAE5355B2FC684C1AFF87BD7E01D34E2A1C483D
+43808138BB932221E1592BD40C28E2A3DDC904080B4043CFDF6E1BCEECB63F8A
+7921B196C2899B1A1D7E401E070AA38F2951E0E91E39EBCF9CF49B278A875F43
+408F7D9E1A9FD45F75DC8864F3E4362EC91FC89D32AB1500429CA6367F2EE6EC
+CC572CD9313EDD7449E30D6661D25062ACA2A8C3A2BFEA28B6D1440003474D32
+B67A644BCACBA7200292D3F7C7D4D15CEBFF6DA2C250C87F59E9A752565A6406
+9912455D7E0EBAC53D581FBE8D4AE467A19DB210149E641386890E9F2A52B0D9
+6515E9694820289FB20EF7EB89753F7C1E2C4F69F6FCB42D466E827D84C1332E
+5B9D115EDE73C1EA6AEF6511E73025391FE7416D8B5A9CC0748E83760DCA3852
+836A77E89A58299CBF9878DEFD74AC2DFF777FC5958D87678A4E2B630A240F59
+1C01FB19EAFACE097921B443547305832641B1399ACA75D53B910173B18F02EC
+3BE6C5DEFFA1F5E98FD79959EBB7E42CDDBA6B7976CEE5DD667C48B5F75E4DFE
+1C951330B27FE43B58E773C02AB53D7C904130B1C7ED8928DE339F8C803A095F
+954585EBB1F4018199A39631D8A9E6737499594A1C79D49A34D225BF4BE0A772
+D87C144EAE091B979535D78B1D095D3B34317BA78BE03E07C99598299BB485D8
+F9462A66038824EC833F9CA801402B46CEEB6E85EB7F85FDFE901BEDF14FF5AE
+76592C021B30AF59440F291029988900060FAB77AA1145383881B29F6FF5BBF1
+A6934AAD143F438F586580D52F53E4625BC7977B4054A3C78893DA1803890B18
+61D27D893B8B695E90922A051B0B253F908AA33BC79E9053873C5D1D8467969F
+952F66C90DA35D40D43CB7C4985A8C56C65562F8C973E09D8795EA47BC17D958
+6D6AD83D0773EA0FA2BD247C6C46A9D52ACF9A7A668A91B683E9659D0048D180
+492A03306515859295E4F0F6F37198428A561BD3CA11FFC68E8B25058B10F6E5
+1E5E6FF5D47CF21A8F16337F7B6A4E55B7CE740C903224B8106CE8BB9D75EBD5
+5CA31A43A539D23D06860DDEF0E1958832AF79F60C35E7A1B0E6007A4B33831C
+2E8B69B2529D141D7FAA70EAE528C64EAE26F2573ECD02C1EB53AF8933CC1C4C
+5AE760FF77A450D9B20F119A3C517C2731A66D77820533E5D1C50AB69C7543DC
+402DF620941AABCDD40C8A63662113475C85568AAEC4103A8A12AA6AAADB9F9C
+084740C19F9741030948C3A96ADA98BB0827DD92AE0D48A2AC354E4154A6BDB1
+F8C4004802E862260492EDC2D19323CEF2689253352022DA1FC4F819BF8C9AF2
+DBE7EC4B038F1F2457BD2DDBDFAF3E6D2664812621663F76F8FF5070742E2304
+C4290A34EEEBC442AC68479EA4867D9B1DEB8902A96968B86DB9A667BE6A21E3
+57FB5EC820191151EDE70D3BE5F8A46B7E58DA2CFF1BD8761C7A18D5DF52390D
+177C00DFAF3B75C839ADCB54C8D519DCEB5B4A69CC0AD480208F3659D55DF9CE
+34EA4F8F307E6253F093C5E5CE3FDFD81657EF753D7534B0790883652FFBA396
+BDF1A53FF28A6297838EE1576D6B785FE21A51FCD175486BC0255FDCEE3F98CD
+F1855B740023523E6339A234E5C193F639B729C0EFF1F47CE1D71DC8AE8FE223
+7092FABD45755CCF1AC2ADE932E501830310CE3288FD1918463FB6B5159DCD8B
+A5500932C00A7ED40E72B4F3E4DDC7B79556293D6E6A3B1757E2BE6E0BCF0569
+6FFA2A76A4BC9B63A7C7ECECCCA63E47EE230835945F77C044D7041885A1B4D9
+8AAAA9EFF655E9BB08A5FF9690A1DCC4278A936EBD01A4FEFBA23635F32370BC
+50E6B691CC6F6ECB885084CF1BF3159ECB00B12E9C4638CE63A734CC70388438
+71D3AA2764D7C640C9674CDBFA58CF0497B4A122E2BD413D6AB0E6D69450D7D7
+15890F1560A9BDF04E5AC7130BC74E174E4C1B26AE4F6529D28047CB3702E553
+04D3CE6568B08C741732674910456621D51E0AE9A8836A024ED1B84CC0B50F50
+B4E1486EB0DE384A4D38A8746068FABC7681586CECD15838ED6E2D4F83CD56F9
+288832775D02735DFCBE4DDA0D42A5777AABD381827B58F6A0E6F6592D6C589C
+08A9D77E318C9EBFBB2A6EC80A4D578A09C7AE51ACF6C98277B250C634D10BE0
+5090B000C2DEFA31CE5716051B373E0320DFB13617BFB851E2C2DE62F4F8D311
+8DEF6B1F3839BDAD34ACA5F9E7F284236A0B60BD32AA119E3BB52081A4573CEE
+32FCFBD6B69AC63ED5D9CD17C518D58F7C9BD965AECCB19D6D8B6D504DA48A68
+6085558D7B6D42A4EFB77437A8B58B981E4297150FE710E7F7AA5F87729FFF07
+87A7E807FAB33B1982E484A1C08E25658B714704905C37792F47A8B9EA781DF9
+369354C72368A472B296A6551E49CA5CFE02E3197BEE5A86ABAEE16E6F0F258A
+65A64DFCF7B3F0EE40080BB21CE1834F46A773802C5A708FEBF22574EA7C7198
+0D91532FA9CD3A786F7E1191E12FA5F7C20442A2D6FC0142AE58FC402EF1618F
+EA180FF78F5B93ACF3B9CE5AFC6F41A22AE94DC30022266B422F74CC7D570B6B
+64229DC34CF230826B231C85356C4837B9D6A6AD003D1BEA440886F514FC63E3
+50FE689586012C9CCDF5996521BF31C2185F6C65CFBC5584E4AE7D3C1A343A35
+142C0BB17312B44DF6740E0F9AF65386347DD8D69EBE379E18C6CF46D61C1B21
+35AB57BFE55A395113CBC4D41DFBF5185CB45E368A04787746D297F8CE1C0CEF
+FBD9584F6B2D1D61B733EE59DCEDE9F6BDB990CA0A669108C2A85B5665B03832
+28A3E560928059AE05B8E80571CD3610FFC8518B676C4AEF162372BE864FB8AB
+8015C6836465929BBCC2FEE3A0C613EC25650024FD13A289B82BA2B0BE696F13
+DBEA866EC680CD7E42C86BF80B45B5C5ECF342ABD136664CDAD92A422D49FFA7
+0FB47BEEB2FD4E3EA132AFEBCCD34F3E5E1CF51BAD2181D04E03B413C538B126
+7F217312064CCA21813D77DF616B30247E53D51BD248C80610E072323B89D5EA
+A8B9B163D512C08EFF57C99F6DEFBE91ED1CE7FA927C2389FF95810E2B8DF154
+0A30FE206F2F85B7DA182C0FDB71D0BD02F925978A42901AB831E570BBFD6C2C
+B4ED0E80FB6FB6B6293EE363ACDC2D1CDC243090531258D7AE90E1812A5F7557
+55366455F4BF66F9A4A57D49DF77DAABD116D36C2A5CD6E6C2A718267F14DEF0
+35A87C64E466CFDE1DC5DED7CE60AA47D59BB7BA71F362E8A9714DE908713E09
+27A0DF391BCBE797139E36FD84DD7306BF873DCCB6A64CCD6B023075E3747BBA
+E43FF3001FA79E1CC98C91BCA94258C3FE43E32C11F5A5CCA6A64974E0BD665A
+4DD80AD770E9295830405568C3248F49BC0D748C14BC16620FCF2FEDF6888007
+2AD2670F77CE5F1D440074687A204A2F6325890858CF205A57CFE1B8C363A19F
+2CE148F491BB9606CD1B2BC626D753E4D779C8F24105494EAE5B3E799ACB7F61
+7D3D7E0B5E1BBEC92BEAAA92FA6E1132E8846152B9F0615DCBC3271DCDCE1F6F
+29AE49C1A8B5E8770049610F82ACBBBA7B434C7E5B145D56AB8DE5D3473D3F07
+567C6E31E88B524A8C3ABA2C2D0C5545C024E2DFD430EAE576C1216E81B8DABE
+28C72EF57592CEC9EAFFA51EEE04341F0687FB07497E7AA4A7E575D683EFCF33
+BAECD7D71412F8DAFBE104E1D6087650622A5D239E1F4EAFFADB86D6794D4CCE
+7790456D430B6668A02DA597C70B61E03A4CD14D02A008B6D7D686ADB64A440E
+81AFD61FF2A9FC97376769A4326DB15A4FF5DDD0C0317297D0BD41F28BE0AC0C
+2259AB099372BA053904A027797DE20D640E877D298A01806E5DC46910F5D31E
+71A999B46B1A19C518CE681738BB2ED7093E9A74F60639D45EE2CD646A2807C6
+8530CBA45D116C6B980F2B211FC564F970CD5289C52B01EFAB75B57581E293C3
+066FCD2268889A3F47F329E7CDBB7F9019509D472169F1B00A62EF4F21424883
+728C03DDAD1FEB5198609C90F7027E8CCA5F100525D6E03A38684D650EB0CB2B
+7D22851B9B6F7EBDFA8D4A2335CE24691A49778D88C0D2680A231329ED745945
+3B86C2361D84D3C87100564BD9DEB35C90253E04C626BC2CBEDB3406A402F3ED
+6F67CEF05EF17CCDAC05F56A2333A2B5B2FC37C78F533CA3158FFEE04158E5CA
+8FA1387C315D3A4C8FA898986FF7AC12EDD96D4FEBD56F14189DC680933865F5
+4E0DC552158016DB9ED913E1F4879E5BF1C7DC56642D96589A91E000230F3842
+38949CA1D303100BF24F4918F777DC76282D942F200DF3B663B1DF1D933182B0
+EF1ED07DB6E07B88E36B864CE1B81FE81DDDBC2ABC4AD23051AEBCAD5EF7E7EA
+0DB2D397C2878B13D9330AC104C4A752DDA7652E5B0C35DC2D5091AFD7F90563
+D9D3D7BFE5AA4C637CF137A342D08679E064873A48C44FEA42F59E40D47C9C7C
+75530E47D997D76755255FB3367B4F864C34C2D64CB1C2984DA0094868D150A1
+C87195125B2DBC301BC089B6662658534549DCFCF850B5EAB954C7ABB39BD0EF
+FEA4254DB6B81D3AA70ED21E94817C2702B764EBC2BD495ABB05DE8502A007FB
+40AC7FA63E3E8045DF21E71A09FE6D13BA6B5476C062CF5A64F052067AD7C3F1
+1072644BA4EA5A360EC22C2F57FCBD125FB2B722E281CECC9291130A997A912F
+9BBB252A25FCC1BA9BFDD85B98FF459F07A1F70E027020076BF4BBDDDAB4A7B4
+7A2B8EEA2DF9FF5811925FF288F2CC482BC843B20D1ECEEF4C843B4172FA20C5
+428910D7A8F033808AD26CA716821F35C9E94A8FD1E06D0CAC2AA0BE762A15AC
+96E9ED29509054E335F0E8C842DA612F7A47D180414522C3F9F2E6DFDDEAFAEE
+DB9EE0E1A5B761A2805A5C385BC20722F8F015C7D2C5FAD395C12FEC73F418AC
+445B5B60068EDD382AD436F3AFA556C14655D021AA32A7264FEB6B1622094E9B
+A522BDC1A6BBB23B256A0ADE9BF8F8FF73AE65509D55161BBEE3E4FD358A45EF
+4F007288B94C83A1009AF476D4AA1FF45D2505D259DA50A13492F8012043900F
+84558C575C1407F0F7C6B9C6CE0FC0F54CB30073872B612332C0C7629275243A
+1FCE81BC6113C8A6FCA1AF89D92ECAAA98E26310BD49F1B8916CA89C1E07413F
+6379D309DB3B2E358DACBE0924E91C808596FC898CCD90D4F54DFB83E5343D4C
+CDC26A6A45690FC0489417A3E76782DCDE0D6A80F6E38F2922925F504E962F11
+6BE2F7EB05F92CDD840147E27CC3A06419525A96C3A3D422CFE0B89922F89BC7
+F0C894F9ECD3896BD841A367A0370E6269525B13EF6A3958C2819F1F22D8EC46
+E56A69E0C0D07973112650295BB4ADD9473C80BA28EC4882308B5EBE74566BB3
+9E74ECA0936354C5D7967A55FD27900DDE0847150CE4329BF8AC43280BEADA05
+D269F2B2B6A93A5C2291DC2A9404721DE03743F7DB35FBB2223ADE243D99059D
+D2EF4D2A54E292F5347391957832453A112FFF97CD601E95970555ADE0FCBA29
+FC251D807496E83B2A867214B4779C8FB2C609634581D37023FCA0CCE534603A
+620CEEAB7302288E10E128F9AB6979D8C7CC2320E5B9CC4B671109CD756E45AA
+B57ECE0BEE44E78896EE230E6BF9562D0268771094656521B0E730D6AF1B9A8F
+51EC6648A153432C4E64FA229BE91F14EC871E87C127C2EE463A3EBFAA5948A2
+68FD8440793B1546A66EC4A0C7B907728D4DFAD83A0ED7766F01EA8593538591
+C677B24128E763098513DB3B2FB81AA9486C976ED364FB5DAD6057AAFB7008C6
+E24D2E9C5E8D40F4488C5AF28F87344ECC0DC6DF7C9B4C3608EE48E6891691ED
+F836549F27378888FE6B2C2FC8F3CAC540A09A287824A41C8BDF7D40D65EDEF3
+3A8EED1B55C46AB1E948001A888A3A02400673DD32A184BD970DF4A98F3E0FBD
+055987E208E59B9FB51BC204E034E1567B44E31C0CB2055BE299ADFD1F6825E7
+168BB8D7605C3521BE873AA47E7839A3B1481954FF57F79ED07CB72719614BA2
+CF55BBF66F1FAA899C323E2503F434C4003D1D524F2BD294DBE0E05B32F4597D
+E345A45EDDD64ED5D67383BF05D1B4732C658A283412DF12F88B9BBC2A4394E1
+050FEC8676373E44EEE95A6AD2349964ABD773F0D9866D8ED6845A5F94810164
+BAD4F749863809443888D41B3BCC54FD3D525BEB352DFB9D30FB8E28390EC381
+5549A1CE9FA955815D7CAEC2AA91041DAAAD9141B0B65CC0DA9766A83921DD97
+8001E55C2D51E169E8AD9CB86B93787970D9B68AE9406A5FFA6857ECD7676F2E
+D5C825D41C0192F9A073608445A7385D8BEEC341E76252A39254D518DAD1B16A
+B60AAD1D68449381A2DFA852F762A75C507F175E4B7FF3E404910D8C39B28DD1
+39A74946A98BB8DCE335359B9CE8181334DB4A3C4224D70E4D6739B93871C88F
+5CB369A889B8EAEA00D56AEC596E3D5903D6416E054515D4C21A45CE0CF9FDB1
+C7AC3E60CDD7BBE49F7F47B8F14C00EFEE5F607205CA663B2A566B17F457958F
+AAB0C1E7CEA78197697B56FACCDE80DDC72373B8DBE8CDFBAD81C9170F503F09
+4D0373A7FC641C249989C210A9EB004302C2D79B0F4B1ACF3222FC9430905C39
+6F01EB2A5110E254AA6301EE362BA00B5CAFFF134A8A9793B34917006E7C66CF
+C13424DE88780F7D4F565A1B5EDB8E988795DA2792A3B2667137A622F358F000
+01C0C0006B0FE604EFBA1C51B8B75850535DA2F50E753550E231C2676D77417B
+2A22C3C60F462457B46F937BE1827DFCD2EE7A6048902AB1AC8BBEA599873604
+855DC992FD093CE3BCCBFD4ACF62C6235BF6A170A71EB9CDF3BED980B5CCD556
+7A30AEC1AE5E518CF25CF4862E485D2881094675CD81B0AEC174D9167BA4C4EB
+DD91CBD701CE5F5EF9BC460C2EBD28A2E751D4AD8D4B9D117631994340DF2942
+5DC7CAEC5EDCBCFF932C2D2CFB66A8C8441A997404899063F45A52CE7459FDCA
+8375C047024F0BFFD81346ACA95211224A1182731B413197A812CA78F7B78F47
+D7DD957693959A3E0250615C76602D4EC2B8F71A27EF1C349B8D2225BD3554CE
+250AE611A971A16592931C0D6D7B9573C44780411173815D436C79A945C42C23
+CEA659B2209C8A29F135781554CCA8A95F01FDB7411487ECBB0033DA95447534
+37986FBC4BB3827D57187F667EFF299562A8837B12BCB2E00ED91498EA8AED40
+D2963048D70DC442865B9BBCC383FACED8B5E5037513E4E0CE5AF90903BBC893
+3FDDFD1FB8D0D9605E0B13ECAD84B6351AEB8F2CE65680718198C7F01D1AD6E1
+FC0F30F95238FE4774320FFBFB502B4FC2C283F8D070444A9E64F0E93082308C
+4AB1EAF661A34E6F0052D0CBC66296E0A21AA83E1AA311D7D8D1BC2285AF574A
+EB2274222C3D7156CE001D1B95FC432B50E5AA83C67DC4F621D8CCA5EC7A2208
+5500C4303BD1E7B92A488C64E2E64FC53F7B1C3569C83A8373CC9CEB8E510FFF
+292BA72D91178330E126B41410AD8B2D6E2DA491DFF83DB53F78C5084614B5D8
+96FA2CCAAC2955B61B37E5C19F10FA5F21B0BC62A5EE30D484AC3E5E714D7DF3
+1E7DADCB845A13C11E091D60CD64C10398451A69ACFEC83FA83E1CB0DE506860
+A16F1C217D3F0020EDAAB524A92A30578724BCAFAC6E52164A6AED93AFEE2FFB
+67A390C8222AD7A024F100CAF4F698EF2FACA4164C9E4A0C229F205607BAA25B
+DC213430A2C0A5B12CFCDE601FD91CECE8102E0F3CECA0037327A9E4111E5A5C
+3D0204DD6CFB226308FDEE442F98B6952A447082A2A92E97EDB4A83859F5AB71
+599093FCA362CED5A2A52E8B23FCFF9264A9D5BADBF0FEBCD7348BD815965103
+6BE41D998C20531F289A4EDD859B72B83AE1B8FA22598FB96537CF035E0B4DBE
+8BD1B054B39276823704440CF83C812670B69DFF35892EBC00A6F04F028C70F2
+8CB07644D6216CBB94E864253D584553BFD38BD7C822D81F13CE287C6777F904
+65DB3A1FBA4CC7C2C2049139F4653B6AFD15126D1A9B5834F3FE175D56F8F626
+2AE11C5894A66F4B65CC7164DF33FF5EE0851F0D57DA7C969E51015ABB611F5F
+8DD09CB0035992AC74F043904D982F6272C66D804C86E50EDC2165697A25FCB0
+F92D814CE1B49AF4612AF6C8755F89762BB1A80196EDBB23608264970E66AF5B
+6551B21D349360944E5DCF923E5F6FA81751DA63F5A4A3C240A71492548830D8
+851DAF93D2CAA4E256B4C84B8EDDB59FBCB6F7100F131E73B33072767AE7A579
+DB379D0D359B257E424B57E1A09CA559C4454EC792814C49E12B086580438424
+05631FE7D717DA17B6F8CFC21516F0890A6D3E6DDAF61294F3C05D450DC3D00D
+B628A9C65A65F9BB3A0A2F9713ECC022F3EAAD56537E4DB8FFF97AB55B261405
+800171F4EE9D20E489802A55809FFD41A750CAD891396096E604F24F2E342AE7
+5F74CB49480C77B3FE13DA043651969A77E4A30A10C6DC00D2686EE11A9A0CBA
+4A4BDBFDF38FA82EEBED4F5FDDEA418A2FD90795D076394F31CC0888EFE1EE69
+2A679AE0E278E985FAA578734B25B697C54EE8A1E7890748FA4F72F70ABB6178
+602EDFEB42BD269825A745D008150ABDFED71ED9D45CCEBA6E7DC5C9FB3A2C5C
+F65C73C1E45100586ED2957DCDD38A56031D75F007E90F0759A6EB22491D8AA2
+2DDDA2507260F3B5B2F963D8572D457819DE915C07545006A363B21D5759AA48
+DE12D0A58C37E51712A7854678E3F90BDBE7E9871A7177751095D64C91D93BFF
+1865C5435C3C7F41812002DF6F33E22DEBBBC66FCCD68A2C7AC0FBEB126141FA
+A399B2DA947B67A437A829AAE5A978444BDF7C015E6F9D7E9E29556E0E699718
+1B241DB33D766E6E8AF229792E3219A1744D0FD78BACAAE5D0C45B1D8BF1D5CD
+058AF76E0DE5B062E1D8C0401C4BC29BA5E0C5BC854FC5CB6BAC40218BF00572
+136131412EC3522003DB4AA1F8FFE59268908AFC28DB4F345F8321AEA8200DBD
+BCB860FD60E841B5F13DAA51BC03189E533DF9A8127E4B031B99D270F600802F
+AA9756A102777A7C7A60328E5162B304B9DE6ADF694314E0E206F7BF8DACDF99
+B2EBF7AA2FE4F890AB200E7677C19BF5B3E9AADDB61DE2F7ADAD9D877429F0F1
+6CEB88E5F1DAAFF17074DA50FD6B3D98DBDD26D855001B0A42D4113E2B1F670B
+ECA23F1AA3591BCB2F0409706869191FE908B6DD296D592B4C8BE550DBBE3A7B
+323A2D5A9A59E3742B252E97244B1F7746CD97C6154C6BD96CEEB14DBD25A5D1
+0FED0700BDEB8A8202A377AD8BDC4008DA96C5BF3BA9FA617D418F8A376F5105
+44EFAA85413C8A657F84038E090C728D1C4506CE9306C1DB6032D747C8
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000000000000000000000000000000000000000000000000
@@ -5068,416 +5714,68 @@
 0000000000000000000000000000000000000000000000000000000000000000
 cleartomark
 %%EndFont 
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights 
Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /.notdef put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-/UniqueID 5000768 def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
-7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
-77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
-2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
-FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
-DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
-7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
-9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
-CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
-6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
-E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
-8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
-3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
-EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
-0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
-4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF
-1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910
-757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E
-0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665
-6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED
-E067598E1B8B781EB59569E3D0D54D8EFAE0F3EDE26279776ABA15341E42E636
-6E02817082BE6FE0B04249A4840C11F95F8ADEFF72173E9A5F2AB2F62C427E5B
-DC010E18641EAC906A5EF0F9BC2108062134A7F10956219C5847C0D82F0E8663
-12D963E012DF0DD899911EC5D8096F80B49CA3444CF1294FBFAB57DFACC9D01C
-46F3BA2F3D1C14EC30CBF83E5729F1C074D4F1665405C9AAFADB8BE41EEE43AA
-16966E2C0CCC853C4C09F245ABFD4603C4AA55EADC0A59AA6E9F5895FAF3D3FA
-83EDC6E2540417530AE7DDA8EF33DEB81444316FB3F93EF944D9FB06745BACE4
-848398BEB747E58310BBA39C64E341185C82CB77E9D4439EC15BEFF1335F22F8
-F036517C436225F4125ED67ACA7A84230D4E2B6CA713FD6B3CA54BEB540D4604
-D58A8335BC20052440C4903786FE3E335E331CCE36A13F05F71126F680077AAD
-ECAE10CB7C057C2D55F384723D5C30D20FD1358CBB61AA05EF45403C3B8019EC
-6350ECB240F696BCDDD1A9F0465CB43B824457852CEE14CB39164B65A06C6F60
-2FF3A2A62E9567386DA80C4AD094DCE624594C888329A1E884A7D9B1538B8504
-7669C9C54243C6D846027595AEFEE8F2884ED0616E9A2FD208B9288D26172F6A
-32D3C5E85739E3F598A1C565423C3F37085329E8A27DD7E01A7BAE8E77762556
-A132E7692F6BA538A79270756BDE4ECFCEBD777E6FB6059C751E5E3F07BEF17E
-5327D417AB54D4389670867D9060395A5A6C87D387937D8C06F65B15FFD5C761
-BD3561675D48B44AC34221E5242FA632AC7D17463004268C90BFF8D1EF2C8B92
-C906A7250704271DB704C5DE06BC3131B5F2BE7C8B328876A6BC8DDD19F67082
-31A6E815110DEEC8BBB19BF3D842060CECCDD11AC91B0F84952A681D5ADEC951
-1C14E41A06FF583B78798A572EE5890AC06087C7308074735D3EE2C0DD79FA28
-FB8E5C304EAE94300E25472B7843C0C6437649C67AEB9DD2EDC6E8822B8F54C5
-E4824B5DBE49332A89C5BF5C93A63549177C1243FA356F457E20890BCA208417
-1DA914890C79C5720508AAB6B594779511BD9AEAF42BBD35587CF5CBEF41A2F8
-5DB619AEA1744AFC20ADFC173B866497A741A31CC1C39F0C54F40A40A72ABF81
-9DB17654C62B247EC4AF2C74D8F308DD379AD245251295C7175929A360FC4B14
-BEEA12CEE1BEFA574643EAEED50C843AE02AC2904B2865EEB8584D0765C9EC68
-55B02996951318082F524811C155DB9E8F2A487794284C71D4F943D4885785B7
-FEEB0927FCD3BFBA8CF07D600A155167CF9ADC33DA627C5053076928F9867BDE
-894E0F80A77139C454C6B8E126DD5CF9DACDD74D7BE7E8474A494B89E777F4FA
-4CB8003758487E658424CFEB7A1DC6C86D8351773252E47763D577E093562318
-85C526CF4027B7F56E7B83CA8B33865EE193CF219F339C39CF69081E1EB8FE48
-F3E078103BD8799B5194D2E644DD229D64F9991BED5F85FDB74458E1B1E555C1
-E639CD733462DC6CDFB7D0D603854BBD8DEB2BA9C089659851C9AEB07285011E
-E3EEA1DE92F9B70DBDB8E20C47C783290FB672D5C0AE4D8B26E0897E8FFDDE84
-AE4B1CB33737B529EB8CB84A517D7E9B6D590C88CB333DB5A8DDF6DD5A00414B
-0D78AE05F70625268EF783C91E3ECC79B162E2878E33103AFCA471F42DF35B6E
-00FF7651B42E6AF6233E559FB41AF98BAC08F4B43CB4E82D8DD748E1BC4631EA
-84DA0792D283F6E1474730854C4A96FACE3511220ACAEA5B6366C3D7E00F1A36
-2308876125565247E987393090BBB09F9953B84177FD0E3C41380AC786C175EC
-B85329026181B3B3FB2D39B1C70A4D5566FCB66959B0CF52943478EEDB1D9FA6
-7B889056DD95FA941C67FAB990C84427126322C3494C1C4E2C711FACA0A9474D
-A45A18336452D2CBDE361AC44DC9F6AD1B860C3B76395673DFF4C810118C5094
-DD8576142A4BAFB3C238C1D56BC8FCA9DFED667A667B19D40F954275FD574AE3
-7DB7AC6AD7ADEC4AE833C10CB4A75CA1C40C2AB3CB0399EF500C78B87155FCAC
-6C8ECB3EDB244B56D9E59FB5785A93F8AF1D2E35DD32D15D1184FDD3B0A407D1
-2D8374454D93EE90B32042B72FE0EE1725FCF4A0ACF86FD51B785B8665E3E1DE
-16C9ECBD7CD9B05CD2F47FC4AAB65933B6A84B327FAFCCF9F73BE0D49B719EDD
-71ED1A7C6C01560B2A5E7FEB37FF43CE5E8B531B39F94CE9851854A6461E7D41
-79C7093D221BB051500A87C7C30CC8C9AF9E4F139EACEEA862171B200D4D380D
-86D9591B0DB68C32B5E491347D4D5BD399BA689B0E5C188546830C88EEFD4163
-BC0D0024EC5B9449D7F42AF878E3C593D7B3A8E9A6A01DE78FE2DDE703A6D3B3
-7A29BD7C5930F4118ABE5A4A6E1A33D50D279A9799DBB9D13FBA9B1938FCC9A6
-CA4373A901935D269EF5525FE1649F62CF91D8D5BBCE530FB2FB071ACB018120
-B0E5EE0B5890BAFDF5B774F18179D80F0651B1F79D7956FD9FB293F00E60A418
-26BCAEFE89EB57CC21046D8570CE282EB06B5A3BA9BFBA86B22803E75CD41FFA
-D964F9B2231310536137271A6685E0F029C058F41ADABB04DE24CD08DF8598E2
-15DFC548BAAC67797FCB1532BF6BA56E8A64EBA0844205587E4288594A431F6B
-9FD6D40CF34201F59BBF6A455BDB4940A75CD1A898B7E155399C51B7041FE6BB
-41F7242E216F0D32CFAC0B9BB39C89B99C999AD294A5EC31B8E2A6F0CC9AA6DA
-CF7EB4EF14921AD7C025E0887327361792FA893AD17812590EAF564BB925D53C
-7D10038EC0C95D21C8DD6B4A5CF17D0C4D36293A7A43F05542660A32224AFC51
-19101D5F0744E25210138B6BEB42AE8A4E57A02628D507D575426EE57941F0DA
-FC9A033C9E278FFCE8EC8C99DF1FC596317AB44027ACDAE32E30243FAAEE3F45
-739A7A3DC51A4C239155C262E6415DA8CB0B901418C5D18B1E6745889B2C944C
-FB1B45B9A38EC4621C16651DF1384B5C79A6E5BE97FD49793A124E1A9BE705C2
-3B21FA995E88BF51F01BEA8FCF484C4C1F82DA0E4BF76DE8574FB499FC866335
-F9AB6DE5B44FB7D54B443D5F6266A8D0EED967B407431C7E541927D7E9264993
-D710CEA9181FEF62ADCD75CC8FB1EA1DF0B37D26C3CDC38829EBA158E3B7686F
-F6D01C74A15ADD18875BA454AABE18C4F123C649D756C3E4C844FD27D850D9EB
-74016797F8846B2C46FDF42BACC5B8FA0C7C8062E731E82F97BB2BECECE7CE54
-539FDBB0A0630AD4B7B4A8D7A9223E5F329F00AC6F64BD0D9767BE283EC7D06A
-F14C0A1ACFD873A0A704F27FC9EEAEC89700A7FEE71C92A7600A4EF8A32EB663
-CA516357B6F2FFB56921A2A8ABA553027BAA362E4021A8F291667405AB5795FD
-D4120EAE4021A08296CDAC04E036C93B283A33E28AC462AD110ADA58C42A3354
-3F7A8D96A7E9E9BD4CF4C03DB691CAA9A70AB458CB4B3DAE653B8A01F841D46E
-4F982E75DE320C18115ACCBC7C9DB8D5BB9A7ACBFEAAFA09429AD8AB8C541E4C
-65F0658200AB28E3D7C6F8168BC38B2E34FF4F64A459E131B8F741AFA9FC5E3D
-FE755B3104FF2D425F6372FDD39E9398960EECBBC8A645EF15BB0A636A61862D
-66FD2783A9944264A92A192BF0D8E509632B0EC09B984699A515424FD2F869BA
-66D4AD13CE5F08EE0FBAFCB9D9465720EB1B247B5721CCA0022F933ED47CE399
-F65771E67097F3593FD7CA97687BC97EE9FFDD7D6CCC747B2E821529C7BF6352
-774A23F95D4EC54E9389DC2CBF4BDC85C554D6DE1F74DAD6181DBB2CC65FD510
-2AB2A38F2BDAF071048D23CD79A93D2749A94344933081F69047BEE2261AF0CA
-FB8696660187128104C2998F4B3FFE1BE8C5593E37F5A87778B6FC8B6B446899
-C5502550EBF24F64FD74074924F05253726ADC9FEBFC4A4F8C381C83AECB6BD6
-268B0CB83EA6A9A3C1DA8C31FFF5C72DF482C258FB2A3DEE0DA524AD54EF659A
-C964375BF103192B0FD2EFAAFAA169D1F9737FCF5482A7998C1B651455FE9636
-B22708082A17A4E06D2C3D84169BDFFF933DCBC96A11596B09B392D698222C94
-F0B528223A8CC33C5BEC2425BD45F6DE2FE3A5353864BF6804A01C44E0AD0E1F
-5F1E9BA340C4BDE321465B76AC60BBDF1E961967B4EE071801E2A386BF279A12
-3A465224D60CDC24F67733DB47110CEDFD400EDEAACD8A4163D28733EADE8D9C
-48ACD94090316331EEFD2BED8563554C02B6ECF0A52EC0B65556CA1EC1B15329
-D350040FBA595718ED1464ADD4B5A9C320F21D7473847B2F7AEE4498E39C1E73
-27932D180DCB56FCABD24717AAB35749FD5F07E5CC296023A86A8BEB46EF2D2F
-19EFE6EDB17009462093208AF093E4C2DA46E16C41074ABC4EE5678223FF6297
-F148CDD9DFEC3DEB1EB063604AE80781638CFE2224B335FB540ECEA401CDBCF3
-B250EC702D300D96657A8DA22493EAC7F8A9A6408F9E700D98EA9D1D7D3D42DC
-B23D2CFCD9E101A89350D80EB4608B2E099FB23CA39A8210A853D385957F8D05
-6BBA304AFBBDDA43364C04CE5848C711A2002E606F69666952CC4068E97D5A87
-D23CDEBCFD4BFD3577C7AEC0505B49AD21B8E2CD9E2080D5A992D5C87D757A7B
-865178F5DCBEE0096D2F9119DBB1EB1287242B012B6223572331075958178C6E
-3B8013B5D3350B6741EBD810A1B867D6AD170D1502201C0F3C0C7D5DA301A9DE
-05397D29A5379EEED6DB573355A10191FAE8358D8CE09E217038A4CA533BB0EC
-DFF52818FAAFEDFBB33D2CEFF44A732DAC04C5183C0139DA21C3618533672437
-3677CFA0EE4C7171E050E407CC69FCB2B2D934DEC95D70DF517483A528A1E34E
-074249A075B0ACAE052A581CFC48BBBA80D7985744A977E52B47CB299EFC7996
-A20CA05615A85C93DBCBCF7F2B9428BE59D966613EEC5D660BEB94352E47D2F6
-2BCB9427F4B5F775176E5F1266F0300464D20BFDC9E071F85E0A03406CD25193
-4693019D84D659346BF4C4D624AADFC34C007DBDA98EBE16C1CC63657DF9D2C9
-EF74DF2B64CE5FCEB62C76C0525528BD5FE677D122C8704A6E9DE538C3601D7F
-1FB1A8CB6DDCFEF3E22E0D7B39D4F8AEA156311D42126FEC23AFE75AE5A27DED
-55EB5A622230B01E18B28AE2BFEA118868779CB0B3166A4B025DC051489E986C
-67D50EDDA70CD85A2C9B9D522C4FE45016085DB55FF14C67431CD632744ABBE8
-89E86234731F3933DA4A794CADEF64671DA2E60BF836341BE8D837A3BD3D0C9D
-0FE9267C9021D63EC91E59650D38A53BE66325FB7A27FDF0AC2FAED33B07EF8A
-EE49510DB2ABBCA39686736E3508A35762DB71A41D5D791E883B264E3425F66E
-F39E9C75D54B7589C24B24A13A54CF27572E536BE8D9FC07E31198EBB8C40E8F
-371DB6A19B4F49FA8FB2D3B68F5C94B5D9CFB98EEA9CCCCDCBE1DA345BEAD270
-D7254B1242B43B4453CE45C803D018EC47790FDC817817755EC25C5293E645CC
-71E6D329F872C9F940EF383841DC91EFB4C7807273D03251D677CDFCB274982A
-6EF013887947061940BAB0D91AABE3E4EE41E9E14776F0271DE6C31545FC89A7
-F253CF423CB9BC34462A52CA3F8B023C89B42A4073A92DF8CEF34F9A8F6E2B54
-08EAF3288A486958433FCCF841CF5C0B4ADBE1FE63EE3028F43EDCCC8CB62B5B
-2AAC62F29DEB798689E9B2D7635469891EF0E306CF1C2AACF3BC8FE7B1809E30
-9CCF8EAEDB8E1B4228F97EB70523415681D33A3FB22B1B422F1BA396865EDF73
-B4B2D68B4E1FBF9FD406739907E82FD3E759C68794ACA231F460EDC89AF45833
-2036154F4A70DD7F4AC66B8BC376252D0809CC0444E8CF75349B8ECC47C0C403
-5A12C53990293AE5BB94D4374ABB464FAE2855D3C2C774D20413B1F06E6289C7
-47D760B6EFE3D1667C3C3AC5665E6D5972F6589581327B715FA895A020B8CA3B
-72A85E8A31EDA944B8CEB2F2E5352859967C0BEE0732F88A0D9F935F3922D578
-5665775BAC106C8218AF914720B22790DF6D9D6DEA8A7C1157C1C2FA40185BD6
-C10C847B8EA7B640370DDBAB7CE9A114C8F9D7724793C95AC8E9879491CF9F41
-EFFC7A48A7898DAAC74CD53A80B176729AEF2829A6332C4C2BE76C6BCC67A2FF
-46581FBAE11AA25482448ED06DEFBD6B6C515BD85348FA0B077207DC668F21E3
-6563E85FC7B4916EF8541FA879376151BDD92AA8E3C50D11565E460424B96F37
-3ED4AA3535D3F6433D4DDFB4462994706C15B549F3F85D5AD7E4A63582A7E628
-62A597EBB753F5EA288CFE97FE79B873A276ACD0A8E538D9F72C15558741E738
-7380278E2A6B2AB18FCF8F0C6768149D2DFABEF6B6351D3878F556EDD3AB85A1
-DD85423D31BBF32177926E046B36495AE452FEC76AB28FCA27BD34A065C5C64C
-2066AAA6311B4B43D0C7724B32A9FBAF9EEACFB012B8612D8C626B5F3F961ABA
-E91089385BFE4C592A163BFFC76496B69B31E0B6BFD843FD336EFBB41CB266C8
-F360A7A33DB5B5AE7F8A228E14F4902CA8D09FBB5022774D0A35CCAF79BC0AA2
-9BAC0F46B15C854D0C79066A8083067BB608445E6E2D648855AD0D45F08AD44E
-A0D5CC72280C3D06482DFEF1ABBDF9DA487E93A40743A50B811803ECE3EA452C
-88591280848C11BFFBF51764B7FB847FB36BE3A23CEF628351C335ECA81A015D
-CE3B729B7BA965781D771BC12D9602474956B21477F6B22F2292FBA979B84A27
-1CDC7F53BDF0216F97BD6A9FCBC3D4A763AC8586B2C4312FD310D7751B0AEA7B
-2221120DCC312E348CD9520A2CE2BB883BF7E80B059245B6C25DD49052FA3E88
-054624AD0DEDA14813BF776F80B32F78274A5E2F6A440D815C1287F891420FEE
-3831B4AA2D699BD0A2B5765163CF80A0E027B979BABF93E7F370E67B5C283AF2
-974689A53F17841CE09038B634443C16C145BCCBF19A48CC0C346B601915557B
-679759AB2F56EE42F25AFCE76B6E16DF4AFAC672EC8898CD9073F32ADF9BA334
-0C87286238BC574304B17DBF9170A15DFC4C373AABAE63CC1DE63B481CB76FC0
-F46A0DC31A2ACCF4113081631051EAFC5057CC07AEC21F51F29B83CB0F123A34
-0A3188B619937B3E206AA9C7F8F7A557BF2F51CD4C8C9382A1C6F8A1596D715C
-9EE11DF9C7D0793B05664D77C9A04C6294C136BAE9BF6426788805CC311AA0FC
-5C6C2447A6C3F9109218A5A98498247F61FE81E2DD8AAFFDDEE9C7EC5357B59A
-EF694F0277B6840FBDE514E84D5451E333F92621A5539D896D39D44F73FBF78A
-77DF4C8BDA5F7DB4E747D93E7DC1E8452F5F78B7FCD26EAD40C408073DF10AC1
-5496C78B017702D03BDA4BAEC7B7284A3AEF74DE72ADC3F5ED97AFA80B28225C
-CF6311B440EFDB604E95286AB63B1C828984D7F7D03C1A1086BE2719584C86D0
-DBAD22B46FE371471A3AAB44D513AE2BDC76C333DC7BEF785F0157C068DD6997
-283F189980EFA7727C242EAB13B6AC655CA32F90FF505C27F4F74A2F94058682
-44F949584AC6EFF8B1551D3FC647B7B086354D04298C47C707919C17B839DF0E
-3A4D2C2C73647F31C375ED6518271D6B7DAB7F4A8EF22A2FDD4CD344F9A41E59
-FECA8BB09E9C3A29AF3C4E13551828B9DCE84EAAE638E979B380B406898D5B03
-DB9962F3FC5CC6A18D84300F7807058D6D307C7A56F6A7DACD2A33824D9C38E0
-0A95B24BFB3FE344FB86ED44210AF8AAB3BCE7DB26A5418A1DF5B45EBD46ECDE
-6AF2A57396B1FD938A49F4C11FC0D9214F7E0031567BA036ADE596D3B00E9990
-B2137F1EA184A81351A8CC6260D352B7488186845A53138879932E356D8249B8
-38CA26839814CD2594265C93D0C0A4A9D6208106183961A42B2D0D3BC2191F2C
-F5CA3F44ACDA6288528261E4C8E1FF234FD4F8CDF4BF12828365D0A1F7CB04E7
-F14D0F7B013C03DCA76807C264AF416C5028C58C3F17FAB9492C0EF2797EBE9D
-A8770E51AE10DAB965D1F342FF37B0D0EFFCF756E7F80B74DE6E66DE385C97D6
-7A4A53831701BBC12432B1542F44F02B5D7067A30910CB677033F65028593A8F
-E01E3FA0205C3B435750ED264865E18E682252898EAD86AF458E1F4781A9B213
-2AA676F501EF5449792F4F883A6206A77A3EEB61833DE71A1AF0421F2D5B3350
-4AA6226C1D633043582F723D9C428767B74788851F77F4628C4F3FAC26964DD3
-5B5D51E43DA54B5D627F325A80F764C8416CDF73432DE43EBE4BD69C2AB42FB0
-86BACB2CDA459D172CF463A1449C2D9B1A63B90FDE57725B0E22A9E022C6DE0A
-5B19C0EBA17409ECEC31804E70577BCD9B569D9ABA6421E2D13E4F5B5FE27266
-AAA6654EC8489E65AEB24F35F69C8AFE5060F7B491E01DE8B6C8A52C0BAE78AB
-2D5F8950E409301B6D257CA98B71C7C188F5E5E98A6B34B9768FF2AA31E56A0C
-FBEB81F7DF27A62167A454AC1A514B8AF2B2AB6D5720F81CEB357FE489C0FC66
-299E461F17D60CBD186C1D27BAD16A74FE2265B1ED8B9C51F6A531CCC926B3DB
-7A13EFFD598348AFA05ED4A64794497199B71484E834BEFCDB6ED36BFF9AAA61
-C194664DB40A9BB1BEE3B19E43A7BE4B5DEFFD705F9B8593B957C6961AC5F604
-31E5D9196281AAD59AB09B25095B03BFB85BFE0A93F880C08009D0A551C4932F
-8A0ECDE5B6DB8783D37EFC0DECD52B5F935C36AC72503F58A5FA1B1526294383
-05F238C8497EBF529090A791E3204F53E286F5F9C06BF26F8FD2CD36D695AA20
-628F3710F7F36C792CAD18D2C4085139090A07BAC0CD9F1B7981DD189D1BA8DE
-236F3202263F701516D93EF00607DED7C702B5873F6E66B228ECDCDAAA60873E
-2180ED386859D7562D5DA85AC518F84D274EC5E017746A7A2B0B0545F77C5C6F
-79B312445F9ED00C7A0F8EE9D8AF89231D58B1F1016EC1156E0D3AB95CB5E049
-2E3D9ADEF25801717EF38AED86E0BF9577F678E72B7CE5DED31EBC8105298317
-6EBBCE6F4F58E2358FE08BD984C6EE26908966CE574D70FFF1153714570504B4
-71A412091BA1E775512472DDE12576C806CB1AF8C814DD0DB32CC54AA1BF02FC
-972AA0ECCDAD533024C599D62F8A159BA3929E3268E3886C4716998779A61641
-A5F68A5FE8F75B4A72798BB948B182380EAB7CDB03DE5B12D087FC7A7A2ED170
-ABB9D4BCB7232DB1B720A165DC20381A3CF6FD085D0863E197CC3BB2658C725F
-1ED74077E5BEE7F8AA00478D8578EF01A44582A9A7EB7599A774DA4220AB2609
-C3128626070C824EEA4FDDA375F0FF1E7AAC89B19670AF83AD9BEE4156F79460
-0B69785EB1569ACDCBBDFCB5E30FB02B8BC0D0EA814E6BDD953A8F4F8C7DBC43
-A232F24A51F41396122410C0411F7EF1BC7B77DC7B0CDB117CC26F72E2E25D94
-143F9104926FEAD31ADECD6CE5CAA317BECC8DD3EDBBD3B9D4F9F43118F88641
-6717C3EAC04A66425130D25F110FDA0C721EFE38C398A2CB5C5B02E27C0644E0
-0920F5D08675326387464E3D6D81C9E13B21089071C692C43AD2DD784BC64F3F
-703093CFC8E8ED88D8094359B29BFAD08716823D15E1C8277E57AA3765BE55E9
-08BE5428C95E277B065A5BA07491AAAE33651943F00516F2D16BBD8992A263F1
-DB6ABD5B7E428F950D021F270C93CFDC202B8C9CA9ABCC694662DA1562F9962F
-EB020DC635BE52930A964EE8C0B2533561E31C721BBE3B86583B9F8511696E7A
-F0482415094D1764AE1D959E8C8E6A1B6847D0D3608862E62B5D2EF0D041BAB0
-2688D5A1875A1818842255FA8ADA8F9FC4A5A98A2D136220E10B74FD25E86286
-2BE170A70539291BFA5D1D25B6D030DDEAF4E69BF18E5D860C70BCFB97EB9DFD
-F3DFBCA37C261864336B2556CC2DD6A01CF76CCAD22AF6B7289571E8A7F0DCF6
-E6EDDEC45C60CEA75B61C8ABD0BA00AC4BACD931B10A1A8CC1A7D1BBB4AC7695
-412A0B36704905685BE37AEBE73A48D4A773418A0A4AF657117A89756BE5371C
-90AEFFFF97F170D0930A06A8075437F8F22A1F63DF508B60EBBCA1C60C46873A
-CA3948A137764533E8A6915EA8E885E279A8E4FC8132548595C05D641BB780AA
-31C0D044F53467938D42846BD96E896587F677A8EC0EB7B54CBABEC20DBA3E72
-6F12BADE1AF5410842D62CB6D3100B847911CAE5241F044C322B0F9D9A25F860
-EE91242343120CA1D2A6944DFDDE5C7930A4775E606F2087476166FA24EF8AA8
-5E2369010C21DB60EBA50B574DB8DA065B6F9D08F80BB41FAB28E93D37167254
-6F6B40F543B92716125B3E9E0E94078F0C4588E6C5CC1A6BB0E8EF25CC4C8DE5
-3082A4481BDE9E151202541FFE4AC30C9B9D5207184352087CC2135CE374FF83
-8B954340696B600180ED3BD21712C0C55B204FE21231510B21987466BAC00E6C
-87657156E7709E9FE4320BB4E41419344E839D9F9F76EBC2D786CB671C474AFE
-E46EEE3494F39052DC98D8D0A69EA38B604B505A0EA22E2BD8FE089015CFCA53
-38FA703377F03B23B27DB6B926B9803EDC04C93540B8AA252B975FB4B6F8F1ED
-CC6346D2671007240E21991D63744944F65EE7546F73C2132406299D1967AE87
-6ABF8586C9F3744BEB8FC806F15E781A247F252BF22820FD7E09FC25131646D5
-2AFC76CF47FC817CC52901C6981159CAF2F63658D1E9312AD4D58BC6372F06B3
-EA603EBF693FE6AAD9EDE1A6AB2AD554B709984F515CFDB25689BC2403E89D7A
-CD5A81CDE041F2F47B90633BF7C3F5EA031132628779B6C8D86F244994154052
-98423DE90A4388BAA6F2A800B28BF4D00756F8FACF9DC7AEC891615D88D58B67
-B96D8CB3BA811225F3CA3EF1818A3058AEC289C6EA906F12106409E5E096ED98
-9468A12BC553C31627BDD5E660B1D9923FDB76AC1D5AF56EEC2CB7F8A531F57E
-D0A5AB6BA84CE928F6A7848E9586DDEA64A963EA09BCFDE942C5CDFC76CA41E3
-0C600EA7886E19F5D0811585CD395C987FED4C0AAB538B3665BED07770876215
-894ED782FD7903B3DAC60A9A6F0AAFBD4DED6EB1EBD7113B27628422A94403D7
-4F3079C19F485C96AFC50097FE1C6C454F0A7F114739CA3903E2A45CDE5060C1
-99044C5B62FE5ED390CC9E15391D22CF2AED28079DD8F8844F88783497302CDC
-E24E48AF58160ADE00999E3F66DF6130C503EC41D7369E4F65C7387049C9123C
-93FB78BC6F2256A5DA5BB65C4FE6D438F51B4BA43453349F07DA0C513A1FAE8F
-39EF3DA260F8DE207A52F112EEA148F4EFB98062B48C2D8ED49CB00EB5249909
-FE7E9DFD8150237641710E870CD559236E0ADC2162D2D4E1308BA44F24CB9B34
-186EB6DEF2E39E6D96887050F09EB16829523178A561BBEB50B18F582CAAFA84
-3294797679581F1D69E06BA9F164BAE02291810C26F8D7C5710D648B598BB03E
-E6E4FA8CFDC7FB65881438B98B97D024E72DAFC2079772F5D59BFB83FCC3FEC8
-044BB1063DB6B59CC1423098F167842BE6F5E4E0970BD986DD636A7DE3D9ECC1
-6E96285723D731B241746877A51238C03281F49E482FC5B8C50BB3BADFBA1111
-6C0DC8E3DEDEA1FFFFEB1C4739F9F2C982F827B058F44238E9FE1878BDC82A42
-0C38256A3F74592D1B4EB26181231E0CAB844CE107F16F25777F52265B8DA862
-B06CF2E8DC7966C26241410B96DEAA432DD771982DD094E824DDC3CFA366D5CF
-05190D87ECD0F359E63B2F602433FFCA0C440B56C4E064AB8F1B52BE7D138BD4
-B042ED2123654394BCAE2B253CC44383F980D0EDC730C93D76161C973A4255C8
-176A13F77D90C6A6536BACFE0C62602F8A753600A466795CEC643B9043D3354A
-BB5B6F87A074A31B8AAF714E80C14770841C228EBABE5CED1B04EAF5960CFEDE
-C6DE66312810E8F0BD5F97602EA9CFE542F33A27095894176BAD9AD57B405AE5
-69C949D220B5BB2AC6962082B8113F51FF020083713879FFB5C8AF749514F593
-CB17E86E6BB7994E8807BD8ACECB39AA96EA7287E155017AD3C4CBB46E0D9756
-5F8A8E1A8AD8029D5D833FFB6BE25C7FE567F49C29E6CD647343428CE70A90B5
-398B5B076D8981AB50D5FCEDE6B3485393C1161D6C1EAE95A9D94B3911C5A18C
-7422B3611B6F3FE78409D8890DBB9D0CC39118146C7AF29D78933B8EDF44C9FF
-5D74EB40075EAEA2AA79FC4172D43AC0DC79F57AF0956573D830AA6AB36FC231
-FF0024B42A06E2C550C78B3AEF3CC6BF5A5646AF419E68CFA2BFE68A6FBE5142
-032F8B9A48C9A8A7FFACE36BF6C2D1E97572F20553885C745A5112F995B1AA0E
-55B9BB09330D389277CD4336B7230093E1CEC7F793F7287A7610B70FF514A4EB
-45D7980780122B079E41A9408B74118260875497B4599C0BB50214BF5A73004C
-0915252F46619C5A71C85F9EDC6A824E4C4354E2F97FB3C97D222B4FB1341921
-B94BEB25022D2FEBC36D81F89BCBA93FA6179EDEE80493ED3C3ED4133B37A0D1
-D8441FD94874424957AF44F9E0E2794A3C9CBDAD93F91195061D82923E9AC21A
-A4ADBE617D875F5B6730F68AEF8CEA611A6BB710059B7439F684C51CAF79790F
-822E4AC3F6BC1F778C4FC77065CD47D942
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont 
-TeXDict begin 39158274 55380987 1000 600 600 (main.dvi)
address@hidden /Fa 138[51 6[51 6[53 103[{ TeX0ef0afcaEncoding ReEncodeFont }3
-83.022 /CMCSC10 rf /Fb 152[42 42 76[65 25[{
- TeXbbad153fEncoding ReEncodeFont }3 83.022 /CMSY10 rf
-/Fc 255[52{ TeXbbad153fEncoding ReEncodeFont }1 58.1154
-/CMSY7 rf /Fd 135[44 3[44 1[44 2[44 2[44 2[44 3[44 1[44
-44 44 97[{ TeX09fbbfacEncoding ReEncodeFont }10 83.022
-/CMTT10 rf /Fe 152[38 38 68[77 33[{ TeXbbad153fEncoding ReEncodeFont }3
-74.7198 /CMSY9 rf /Ff 163[28 41[28 28 28 6[22 22 5[28
-34[{ TeX0ef0afcaEncoding ReEncodeFont }7 41.511 /CMR5
-rf /Fg 134[26 5[26 26 2[26 26 26 1[26 5[26 26 2[26 55[26
-26 40[{ TeX09fbbfacEncoding ReEncodeFont }12 49.8132
+TeXDict begin 40258437 52099151 1000 600 600 (main.dvi)
address@hidden /Fa 138[51 6[51 6[53 103[{}3 83.022 /CMCSC10 rf
+/Fb 152[42 42 76[65 25[{}3 83.022 /CMSY10 rf /Fc 255[52{}1
+58.1154 /CMSY7 rf /Fd 135[44 3[44 1[44 2[44 2[44 2[44
+3[44 1[44 44 44 97[{}10 83.022 /CMTT10 rf /Fe 152[38
+38 68[77 33[{}3 74.7198 /CMSY9 rf /Ff 163[28 41[28 28
+28 6[22 22 5[28 34[{}7 41.511 /CMR5 rf /Fg 134[26 5[26
+26 2[26 26 26 1[26 5[26 26 2[26 55[26 26 40[{}12 49.8132
 /CMTT8 rf /Fh 134[30 4[23 28 7[31 1[22 3[28 25[47 2[46
-72[{ TeXaae443f0Encoding ReEncodeFont }8 41.511 /CMMI5
-rf /Fi 148[35 1[23 29[56 2[54 72[{ TeXaae443f0Encoding ReEncodeFont }4
-58.1154 /CMMI7 rf /Fj 150[25 1[44 32[56 16[44 44 44 44
-44 2[25 46[{ TeXf7b6d320Encoding ReEncodeFont }9 74.7198
-/CMBX9 rf /Fk 134[32 2[31 37 24 29 29 28 2[38 54 20 33
-25 22 3[29 32 1[27 34 16[39 4[51 2[50 2[45 69[{
- TeXaae443f0Encoding ReEncodeFont }21 49.8132 /CMMI6
-rf /Fl 146[42 1[42 42 5[42 9[42 5[42 42 1[42 24[32 56[{}9
-83.022 /XYDASH10 rf /Fm 193[48 62[{ TeXbbad153fEncoding ReEncodeFont }1
-49.8132 /CMSY6 rf /Fn 134[0 3[0 0 1[0 1[0 0 31[0 24[0
-2[0 1[0 1[0 2[0 2[0 0 2[0 8[0 12[0 15[{}17 83.022 /XYBTIP10
-rf /Fo 134[0 3[0 0 1[0 1[0 0 31[0 24[0 4[0 1[0 2[0 0
-1[0 0 2[0 8[0 12[0 15[{}17 83.022 /XYATIP10 rf /Fp 133[36
-38 2[37 44 28 36 35 1[39 37 46 68 23 40 1[26 1[37 37
-36 40 33 33 41 13[47 1[61 49 4[65 42 34 64 2[57 63 55
-58 58 5[21 21 58[{ TeXaae443f0Encoding ReEncodeFont }35
+72[{}8 41.511 /CMMI5 rf /Fi 148[35 1[23 29[56 2[54 72[{}4
+58.1154 /CMMI7 rf /Fj 140[40 3[49 2[25 44 7[44 23[74
+1[39 4[73 1[68 66[{}9 83.022 /CMBXTI10 rf /Fk 134[32
+2[31 37 24 29 29 28 2[38 54 20 33 25 22 3[29 32 1[27
+34 16[39 4[51 2[50 2[45 69[{}21 49.8132 /CMMI6 rf /Fl
+146[42 1[42 42 5[42 9[42 5[42 42 1[42 24[32 56[{}9 83.022
+/XYDASH10 rf /Fm 193[48 62[{}1 49.8132 /CMSY6 rf /Fn
+134[0 3[0 0 1[0 1[0 0 31[0 24[0 2[0 1[0 1[0 2[0 2[0 0
+2[0 8[0 12[0 15[{}17 83.022 /XYBTIP10 rf /Fo 134[0 3[0
+0 1[0 1[0 0 31[0 24[0 4[0 1[0 2[0 0 1[0 0 2[0 8[0 12[0
+15[{}17 83.022 /XYATIP10 rf /Fp 133[36 38 3[44 28 36
+35 1[39 37 46 68 23 40 1[26 1[37 37 36 40 33 33 41 13[47
+1[61 49 4[65 42 34 64 2[57 63 55 58 58 5[21 21 58[{}34
 74.7198 /CMMI9 rf /Fq 131[78 39 1[37 35 51 35 41 25 31
 32 1[39 39 43 63 20 35 1[24 39 35 24 35 39 35 35 39 7[57
 57 77 1[57 55 43 56 1[52 59 57 69 48 59 40 30 57 59 50
 52 58 55 54 57 6[24 39 39 39 39 39 2[39 39 39 1[24 27
-24 2[31 31 24 26[43 12[{ TeX74afc74cEncoding ReEncodeFont }64
-74.7198 /CMTI9 rf /Fr 133[39 3[40 48 1[39 37 3[50 2[43
-1[29 3[39 2[36 9[69 5[63 66 53 63 3[71 2[69 2[61 1[59
-63 6[23 23 58[{ TeXaae443f0Encoding ReEncodeFont }22
-83.022 /CMMI10 rf /Fs 133[34 40 1[55 38 45 28 34 35 38
-42 42 47 68 21 38 25 25 42 38 25 38 42 38 38 42 12[59
-47 61 1[56 64 62 74 1[64 1[32 62 64 54 56 63 1[58 62
-9[42 42 42 42 42 42 42 2[25 30 30[73 1[47 12[{
- TeX74afc74cEncoding ReEncodeFont }52 83.022 /CMTI10
-rf /Ft 133[39 3[39 39 39 39 39 1[39 39 39 39 39 39 39
-39 39 39 39 39 39 39 1[39 12[39 39 39 1[39 39 2[39 39
-4[39 2[39 1[39 39 5[39 10[39 39 39 45[{
- TeX09fbbfacEncoding ReEncodeFont }36 74.7198 /CMTT9
-rf /Fu 132[38 34 41 41 55 41 43 30 30 30 41 43 38 43
-64 21 41 23 21 43 38 23 34 43 34 43 38 3[21 38 21 1[58
-58 79 58 58 55 43 57 60 52 60 58 70 48 60 39 28 58 60
-50 52 59 55 54 58 3[60 2[21 38 38 38 38 38 38 38 38 38
-38 38 21 26 21 2[30 30 21 4[38 15[38 2[64 64 1[43 45
-11[{ TeXf7b6d320Encoding ReEncodeFont }80 74.7198 /CMR9
-rf /Fv 163[30 39[30 30 30 30 30 6[24 24 5[30 34[{
- TeXf7b6d320Encoding ReEncodeFont }9 49.8132 /CMR6 rf
-/Fw 202[33 33 33 33 33 33 6[26 26 40[{
- TeXf7b6d320Encoding ReEncodeFont }8 58.1154 /CMR7 rf
-/Fx 139[52 53 55 1[75 67 75 4[37 75 67 41 61 75 60 1[65
-13[75 100 12[88 1[97 1[102 19[45 45[{ TeXf7b6d320Encoding ReEncodeFont }
-20 119.552 /CMBX12 rf /Fy 132[42 37 44 44 60 44 46 32
-33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 46
-42 3[23 42 23 1[62 62 85 62 62 60 46 61 65 57 65 62 76
-52 65 1[30 62 65 54 57 63 60 59 62 1[39 1[65 1[23 23
-42 42 42 42 42 42 42 42 42 42 1[23 28 23 2[32 32 23 1[69
-2[42 23 18[69 46 46 48 11[{ TeXf7b6d320Encoding ReEncodeFont }81
-83.022 /CMR10 rf /Fz 133[42 50 50 69 50 53 37 38 39 1[53
-48 53 80 27 50 1[27 53 48 29 44 53 42 53 46 9[99 2[66
-53 72 3[75 1[57 75 49 36 75 75 1[63 73 69 1[72 10[48
-48 48 48 48 48 2[27 1[27 32[56 11[{ TeXf7b6d320Encoding ReEncodeFont }
-48 83.022 /CMBX10 rf end
+24 2[31 31 24 26[43 12[{}64 74.7198 /CMTI9 rf /Fr 134[50
+1[69 50 53 37 38 39 1[53 48 53 80 27 50 29 27 53 48 29
+44 53 42 53 46 12[66 53 2[65 72 75 91 1[75 2[75 75 60
+63 73 2[72 9[48 48 48 48 48 48 48 2[27 32 30[80 1[53
+12[{}47 83.022 /CMBX10 rf /Fs 133[39 3[40 48 1[39 37
+2[40 50 1[25 43 1[29 3[39 1[36 36 9[69 5[63 66 53 63
+3[71 1[36 69 2[61 69 59 63 6[23 23 58[{}27 83.022 /CMMI10
+rf /Ft 133[34 40 1[55 38 45 28 34 35 38 42 42 47 68 21
+38 1[25 42 38 25 38 42 38 38 42 13[47 61 6[64 1[32 4[63
+1[58 62 19[30 32[47 12[{}33 83.022 /CMTI10 rf /Fu 135[59
+2[62 44 44 46 2[56 62 1[31 59 1[31 1[56 34 51 62 50 1[54
+9[116 3[62 84 8[42 3[74 86 81 12[56 56 56 56 56 56 49[{}29
+99.6264 /CMBX12 rf /Fv 139[34 35 36 14[39 49 43 31[67
+6[25 11[25 46[{}9 74.7198 /CMBX9 rf /Fw 133[39 3[39 39
+39 39 39 1[39 39 39 39 39 39 39 39 39 39 39 39 39 39
+1[39 12[39 39 39 1[39 39 2[39 39 4[39 2[39 1[39 39 5[39
+10[39 39 39 45[{}36 74.7198 /CMTT9 rf /Fx 132[38 34 41
+41 55 41 43 30 30 30 41 43 38 43 64 21 41 23 21 43 38
+23 34 43 34 43 38 3[21 38 21 1[58 58 79 58 58 55 43 57
+60 52 60 58 70 48 60 39 28 58 60 50 52 59 55 54 58 3[60
+2[21 38 38 38 38 38 38 38 38 38 38 38 21 26 21 2[30 30
+21 4[38 15[38 2[64 64 1[43 45 11[{}80 74.7198 /CMR9 rf
+/Fy 163[30 39[30 30 30 30 30 6[24 24 5[30 34[{}9 49.8132
+/CMR6 rf /Fz 202[33 33 33 33 33 33 6[26 26 40[{}8 58.1154
+/CMR7 rf /FA 132[42 37 44 44 60 44 46 32 33 33 44 46
+42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 3[23 42
+23 1[62 62 85 62 62 60 46 61 65 57 65 62 76 52 65 43
+30 62 65 54 57 63 60 59 62 1[39 1[65 1[23 23 42 42 42
+42 42 42 42 42 42 42 1[23 28 23 2[32 32 23 1[69 2[42
+23 18[69 46 46 48 11[{}82 83.022 /CMR10 rf /FB 139[52
+53 55 1[75 67 75 4[37 75 67 41 61 75 60 1[65 13[75 100
+12[88 1[97 1[102 19[45 45[{}20 119.552 /CMBX12 rf end
 %%EndProlog
 %%BeginSetup
 %%Feature: *Resolution 600dpi
 TeXDict begin
-%%PaperSize: A4
  end
 %%EndSetup
 %%Page: 1 1
@@ -5493,110 +5791,119 @@
 /Producer (dvips + Distiller) /Keywords (encoding privacy censorship resistant 
sharing file peer distributed system network private information retrieval)
 /DOCINFO pdfmark end
  0 0 a Black 0
-TeXcolorgray 0 17 a
+TeXcolorgray 523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray
-0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray
+523 232 a
 SDict begin H.R end
- 0 17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Black 0 165 a
-SDict begin [ /Count -0 /Dest (section.1) cvn /Title (Introduction)
+ 523 232 a Black Black 523
+365 a
+SDict begin [ /Count -0 /Dest (chapter.1) cvn /Title (An Encoding for 
Censorship-Resistant Sharing)
 /OUT pdfmark end
- 0 165
-a 0 165 a
-SDict begin [ /Count -0 /Dest (section.2) cvn /Title (Related Work)
+ 523 365 a 523 365 a
+SDict begin [ /Count -0 /Dest (chapter.1) cvn /Title (Christian Grothoff, 
Krista Grothoff, Tzvetan Horozov, Jussi T. Lindgren)
 /OUT pdfmark end
- 0 165 a 0 165 a
-SDict begin [ /Count -0 /Dest (section.3) cvn /Title (ECRS encoding)
-/OUT pdfmark end
- 0 165 a 0 165 a
-SDict begin [ /Count -0 /Dest (section.4) cvn /Title (Extensions) /OUT
-pdfmark end
- 0 165 a 0 165
-a
-SDict begin [ /Count -0 /Dest (section.5) cvn /Title (Discussion) /OUT
-pdfmark end
- 0 165 a 0 165 a
-SDict begin [ /Count -0 /Dest (section.6) cvn /Title (Conclusion) /OUT
-pdfmark end
- 0 165 a 0 165 a
+ 523 365 a 523 365 a
 SDict begin [ /Page 1 /View [ /Fit ] /PageMode /FullScreen  /DOCVIEW
 pdfmark end
- 0 165 a 0 165 a
-SDict begin [ {Catalog} << /ViewerPreferences << >> >> /PUT pdfmark
-end
- 0 165
-a 0 165 a
+ 523 365
+a 523 365 a
+SDict begin [ {Catalog} << >> /PUT pdfmark end
+ 523 365 a 523 365 a
 SDict begin H.S end
- 0 165 a 0 165 a
+ 523 365 a 523 365 a
 SDict begin 12 H.A end
- 0 165 a 0 165 a
+ 523
+365 a 523 365 a
 SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark
 end
- 0 165 a 0 -80
-2715 4 v 0 137 4 218 v 28 2 a Fz(Noname)31 b(man)m(uscript)i(No.)28
-91 y Fy(\(will)28 b(b)r(e)g(inserted)g(b)n(y)f(the)h(editor\))p
-2711 137 V 0 140 2715 4 v 0 855 a Fx(An)54 b(Enco)t(ding)h(for)g
-(Censorship-Resistan)l(t)0 997 y(Sharing)0 1194 y Fz(Christian)34
-b(Grotho\013)779 1164 y Fw(1)816 1194 y Fz(,)f(Krista)h(Grotho\013)1528
-1164 y Fw(2)1565 1194 y Fz(,)g(Tzv)m(etan)i(Horozo)m(v)2344
-1164 y Fw(3)2382 1194 y Fz(,)d(Jussi)0 1293 y(T.)f(Lindgren)499
-1263 y Fw(4)0 1413 y Fv(1)73 1445 y Fu(Departmen)n(t)25
-b(of)h(Computer)g(Sciences,)h(UCLA,)e(USA)73 1536 y(e-mail:)i
-Ft(address@hidden)0 1596 y Fv(2)73 1627 y Fu(CERIAS)e(/)h(In)n
-(terdepartmen)n(tal)f(Program)i(in)e(Linguistics,)i(Purdue)e(Univ)n
-(ersit)n(y)-6 b(,)25 b(USA)73 1719 y(e-mail:)i Ft(address@hidden)0
-1778 y Fv(3)73 1810 y Fu(Motorola)h(Labs,)e(USA)73 1901
-y(e-mail:)h Ft(address@hidden)0 1961 y Fv(4)73
-1993 y Fu(Departmen)n(t)e(of)h(Computer)g(Science,)g(Univ)n(ersit)n(y)f
-(of)i(Helsinki,)f(Finland)73 2084 y(e-mail:)h Ft
-(address@hidden)0 2286 y Fu(The)f(date)g(of)g(receipt)g(and)f
-(acceptance)i(will)g(b)r(e)e(inserted)h(b)n(y)f(the)g(editor)p
-Black 0 2548 a Fz(Abstract)p Black 91 w Fy(This)41 b(pap)r(er)h
-(describ)r(es)f(ECRS,)g(a)h(con)n(ten)n(t)f(enco)r(ding)g(sc)n(heme)g
-(for)0 2648 y(censorship-resistan)n(t)21 b(p)r(eer-to-p)r(eer)h(net)n
-(w)n(orking.)f(The)i(prop)r(osed)f(enco)r(ding)h(mec)n(h-)0
-2747 y(anism)g(supp)r(orts)h(b)r(oth)g(e\016cien)n(t)g(dissemination)f
-(of)h(encrypted)f(data)g(as)h(w)n(ell)f(as)g(en-)0 2847
-y(crypted)k(queries)g(o)n(v)n(er)f(this)i(data.)f(In)n(termediaries)f
-(can)h(v)n(erify)g(that)h(an)f(encrypted)0 2947 y(resp)r(onse)e(matc)n
-(hes)g(an)h(encrypted)g(query)f(without)i(b)r(eing)f(able)f(to)h
-(decrypt)g(either.)0 3046 y(F)-7 b(urthermore,)28 b(ECRS)g(allo)n(ws)f
-(users)h(to)g(share)g(\014les)g(encrypted)g(under)h(descriptiv)n(e)0
-3146 y(k)n(eys)21 b(whic)n(h)i(are)e(the)h(basis)g(for)g(querying)f
-(the)i(net)n(w)n(ork)e(for)g(con)n(ten)n(t.)h(With)h(the)g(pro-)0
-3246 y(p)r(osed)i(sc)n(heme,)g(e\013ectiv)n(e)g(load)f(balancing)h(and)
-g(sw)n(arm)f(distribution)h(are)f(p)r(ossible.)0 3345
-y(The)30 b(enco)r(ding)g(mec)n(hanism)f(handles)h(data)f(in)h(small)g
-(c)n(h)n(unks,)f(whic)n(h)h(can)g(also)e(b)r(e)0 3445
-y(e\016cien)n(tly)j(enco)r(ded)h(on)f(demand)g(from)g(the)h(plain)n
-(text.)f(The)h(prop)r(osed)e(enco)r(ding)0 3544 y(is)d(conceptually)g
-(simple)h(and)g(easy)e(to)i(implemen)n(t.)0 3748 y Fz(Key)k(w)m(ords)89
-b Fy(priv)-5 b(acy)e(,)27 b(sharing,)f(v)n(eri\014cation,)h(p)r
-(eer-to-p)r(eer)0 3965 y
+ 523 365 a 523 365 a
 SDict begin H.S end
- 0 3965 a 0 3965 a
+ 523 365 a 523 365
+a
 SDict begin 12 H.A end
- 0 3965 a 0
-3965 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.1) cvn H.B /DEST pdfmark
+ 523 365 a 523 365 a
+SDict begin [ /View [/XYZ H.V] /Dest (chapter.1) cvn H.B /DEST pdfmark
 end
- 0 3965 a 88 x Fz(1)g(In)m(tro)s(duction)0 4264
-y Fy(In)n(ternet)22 b(censorship)e(is)i(a)f(p)r(o)n(w)n(erful)g(w)n
-(eap)r(on)g(for)h(oppressiv)n(e)e(go)n(v)n(ernmen)n(ts,)f(corp)r(o-)0
-4364 y(rations)h(and)g(pressure)g(groups)f(in)i(sti\015ing)g(dissen)n
-(t)f(and)h(suppressing)e(dissemination)0 4464 y(of)30
-b(information.)g(A)g(v)-5 b(ariet)n(y)29 b(of)h(tec)n(hniques)g(can)g
-(b)r(e)h(used)f(to)g(censor)f(online)h(infor-)0 4563
-y(mation;)c(hard)f(driv)n(es)h(can)f(b)r(e)i(con\014scated)e(and)h
-(searc)n(hed,)f(tra\016c)h(can)f(b)r(e)i(\014ltered,)0
-4663 y(and)h(denial-of-service)f(attac)n(ks)g(can)h(b)r(e)h(p)r
-(erformed)f(against)g(serv)n(ers.)e(In)j(addition)0 4762
-y(to)k(these)g(tec)n(hnical)g(measures,)f(individuals)h(can)f(b)r(e)i
-(singled)f(out)g(and)g(sub)5 b(jected)p Black Black eop
+ 523 365 a Black Black 586 448 a
+FB(An)45 b(Enco)t(ding)f(for)h(Censorship-Resistan)l(t)i(Sharing)566
+740 y FA(Christian)27 b(Grotho\013)1239 710 y Fz(1)1276
+740 y FA(,)g(Krista)g(Grotho\013)1889 710 y Fz(2)1926
+740 y FA(,)g(Tzv)n(etan)g(Horozo)n(v)2599 710 y Fz(3)2634
+740 y FA(,)h(Jussi)f(T.)h(Lindgren)3326 710 y Fz(4)894
+882 y Fy(1)967 914 y Fx(Departmen)n(t)d(of)i(Computer)f(Science,)g
+(Univ)n(ersit)n(y)e(of)j(Den)n(v)n(er,)e(USA)1532 1005
+y Fw(address@hidden)606 1065 y Fy(2)679 1096
+y Fx(CERIAS)g(/)h(In)n(terdepartmen)n(tal)f(Program)i(in)f
+(Linguistics,)h(Purdue)e(Univ)n(ersit)n(y)-6 b(,)25 b(USA)1591
+1188 y Fw(address@hidden)1580 1247 y Fy(3)1653 1279
+y Fx(Motorola)j(Labs,)e(USA)1572 1370 y Fw(address@hidden)827
+1430 y Fy(4)900 1462 y Fx(Departmen)n(t)f(of)h(Computer)g(Science,)g
+(Univ)n(ersit)n(y)f(of)i(Helsinki,)f(Finland)1513 1553
+y Fw(address@hidden)p Black 759 1916 a Fv(Abstract.)p
+Black 43 w Fx(This)i(pap)r(er)g(describ)r(es)h(ECRS,)f(a)h(con)n(ten)n
+(t)e(enco)r(ding)i(sc)n(heme)f(for)759 2007 y(censorship-resistan)n(t)
+18 b(p)r(eer-to-p)r(eer)f(net)n(w)n(orking.)h(The)f(prop)r(osed)h(enco)
+r(ding)f(mec)n(h-)759 2098 y(anism)36 b(supp)r(orts)e(b)r(oth)h
+(e\016cien)n(t)f(dissemination)i(of)g(encrypted)d(data)i(as)h(w)n(ell)
+759 2190 y(as)f(encrypted)e(queries)h(o)n(v)n(er)g(this)g(data.)g(In)n
+(termediaries)h(can)f(v)n(erify)g(that)g(an)759 2281
+y(encrypted)c(resp)r(onse)h(matc)n(hes)g(an)g(encrypted)f(query)f
+(without)i(b)r(eing)g(able)g(to)759 2372 y(decrypt)24
+b(either.)h(F)-6 b(urthermore,)24 b(ECRS)h(allo)n(ws)h(users)f(to)g
+(share)g(\014les)g(encrypted)759 2464 y(under)i(descriptiv)n(e)g(k)n
+(eys)g(whic)n(h)g(are)h(the)f(basis)i(for)f(querying)f(the)g(net)n(w)n
+(ork)g(for)759 2555 y(con)n(ten)n(t.)f(With)f(the)g(prop)r(osed)h(sc)n
+(heme,)g(e\013ectiv)n(e)g(load)g(balancing)g(and)g(sw)n(arm)759
+2646 y(distribution)21 b(are)h(p)r(ossible.)h(The)e(enco)r(ding)h(mec)n
+(hanism)g(handles)f(data)g(in)g(small)759 2738 y(c)n(h)n(unks,)h(whic)n
+(h)h(can)g(also)h(b)r(e)f(e\016cien)n(tly)g(enco)r(ded)g(on)g(demand)f
+(from)i(the)f(plain-)759 2829 y(text.)29 b(The)h(prop)r(osed)g(enco)r
+(ding)g(is)g(conceptually)f(simple)h(and)f(easy)h(to)g(imple-)759
+2920 y(men)n(t.)523 3095 y
+SDict begin H.S end
+ 523 3095 a 523 3095 a
+SDict begin 12 H.A end
+ 523
+3095 a 523 3095 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1.1) cvn H.B /DEST pdfmark
 end
+ 523 3095 a 119 x Fu(1)112 b(In)m(tro)s(duction)523
+3427 y FA(In)n(ternet)40 b(censorship)f(is)i(a)f(p)r(o)n(w)n(erful)f(w)
+n(eap)r(on)h(for)g(oppressiv)n(e)e(go)n(v)n(ernmen)n(ts,)g(corp)r(o-)
+523 3527 y(rations)g(and)h(pressure)f(groups)g(in)i(sti\015ing)f
+(dissen)n(t)g(and)g(suppressing)f(dissemination)523 3626
+y(of)d(information.)f(A)h(v)-5 b(ariet)n(y)34 b(of)h(tec)n(hniques)f
+(can)h(b)r(e)g(used)g(to)g(censor)e(online)i(informa-)523
+3726 y(tion;)h(hard)f(driv)n(es)g(can)h(b)r(e)g(con\014scated)f(and)h
+(searc)n(hed,)f(tra\016c)g(can)h(b)r(e)g(\014ltered,)g(and)523
+3826 y(denial-of-service)28 b(attac)n(ks)h(can)g(b)r(e)h(p)r(erformed)g
+(against)f(serv)n(ers.)e(In)j(addition)g(to)g(these)523
+3925 y(tec)n(hnical)25 b(measures,)f(individuals)h(can)f(b)r(e)i
+(singled)e(out)h(and)g(sub)5 b(jected)26 b(to)f(harassmen)n(t.)523
+4025 y(A)h(common)e(requiremen)n(t)h(for)g(censorship)f(in)h(an)n(y)g
+(form)g(is)g(the)h(abilit)n(y)f(to)g Ft(r)l(e)l(c)l(o)l(gnize)h
+FA(the)523 4125 y(ob)5 b(jectionable)27 b(information.)648
+4227 y(The)21 b(goal)g(of)g(the)h(enco)r(ding)f(sc)n(heme)g(presen)n
+(ted)g(in)h(this)g(pap)r(er)f(is)h(to)f(mak)n(e)g(it)h(di\016cult)523
+4327 y(to)31 b(iden)n(tify)g(information)f(stored)g(or)f(transmitted)i
+(in)g(a)f(op)r(en)h Ft(de)l(c)l(entr)l(alize)l(d)h FA(wide-area)523
+4426 y(net)n(w)n(ork)21 b(where)h(man)n(y)f Ft(untruste)l(d)g
+FA(p)r(eers)h(w)n(an)n(t)g(to)g(share)f(data.)h(The)g(prop)r(osed)f
+(enco)r(ding)523 4526 y(sc)n(heme,)36 b(called)g(ECRS,)g(allo)n(ws)f(b)
+r(oth)i(con)n(ten)n(t)f(and)g(queries)g(to)g(b)r(e)h(encrypted)f(while)
+523 4625 y(b)r(eing)g(transmitted)g(or)g(stored)f(on)h(the)g(net)n(w)n
+(ork.)f(This)h(ensures)f(that)h(in)n(termediaries)523
+4725 y(remain)31 b(oblivious)f(to)h(the)h(data)f(they)g(are)f
+(handling,)h(reducing)g(the)h(c)n(hance)e(that)i(they)523
+4825 y(can)d(b)r(e)g(singled)g(out)g(for)f(an)h(attac)n(k)f(or)g(held)i
+(liable.)e(It)i(is)f(imp)r(ortan)n(t)f(to)h(note)g(that)h(the)523
+4924 y(primary)19 b(goal)f(is)h Ft(deniability)k FA(for)c(the)h(p)r
+(eers)f(storing)g(and)g(transmitting)h(the)g(information.)p
+Black Black eop end
 %%Page: 2 2
 TeXDict begin 2 1 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -5604,147 +5911,167 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(2)917 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 248 a Fy(to)36 b(harassmen)n(t.)e(A)i(common)g(requiremen)n(t)f(for)g
-(censorship)g(in)h(an)n(y)f(form)h(is)g(the)0 348 y(abilit)n(y)27
-b(to)h Fs(r)l(e)l(c)l(o)l(gnize)g Fy(the)g(ob)5 b(jectionable)26
-b(information.)125 455 y(The)31 b(goal)g(of)g(the)h(enco)r(ding)g(sc)n
-(heme)f(presen)n(ted)g(in)h(this)g(pap)r(er)f(is)h(to)g(mak)n(e)e(it)0
-555 y(di\016cult)22 b(to)f(iden)n(tify)g(information)f(stored)g(or)g
-(transmitted)h(in)g(a)g(op)r(en)g Fs(de)l(c)l(entr)l(alize)l(d)0
-655 y Fy(wide-area)36 b(net)n(w)n(ork)h(where)g(man)n(y)g
-Fs(untruste)l(d)f Fy(p)r(eers)i(w)n(an)n(t)f(to)h(share)e(data.)i(The)0
-754 y(prop)r(osed)31 b(enco)r(ding)i(sc)n(heme,)f(called)g(ECRS,)g
-(allo)n(ws)f(b)r(oth)i(con)n(ten)n(t)f(and)h(queries)0
-854 y(to)38 b(b)r(e)g(encrypted)f(while)h(b)r(eing)g(transmitted)g(or)e
-(stored)h(on)h(the)g(net)n(w)n(ork.)e(This)0 953 y(ensures)25
-b(that)h(in)n(termediaries)f(remain)g(oblivious)g(to)h(the)h(data)e
-(they)h(are)f(handling,)0 1053 y(reducing)39 b(the)h(c)n(hance)f(that)h
-(they)g(can)g(b)r(e)g(singled)f(out)h(for)f(an)h(attac)n(k)f(or)g(held)
-0 1153 y(liable.)33 b(It)h(is)g(imp)r(ortan)n(t)f(to)g(note)h(that)g
-(the)f(primary)g(goal)f(is)h Fs(deniability)k Fy(for)c(the)0
-1252 y(p)r(eers)e(storing)g(and)h(transmitting)f(the)i(information.)e
-(These)h(p)r(eers)f(m)n(ust)h(b)r(e)g(able)0 1352 y(to)27
-b(claim)h(that)g(decrypting)f(the)h(information)f(is)g(infeasible)h
-Fs(for)i(them)p Fy(.)125 1459 y(W)-7 b(e)29 b(\014nd)h(it)g(acceptable)
-f(if)h(a)f(censor)f(who)h(kno)n(ws)f(precisely)h(whic)n(h)g(con)n(ten)n
-(t)g(to)0 1559 y(censor)19 b(is)h(able)g(to)h(matc)n(h)f(a)g(request)g
-(or)f(resp)r(onse)g(against)h(that)g(particular)f(con)n(ten)n(t.)0
-1659 y(ECRS)28 b(is)f(supp)r(osed)h(to)f(protect)h(in)n(termediaries)e
-(that)i(merely)f(transmit)h(informa-)0 1758 y(tion)d(and)g(that)g(need)
-h(to)f(b)r(e)g(able)g(to)g(sho)n(w)f(that)i(they)f(are)f(unable)h(to)g
-(recognize)f(ob-)0 1858 y(jectionable)j(information)h(for)f(their)g(o)n
-(wn)g(protection.)g(The)h(ultimate)g(senders)f(and)0
-1957 y(receiv)n(ers)k(of)h(the)i(data)e(should)g(b)r(e)i(protected)e(b)
-n(y)g(other)h(means,)f(suc)n(h)g(as)g(anon)n(y-)0 2057
-y(mous)38 b(routing)g([)p 0 1 0 TeXcolorrgb 553 2057
-a
+ 523 232 a Black Fx(2)237 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(These)h(p)r(eers)f(m)n(ust)i(b)r(e)f(able)g(to)g
+(claim)g(that)g(decrypting)f(the)i(information)e(is)h(infeasible)523
+548 y Ft(for)j(them)p FA(.)648 678 y(W)-7 b(e)23 b(\014nd)g(it)f
+(acceptable)g(if)h(a)g(censor)e(who)h(kno)n(ws)g(precisely)f(whic)n(h)i
+(con)n(ten)n(t)f(to)g(censor)523 778 y(is)28 b(able)f(to)g(matc)n(h)h
+(a)f(request)g(or)f(resp)r(onse)h(against)f(that)i(particular)f(con)n
+(ten)n(t.)g(ECRS)g(is)523 878 y(supp)r(osed)33 b(to)f(protect)h(in)n
+(termediaries)e(that)i(merely)f(transmit)h(information)f(and)h(that)523
+977 y(need)f(to)f(b)r(e)h(able)f(to)h(sho)n(w)e(that)i(they)g(are)e
+(unable)i(to)f(recognize)f(ob)5 b(jectionable)31 b(infor-)523
+1077 y(mation)c(for)f(their)g(o)n(wn)g(protection.)h(The)f(ultimate)i
+(senders)d(and)i(receiv)n(ers)e(of)h(the)h(data)523 1177
+y(should)36 b(b)r(e)h(protected)f(b)n(y)g(other)f(means,)h(suc)n(h)g
+(as)g(anon)n(ymous)e(routing)i([)p 0 1 0 TeXcolorrgb
+3002 1177 a
 SDict begin H.S end
- 553 2057 a 0 1 0 TeXcolorrgb Fy(8)p 0 1 0 TeXcolorrgb
-595 2004 a
+ 3002 1177 a 0 1 0 TeXcolorrgb FA(8)p 0 1 0
+TeXcolorrgb 3043 1123 a
 SDict begin H.R end
- 595 2004 a 595 2057 a
+ 3043 1123 a 3043 1177 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.dingledine02mixminion) cvn H.B /ANN pdfmark end
- 595 2057 a Black Fy(,)p
-0 1 0 TeXcolorrgb 626 2057 a
+ 3043
+1177 a Black FA(,)p 0 1 0 TeXcolorrgb 3066 1177 a
 SDict begin H.S end
- 626 2057 a 0 1 0 TeXcolorrgb
-Fy(30)p 0 1 0 TeXcolorrgb 709 2004 a
+ 3066
+1177 a 0 1 0 TeXcolorrgb FA(30)p 0 1 0 TeXcolorrgb 3150
+1123 a
 SDict begin H.R end
- 709 2004 a 709 2057
-a
+ 3150 1123 a 3150 1177 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.syverson97anonymous) cvn H.B /ANN pdfmark end
- 709 2057 a Black Fy(].)h(As)g(a)f(con)n(ten)n(t)g(enco)r(ding)g(mec)n
-(hanism,)h(ECRS)f(could)g(b)r(e)0 2157 y(in)n(tegrated)c(in)n(to)i
-(almost)e(an)n(y)h(generic)f(p)r(eer-to-p)r(eer)g(infrastructure)h(to)g
-(enhance)0 2256 y(its)d(resistance)f(to)h(censorship.)f(Sp)r(eci\014c)i
-(details)e(on)h(ho)n(w)g(p)r(eers)f(comm)n(unicate)h(or)0
-2356 y(route)27 b(data)g(are)g(therefore)f(outside)i(of)f(the)h(scop)r
-(e)g(of)f(this)h(pap)r(er.)125 2463 y(The)36 b(de\014nition)g(of)g
-(censorship)f(resistance)g(used)h(in)g(this)g(w)n(ork)f(is)h(similar)f
-(to)0 2563 y(the)25 b(formal)g(de\014nition)g(giv)n(en)f(b)n(y)h([)p
-0 1 0 TeXcolorrgb 1115 2563 a
+ 3150 1177 a Black FA(].)g(As)g(a)523
+1276 y(con)n(ten)n(t)23 b(enco)r(ding)h(mec)n(hanism,)f(ECRS)g(could)h
+(b)r(e)g(in)n(tegrated)f(in)n(to)g(almost)g(an)n(y)g(generic)523
+1376 y(p)r(eer-to-p)r(eer)30 b(infrastructure)h(to)h(enhance)f(its)h
+(resistance)e(to)i(censorship.)e(Sp)r(eci\014c)i(de-)523
+1475 y(tails)26 b(on)f(ho)n(w)g(p)r(eers)h(comm)n(unicate)f(or)g(route)
+g(data)h(are)f(therefore)g(outside)g(of)h(the)g(scop)r(e)523
+1575 y(of)i(this)f(pap)r(er.)648 1705 y(The)37 b(de\014nition)h(of)f
+(censorship)f(resistance)g(used)i(in)f(this)h(w)n(ork)e(is)h(similar)f
+(to)i(the)523 1805 y(formal)30 b(de\014nition)h(giv)n(en)f(b)n(y)g([)p
+0 1 0 TeXcolorrgb 1520 1805 a
 SDict begin H.S end
- 1115 2563 a 0 1 0 TeXcolorrgb
-Fy(24)p 0 1 0 TeXcolorrgb 1198 2509 a
+ 1520 1805 a 0 1 0 TeXcolorrgb
+FA(24)p 0 1 0 TeXcolorrgb 1603 1752 a
 SDict begin H.R end
- 1198 2509 a 1198
-2563 a
+ 1603 1752 a 1603
+1805 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.perng2005csr) cvn H.B /ANN pdfmark end
- 1198 2563 a Black Fy(],)h(in)f(whic)n(h)g(censorship)f
-(resistance)g(is)h(de\014ned)0 2663 y(as)30 b(the)i(inabilit)n(y)f(of)g
-(a)g(censor)e(to)i(restrict)g(a)g(targeted)f(do)r(cumen)n(t)h(while)g
-(allo)n(wing)0 2762 y(at)39 b(least)g(one)g(other)f(do)r(cumen)n(t)i
-(to)f(b)r(e)h(retriev)n(ed.)e(In)h(the)h(con)n(text)f(of)g([)p
-0 1 0 TeXcolorrgb 2431 2762 a
+ 1603 1805 a Black FA(],)h(in)g(whic)n(h)g(censorship)e
+(resistance)h(is)h(de\014ned)g(as)f(the)523 1905 y(inabilit)n(y)41
+b(of)f(a)h(censor)e(to)i(restrict)f(a)h(targeted)e(do)r(cumen)n(t)i
+(while)g(allo)n(wing)f(at)g(least)523 2004 y(one)f(other)g(do)r(cumen)n
+(t)h(to)f(b)r(e)h(retriev)n(ed.)e(In)i(the)f(con)n(text)h(of)f([)p
+0 1 0 TeXcolorrgb 2637 2004 a
 SDict begin H.S end
- 2431 2762 a 0 1 0 TeXcolorrgb
-Fy(24)p 0 1 0 TeXcolorrgb 2514 2709 a
+ 2637 2004 a 0 1 0 TeXcolorrgb
+FA(24)p 0 1 0 TeXcolorrgb 2720 1951 a
 SDict begin H.R end
- 2514 2709 a 2514
-2762 a
+ 2720 1951 a 2720
+2004 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.perng2005csr) cvn H.B /ANN pdfmark end
- 2514 2762 a Black Fy(],)h(the)0 2862 y(adv)n(ersary)31
-b(is)i(gran)n(ted)f(extensiv)n(e)g(capabilities.)h(In)h(particular,)e
-(the)h(adv)n(ersary)e(is)0 2961 y(allo)n(w)n(ed)22 b(to)h(insp)r(ect)h
-(ev)n(ery)e(request)h(or)f(resp)r(onse,)h(transcript)f(the)i(pro)r
-(cessing)e(steps)0 3061 y(of)31 b(all)g(the)h(p)r(eers)f(and)g(then)h
-(decide)f(whether)h(to)f(\014lter)g(\(drop\))g(a)g(giv)n(en)g(resp)r
-(onse.)0 3161 y(Av)-5 b(ailabilit)n(y)23 b(of)h(the)g(service)e(and)h
-(anon)n(ymit)n(y)g(of)g(the)h(participan)n(ts)f(are)f(sp)r
-(eci\014cally)0 3260 y(decoupled)35 b(from)g(censorship)f(resistance.)h
-(F)-7 b(or)34 b(ECRS,)i(an)f(almost)f(iden)n(tical)i(ad-)0
-3360 y(v)n(ersary)29 b(mo)r(del)i(is)g(selected)g({)g(while)g(anon)n
-(ymit)n(y)f(and)h(a)n(v)-5 b(ailabilit)n(y)30 b(can)h(certainly)0
-3460 y(b)r(e)g(additional)f(\(and)g(often)h(imp)r(ortan)n(t\))g(goals,)
-e(ECRS)h(is)g(an)h(orthogonal)d(mec)n(ha-)0 3559 y(nism.)h(The)g
-(primary)e(di\013erence)i(in)g(the)g(adv)n(ersary)d(mo)r(del)j(for)f
-(ECRS)h(is)f(that)i(the)0 3659 y(attac)n(k)n(er)f(is)i(not)g(allo)n(w)n
-(ed)f(to)h(b)r(e)g(able)g(to)g(guess)f(the)h(exact)g(con)n(ten)n(t)f
-(that)i(is)f(to)f(b)r(e)0 3758 y(censored.)21 b(This)h(is)h(an)f(imp)r
-(ortan)n(t)g(restriction)f(in)i(practice.)e(In)i(the)f(absence)g(of)g
-(suc)n(h)0 3858 y(a)g(restriction,)g([)p 0 1 0 TeXcolorrgb
-503 3858 a
+ 2720 2004 a Black FA(],)h(the)f(adv)n(ersary)e(is)523
+2104 y(gran)n(ted)26 b(extensiv)n(e)h(capabilities.)g(In)g(particular,)
+g(the)g(adv)n(ersary)e(is)i(allo)n(w)n(ed)f(to)h(insp)r(ect)523
+2204 y(ev)n(ery)33 b(request)g(or)g(resp)r(onse,)g(transcript)g(the)h
+(pro)r(cessing)f(steps)h(of)g(all)f(the)i(p)r(eers)e(and)523
+2303 y(then)27 b(decide)g(whether)g(to)f(\014lter)h(\(drop\))g(a)f(giv)
+n(en)g(resp)r(onse.)g(Av)-5 b(ailabilit)n(y)26 b(of)h(the)g(service)523
+2403 y(and)38 b(anon)n(ymit)n(y)f(of)h(the)h(participan)n(ts)e(are)g
+(sp)r(eci\014cally)h(decoupled)g(from)g(censorship)523
+2502 y(resistance.)32 b(F)-7 b(or)33 b(ECRS,)g(an)g(almost)g(iden)n
+(tical)g(adv)n(ersary)e(mo)r(del)i(is)h(selected)f({)g(while)523
+2602 y(anon)n(ymit)n(y)j(and)h(a)n(v)-5 b(ailabilit)n(y)35
+b(can)i(certainly)f(b)r(e)h(additional)g(\(and)g(often)g(imp)r(ortan)n
+(t\))523 2702 y(goals,)27 b(ECRS)h(is)h(an)f(orthogonal)e(mec)n
+(hanism.)j(The)f(primary)f(di\013erence)i(in)g(the)g(adv)n(er-)523
+2801 y(sary)d(mo)r(del)i(for)f(ECRS)h(is)f(that)h(the)g(attac)n(k)n(er)
+e(is)i(not)f(allo)n(w)n(ed)f(to)i(b)r(e)g(able)f(to)h(guess)f(the)523
+2901 y(exact)c(con)n(ten)n(t)g(that)g(is)h(to)f(b)r(e)h(censored.)e
+(This)h(is)h(an)f(imp)r(ortan)n(t)g(restriction)f(in)i(practice.)523
+3001 y(In)d(the)g(absence)f(of)h(suc)n(h)f(a)g(restriction,)g([)p
+0 1 0 TeXcolorrgb 1821 3001 a
 SDict begin H.S end
- 503 3858 a 0 1 0 TeXcolorrgb Fy(24)p 0 1 0
-TeXcolorrgb 586 3805 a
+ 1821 3001 a 0 1 0 TeXcolorrgb
+FA(24)p 0 1 0 TeXcolorrgb 1904 2947 a
 SDict begin H.R end
- 586 3805 a 586 3858 a
+ 1904 2947 a 1904
+3001 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.perng2005csr) cvn H.B /ANN pdfmark end
- 586 3858
-a Black Fy(])g(sho)n(ws)g(that)h(censorship)e(resistance)g(requires)g
-(a)i(form)f(of)g(priv)-5 b(ate)0 3958 y(information)27
-b(retriev)-5 b(al)27 b(for)h(whic)n(h)g(eac)n(h)f(op)r(eration)g(has)g
-(complexit)n(y)g Fr(O)r Fy(\()p Fr(n)p Fy(\),)i(where)0
-4057 y Fr(n)c Fy(is)g(the)g(size)f(of)h(the)h(datastore.)d(In)i(return)
-g(for)f(restricting)g(the)h(guessing)f(capabili-)0 4157
-y(ties)h(of)h(the)g(adv)n(ersary)-7 b(,)22 b(ECRS)k(can)f(ac)n(hiev)n
-(e)f Fr(O)r Fy(\(1\))i(complexit)n(y)f(for)g(its)g(op)r(erations.)0
-4257 y(Considering)j(that)i(scalabilit)n(y)e(is)h(also)f(an)h(imp)r
-(ortan)n(t)g(goal,)f(w)n(e)h(b)r(eliev)n(e)g(that)h(this)0
-4356 y(is)d(a)h(reasonable)d(trade-o\013.)125 4464 y(As)20
-b(an)g(enco)r(ding)g(sc)n(heme,)g(ECRS)g(has)g(to)g(address)f(t)n(w)n
-(o)h(imp)r(ortan)n(t)g(issues.)g(First)0 4563 y(of)26
-b(all,)g(users)f(m)n(ust)i(b)r(e)f(able)g(to)g(\014nd)g(con)n(ten)n(t,)
-g(preferably)f(b)n(y)h(searc)n(hing)e(with)j(sim-)0 4663
-y(ple,)e(natural)f(language)f(k)n(eyw)n(ords.)g(Metadata)h(related)g
-(to)h(the)g(con)n(ten)n(ts)f(of)h(the)g(\014le)0 4762
-y(should)e(b)r(e)h(made)g(a)n(v)-5 b(ailable)22 b(as)h(part)g(of)h(the)
-g(searc)n(h)e(result)h(and)h(prior)e(to)i(the)g(do)n(wn-)p
+ 1904 3001 a Black FA(])h(sho)n(ws)e(that)i(censorship)f
+(resistance)f(requires)523 3100 y(a)27 b(form)h(of)f(priv)-5
+b(ate)28 b(information)f(retriev)-5 b(al)27 b(for)g(whic)n(h)h(eac)n(h)
+f(op)r(eration)f(has)i(complexit)n(y)523 3200 y Fs(O)r
+FA(\()p Fs(n)p FA(\),)h(where)e Fs(n)g FA(is)g(the)h(size)f(of)h(the)f
+(datastore.)f(In)i(return)f(for)g(restricting)f(the)i(guessing)523
+3300 y(capabilities)i(of)h(the)g(adv)n(ersary)-7 b(,)27
+b(ECRS)k(can)f(ac)n(hiev)n(e)f Fs(O)r FA(\(1\))j(complexit)n(y)e(for)g
+(its)g(op)r(era-)523 3399 y(tions.)24 b(Considering)f(that)h
+(scalabilit)n(y)g(is)g(also)f(an)h(imp)r(ortan)n(t)f(goal,)g(w)n(e)h(b)
+r(eliev)n(e)g(that)h(this)523 3499 y(is)j(a)f(reasonable)e
+(trade-o\013.)648 3629 y(As)35 b(an)h(enco)r(ding)f(sc)n(heme,)g(ECRS)g
+(has)g(to)h(address)e(t)n(w)n(o)h(imp)r(ortan)n(t)g(issues.)g(First)523
+3729 y(of)c(all,)g(users)f(m)n(ust)i(b)r(e)f(able)g(to)g(\014nd)h(con)n
+(ten)n(t,)f(preferably)f(b)n(y)h(searc)n(hing)e(with)j(simple,)523
+3828 y(natural)e(language)e(k)n(eyw)n(ords.)g(Metadata)i(related)g(to)g
+(the)g(con)n(ten)n(ts)g(of)g(the)h(\014le)f(should)523
+3928 y(b)r(e)39 b(made)g(a)n(v)-5 b(ailable)37 b(as)h(part)g(of)h(the)g
+(searc)n(h)e(result)i(and)f(prior)g(to)h(the)g(do)n(wnload)e(of)523
+4028 y(the)c(actual)g(\014le.)g(Metadata)f(can)h(include)g(an)n(ything)
+f(from)h(user-pro)n(vided)e(con)n(ten)n(t)h(de-)523 4127
+y(scriptions)i(to)g(th)n(um)n(bnails)g(\(for)g(images\))g(and)g
+(automatically)f(detected)i(mime-t)n(yp)r(es.)523 4227
+y(Secondly)-7 b(,)24 b(the)g(enco)r(ding)f(sc)n(heme)g(should)h(supp)r
+(ort)f(sw)n(arming)f({)i(that)g(is,)f(the)h(do)n(wnload)523
+4327 y(of)j(a)g(\014le)g(from)g(m)n(ultiple)h(p)r(eers.)f(Since)g(it)h
+(is)f(p)r(ossible)g(that)h(iden)n(tical)f(data)f(could)h(b)r(e)h(in-)
+523 4426 y(serted)h(b)n(y)h(man)n(y)f(indep)r(enden)n(t)h(parties,)f
+(the)h(enco)r(ding)g(sc)n(heme)f(should)h(alw)n(a)n(ys)d(result)523
+4526 y(in)j(iden)n(tical)g(enco)r(dings)g(for)g(iden)n(tical)g(source)f
+(\014les.)h(This)g(sp)r(ecial)g(form)f(of)i(encryption)523
+4625 y(w)n(as)d(probably)f(\014rst)i(describ)r(ed)f(in)h([)p
+0 1 0 TeXcolorrgb 1695 4625 a
+SDict begin H.S end
+ 1695 4625 a 0 1 0 TeXcolorrgb
+FA(5)p 0 1 0 TeXcolorrgb 1737 4572 a
+SDict begin H.R end
+ 1737 4572 a 1737
+4625 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.clark99distributed) cvn H.B /ANN pdfmark end
+ 1737 4625 a Black FA(])g(and)f(later)h(termed)f
+Ft(c)l(onver)l(gent)j(encryption)f FA([)p 0 1 0 TeXcolorrgb
+3276 4625 a
+SDict begin H.S end
+ 3276 4625 a 0 1 0 TeXcolorrgb FA(10)p 0 1 0
+TeXcolorrgb 3359 4572 a
+SDict begin H.R end
+ 3359 4572 a 3359 4625 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.farsite) cvn H.B /ANN pdfmark end
+ 3359
+4625 a Black FA(].)523 4725 y(With)k(con)n(v)n(ergen)n(t)c(encryption,)
+j(the)g(existence)f(of)h(m)n(ultiple)g(copies)g(of)f(the)h(same)g(con-)
+523 4825 y(ten)n(t)21 b(can)g(b)r(e)g(detected;)g(this)g(kno)n(wledge)f
+(can)g(then)i(b)r(e)f(used)g(to)g(increase)e(fault-tolerance,)523
+4924 y(p)r(erformance)27 b(and)g(a)n(v)-5 b(ailabilit)n(y)e(.)p
 Black Black eop end
 %%Page: 3 3
 TeXDict begin 3 2 bop 0 0 a
@@ -5753,397 +6080,389 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1106 b(3)p Black 0
-248 a Fy(load)31 b(of)i(the)f(actual)g(\014le.)g(Metadata)f(can)h
-(include)h(an)n(ything)e(from)h(user-pro)n(vided)0 348
-y(con)n(ten)n(t)24 b(descriptions)g(to)h(th)n(um)n(bnails)g(\(for)f
-(images\))g(and)h(automatically)e(detected)0 448 y(mime-t)n(yp)r(es.)e
-(Secondly)-7 b(,)21 b(the)h(enco)r(ding)f(sc)n(heme)f(should)h(supp)r
-(ort)g(sw)n(arming)f({)h(that)0 547 y(is,)26 b(the)h(do)n(wnload)e(of)h
-(a)g(\014le)g(from)g(m)n(ultiple)h(p)r(eers.)f(Since)h(it)f(is)g(p)r
-(ossible)g(that)h(iden-)0 647 y(tical)40 b(data)f(could)g(b)r(e)i
-(inserted)e(b)n(y)g(man)n(y)h(indep)r(enden)n(t)g(parties,)f(the)h
-(enco)r(ding)0 746 y(sc)n(heme)25 b(should)h(alw)n(a)n(ys)d(result)j
-(in)g(iden)n(tical)f(enco)r(dings)g(for)g(iden)n(tical)h(source)e
-(\014les.)0 846 y(This)h(sp)r(ecial)f(form)g(of)h(encryption)f(w)n(as)g
-(probably)f(\014rst)h(describ)r(ed)h(in)g([)p 0 1 0 TeXcolorrgb
-2301 846 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
+b(3)p Black 648 448 a FA(Unfortunately)-7 b(,)26 b(it)g(is)g(not)g
+(enough)g(to)g(just)g(meet)h(requiremen)n(ts)e(related)g(to)h
+(e\016cien)n(t)523 548 y(storage)c(and)h(retriev)-5 b(al)22
+b(of)i(the)g(con)n(ten)n(t.)f(A)h(public)g(\014lesharing)e(net)n(w)n
+(ork)g(should)h(b)r(e)h(op)r(en)523 648 y(to)33 b(new)g(participan)n
+(ts)g(without)g(an)n(y)g(restrictiv)n(e)f(form)h(of)g(access)f(con)n
+(trol.)g(This)h(op)r(ens)523 747 y(the)c(net)n(w)n(ork)f(to)g
+(malicious)g(participan)n(ts.)g(Th)n(us,)h(the)g(enco)r(ding)g(sc)n
+(heme)f(should)h(guar-)523 847 y(an)n(tee)24 b(the)g
+Ft(inte)l(grity)h FA(of)f(the)h(con)n(ten)n(t,)f(ev)n(en)g(in)g(the)h
+(presence)e(of)h(malicious)g(participan)n(ts.)523 946
+y(The)i(enco)r(ding)f(mec)n(hanism)h(m)n(ust)g(ensure)f(that)h(in)n(v)
+-5 b(alid)26 b(replies)f(are)g(detected)h(and)g(that)523
+1046 y(p)r(eers)35 b(can)h(distinguish)g(v)-5 b(aluable)35
+b(con)n(ten)n(t)h(from)f(maliciously)g(generated)g(noise.)g(This)523
+1146 y(is)30 b(particularly)e(imp)r(ortan)n(t)h(in)h(three)g(cases.)e
+(First,)i(if)g(large)e(\014les)i(are)f(assem)n(bled)f(using)523
+1245 y(blo)r(c)n(ks)35 b(from)h(m)n(ultiple)h(p)r(eers,)f(some)f(of)h
+(these)g(p)r(eers)g(ma)n(y)f(b)r(e)i(malicious)e(and)h(try)g(to)523
+1345 y(corrupt)g(the)g(\014le.)h(These)f(corruptions)f(should)h(b)r(e)h
+(detected)g(on)f(a)g(small)g(gran)n(ularit)n(y)523 1445
+y(lev)n(el)f(and)g(repaired)f(with)i(correct)e(data)h(from)g(other)f(p)
+r(eers.)h(Second,)g(for)g(searc)n(hes)f(it)523 1544 y(should)i(b)r(e)h
+(di\016cult)h(for)e(p)r(eers)g(to)g(spam)h(the)f(result)h(set;)f
+(otherwise,)g(the)h(users)f(ma)n(y)523 1644 y(dro)n(wn)i(in)h(useless)g
+(information.)f(Finally)-7 b(,)39 b(in)n(termediaries)f(that)h(are)f
+(merely)h(routing)523 1743 y(the)32 b(con)n(ten)n(t)e(should)h(b)r(e)h
+(able)f(to)g(detect)g(in)n(v)-5 b(alid)31 b(replies.)g(This)g(enables)g
+(the)g(existence)523 1843 y(of)h(lo)r(cal)g(economies)f(\(suc)n(h)h(as)
+f(those)h(in)h([)p 0 1 0 TeXcolorrgb 1897 1843 a
 SDict begin H.S end
- 2301 846 a 0 1 0 TeXcolorrgb Fy(5)p 0 1 0
-TeXcolorrgb 2342 793 a
+ 1897
+1843 a 0 1 0 TeXcolorrgb FA(13)p 0 1 0 TeXcolorrgb 1980
+1790 a
 SDict begin H.R end
- 2342 793 a 2342 846 a
+ 1980 1790 a 1980 1843 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.clark99distributed) cvn H.B /ANN pdfmark end
- 2342 846
-a Black Fy(])g(and)g(later)0 946 y(termed)35 b Fs(c)l(onver)l(gent)h
-(encryption)h Fy([)p 0 1 0 TeXcolorrgb 1148 946 a
-SDict begin H.S end
- 1148
-946 a 0 1 0 TeXcolorrgb Fy(10)p 0 1 0 TeXcolorrgb 1231
-892 a
-SDict begin H.R end
- 1231 892 a 1231 946 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.farsite) cvn H.B /ANN pdfmark end
- 1231 946 a Black Fy(].)e(With)h(con)n(v)n
-(ergen)n(t)d(encryption,)h(the)i(exis-)0 1045 y(tence)23
-b(of)f(m)n(ultiple)h(copies)e(of)i(the)f(same)g(con)n(ten)n(t)g(can)g
-(b)r(e)h(detected;)g(this)f(kno)n(wledge)0 1145 y(can)27
-b(then)h(b)r(e)g(used)g(to)f(increase)g(fault-tolerance,)f(p)r
-(erformance)h(and)g(a)n(v)-5 b(ailabilit)n(y)e(.)125
-1255 y(Unfortunately)g(,)40 b(it)g(is)g(not)f(enough)h(to)f(just)i
-(meet)f(requiremen)n(ts)f(related)g(to)0 1355 y(e\016cien)n(t)33
-b(storage)e(and)i(retriev)-5 b(al)32 b(of)h(the)g(con)n(ten)n(t.)g(A)g
-(public)h(\014lesharing)d(net)n(w)n(ork)0 1454 y(should)g(b)r(e)h(op)r
-(en)g(to)f(new)h(participan)n(ts)e(without)i(an)n(y)f(restrictiv)n(e)f
-(form)i(of)f(access)0 1554 y(con)n(trol.)36 b(This)h(op)r(ens)g(the)g
-(net)n(w)n(ork)f(to)h(malicious)f(participan)n(ts.)g(Th)n(us,)h(the)g
-(en-)0 1653 y(co)r(ding)f(sc)n(heme)f(should)h(guaran)n(tee)e(the)j
-Fs(inte)l(grity)f Fy(of)g(the)h(con)n(ten)n(t,)f(ev)n(en)f(in)i(the)0
-1753 y(presence)d(of)h(malicious)f(participan)n(ts.)f(The)i(enco)r
-(ding)f(mec)n(hanism)h(m)n(ust)g(ensure)0 1853 y(that)k(in)n(v)-5
-b(alid)39 b(replies)f(are)f(detected)j(and)e(that)h(p)r(eers)f(can)h
-(distinguish)f(v)-5 b(aluable)0 1952 y(con)n(ten)n(t)27
-b(from)g(maliciously)f(generated)g(noise.)h(This)h(is)f(particularly)f
-(imp)r(ortan)n(t)h(in)0 2052 y(three)37 b(cases.)f(First,)i(if)g(large)
-e(\014les)h(are)f(assem)n(bled)h(using)g(blo)r(c)n(ks)f(from)h(m)n
-(ultiple)0 2152 y(p)r(eers,)g(some)f(of)h(these)g(p)r(eers)f(ma)n(y)h
-(b)r(e)g(malicious)f(and)h(try)g(to)f(corrupt)g(the)i(\014le.)0
-2251 y(These)32 b(corruptions)f(should)h(b)r(e)g(detected)h(on)f(a)f
-(small)h(gran)n(ularit)n(y)e(lev)n(el)i(and)g(re-)0 2351
-y(paired)24 b(with)i(correct)d(data)i(from)g(other)f(p)r(eers.)h
-(Second,)g(for)f(searc)n(hes)f(it)j(should)e(b)r(e)0
-2450 y(di\016cult)35 b(for)e(p)r(eers)g(to)h(spam)f(the)h(result)g
-(set;)g(otherwise,)f(the)h(users)f(ma)n(y)g(dro)n(wn)0
-2550 y(in)g(useless)f(information.)g(Finally)-7 b(,)32
-b(in)n(termediaries)f(that)i(are)f(merely)g(routing)g(the)0
-2650 y(con)n(ten)n(t)d(should)g(b)r(e)h(able)f(to)g(detect)h(in)n(v)-5
-b(alid)29 b(replies.)g(This)g(enables)g(the)g(existence)0
-2749 y(of)j(lo)r(cal)g(economies)e(\(suc)n(h)i(as)g(those)g(in)g([)p
-0 1 0 TeXcolorrgb 1373 2749 a
-SDict begin H.S end
- 1373 2749 a 0 1 0 TeXcolorrgb
-Fy(13)p 0 1 0 TeXcolorrgb 1456 2696 a
-SDict begin H.R end
- 1456 2696 a 1456
-2749 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.ebe2003) cvn H.B /ANN pdfmark end
- 1456 2749 a Black Fy(]\))g(and)g(prev)n(en)n(ts)f(the)i
-(retransmission)0 2849 y(and)27 b(replication)g(of)h(corrupted)e(data)h
-(b)n(y)h(non-malicious)e(p)r(eers.)125 2959 y(This)32
-b(pap)r(er)h(in)n(tro)r(duces)f(the)h(primitiv)n(es)g(that)g(ECRS)f
-(uses)h(to)f(ac)n(hiev)n(e)g(these)0 3059 y(goals:)d(a)h(sp)r(eci\014c)
-h(altered)f(v)-5 b(arian)n(t)29 b(of)i(the)g(Con)n(ten)n(t)f(Hash)g
-(Key)g(\(CHK\),)h(a)f(primi-)0 3158 y(tiv)n(e)25 b(used)g(in)h([)p
-0 1 0 TeXcolorrgb 464 3158 a
+ 1980 1843 a Black FA(]\))f(and)g(prev)n
+(en)n(ts)f(the)i(retransmission)d(and)523 1943 y(replication)d(of)g
+(corrupted)g(data)g(b)n(y)g(non-malicious)g(p)r(eers.)648
+2044 y(This)20 b(pap)r(er)h(in)n(tro)r(duces)f(the)h(primitiv)n(es)g
+(that)g(ECRS)f(uses)h(to)g(ac)n(hiev)n(e)e(these)i(goals:)e(a)523
+2144 y(sp)r(eci\014c)26 b(altered)e(v)-5 b(arian)n(t)25
+b(of)g(the)h(Con)n(ten)n(t)f(Hash)g(Key)g(\(CHK\),)h(a)f(primitiv)n(e)g
+(used)h(in)f([)p 0 1 0 TeXcolorrgb 3317 2144 a
 SDict begin H.S end
- 464 3158 a 0 1 0 TeXcolorrgb
-Fy(5)p 0 1 0 TeXcolorrgb 505 3105 a
+ 3317 2144
+a 0 1 0 TeXcolorrgb FA(5)p 0 1 0 TeXcolorrgb 3359 2090
+a
 SDict begin H.R end
- 505 3105 a 505 3158
-a
+ 3359 2090 a 3359 2144 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 505 3158 a Black Fy(],)g(and)f Fs(KBlo)l(cks)p Fy(,)h(a)f(no)n(v)n
-(el)f(construction)h(whic)n(h)g(adds)g(functionalit)n(y)0
-3258 y(to)33 b(the)h(ECRS)g(sc)n(heme)f(while)g(a)n(v)n(oiding)f(a)h
-(prop)r(osed)g(attac)n(k)f(on)i(the)g(triple-hash)0 3357
-y(primitiv)n(e)25 b(used)h(in)f([)p 0 1 0 TeXcolorrgb
-658 3357 a
+ 3359 2144 a Black FA(],)523
+2244 y(and)e Ft(KBlo)l(cks)p FA(,)h(a)e(no)n(v)n(el)g(construction)g
+(whic)n(h)h(adds)f(functionalit)n(y)h(to)g(the)g(ECRS)f(sc)n(heme)523
+2343 y(while)27 b(a)n(v)n(oiding)e(a)i(prop)r(osed)f(attac)n(k)g(on)g
+(the)i(triple-hash)e(primitiv)n(e)g(used)h(in)h([)p 0 1 0
+TeXcolorrgb 3078 2343 a
 SDict begin H.S end
- 658 3357 a 0 1 0 TeXcolorrgb Fy(2)p 0 1 0
-TeXcolorrgb 700 3304 a
+ 3078 2343 a 0 1 0 TeXcolorrgb
+FA(2)p 0 1 0 TeXcolorrgb 3119 2290 a
 SDict begin H.R end
- 700 3304 a 700 3357 a
+ 3119 2290 a 3119
+2343 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.esed) cvn H.B /ANN pdfmark end
- 700 3357
-a Black Fy(].)h(These)f(primitiv)n(es)g(allo)n(w)f(data)h(to)h(b)r(e)g
-(inserted)f(under)g(m)n(ul-)0 3457 y(tiple)e(natural-language)c(k)n
-(eyw)n(ords)h(at)j(minimal)f(cost)g(in)h(space,)e(and)h(queried)g
-(using)0 3557 y(natural)k(language)f(b)r(o)r(olean)i(searc)n(hes.)e(F)
--7 b(urthermore,)26 b(the)h(primitiv)n(es)f(giv)n(e)g(ECRS)0
-3656 y(the)31 b(means)f(to)g(iden)n(tify)-7 b(,)31 b(encrypt,)g
-(decrypt)f(and)g(v)n(erify)g(data,)g(all)g(while)h(a)n(v)n(oiding)0
-3756 y(attac)n(ks)36 b(b)n(y)g(a)h(non-guessing)e(in)n(termediate)h
-(adv)n(ersary)-7 b(.)34 b(V)-7 b(eri\014cation)37 b(of)f(con)n(ten)n(t)
-0 3856 y(b)n(y)g(in)n(termediate)f(hosts)h(is)g(made)g(p)r(ossible)f
-(without)i(rev)n(ealing)d(the)i(k)n(eys)g(neces-)0 3955
-y(sary)31 b(to)h(decrypt)h(con)n(ten)n(t,)f(and)g(the)h(amoun)n(t)f(of)
-g(data)g(corruption)f(an)i(adv)n(ersary)0 4055 y(can)26
-b(inject)h(b)r(efore)f(b)r(eing)h(detected)f(is)h(limited)g(to)f(a)g
-(small)g(size.)g(Additionally)-7 b(,)27 b(the)0 4154
-y(construction)d(of)g(these)g(primitiv)n(es)g(mak)n(es)g(ECRS)g(quite)h
-(scalable,)e(and)h(assists)g(the)0 4254 y(enco)r(ding)37
-b(sc)n(heme)f(in)h(encouraging)e(load-balancing,)g(distribution)i(and)g
-(replica-)0 4354 y(tion)e(of)f(con)n(ten)n(t,)g(and)h(sw)n(arming.)e
-(These)h(primitiv)n(es)g(\(and)h(their)g(functionalit)n(y\))0
-4453 y(are)27 b(describ)r(ed)g(in)h(greater)e(detail)h(later)g(in)h
-(the)g(pap)r(er.)125 4563 y(The)36 b(rest)f(of)i(the)f(pap)r(er)g(is)g
+ 3119 2343 a Black FA(].)f(These)523 2443 y(primitiv)n(es)k(allo)
+n(w)f(data)g(to)h(b)r(e)h(inserted)e(under)h(m)n(ultiple)h
+(natural-language)c(k)n(eyw)n(ords)523 2542 y(at)g(minimal)h(cost)f(in)
+h(space,)f(and)g(queried)g(using)g(natural)g(language)f(b)r(o)r(olean)h
+(searc)n(hes.)523 2642 y(F)-7 b(urthermore,)27 b(the)i(primitiv)n(es)f
+(giv)n(e)f(ECRS)h(the)h(means)f(to)g(iden)n(tify)-7 b(,)29
+b(encrypt,)f(decrypt)523 2742 y(and)33 b(v)n(erify)f(data,)g(all)h
+(while)g(a)n(v)n(oiding)e(attac)n(ks)g(b)n(y)i(a)f(non-guessing)f(in)n
+(termediate)i(ad-)523 2841 y(v)n(ersary)-7 b(.)29 b(V)-7
+b(eri\014cation)30 b(of)h(con)n(ten)n(t)g(b)n(y)g(in)n(termediate)f
+(hosts)h(is)g(made)g(p)r(ossible)g(without)523 2941 y(rev)n(ealing)i
+(the)i(k)n(eys)f(necessary)f(to)i(decrypt)f(con)n(ten)n(t,)h(and)g(the)
+g(amoun)n(t)f(of)h(data)f(cor-)523 3041 y(ruption)28
+b(an)f(adv)n(ersary)e(can)j(inject)g(b)r(efore)g(b)r(eing)g(detected)g
+(is)g(limited)h(to)e(a)h(small)f(size.)523 3140 y(Additionally)-7
+b(,)34 b(the)g(construction)f(of)h(these)g(primitiv)n(es)g(mak)n(es)e
+(ECRS)i(quite)g(scalable,)523 3240 y(and)24 b(assists)f(the)h(enco)r
+(ding)g(sc)n(heme)g(in)g(encouraging)e(load-balancing,)g(distribution)i
+(and)523 3339 y(replication)i(of)g(con)n(ten)n(t,)g(and)h(sw)n(arming.)
+d(These)j(primitiv)n(es)f(\(and)g(their)h(functionalit)n(y\))523
+3439 y(are)g(describ)r(ed)g(in)h(greater)e(detail)h(later)g(in)h(the)g
+(pap)r(er.)648 3541 y(The)e(rest)f(of)i(the)f(pap)r(er)g(is)g
 (organized)e(as)i(follo)n(ws.)f(Section)p 1 0 0 TeXcolorrgb
-2159 4563 a
+2582 3541 a
 SDict begin H.S end
- 2159 4563 a 1 0 0 TeXcolorrgb Fy(2)p 1 0 0
-TeXcolorrgb 2201 4510 a
+ 2582 3541 a 1 0 0 TeXcolorrgb FA(2)p 1 0 0
+TeXcolorrgb 2624 3487 a
 SDict begin H.R end
- 2201 4510 a 2201 4563 a
+ 2624 3487 a 2624 3541 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.2) cvn H.B /ANN pdfmark end
- 2201
-4563 a Black 36 w Fy(con)n(trasts)g(the)0 4663 y(curren)n(t)30
-b(w)n(ork)g(with)i(mec)n(hanisms)e(used)i(in)f(other)g
-(censorship-resistan)n(t)d(systems.)0 4762 y(Section)p
-1 0 0 TeXcolorrgb 302 4762 a
+(section.1.2) cvn H.B /ANN pdfmark end
+ 2624
+3541 a Black 26 w FA(con)n(trasts)f(the)j(curren)n(t)523
+3640 y(w)n(ork)e(with)i(mec)n(hanisms)e(used)h(in)h(other)f
+(censorship-resistan)n(t)d(systems.)j(Section)p 1 0 0
+TeXcolorrgb 3226 3640 a
 SDict begin H.S end
- 302 4762 a 1 0 0 TeXcolorrgb
-Fy(3)p 1 0 0 TeXcolorrgb 343 4709 a
+ 3226 3640 a 1 0 0 TeXcolorrgb
+FA(3)p 1 0 0 TeXcolorrgb 3268 3587 a
 SDict begin H.R end
- 343 4709 a 343 4762
-a
+ 3268 3587 a 3268
+3640 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.3) cvn H.B /ANN pdfmark end
- 343 4762 a Black 39 w Fy(describ)r(es)38 b(the)g(ECRS)h(enco)r(ding)f
-(sc)n(heme)g(in)h(detail.)f(Section)p 1 0 0 TeXcolorrgb
-2491 4762 a
+(section.1.3) cvn H.B /ANN pdfmark end
+ 3268 3640 a Black 26 w FA(de-)523 3740 y(scrib)r(es)j(the)g
+(ECRS)h(enco)r(ding)e(sc)n(heme)h(in)h(detail.)f(Section)p
+1 0 0 TeXcolorrgb 2476 3740 a
 SDict begin H.S end
- 2491 4762 a 1 0 0 TeXcolorrgb Fy(4)p 1 0 0
-TeXcolorrgb 2532 4709 a
+ 2476 3740 a 1 0 0 TeXcolorrgb
+FA(4)p 1 0 0 TeXcolorrgb 2517 3686 a
 SDict begin H.R end
- 2532 4709 a 2532 4762 a
+ 2517 3686 a 2517
+3740 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.4) cvn H.B /ANN pdfmark end
- 2532
-4762 a Black 39 w Fy(lists)p Black Black eop end
-%%Page: 4 4
-TeXDict begin 4 3 bop 0 0 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- 0 0 a Black 0 TeXcolorgray
-0 17 a
+(section.1.4) cvn H.B /ANN pdfmark end
+ 2517 3740 a Black 29 w FA(lists)h(some)f(extensions)f(to)523
+3840 y(the)f(basic)g(sc)n(heme.)g(Finally)-7 b(,)27 b(Section)p
+1 0 0 TeXcolorrgb 1768 3840 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 1768 3840 a 1 0 0 TeXcolorrgb
+FA(5)p 1 0 0 TeXcolorrgb 1809 3786 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
-end
- 0 17 a Black Fu(4)917 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 248 a Fy(some)d(extensions)g(to)g(the)h(basic)f(sc)n(heme.)h(Finally)
--7 b(,)24 b(Section)p 1 0 0 TeXcolorrgb 1933 248 a
-SDict begin H.S end
- 1933
-248 a 1 0 0 TeXcolorrgb Fy(5)p 1 0 0 TeXcolorrgb 1974
-195 a
-SDict begin H.R end
- 1974 195 a 1974 248 a
+ 1809 3786 a 1809
+3840 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(section.5) cvn H.B /ANN pdfmark end
- 1974 248 a Black 25 w Fy(discusses)g(attac)
-n(ks)f(on)0 348 y(ECRS)k(and)h(con)n(trasts)e(it)i(with)g(previous)e(w)
-n(ork.)125 448 y(This)33 b(w)n(ork)f(builds)i(on)f(our)g(earlier)f(pap)
-r(er)h([)p 0 1 0 TeXcolorrgb 1577 448 a
+(section.1.5) cvn H.B /ANN pdfmark end
+ 1809 3840 a Black 27 w FA(discusses)g(attac)n(ks)f(on)g(ECRS)h
+(and)g(con)n(trasts)f(it)523 3939 y(with)i(previous)f(w)n(ork.)648
+4041 y(This)d(w)n(ork)f(builds)h(on)g(our)g(earlier)f(pap)r(er)h([)p
+0 1 0 TeXcolorrgb 2036 4041 a
 SDict begin H.S end
- 1577 448 a 0 1 0
-TeXcolorrgb Fy(2)p 0 1 0 TeXcolorrgb 1618 394 a
+ 2036 4041 a 0 1 0 TeXcolorrgb
+FA(2)p 0 1 0 TeXcolorrgb 2077 3987 a
 SDict begin H.R end
- 1618
-394 a 1618 448 a
+ 2077 3987 a 2077
+4041 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.esed) cvn H.B /ANN pdfmark end
- 1618 448 a Black Fy(])h(whic)n(h)f(w)n(as)g(\014rst)g
-(published)h(at)0 547 y(A)n(CISP)29 b(2001.)f(Since)h(then,)h(the)g
-(enco)r(ding)f(sc)n(heme)g(has)g(b)r(een)g(revised)g(to)g(address)0
-647 y(additional)d(requiremen)n(ts)f(an)h(to)g(impro)n(v)n(e)f(the)i
-(securit)n(y)e(in)i(v)-5 b(arious)25 b(asp)r(ects.)h(This)0
-746 y(pap)r(er)h(re\015ects)g(these)h(c)n(hanges.)0 942
+ 2077 4041 a Black FA(])h(whic)n(h)f(w)n(as)f(\014rst)h
+(published)h(at)f(A)n(CISP)523 4141 y(2001.)33 b(Since)h(then,)h(the)g
+(enco)r(ding)f(sc)n(heme)g(has)g(b)r(een)h(revised)e(to)h(address)g
+(additional)523 4240 y(requiremen)n(ts)29 b(an)h(to)h(impro)n(v)n(e)e
+(the)i(securit)n(y)e(in)i(v)-5 b(arious)29 b(asp)r(ects.)h(This)h(pap)r
+(er)f(re\015ects)523 4340 y(these)e(c)n(hanges.)523 4513
 y
 SDict begin H.S end
- 0 942 a 0 942 a
+ 523 4513 a 523 4513 a
 SDict begin 12 H.A end
- 0 942 a 0 942 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.2) cvn H.B /DEST pdfmark
+ 523 4513 a 523 4513 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1.2) cvn H.B /DEST pdfmark
 end
- 0 942 a 83 x Fz(2)f(Related)k(W)-8
-b(ork)0 1210 y Fy(A)31 b(large)e(n)n(um)n(b)r(er)h(of)h
-(censorship-resistan)n(t)d(\(or)h(at)i(least)f(fault-toleran)n(t\))g
-(publish-)0 1310 y(ing)f(systems)f(ha)n(v)n(e)g(b)r(een)i(prop)r(osed)e
-(in)h(recen)n(t)g(y)n(ears)e([)p 0 1 0 TeXcolorrgb 1779
-1310 a
+ 523 4513
+a 102 x Fu(2)112 b(Related)38 b(W)-9 b(ork)523 4825 y
+FA(A)40 b(large)f(n)n(um)n(b)r(er)g(of)h(censorship-resistan)n(t)d
+(\(or)j(at)f(least)h(fault-toleran)n(t\))f(publishing)523
+4924 y(systems)30 b(ha)n(v)n(e)f(b)r(een)h(prop)r(osed)f(in)i(recen)n
+(t)e(y)n(ears)g([)p 0 1 0 TeXcolorrgb 2170 4924 a
 SDict begin H.S end
- 1779 1310 a 0 1 0 TeXcolorrgb Fy(1)p 0 1 0 TeXcolorrgb
-1820 1256 a
+ 2170
+4924 a 0 1 0 TeXcolorrgb FA(1)p 0 1 0 TeXcolorrgb 2211
+4871 a
 SDict begin H.R end
- 1820 1256 a 1820 1310 a
+ 2211 4871 a 2211 4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.anderson96eternity) cvn H.B /ANN pdfmark end
- 1820 1310 a Black
-Fy(,)p 0 1 0 TeXcolorrgb 1851 1310 a
+ 2211 4924 a Black FA(,)p
+0 1 0 TeXcolorrgb 2234 4924 a
 SDict begin H.S end
- 1851 1310 a 0 1 0
-TeXcolorrgb Fy(4)p 0 1 0 TeXcolorrgb 1893 1256 a
+ 2234 4924 a 0 1 0 TeXcolorrgb
+FA(4)p 0 1 0 TeXcolorrgb 2276 4871 a
 SDict begin H.R end
- 1893
-1256 a 1893 1310 a
+ 2276 4871 a 2276
+4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.chen99prototype) cvn H.B /ANN pdfmark end
- 1893 1310 a Black Fy(,)p 0 1 0 TeXcolorrgb
-1924 1310 a
+ 2276 4924 a Black FA(,)p 0 1 0 TeXcolorrgb 2299
+4924 a
 SDict begin H.S end
- 1924 1310 a 0 1 0 TeXcolorrgb Fy(5)p 0 1 0
-TeXcolorrgb 1966 1256 a
+ 2299 4924 a 0 1 0 TeXcolorrgb FA(5)p 0 1 0 TeXcolorrgb
+2341 4871 a
 SDict begin H.R end
- 1966 1256 a 1966 1310 a
+ 2341 4871 a 2341 4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 1966
-1310 a Black Fy(,)p 0 1 0 TeXcolorrgb 1997 1310 a
+ 2341 4924 a Black
+FA(,)p 0 1 0 TeXcolorrgb 2364 4924 a
 SDict begin H.S end
- 1997
-1310 a 0 1 0 TeXcolorrgb Fy(9)p 0 1 0 TeXcolorrgb 2039
-1256 a
+ 2364 4924 a 0 1 0
+TeXcolorrgb FA(9)p 0 1 0 TeXcolorrgb 2405 4871 a
 SDict begin H.R end
- 2039 1256 a 2039 1310 a
+ 2405
+4871 a 2405 4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.freehaven-berk) cvn H.B /ANN pdfmark end
- 2039 1310 a Black Fy(,)p
-0 1 0 TeXcolorrgb 2070 1310 a
+ 2405 4924 a Black FA(,)p 0 1 0 TeXcolorrgb
+2428 4924 a
 SDict begin H.S end
- 2070 1310 a 0 1 0 TeXcolorrgb
-Fy(11)p 0 1 0 TeXcolorrgb 2153 1256 a
+ 2428 4924 a 0 1 0 TeXcolorrgb FA(11)p 0 1 0
+TeXcolorrgb 2511 4871 a
 SDict begin H.R end
- 2153 1256 a 2153
-1310 a
+ 2511 4871 a 2511 4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.feamster-infranet) cvn H.B /ANN pdfmark end
- 2153 1310 a Black Fy(,)p 0 1 0 TeXcolorrgb 2184
-1310 a
+ 2511
+4924 a Black FA(,)p 0 1 0 TeXcolorrgb 2534 4924 a
 SDict begin H.S end
- 2184 1310 a 0 1 0 TeXcolorrgb Fy(16)p 0 1 0 TeXcolorrgb
-2268 1256 a
+ 2534
+4924 a 0 1 0 TeXcolorrgb FA(16)p 0 1 0 TeXcolorrgb 2617
+4871 a
 SDict begin H.R end
- 2268 1256 a 2268 1310 a
+ 2617 4871 a 2617 4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.herlihy87how) cvn H.B /ANN pdfmark end
- 2268 1310 a Black
-Fy(,)p 0 1 0 TeXcolorrgb 2299 1310 a
+ 2617 4924 a Black FA(,)p
+0 1 0 TeXcolorrgb 2640 4924 a
 SDict begin H.S end
- 2299 1310 a 0 1 0
-TeXcolorrgb Fy(31)p 0 1 0 TeXcolorrgb 2382 1256 a
+ 2640 4924 a 0 1 0 TeXcolorrgb
+FA(31)p 0 1 0 TeXcolorrgb 2723 4871 a
 SDict begin H.R end
- 2382
-1256 a 2382 1310 a
+ 2723 4871 a 2723
+4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.waldman2001tangler) cvn H.B /ANN pdfmark end
- 2382 1310 a Black Fy(,)p 0 1 0 TeXcolorrgb
-2413 1310 a
+ 2723 4924 a Black FA(,)p 0 1 0 TeXcolorrgb 2746
+4924 a
 SDict begin H.S end
- 2413 1310 a 0 1 0 TeXcolorrgb Fy(32)p 0 1 0
-TeXcolorrgb 2497 1256 a
+ 2746 4924 a 0 1 0 TeXcolorrgb FA(32)p 0 1 0 TeXcolorrgb
+2829 4871 a
 SDict begin H.R end
- 2497 1256 a 2497 1310 a
+ 2829 4871 a 2829 4924 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.pub00) cvn H.B /ANN pdfmark end
- 2497
-1310 a Black Fy(].)i(The)0 1410 y(prop)r(osed)24 b(proto)r(cols)g
-(di\013er)h(in)g(v)-5 b(arious)24 b(asp)r(ects)h(unrelated)g(to)g(the)g
-(sp)r(eci\014cs)g(of)h(the)0 1509 y(enco)r(ding)e(mec)n(hanism,)h(suc)n
-(h)f(as)h(con)n(ten)n(t)f(replication)g(and)h(the)g(use)g(of)f(anon)n
-(ymous)0 1609 y(or)30 b(steganographic)e(comm)n(unication.)h
-(Characteristic)g(of)i(all)f(of)g(these)h(systems)f(is)0
-1708 y(the)24 b(use)f(of)h(replication)e(and)i(the)f(need)h(to)f
-(ensure)g(data)g(in)n(tegrit)n(y)-7 b(.)23 b(F)-7 b(or)23
-b(an)g(o)n(v)n(erview)0 1808 y(of)h(con)n(ten)n(t)f(replication)h
-(strategies)e(see)i([)p 0 1 0 TeXcolorrgb 1310 1808 a
+ 2829 4924 a Black
+FA(].)i(The)f(prop)r(osed)p Black Black eop end
+%%Page: 4 4
+TeXDict begin 4 3 bop 0 0 a
+SDict begin /product where{pop product(Distiller)search{pop pop pop
+version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
+closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
+grestore}if}{pop}ifelse}{pop}ifelse}if end
+ 0 0 a Black 0 TeXcolorgray
+523 232 a
 SDict begin H.S end
-
-1310 1808 a 0 1 0 TeXcolorrgb Fy(6)p 0 1 0 TeXcolorrgb
-1351 1755 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 1351 1755 a 1351 1808 a
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark
+end
+ 523 232 a Black Fx(4)237 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(proto)r(cols)18 b(di\013er)i(in)g(v)-5
+b(arious)18 b(asp)r(ects)h(unrelated)g(to)h(the)f(sp)r(eci\014cs)h(of)f
+(the)h(enco)r(ding)f(mec)n(h-)523 548 y(anism,)28 b(suc)n(h)g(as)f(con)
+n(ten)n(t)h(replication)f(and)h(the)g(use)g(of)g(anon)n(ymous)e(or)i
+(steganographic)523 648 y(comm)n(unication.)33 b(Characteristic)g(of)h
+(all)g(of)g(these)g(systems)f(is)h(the)h(use)f(of)g(replication)523
+747 y(and)i(the)h(need)f(to)h(ensure)e(data)h(in)n(tegrit)n(y)-7
+b(.)36 b(F)-7 b(or)35 b(an)h(o)n(v)n(erview)f(of)h(con)n(ten)n(t)g
+(replication)523 847 y(strategies)26 b(see)h([)p 0 1 0
+TeXcolorrgb 1050 847 a
+SDict begin H.S end
+ 1050 847 a 0 1 0 TeXcolorrgb FA(6)p
+0 1 0 TeXcolorrgb 1091 793 a
+SDict begin H.R end
+ 1091 793 a 1091 847 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.cohen02replication) cvn H.B /ANN pdfmark end
- 1351 1808 a Black
-Fy(].)g(The)g(censorship-resistan)n(t)e(systems)h(all)0
-1908 y(use)j(some)g(form)g(of)g(con)n(ten)n(t)g(enco)r(ding)f(to)h
-(hide)h(the)g(sp)r(eci\014cs)f(of)g(the)g(con)n(ten)n(t)g(from)0
-2007 y(the)i(serv)n(ers.)0 2186 y
+ 1091
+847 a Black FA(].)h(The)f(censorship-resistan)n(t)e(systems)i(all)g
+(use)g(some)g(form)g(of)g(con)n(ten)n(t)523 946 y(enco)r(ding)g(to)h
+(hide)g(the)g(sp)r(eci\014cs)f(of)h(the)g(con)n(ten)n(t)f(from)g(the)h
+(serv)n(ers.)523 1100 y
 SDict begin H.S end
- 0 2186 a 0 2186 a
+ 523 1100 a 523 1100 a
 SDict begin 12 H.A end
- 0
-2186 a 0 2186 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.1) cvn H.B /DEST
+ 523 1100
+a 523 1100 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.1) cvn H.B /DEST
 pdfmark end
- 0 2186 a 100 x Fs(2.1)h(F)-6 b(r)l(e)l(enet)0
-2471 y Fy(The)41 b(main)g(con)n(ten)n(t)g(enco)r(ding)g(sc)n(heme)f
-(used)i(in)f(F)-7 b(reenet)41 b([)p 0 1 0 TeXcolorrgb
-2020 2471 a
+ 523 1100 a 84 x Fr(2.1)95 b(F)-8 b(reenet)523
+1338 y FA(The)30 b(main)f(con)n(ten)n(t)h(enco)r(ding)f(sc)n(heme)g
+(used)h(in)g(F)-7 b(reenet)30 b([)p 0 1 0 TeXcolorrgb
+2452 1338 a
 SDict begin H.S end
- 2020 2471 a 0 1 0 TeXcolorrgb Fy(5)p 0 1 0
-TeXcolorrgb 2062 2418 a
+ 2452 1338 a 0 1 0 TeXcolorrgb FA(5)p 0 1 0
+TeXcolorrgb 2493 1284 a
 SDict begin H.R end
- 2062 2418 a 2062 2471 a
+ 2493 1284 a 2493 1338 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 2062
-2471 a Black Fy(])g(uses)g(CHKs:)g(the)0 2571 y(hash)33
-b(of)h(the)g(con)n(ten)n(t)f(is)g(used)h(as)e(the)i(k)n(ey)-7
-b(.)33 b(F)-7 b(reenet)34 b(has)f(sev)n(eral)f(other)g(t)n(yp)r(es)i
-(of)0 2670 y(k)n(eys)28 b(whic)n(h)h(are)f(used)h(to)g(refer)f(the)i
-(user)e(to)h(con)n(ten)n(t-hash)f(k)n(eys.)g(These)h(di\013eren)n(t)0
-2770 y(k)n(ey)39 b(t)n(yp)r(es)h(are)f(used)h(to)g(allo)n(w)f
-(additional)g(features)g(suc)n(h)h(as)f(con)n(ten)n(t)h(signing,)0
-2870 y(p)r(ersonal)g(namespaces)f(and)i(splitting)g(of)f(con)n(ten)n
-(t.)h(F)-7 b(reenet's)40 b(CHK)h(yields)g(the)0 2969
-y(same)31 b(encrypted)g(data)f(for)h(indep)r(enden)n(t)h(encryptions.)e
-(Ho)n(w)n(ev)n(er,)f(it)j(has)f(sev)n(eral)0 3069 y(disadv)-5
-b(an)n(tages.)125 3168 y(One)26 b(dra)n(wbac)n(k)e(of)j(F)-7
-b(reenet's)26 b(CHK)g(is)h(that)g(it)g(do)r(es)f(not)g(allo)n(w)g
-(direct)g(sharing)0 3268 y(of)37 b(\014les)g(from)g(the)h(lo)r(cal)f
-(driv)n(e)f(without)i(encrypting)e(and)i(inserting)e(them)i(\014rst.)0
-3368 y(Th)n(us,)31 b(if)i(a)e(no)r(de)g(op)r(erator)f(wishes)h(to)h(k)n
-(eep)f(con)n(ten)n(t)g(directly)h(accessible)e(on)i(the)0
-3467 y(host,)23 b(a)f(lo)r(cal)h(cop)n(y)f(of)h(the)g(plain)n(text)g(m)
-n(ust)g(b)r(e)g(k)n(ept)g(in)g(addition)g(to)g(the)g(encrypted)0
-3567 y(con)n(ten)n(t)k(in)g(the)h(F)-7 b(reenet)27 b(database.)g(Also,)
-g(F)-7 b(reenet)27 b(do)r(es)g(not)g(supp)r(ort)g(sw)n(arming.)0
-3667 y(One)f(reason)e(for)h(this)h(is)g(that)g(F)-7 b(reenet's)26
-b(CHK)g(enco)r(ding)f(can)h(only)f(v)n(erify)g(a)h(\014le)g(in)0
-3766 y(its)i(en)n(tiret)n(y)f(and)g(not)h(pin-p)r(oin)n(t)g
-(corruptions)e(on)h(a)g(smaller)g(scale.)125 3866 y(One)22
-b(w)n(a)n(y)h(to)g(obtain)g(the)g(CHK)g(k)n(ey)g(of)g(a)g(\014le)h(in)f
-(F)-7 b(reenet)23 b(is)g(to)h(searc)n(h)d(a)i(priv)-5
-b(ate)0 3965 y(subspace.)32 b(A)h(subspace)g(con)n(tains)f(a)g(set)h
-(of)g(CHK)g(k)n(eys)f(that)h(ha)n(v)n(e)f(b)r(een)h(crypto-)0
-4065 y(graphically)17 b(signed)i(b)n(y)g(the)g(o)n(wner)f(of)h(the)h
-(subspace)e(and)h(placed)g(in)n(to)g(the)h(subspace)0
-4165 y(under)j(a)g(certain)f(k)n(eyw)n(ord.)f(These)i(signed)g
-(references)f(are)g(called)h(subspace-signed)0 4264 y(k)n(eys)32
-b(\(SSK\).)h(Giv)n(en)f(the)h(subspace-pre\014x)e(and)i(the)g(k)n(eyw)n
-(ord,)d(users)i(can)g(obtain)0 4364 y(the)e(CHK)f(k)n(ey)-7
-b(.)29 b(The)g(form)g(of)g(the)h(k)n(eyw)n(ords)d(can)i(b)r(e)g(freely)
-g(c)n(hosen,)g(allo)n(wing)e(for)0 4464 y(con)n(v)n(en)n(tions)18
-b(suc)n(h)h(as)g(dates)g(in)h(the)g(k)n(eyw)n(ord)e(to)h(b)r(e)h(used)g
-(for)f(up)r(dates)h(\(in)g(F)-7 b(reenet's)0 4563 y(terminology)g(,)26
-b(these)i(are)f(called)g Fs(date)j(b)l(ase)l(d)h(r)l(e)l(dir)l(e)l(cts)
-p Fy(\).)125 4663 y(In)26 b(addition)g(to)f(CHK)h(and)g(SSK)g(k)n(eys,)
-f(F)-7 b(reenet)26 b(supp)r(orts)g(KSK)f(k)n(eys.)g(A)i(KSK)0
-4762 y(k)n(ey)j(is)g(essen)n(tially)g(a)g(CHK)h(k)n(ey)f(stored)g(in)g
-(plain)n(text)h(\(!\))g(under)g(a)f(k)n(eyw)n(ord.)f(The)p
+ 2493
+1338 a Black FA(])g(uses)f(CHKs:)h(the)g(hash)f(of)523
+1437 y(the)e(con)n(ten)n(t)f(is)g(used)g(as)g(the)g(k)n(ey)-7
+b(.)26 b(F)-7 b(reenet)26 b(has)g(sev)n(eral)e(other)i(t)n(yp)r(es)g
+(of)g(k)n(eys)g(whic)n(h)g(are)523 1537 y(used)e(to)f(refer)g(the)h
+(user)f(to)g(con)n(ten)n(t-hash)g(k)n(eys.)f(These)i(di\013eren)n(t)f
+(k)n(ey)g(t)n(yp)r(es)h(are)f(used)g(to)523 1637 y(allo)n(w)e
+(additional)h(features)g(suc)n(h)g(as)g(con)n(ten)n(t)g(signing,)g(p)r
+(ersonal)f(namespaces)h(and)g(split-)523 1736 y(ting)28
+b(of)g(con)n(ten)n(t.)f(F)-7 b(reenet's)28 b(CHK)g(yields)f(the)i(same)
+e(encrypted)g(data)h(for)f(indep)r(enden)n(t)523 1836
+y(encryptions.)g(Ho)n(w)n(ev)n(er,)f(it)i(has)f(sev)n(eral)e(disadv)-5
+b(an)n(tages.)648 1936 y(One)31 b(dra)n(wbac)n(k)g(of)h(F)-7
+b(reenet's)32 b(CHK)g(is)g(that)g(it)h(do)r(es)f(not)g(allo)n(w)f
+(direct)h(sharing)f(of)523 2035 y(\014les)c(from)f(the)h(lo)r(cal)g
+(driv)n(e)e(without)j(encrypting)e(and)g(inserting)h(them)g(\014rst.)g
+(Th)n(us,)f(if)h(a)523 2135 y(no)r(de)22 b(op)r(erator)f(wishes)h(to)g
+(k)n(eep)g(con)n(ten)n(t)g(directly)g(accessible)f(on)h(the)h(host,)f
+(a)g(lo)r(cal)g(cop)n(y)523 2234 y(of)h(the)g(plain)n(text)g(m)n(ust)g
+(b)r(e)g(k)n(ept)f(in)h(addition)g(to)g(the)g(encrypted)f(con)n(ten)n
+(t)h(in)g(the)g(F)-7 b(reenet)523 2334 y(database.)27
+b(Also,)h(F)-7 b(reenet)29 b(do)r(es)f(not)g(supp)r(ort)g(sw)n(arming.)
+f(One)h(reason)f(for)h(this)g(is)h(that)523 2434 y(F)-7
+b(reenet's)30 b(CHK)h(enco)r(ding)f(can)g(only)g(v)n(erify)g(a)g
+(\014le)h(in)f(its)h(en)n(tiret)n(y)f(and)g(not)h(pin-p)r(oin)n(t)523
+2533 y(corruptions)26 b(on)h(a)h(smaller)e(scale.)648
+2633 y(One)33 b(w)n(a)n(y)f(to)i(obtain)f(the)i(CHK)e(k)n(ey)g(of)h(a)f
+(\014le)h(in)g(F)-7 b(reenet)34 b(is)f(to)h(searc)n(h)e(a)h(priv)-5
+b(ate)523 2733 y(subspace.)27 b(A)h(subspace)f(con)n(tains)f(a)i(set)f
+(of)h(CHK)f(k)n(eys)g(that)h(ha)n(v)n(e)e(b)r(een)i(cryptographi-)523
+2832 y(cally)e(signed)h(b)n(y)g(the)g(o)n(wner)f(of)h(the)g(subspace)g
+(and)f(placed)h(in)n(to)g(the)g(subspace)g(under)f(a)523
+2932 y(certain)e(k)n(eyw)n(ord.)g(These)g(signed)h(references)f(are)f
+(called)i(subspace-signed)e(k)n(eys)h(\(SSK\).)523 3031
+y(Giv)n(en)i(the)g(subspace-pre\014x)e(and)h(the)i(k)n(eyw)n(ord,)c
+(users)i(can)h(obtain)f(the)h(CHK)g(k)n(ey)-7 b(.)25
+b(The)523 3131 y(form)d(of)g(the)g(k)n(eyw)n(ords)e(can)i(b)r(e)h
+(freely)e(c)n(hosen,)h(allo)n(wing)e(for)i(con)n(v)n(en)n(tions)e(suc)n
+(h)i(as)f(dates)523 3231 y(in)j(the)h(k)n(eyw)n(ord)d(to)i(b)r(e)h
+(used)f(for)g(up)r(dates)g(\(in)h(F)-7 b(reenet's)24
+b(terminology)-7 b(,)23 b(these)h(are)f(called)523 3330
+y Ft(date)30 b(b)l(ase)l(d)h(r)l(e)l(dir)l(e)l(cts)p
+FA(\).)648 3430 y(In)c(addition)h(to)f(CHK)g(and)g(SSK)h(k)n(eys,)e(F)
+-7 b(reenet)28 b(supp)r(orts)f(KSK)g(k)n(eys.)f(A)i(KSK)f(k)n(ey)523
+3530 y(is)j(essen)n(tially)f(a)g(CHK)h(k)n(ey)g(stored)f(in)h(plain)n
+(text)g(\(!\))h(under)e(a)h(k)n(eyw)n(ord.)e(The)i(proto)r(col)523
+3629 y(attempts)25 b(to)f(ensure)g(that)g(there)h(cannot)e(b)r(e)i(t)n
+(w)n(o)f(di\013eren)n(t)g(CHK)h(k)n(eys)e(a)n(v)-5 b(ailable)23
+b(in)i(the)523 3729 y(net)n(w)n(ork)g(under)h(the)h(same)f(k)n(eyw)n
+(ord.)e(While)j(collisions)e(for)h(KSK)g(k)n(eys)f(are)g(supp)r(osedly)
+523 3828 y(not)36 b(allo)n(w)n(ed,)e(the)i(proto)r(col)e(cannot)h(prev)
+n(en)n(t)g(them)h(from)f(o)r(ccurring.)g(If)h(an)f(attac)n(k)n(er)523
+3928 y(inserts)27 b(meaningless)f(data)h(under)g(a)g(common)g(k)n(eyw)n
+(ord,)e(F)-7 b(reenet)27 b(will)h(try)f(to)g(preserv)n(e)523
+4028 y(that)g(con)n(ten)n(t)g(b)r(ecause)f(it)h(is)g(frequen)n(tly)f
+(requested.)h(Subsequen)n(tly)-7 b(,)26 b(that)h(k)n(eyw)n(ord)e(can)
+523 4127 y(no)h(longer)f(b)r(e)i(used)f(for)g(an)n(y)f(useful)i(data)f
+(since)g(the)g(p)r(eers)g(attempt)h(to)f(enforce)g(the)h(no-)523
+4227 y(collisions)j(rule.)h(Note)g(that)g(the)h(no-collision)d(rule)i
+(cannot)f(b)r(e)i(enforced)e(for)h(malicious)523 4327
+y(p)r(eers.)h(F)-7 b(or)32 b(these)h(reasons,)e(the)i(F)-7
+b(reenet)33 b(dev)n(elop)r(ers)e(consider)h(the)h(use)f(of)h(KSK)f(k)n
+(eys)523 4426 y(insecure)27 b(and)g(recommend)g(against)g(using)g
+(them.)648 4526 y(As)i(a)f(result,)h(F)-7 b(reenet)29
+b(e\013ectiv)n(ely)g(do)r(es)g(not)g(supp)r(ort)f(an)n(y)h(t)n(yp)r(e)g
+(of)g(k)n(eyw)n(ord-based)523 4625 y(searc)n(h.)22 b(The)i(CHK)g(k)n
+(eys)e(m)n(ust)i(b)r(e)g(found)g(b)n(y)g(using)f(k)n(eyserv)n(ers)e(or)
+i(ad-ho)r(c)g(applications)523 4725 y(built)h(up)r(on)g(the)f(basic)g
+(solution)g(b)n(y)g(using)g(incremen)n(tal)g(n)n(um)n(b)r(ers)g(as)f
+(parts)h(of)g(k)n(eyw)n(ords)523 4825 y(in)f(signed)f(namespaces.)f
+(The)i(disadv)-5 b(an)n(tage)20 b(of)i(k)n(eyserv)n(ers)c(is)k(that)g
+(they)g(m)n(ust)f(b)r(e)h(main-)523 4924 y(tained)31
+b(if)g(the)g(indexed)g(k)n(eys)f(are)g(to)h(b)r(e)g(k)n(ept)f
+(up-to-date.)h(F)-7 b(reenet)30 b(do)r(es)h(not)g(seem)f(to)p
 Black Black eop end
 %%Page: 5 5
 TeXDict begin 5 4 bop 0 0 a
@@ -6152,134 +6471,163 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1106 b(5)p Black 0
-248 a Fy(proto)r(col)31 b(attempts)h(to)g(ensure)f(that)h(there)g
-(cannot)f(b)r(e)h(t)n(w)n(o)f(di\013eren)n(t)h(CHK)g(k)n(eys)0
-348 y(a)n(v)-5 b(ailable)25 b(in)h(the)h(net)n(w)n(ork)e(under)h(the)g
-(same)g(k)n(eyw)n(ord.)e(While)j(collisions)e(for)h(KSK)0
-448 y(k)n(eys)35 b(are)g(supp)r(osedly)h(not)f(allo)n(w)n(ed,)g(the)h
-(proto)r(col)f(cannot)h(prev)n(en)n(t)f(them)h(from)0
-547 y(o)r(ccurring.)20 b(If)h(an)g(attac)n(k)n(er)e(inserts)i
-(meaningless)f(data)h(under)f(a)h(common)g(k)n(eyw)n(ord,)0
-647 y(F)-7 b(reenet)27 b(will)g(try)f(to)h(preserv)n(e)e(that)i(con)n
-(ten)n(t)g(b)r(ecause)f(it)h(is)g(frequen)n(tly)f(requested.)0
-746 y(Subsequen)n(tly)-7 b(,)26 b(that)g(k)n(eyw)n(ord)e(can)i(no)f
-(longer)g(b)r(e)h(used)g(for)f(an)n(y)g(useful)i(data)e(since)0
-846 y(the)c(p)r(eers)f(attempt)i(to)e(enforce)g(the)h(no-collisions)e
-(rule.)i(Note)f(that)h(the)g(no-collision)0 946 y(rule)29
-b(cannot)f(b)r(e)h(enforced)g(for)f(malicious)g(p)r(eers.)h(F)-7
-b(or)28 b(these)h(reasons,)f(the)h(F)-7 b(reenet)0 1045
-y(dev)n(elop)r(ers)30 b(consider)g(the)i(use)g(of)f(KSK)g(k)n(eys)f
-(insecure)h(and)g(recommend)g(against)0 1145 y(using)c(them.)125
-1248 y(As)32 b(a)g(result,)g(F)-7 b(reenet)32 b(e\013ectiv)n(ely)g(do)r
-(es)g(not)h(supp)r(ort)f(an)n(y)f(t)n(yp)r(e)i(of)f(k)n(eyw)n(ord-)0
-1347 y(based)d(searc)n(h.)e(The)i(CHK)g(k)n(eys)f(m)n(ust)h(b)r(e)h
-(found)f(b)n(y)g(using)f(k)n(eyserv)n(ers)f(or)h(ad-ho)r(c)0
-1447 y(applications)d(built)j(up)r(on)e(the)h(basic)f(solution)g(b)n(y)
-g(using)g(incremen)n(tal)g(n)n(um)n(b)r(ers)g(as)0 1547
-y(parts)i(of)h(k)n(eyw)n(ords)e(in)i(signed)g(namespaces.)f(The)h
-(disadv)-5 b(an)n(tage)27 b(of)i(k)n(eyserv)n(ers)d(is)0
-1646 y(that)e(they)g(m)n(ust)g(b)r(e)g(main)n(tained)g(if)g(the)g
-(indexed)g(k)n(eys)f(are)g(to)h(b)r(e)g(k)n(ept)g(up-to-date.)0
-1746 y(F)-7 b(reenet)34 b(do)r(es)g(not)g(seem)g(to)g(use)g(an)n(y)f
-(encryption)g(for)h(the)g(data)g(stored)f(in)i(KSK)0
-1845 y(or)26 b(SKS)h(k)n(eys)f(and)h(therefore)g(fails)g(to)g(prev)n
-(en)n(t)f(in)n(termediaries)g(from)g(learning)h(the)0
-1945 y(CHK)g(k)n(eys,)g(making)g(censorship)f(b)n(y)i(in)n
-(termediaries)e(easier.)0 2160 y
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
+b(5)p Black 523 448 a FA(use)30 b(an)n(y)f(encryption)h(for)f(the)i
+(data)f(stored)f(in)h(KSK)g(or)f(SKS)h(k)n(eys)f(and)h(therefore)f
+(fails)523 548 y(to)36 b(prev)n(en)n(t)f(in)n(termediaries)g(from)g
+(learning)g(the)h(CHK)g(k)n(eys,)f(making)h(censorship)e(b)n(y)523
+648 y(in)n(termediaries)26 b(easier.)523 788 y
 SDict begin H.S end
- 0 2160 a 0 2160 a
+ 523 788
+a 523 788 a
 SDict begin 12 H.A end
- 0
-2160 a 0 2160 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.2) cvn H.B /DEST
+ 523 788 a 523 788 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.2) cvn H.B /DEST
 pdfmark end
- 0 2160 a 87 x Fs(2.2)j(F)-6 b(r)l(e)l(e)29
-b(Haven)0 2456 y Fy(In)h(F)-7 b(ree)30 b(Ha)n(v)n(en)f([)p
-0 1 0 TeXcolorrgb 569 2456 a
+ 523 788 a 99 x Fr(2.2)95
+b(F)-8 b(ree)31 b(Ha)m(v)m(en)523 1044 y FA(In)24 b(F)-7
+b(ree)24 b(Ha)n(v)n(en)f([)p 0 1 0 TeXcolorrgb 1074 1044
+a
 SDict begin H.S end
- 569 2456 a 0 1 0 TeXcolorrgb
-Fy(9)p 0 1 0 TeXcolorrgb 611 2402 a
+ 1074 1044 a 0 1 0 TeXcolorrgb FA(9)p 0 1 0 TeXcolorrgb
+1115 990 a
 SDict begin H.R end
- 611 2402 a 611 2456
-a
+ 1115 990 a 1115 1044 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.freehaven-berk) cvn H.B /ANN pdfmark end
- 611 2456 a Black Fy(],)h(do)r(cumen)n(ts)g(are)f(split)h(in)n(to)g
-Fr(n)g Fy(shares)e(whic)n(h)i(are)f(distributed)0 2555
-y(o)n(v)n(er)23 b(a)h(n)n(um)n(b)r(er)g(of)h(serv)n(ers.)d(An)n(y)j
-Fr(k)i Fy(out)e(of)g Fr(n)f Fy(shares)f(are)h(su\016cien)n(t)h(to)f
-(reconstruct)0 2655 y(the)i(en)n(tire)g(do)r(cumen)n(t)g([)p
-0 1 0 TeXcolorrgb 777 2655 a
+ 1115 1044 a Black FA(],)i(do)r(cumen)
+n(ts)f(are)e(split)j(in)n(to)f Fs(n)f FA(shares)g(whic)n(h)h(are)f
+(distributed)h(o)n(v)n(er)e(a)523 1143 y(n)n(um)n(b)r(er)27
+b(of)g(serv)n(ers.)f(An)n(y)h Fs(k)j FA(out)d(of)h Fs(n)f
+FA(shares)f(are)g(su\016cien)n(t)h(to)h(reconstruct)e(the)h(en)n(tire)
+523 1243 y(do)r(cumen)n(t)j([)p 0 1 0 TeXcolorrgb 931
+1243 a
 SDict begin H.S end
- 777 2655 a 0 1 0 TeXcolorrgb
-Fy(25)p 0 1 0 TeXcolorrgb 860 2601 a
+ 931 1243 a 0 1 0 TeXcolorrgb FA(25)p 0 1 0 TeXcolorrgb
+1015 1189 a
 SDict begin H.R end
- 860 2601 a 860 2655
-a
+ 1015 1189 a 1015 1243 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rabin89efficient) cvn H.B /ANN pdfmark end
- 860 2655 a Black Fy(].)g(T)-7 b(o)26 b(retriev)n(e)e(a)i(do)r(cumen)n
-(t,)g(the)h(user)e(m)n(ust)h(obtain)g(the)0 2754 y(k)n(ey)h(that)g(w)n
-(as)f(used)i(to)f(sign)g(the)g(do)r(cumen)n(t)h(from)f(some)f(source)g
-(outside)i(the)f(F)-7 b(ree)0 2854 y(Ha)n(v)n(en)24 b(net)n(w)n(ork.)g
-(The)i(design)e(of)i(F)-7 b(ree)25 b(Ha)n(v)n(en)f(itself)i(do)r(es)f
-(not)g(discuss)g(an)n(y)f(searc)n(h)0 2954 y(functionalit)n(y)-7
-b(.)29 b(The)g(user)g(then)g(forw)n(ards)e(the)j(k)n(ey)e(to)h(the)g
-(serv)n(er)e(whic)n(h)i(encrypts)0 3053 y(and)e(sends)h(its)g(share)e
-(of)i(the)g(do)r(cumen)n(t.)125 3156 y(Shares)17 b(are)h(enco)r(ded)h
-(with)g(an)f(information)g(disp)r(ersal)g(algorithm)g(\(ID)n(A\).)h
-(Hosts)0 3256 y(are)h(still)i(able)f(to)h(exercise)e(editorial)h(con)n
-(trol)f(o)n(v)n(er)f(the)j(con)n(ten)n(t)f(since)g(the)h(ID)n(A)g(do)r
-(es)0 3355 y(not)31 b(prev)n(en)n(t)f(hosts)h(from)g(deco)r(ding)g
-(parts)f(of)h(the)h(plain)n(text.)f(Also,)g(the)h Fr(k)i
-Fy(out)d(of)0 3455 y Fr(n)38 b Fy(share)e(reconstruction)g(sc)n(heme)i
-(do)r(es)f(not)h(allo)n(w)e(reconstruction)g(of)i(a)f(\014le)h(b)n(y)0
-3555 y(mixing)27 b(shares)g(from)g(indep)r(enden)n(t)h(insertions)f
-(with)h(di\013eren)n(t)g(v)-5 b(alues)27 b(for)g Fr(k)k
-Fy(or)26 b Fr(n)p Fy(.)0 3770 y
+ 1015 1243 a Black
+FA(].)g(T)-7 b(o)30 b(retriev)n(e)f(a)g(do)r(cumen)n(t,)i(the)g(user)e
+(m)n(ust)h(obtain)g(the)h(k)n(ey)f(that)g(w)n(as)523
+1343 y(used)j(to)f(sign)g(the)h(do)r(cumen)n(t)g(from)f(some)g(source)f
+(outside)i(the)g(F)-7 b(ree)32 b(Ha)n(v)n(en)f(net)n(w)n(ork.)523
+1442 y(The)i(design)f(of)g(F)-7 b(ree)32 b(Ha)n(v)n(en)g(itself)h(do)r
+(es)f(not)h(discuss)f(an)n(y)f(searc)n(h)g(functionalit)n(y)-7
+b(.)33 b(The)523 1542 y(user)d(then)h(forw)n(ards)e(the)i(k)n(ey)g(to)f
+(the)h(serv)n(er)e(whic)n(h)i(encrypts)f(and)h(sends)f(its)h(share)f
+(of)523 1641 y(the)e(do)r(cumen)n(t.)648 1741 y(Shares)21
+b(are)g(enco)r(ded)i(with)g(an)f(information)g(disp)r(ersal)f
+(algorithm)g(\(ID)n(A\).)j(Hosts)e(are)523 1841 y(still)34
+b(able)f(to)h(exercise)e(editorial)h(con)n(trol)f(o)n(v)n(er)g(the)i
+(con)n(ten)n(t)f(since)h(the)g(ID)n(A)g(do)r(es)f(not)523
+1940 y(prev)n(en)n(t)f(hosts)f(from)h(deco)r(ding)g(parts)g(of)g(the)h
+(plain)n(text.)f(Also,)g(the)h Fs(k)i FA(out)e(of)f Fs(n)g
+FA(share)523 2040 y(reconstruction)f(sc)n(heme)g(do)r(es)h(not)g(allo)n
+(w)f(reconstruction)f(of)i(a)g(\014le)g(b)n(y)g(mixing)f(shares)523
+2140 y(from)c(indep)r(enden)n(t)i(insertions)e(with)h(di\013eren)n(t)f
+(v)-5 b(alues)28 b(for)f Fs(k)j FA(or)d Fs(n)p FA(.)523
+2296 y
 SDict begin H.S end
- 0 3770 a 0 3770 a
+ 523 2296 a 523 2296 a
 SDict begin 12 H.A end
- 0 3770
-a 0 3770 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.3) cvn H.B /DEST
+ 523 2296 a 523 2296 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.3) cvn H.B /DEST
 pdfmark end
- 0 3770 a 87 x Fs(2.3)j(Mnet)h(and)g(Mojo)h(Nation)0
-4065 y Fy(Mnet)c(is)f(the)g(successor)f(of)h(Mo)5 b(jo)25
-b(Nation)h([)p 0 1 0 TeXcolorrgb 1401 4065 a
+ 523
+2296 a 83 x Fr(2.3)95 b(Mnet)31 b(and)h(Mo)5 b(jo)32
+b(Nation)523 2536 y FA(Mnet)d(is)f(the)g(successor)f(of)h(Mo)5
+b(jo)27 b(Nation)h([)p 0 1 0 TeXcolorrgb 1938 2536 a
 SDict begin H.S end
- 1401 4065
-a 0 1 0 TeXcolorrgb Fy(33)p 0 1 0 TeXcolorrgb 1484 4012
+
+1938 2536 a 0 1 0 TeXcolorrgb FA(33)p 0 1 0 TeXcolorrgb
+2021 2482 a
+SDict begin H.R end
+ 2021 2482 a 2021 2536 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.mojotech) cvn H.B /ANN pdfmark end
+ 2021 2536 a Black
+FA(],)h(a)e(p)r(eer-to-p)r(eer)g(net)n(w)n(ork)g(that)h(w)n(as)g(the)
+523 2635 y(\014rst)d(to)g(fo)r(cus)g(on)f(using)h(economic)f(incen)n
+(tiv)n(es)g(when)h(trading)g(con)n(ten)n(t.)f(As)h(the)h(descen-)523
+2735 y(dan)n(t)g(of)g(a)g(commercial)f(pro)r(duct,)i(Mnet)f(fo)r(cuses)
+g(mostly)g(on)g(e\016ciency)h(and)f(reliabilit)n(y)-7
+b(.)523 2835 y(Nev)n(ertheless,)31 b(Mnet)i(encrypts)e(\014les)h(with)h
+(AES)f(using)g(a)f(user-supplied)h(k)n(ey)f(to)h(allo)n(w)523
+2934 y(for)e(priv)-5 b(acy)e(.)30 b(The)h(\014le)g(is)f(then)h(brok)n
+(en)f(in)n(to)g(shares)f(using)h(an)h(erasure)e(co)r(de.)h(Multiple)523
+3034 y(shares)23 b(are)h(iden)n(ti\014ed)g(with)h(an)g(SHA-1)f(hash)g
+(and)g(stored)g(in)h(an)f(ino)r(de.)g(The)h(\014le)g(can)f(b)r(e)523
+3133 y(retriev)n(ed)i(using)i(the)g(hash)f(of)g(the)h(ino)r(de)g(and)f
+(the)h(symmetric)g(encryption)f(k)n(ey)-7 b(.)648 3233
+y(The)30 b(use)g(of)g(whole-\014le)f(AES)h(encryption)g(and)g(the)g
+(use)g(of)g(an)g(erasure)e(co)r(de)i(forces)523 3333
+y(Mnet,)c(as)f(with)h(F)-7 b(reenet,)26 b(to)f(store)g(a)g(second)g
+(cop)n(y)g(of)h(the)g(en)n(tire)f(\014le)h(in)f(the)h(Mnet)g(data)523
+3432 y(store)f(ev)n(en)h(if)g(the)g(user)g(retains)f(a)h(cop)n(y)f(of)h
+(the)g(\014le)g(in)g(plain)n(text.)g(The)g(enco)r(ding)g(mak)n(es)523
+3532 y(it)h(infeasible)f(to)g(enco)r(de)g(parts)f(of)i(the)f(\014le)h
+(on)f(request.)f(The)h(free)g(selection)g(of)g(the)h(AES)523
+3632 y(k)n(ey)j(allo)n(ws)f(indep)r(enden)n(t)j(users)d(to)i(create)f
+(completely)g(di\013eren)n(t)h(shares)e(for)h(iden)n(tical)523
+3731 y(\014les.)35 b(Since)g(the)h(encryption)e(of)h(the)g(con)n(ten)n
+(t)g(is)g(a)f(p)r(erfectly)i(indep)r(enden)n(t)g(pass)e(o)n(v)n(er)523
+3831 y(the)e(\014le,)g(other)e(enco)r(dings)h(suc)n(h)g(as)g(ECRS)g
+(and)g(F)-7 b(reenet's)32 b(enco)r(ding)f(could)g(b)r(e)h(easily)523
+3930 y(extended)i(to)g(include)h(this)f(b)r(eha)n(vior)e(if)j(desired)e
+({)h(without)g(the)h(need)f(to)g(mandate)f(a)523 4030
+y(certain)27 b(st)n(yle)g(of)h(AES)f(encryption.)523
+4186 y
+SDict begin H.S end
+ 523 4186 a 523 4186 a
+SDict begin 12 H.A end
+ 523 4186 a 523 4186 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.4) cvn H.B /DEST
+pdfmark end
+ 523
+4186 a 84 x Fr(2.4)95 b(Publius)523 4426 y FA(Publius)23
+b([)p 0 1 0 TeXcolorrgb 843 4426 a
+SDict begin H.S end
+ 843 4426 a 0 1 0 TeXcolorrgb
+FA(32)p 0 1 0 TeXcolorrgb 926 4373 a
+SDict begin H.R end
+ 926 4373 a 926 4426
 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.pub00) cvn H.B /ANN pdfmark end
+ 926 4426 a Black FA(])h(is)g(a)f(static)g(net)n(w)n(ork)f(that)i
+(uses)f(Shamir's)g(algorithm)g([)p 0 1 0 TeXcolorrgb
+2736 4426 a
+SDict begin H.S end
+ 2736 4426 a 0 1 0 TeXcolorrgb FA(27)p 0 1 0
+TeXcolorrgb 2819 4373 a
 SDict begin H.R end
- 1484 4012 a 1484 4065 a
+ 2819 4373 a 2819 4426 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.mojotech) cvn H.B /ANN pdfmark end
- 1484 4065 a Black Fy(],)h(a)f(p)r(eer-to-p)r
-(eer)f(net)n(w)n(ork)f(that)j(w)n(as)0 4165 y(the)36
-b(\014rst)g(to)g(fo)r(cus)g(on)g(using)f(economic)g(incen)n(tiv)n(es)h
-(when)g(trading)f(con)n(ten)n(t.)h(As)0 4264 y(the)27
-b(descendan)n(t)f(of)h(a)f(commercial)g(pro)r(duct,)h(Mnet)g(fo)r
-(cuses)f(mostly)h(on)f(e\016ciency)0 4364 y(and)37 b(reliabilit)n(y)-7
-b(.)37 b(Nev)n(ertheless,)f(Mnet)i(encrypts)f(\014les)g(with)h(AES)f
-(using)g(a)g(user-)0 4464 y(supplied)30 b(k)n(ey)f(to)h(allo)n(w)f(for)
-g(priv)-5 b(acy)e(.)29 b(The)h(\014le)g(is)g(then)h(brok)n(en)d(in)n
-(to)i(shares)e(using)0 4563 y(an)38 b(erasure)e(co)r(de.)h(Multiple)i
-(shares)e(are)g(iden)n(ti\014ed)h(with)g(an)g(SHA-1)g(hash)f(and)0
-4663 y(stored)23 b(in)h(an)f(ino)r(de.)h(The)g(\014le)f(can)h(b)r(e)g
-(retriev)n(ed)e(using)h(the)h(hash)g(of)f(the)h(ino)r(de)g(and)0
-4762 y(the)k(symmetric)f(encryption)g(k)n(ey)-7 b(.)p
-Black Black eop end
+(cite.shamir) cvn H.B /ANN pdfmark end
+ 2819
+4426 a Black FA(])g(to)h(split)g(the)g(k)n(ey)523 4526
+y(required)j(to)g(restore)g(stored)g(\014les)g(b)r(et)n(w)n(een)h(the)g
+(a)n(v)-5 b(ailable)27 b(serv)n(ers.)e(The)j(encrypted)g(\014le)523
+4625 y(is)33 b(then)h(stored)f(on)g(all)g(serv)n(ers.)e(The)j(serv)n
+(ers)d(cannot)i(decrypt)g(the)h(\014le)f(as)g(the)g(k)n(ey)g(is)523
+4725 y(nev)n(er)27 b(rev)n(ealed)f(to)h(them.)648 4825
+y(Publius)34 b(k)n(eys)g(are)g(random)g(strings.)g(The)h(system)g(do)r
+(es)g(not)g(pro)n(vide)e(an)n(y)i(searc)n(h)523 4924
+y(mec)n(hanism)c(and)h(exp)r(ects)f(the)h(users)f(to)h(obtain)f(the)h
+(k)n(eys)f(from)g(an)g(alternate)g(source.)p Black Black
+eop end
 %%Page: 6 6
 TeXDict begin 6 5 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6287,144 +6635,154 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(6)917 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-125 248 a Fy(The)35 b(use)h(of)g(whole-\014le)f(AES)h(encryption)f(and)
-h(the)g(use)g(of)f(an)h(erasure)e(co)r(de)0 348 y(forces)h(Mnet,)i(as)e
-(with)i(F)-7 b(reenet,)36 b(to)g(store)f(a)h(second)f(cop)n(y)g(of)h
-(the)h(en)n(tire)e(\014le)i(in)0 448 y(the)30 b(Mnet)g(data)e(store)h
-(ev)n(en)g(if)g(the)h(user)f(retains)f(a)h(cop)n(y)g(of)g(the)h(\014le)
-f(in)h(plain)n(text.)0 547 y(The)25 b(enco)r(ding)g(mak)n(es)g(it)g
-(infeasible)h(to)f(enco)r(de)g(parts)g(of)g(the)h(\014le)f(on)g
-(request.)g(The)0 647 y(free)g(selection)g(of)h(the)f(AES)h(k)n(ey)e
-(allo)n(ws)g(indep)r(enden)n(t)j(users)d(to)i(create)e(completely)0
-746 y(di\013eren)n(t)39 b(shares)f(for)g(iden)n(tical)h(\014les.)g
-(Since)g(the)g(encryption)f(of)h(the)g(con)n(ten)n(t)g(is)0
-846 y(a)33 b(p)r(erfectly)g(indep)r(enden)n(t)h(pass)f(o)n(v)n(er)e
-(the)j(\014le,)f(other)g(enco)r(dings)g(suc)n(h)g(as)f(ECRS)0
-946 y(and)27 b(F)-7 b(reenet's)28 b(enco)r(ding)f(could)g(b)r(e)h
-(easily)f(extended)h(to)f(include)h(this)g(b)r(eha)n(vior)e(if)0
-1045 y(desired)h({)g(without)h(the)g(need)g(to)f(mandate)h(a)f(certain)
-g(st)n(yle)g(of)h(AES)f(encryption.)0 1240 y
+ 523 232 a Black Fx(6)237 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(Publius)h(nev)n(er)e(discards)h(an)n(y)g(con)n(ten)n
+(t)g(and)h(th)n(us)g(assumes)e(that)i(disk)g(space)f(is)h(nev)n(er)e(a)
+523 548 y(limitation.)523 698 y
 SDict begin H.S end
- 0 1240 a
-0 1240 a
+ 523 698 a 523 698 a
 SDict begin 12 H.A end
- 0 1240 a 0 1240 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.4) cvn H.B /DEST
+ 523
+698 a 523 698 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.5) cvn H.B /DEST
 pdfmark end
- 0 1240 a 84 x Fs(2.4)i(Publius)0
-1509 y Fy(Publius)k([)p 0 1 0 TeXcolorrgb 330 1509 a
+ 523 698 a 99 x Fr(2.5)95 b(T)-8 b(angler)523
+964 y FA(The)31 b(T)-7 b(angler)30 b(net)n(w)n(ork)f([)p
+0 1 0 TeXcolorrgb 1345 964 a
 SDict begin H.S end
-
-330 1509 a 0 1 0 TeXcolorrgb Fy(32)p 0 1 0 TeXcolorrgb
-413 1456 a
+ 1345 964 a 0 1 0 TeXcolorrgb
+FA(31)p 0 1 0 TeXcolorrgb 1428 910 a
 SDict begin H.R end
- 413 1456 a 413 1509 a
+ 1428 910 a 1428
+964 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.pub00) cvn H.B /ANN pdfmark end
- 413 1509 a Black Fy(])h(is)f(a)g
-(static)g(net)n(w)n(ork)f(that)i(uses)f(Shamir's)g(algorithm)f([)p
-0 1 0 TeXcolorrgb 2311 1509 a
+(cite.waldman2001tangler) cvn H.B /ANN pdfmark end
+ 1428 964 a Black FA(])i(is)g(a)f(system)h(where)f(new)h(con)n
+(ten)n(t)g(is)g(en)n(tangled)f(with)h(old)523 1064 y(con)n(ten)n(t.)26
+b(This)h(en)n(tanglemen)n(t)f(in)n(tro)r(duces)g(a)h(dep)r(endency)g
+(whic)n(h)f(mak)n(es)g(it)h(imp)r(ossible)523 1163 y(to)19
+b(retriev)n(e)e(a)h(piece)h(of)g(con)n(ten)n(t)f(if)i(the)f(other)f
+(con)n(ten)n(t)g(that)h(it)g(w)n(as)f(en)n(tangled)g(with)i(is)e(lost.)
+523 1263 y(While)i(this)h(mak)n(es)d(it)j(imp)r(ossible)e(to)h(censor)f
+(sp)r(eci\014c)h(con)n(ten)n(t)f(without)h(losing)f(unrelated)523
+1362 y(con)n(ten)n(t)j(\(since)h(the)g(en)n(tanglemen)n(t)e(pairs)h
+(are)g(c)n(hosen)f(randomly\),)h(this)h(pro)r(cess)e
+Ft(doubles)523 1462 y FA(the)f(amoun)n(t)f(of)g(data)g(that)h(m)n(ust)f
+(b)r(e)h(transp)r(orted)f(b)n(y)g(the)h(net)n(w)n(ork.)e(This)h(sc)n
+(heme)g(fails)g(to)523 1562 y(address)29 b(the)i(fact)f(that)h(an)f
+(adv)n(ersary)d(ma)n(y)j(not)g(care)g(ab)r(out)g(losing)f(other)h(data)
+g(when)523 1661 y(attempting)35 b(to)g(censor)f(con)n(ten)n(t.)h(Also,)
+f(nothing)h(prev)n(en)n(ts)f(the)h(adv)n(ersary)e(from)h(\014rst)523
+1761 y(making)e(a)g(cop)n(y)f(of)h(imp)r(ortan)n(t)g(do)r(cumen)n(ts)h
+(and)f(re-inserting)f(them)h(in)n(to)h(the)f(system)523
+1861 y(after)27 b(the)h(censorship)f(op)r(eration.)648
+1960 y(T)-7 b(angler)33 b(has)h(some)h(similarities)f(with)h(ECRS.)g
+(In)g(particular,)e(it)j(uses)e(hash)h(trees)523 2060
+y(for)40 b(in)n(tegrit)n(y)f(c)n(hec)n(ks)g(on)h(\014xed-size)g(blo)r
+(c)n(ks)g(of)g(data.)g(Ho)n(w)n(ev)n(er,)e(unlik)n(e)i(ECRS,)h(the)523
+2160 y(T)-7 b(angler)33 b(enco)r(ding)h(uses)g(Shamir's)g(secret)g
+(sharing)f([)p 0 1 0 TeXcolorrgb 2283 2160 a
 SDict begin H.S end
- 2311 1509 a 0 1 0 TeXcolorrgb
-Fy(27)p 0 1 0 TeXcolorrgb 2394 1456 a
+ 2283 2160
+a 0 1 0 TeXcolorrgb FA(27)p 0 1 0 TeXcolorrgb 2366 2106
+a
 SDict begin H.R end
- 2394 1456 a 2394
-1509 a
+ 2366 2106 a 2366 2160 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.shamir) cvn H.B /ANN pdfmark end
- 2394 1509 a Black Fy(])h(to)h(split)0 1609 y(the)g(k)n(ey)e
-(required)g(to)h(restore)f(stored)g(\014les)h(b)r(et)n(w)n(een)g(the)h
-(a)n(v)-5 b(ailable)32 b(serv)n(ers.)f(The)0 1708 y(encrypted)d(\014le)
-h(is)g(then)g(stored)f(on)g(all)g(serv)n(ers.)f(The)h(serv)n(ers)f
-(cannot)h(decrypt)h(the)0 1808 y(\014le)f(as)f(the)h(k)n(ey)f(is)g(nev)
-n(er)g(rev)n(ealed)f(to)h(them.)125 1908 y(Publius)19
-b(k)n(eys)g(are)g(random)f(strings.)h(The)h(system)g(do)r(es)f(not)h
-(pro)n(vide)e(an)n(y)h(searc)n(h)0 2007 y(mec)n(hanism)42
-b(and)f(exp)r(ects)i(the)f(users)f(to)h(obtain)g(the)g(k)n(eys)f(from)h
-(an)g(alternate)0 2107 y(source.)20 b(Publius)h(nev)n(er)g(discards)f
-(an)n(y)h(con)n(ten)n(t)g(and)g(th)n(us)g(assumes)g(that)g(disk)h
-(space)0 2207 y(is)27 b(nev)n(er)g(a)g(limitation.)0
-2385 y
+ 2366 2160 a Black FA(])h(to)g(en)n(tangle)g
+(the)h(blo)r(c)n(k)e(with)523 2259 y(other,)d(pre-existing)g(blo)r(c)n
+(ks,)g(preferably)g(from)h(other)f(do)r(cumen)n(ts.)h(Both)g(T)-7
+b(angler)29 b(and)523 2359 y(ECRS)21 b(\(as)g(w)n(ell)g(as)g(F)-7
+b(reenet\))21 b(use)g(cryptographically)e(signed)i(data,)f(whic)n(h)i
+(T)-7 b(angler)20 b(calls)523 2458 y(collections.)27
+b(ECRS)h(has)f(analogous)e(constructions)i(to)h(T)-7
+b(angler's)26 b(collections,)h(referred)523 2558 y(to)d(in)g(this)g
+(pap)r(er)f(as)g Ft(dir)l(e)l(ctories)i FA(and)f Ft(namesp)l(ac)l(es)p
+FA(;)g(ho)n(w)n(ev)n(er,)e(unlik)n(e)h(ECRS,)h(a)f(T)-7
+b(angler)523 2658 y(collection)34 b(has)g(a)g(v)n(ersioned)f(ro)r(ot)h
+(whic)n(h)h(explicitly)f(lists)h(all)f(of)h(the)g(con)n(ten)n(ts)f(in)h
+(the)523 2757 y(collection,)22 b(resulting)h(in)g(one)g(of)g(T)-7
+b(angler's)21 b(global)h(sync)n(hronization)f(problems.)h(Placing)523
+2857 y(a)28 b(do)r(cumen)n(t)g(in)h(a)f(F)-7 b(reenet)28
+b(subspace)g(or)f(ECRS)h(namespace)f(only)h(requires)f(that)i(it)g(b)r
+(e)523 2957 y(adequately)e(signed.)523 3122 y
 SDict begin H.S end
- 0 2385 a 0 2385 a
+ 523 3122
+a 523 3122 a
 SDict begin 12 H.A end
- 0 2385 a 0 2385 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.5) cvn H.B /DEST
+ 523 3122 a 523 3122 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.6) cvn H.B /DEST
 pdfmark end
- 0 2385 a 100
-x Fs(2.5)i(T)-6 b(angler)0 2670 y Fy(The)29 b(T)-7 b(angler)27
-b(net)n(w)n(ork)h([)p 0 1 0 TeXcolorrgb 816 2670 a
+ 523 3122 a 84 x Fr(2.6)95
+b(Gn)m(utella)31 b(and)h(F)-8 b(astT)g(rac)m(k)523 3372
+y FA(The)31 b(F)-7 b(astT)g(rac)n(k)28 b(net)n(w)n(ork)p
+1 0 0 TeXcolorrgb 1376 3372 a
 SDict begin H.S end
- 816
-2670 a 0 1 0 TeXcolorrgb Fy(31)p 0 1 0 TeXcolorrgb 899
-2617 a
+ 1376 3372 a -30 x Fz(1)1412
+3372 y
+SDict begin 12 H.L end
+ 1412 3372 a 1412 3372 a
+SDict begin [ /Subtype /Link /Dest (Hfootnote.1) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1412 3372 a Black 31 w
+FA(and)i(mo)r(dern)g(v)-5 b(arian)n(ts)29 b(of)i(the)g(Gn)n(utella)f
+(proto)r(col)f(use)i(the)523 3472 y(SHA-1)f(hash)f(co)r(de)g(of)h(the)g
+(shared)f(\014les)g(to)h(uniquely)f(iden)n(tify)i(\014les.)e(The)h
+(SHA-1)f(hash)523 3572 y(co)r(des)d(are)f(used)i(to)f(iden)n(tify)h
+(iden)n(tical)f(\014les)g(stored)g(on)g(di\013eren)n(t)g(p)r(eers.)g
+(The)g(p)r(eers)g(can)523 3671 y(then)d(use)g(this)g(information)f(to)h
+(do)n(wnload)f(the)h(\014le)g(from)f(m)n(ultiple)i(sources)d(\(sw)n
+(arming\).)523 3771 y(The)41 b(problem)f(with)h(this)f(approac)n(h)f
+(is)h(that)h(the)g(SHA-1)f(hash)g(co)r(des)g(can)h(only)f(b)r(e)523
+3871 y(v)n(eri\014ed)23 b(once)h(the)h(en)n(tire)f(\014le)g(has)g(b)r
+(een)g(retriev)n(ed.)f(T)-7 b(o)24 b(ruin)g(a)g(do)n(wnload,)f(it)i
+(su\016ces)f(for)523 3970 y(a)29 b(malicious)f(p)r(eer)i(to)f(con)n
+(tribute)g(just)h(one)e(single)h(in)n(v)-5 b(alid)29
+b(blo)r(c)n(k.)g(The)h(presence)e(of)h(an)523 4070 y(in)n(v)-5
+b(alid)22 b(blo)r(c)n(k)f(could)g(only)h(b)r(e)g(detected)g(after)f
+(the)h(en)n(tire)g(\014le)f(w)n(as)g(retriev)n(ed.)g(W)-7
+b(orse,)21 b(the)523 4169 y(simplistic)28 b(SHA-1)g(approac)n(h)f(do)r
+(es)g(not)i(giv)n(e)e(p)r(eers)g(an)n(y)h(w)n(a)n(y)f(to)h(iden)n(tify)
+g(the)h(lo)r(cation)523 4269 y(of)f(the)g(in)n(v)-5 b(alid)27
+b(blo)r(c)n(k)g(or)g(the)h(malicious)f(p)r(eer.)648 4369
+y(Neither)19 b(F)-7 b(astT)g(rac)n(k)18 b(nor)h(Gn)n(utella)g(use)h
+(\014le)f(encryption.)g(Consequen)n(tly)-7 b(,)19 b(they)h(do)f(not)523
+4468 y(pro)n(vide)h(an)n(y)h(protection)f(from)h(censorship)f(b)r(ey)n
+(ond)h(decen)n(tralized)f(routing)h(of)g(requests.)p
+Black 523 4538 473 4 v 546 4592 a Fy(1)p 0 TeXcolorgray
+606 4532 a
+SDict begin H.S end
+ 606 4532 a 0 TeXcolorgray 0 TeXcolorgray 606
+4532 a
 SDict begin H.R end
- 899 2617 a 899 2670 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.waldman2001tangler) cvn H.B /ANN pdfmark end
- 899 2670 a Black Fy(])h(is)f(a)h(system)f
-(where)g(new)h(con)n(ten)n(t)g(is)f(en)n(tangled)g(with)0
-2770 y(old)37 b(con)n(ten)n(t.)h(This)g(en)n(tanglemen)n(t)f(in)n(tro)r
-(duces)g(a)g(dep)r(endency)h(whic)n(h)g(mak)n(es)e(it)0
-2870 y(imp)r(ossible)g(to)h(retriev)n(e)e(a)h(piece)h(of)f(con)n(ten)n
-(t)g(if)h(the)g(other)f(con)n(ten)n(t)g(that)h(it)g(w)n(as)0
-2969 y(en)n(tangled)i(with)g(is)g(lost.)g(While)h(this)g(mak)n(es)e(it)
-i(imp)r(ossible)f(to)g(censor)f(sp)r(eci\014c)0 3069
-y(con)n(ten)n(t)28 b(without)g(losing)g(unrelated)f(con)n(ten)n(t)h
-(\(since)h(the)f(en)n(tanglemen)n(t)g(pairs)f(are)0 3168
-y(c)n(hosen)34 b(randomly\),)h(this)g(pro)r(cess)f Fs(doubles)i
-Fy(the)g(amoun)n(t)e(of)h(data)g(that)g(m)n(ust)g(b)r(e)0
-3268 y(transp)r(orted)c(b)n(y)g(the)h(net)n(w)n(ork.)e(This)i(sc)n
-(heme)f(fails)g(to)g(address)g(the)h(fact)f(that)h(an)0
-3368 y(adv)n(ersary)23 b(ma)n(y)i(not)h(care)f(ab)r(out)h(losing)f
-(other)g(data)h(when)g(attempting)g(to)g(censor)0 3467
-y(con)n(ten)n(t.)41 b(Also,)g(nothing)g(prev)n(en)n(ts)f(the)h(adv)n
-(ersary)e(from)i(\014rst)g(making)f(a)h(cop)n(y)0 3567
-y(of)d(imp)r(ortan)n(t)f(do)r(cumen)n(ts)h(and)f(re-inserting)g(them)h
-(in)n(to)f(the)i(system)e(after)h(the)0 3667 y(censorship)26
-b(op)r(eration.)125 3766 y(T)-7 b(angler)18 b(has)h(some)g
-(similarities)g(with)h(ECRS.)g(In)g(particular,)e(it)i(uses)f(hash)g
-(trees)0 3866 y(for)25 b(in)n(tegrit)n(y)f(c)n(hec)n(ks)g(on)h
-(\014xed-size)f(blo)r(c)n(ks)g(of)i(data.)e(Ho)n(w)n(ev)n(er,)g(unlik)n
-(e)h(ECRS,)g(the)0 3965 y(T)-7 b(angler)18 b(enco)r(ding)h(uses)f
-(Shamir's)h(secret)g(sharing)e([)p 0 1 0 TeXcolorrgb
-1668 3965 a
+ 606 4532 a 606 4532 a
+SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.1) cvn H.B /DEST pdfmark
+end
+ 606 4532 a Black 92 x Fx(Proto)r(col)28
+b(description)e(from)g(the)g(giFT-F)-6 b(astT)g(rac)n(k)26
+b(pro)t(ject)h(is)f(a)n(v)l(ailable)h(at)p 0 1 0 0 TeXcolorcmyk
+689 4802 a
 SDict begin H.S end
- 1668 3965 a 0 1 0 TeXcolorrgb Fy(27)p 0 1 0
-TeXcolorrgb 1751 3912 a
+ 689 4802 a 0 1 0 0 TeXcolorcmyk -16 x Fw
+(http://gnunet.org/papers/FAST)q(-)t(TR)q(ACK-)5 b(PROTO)q(COL)p
+0 1 0 0 TeXcolorcmyk 2423 4734 a
 SDict begin H.R end
- 1751 3912 a 1751 3965 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.shamir) cvn H.B /ANN pdfmark end
- 1751
-3965 a Black Fy(])j(to)f(en)n(tangle)f(the)i(blo)r(c)n(k)e(with)0
-4065 y(other,)30 b(pre-existing)f(blo)r(c)n(ks,)h(preferably)g(from)g
-(other)g(do)r(cumen)n(ts.)h(Both)f(T)-7 b(angler)0 4165
-y(and)36 b(ECRS)h(\(as)f(w)n(ell)g(as)g(F)-7 b(reenet\))37
-b(use)f(cryptographically)e(signed)i(data,)g(whic)n(h)0
-4264 y(T)-7 b(angler)36 b(calls)h(collections.)g(ECRS)g(has)g
-(analogous)e(constructions)i(to)g(T)-7 b(angler's)0 4364
-y(collections,)21 b(referred)g(to)h(in)g(this)h(pap)r(er)e(as)h
-Fs(dir)l(e)l(ctories)h Fy(and)f Fs(namesp)l(ac)l(es)p
-Fy(;)h(ho)n(w)n(ev)n(er,)0 4464 y(unlik)n(e)g(ECRS,)h(a)f(T)-7
-b(angler)22 b(collection)h(has)f(a)h(v)n(ersioned)f(ro)r(ot)h(whic)n(h)
-g(explicitly)h(lists)0 4563 y(all)39 b(of)g(the)h(con)n(ten)n(ts)f(in)h
-(the)f(collection,)g(resulting)g(in)h(one)f(of)g(T)-7
-b(angler's)38 b(global)0 4663 y(sync)n(hronization)g(problems.)h
-(Placing)f(a)h(do)r(cumen)n(t)h(in)g(a)f(F)-7 b(reenet)40
-b(subspace)f(or)0 4762 y(ECRS)27 b(namespace)g(only)g(requires)f(that)i
-(it)g(b)r(e)g(adequately)f(signed.)p Black Black eop
-end
+ 2423 4734 a 2423 4786
+a
+SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
+/URI /URI (http://gnunet.org/papers/FAST-TRACK-PROTOCOL) >> /Subtype
+/Link H.B /ANN pdfmark end
+ 2423 4786 a Black Fx(.)p Black Black Black eop end
 %%Page: 7 7
 TeXDict begin 7 6 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6432,236 +6790,245 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1106 b(7)p Black 0
-165 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
+b(7)p Black 523 365 a
 SDict begin H.S end
- 0 165 a 0 165 a
+ 523 365 a 523 365 a
 SDict begin 12 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.6) cvn H.B /DEST
+ 523 365 a 523
+365 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.2.7) cvn H.B /DEST
 pdfmark end
- 0 165 a 83 x Fs(2.6)29
-b(Gnutel)t(la)h(and)g(F)-6 b(astT)g(r)l(ack)0 490 y Fy(The)28
-b(F)-7 b(astT)g(rac)n(k)27 b(net)n(w)n(ork)p 1 0 0 TeXcolorrgb
-849 490 a
+ 523 365 a 83 x Fr(2.7)95 b(Distributed)31 b(File)f(Systems)523
+626 y FA(V)-7 b(arious)21 b(distributed)i(\014le)g(systems)f(based)g
+(on)g(a)g(p)r(eer-to-p)r(eer)f(infrastructure)g(ha)n(v)n(e)h(b)r(een)
+523 725 y(built)39 b(in)f(recen)n(t)f(y)n(ears)f([)p
+0 1 0 TeXcolorrgb 1342 725 a
 SDict begin H.S end
- 849 490 a -30 x Fw(1)885 490 y
-SDict begin 12 H.L end
- 885 490 a 885
-490 a
-SDict begin [ /Subtype /Link /Dest (Hfootnote.1) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 885 490 a Black 28 w Fy(and)h(mo)r(dern)h(v)-5
-b(arian)n(ts)27 b(of)h(the)h(Gn)n(utella)f(proto)r(col)f(use)0
-590 y(the)d(SHA-1)g(hash)g(co)r(de)f(of)h(the)h(shared)e(\014les)g(to)h
-(uniquely)g(iden)n(tify)h(\014les.)f(The)f(SHA-)0 690
-y(1)35 b(hash)g(co)r(des)f(are)h(used)g(to)g(iden)n(tify)h(iden)n
-(tical)f(\014les)g(stored)f(on)h(di\013eren)n(t)g(p)r(eers.)0
-789 y(The)27 b(p)r(eers)f(can)g(then)i(use)e(this)h(information)f(to)h
-(do)n(wnload)e(the)i(\014le)g(from)f(m)n(ultiple)0 889
-y(sources)19 b(\(sw)n(arming\).)h(The)h(problem)f(with)i(this)f
-(approac)n(h)e(is)h(that)h(the)h(SHA-1)e(hash)0 988 y(co)r(des)33
-b(can)f(only)h(b)r(e)g(v)n(eri\014ed)f(once)h(the)g(en)n(tire)g(\014le)
-g(has)f(b)r(een)i(retriev)n(ed.)d(T)-7 b(o)33 b(ruin)0
-1088 y(a)k(do)n(wnload,)g(it)h(su\016ces)g(for)f(a)g(malicious)g(p)r
-(eer)h(to)f(con)n(tribute)h(just)g(one)f(single)0 1188
-y(in)n(v)-5 b(alid)27 b(blo)r(c)n(k.)f(The)g(presence)g(of)h(an)f(in)n
-(v)-5 b(alid)26 b(blo)r(c)n(k)h(could)f(only)g(b)r(e)h(detected)g
-(after)0 1287 y(the)39 b(en)n(tire)e(\014le)i(w)n(as)e(retriev)n(ed.)g
-(W)-7 b(orse,)37 b(the)i(simplistic)f(SHA-1)g(approac)n(h)e(do)r(es)0
-1387 y(not)31 b(giv)n(e)g(p)r(eers)g(an)n(y)f(w)n(a)n(y)g(to)i(iden)n
-(tify)f(the)h(lo)r(cation)f(of)g(the)h(in)n(v)-5 b(alid)31
-b(blo)r(c)n(k)g(or)g(the)0 1487 y(malicious)c(p)r(eer.)125
-1596 y(Neither)i(F)-7 b(astT)g(rac)n(k)28 b(nor)h(Gn)n(utella)g(use)g
-(\014le)h(encryption.)f(Consequen)n(tly)-7 b(,)29 b(they)0
-1696 y(do)22 b(not)g(pro)n(vide)f(an)n(y)h(protection)f(from)h
-(censorship)f(b)r(ey)n(ond)h(decen)n(tralized)g(routing)0
-1795 y(of)28 b(requests.)0 2037 y
-SDict begin H.S end
- 0 2037 a 0 2037 a
-SDict begin 12 H.A end
- 0
-2037 a 0 2037 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.2.7) cvn H.B /DEST
-pdfmark end
- 0 2037 a 93 x Fs(2.7)h(Distribute)l(d)h(File)g(Systems)
-0 2372 y Fy(V)-7 b(arious)24 b(distributed)h(\014le)h(systems)e(based)h
-(on)g(a)f(p)r(eer-to-p)r(eer)g(infrastructure)g(ha)n(v)n(e)0
-2472 y(b)r(een)33 b(built)f(in)h(recen)n(t)e(y)n(ears)g([)p
-0 1 0 TeXcolorrgb 997 2472 a
-SDict begin H.S end
- 997 2472 a 0 1 0 TeXcolorrgb
-Fy(7)p 0 1 0 TeXcolorrgb 1038 2418 a
+ 1342 725 a 0 1 0 TeXcolorrgb
+FA(7)p 0 1 0 TeXcolorrgb 1384 672 a
 SDict begin H.R end
- 1038 2418 a 1038
-2472 a
+ 1384 672 a 1384 725
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.cfs:sosp01) cvn H.B /ANN pdfmark end
- 1038 2472 a Black Fy(,)p 0 1 0 TeXcolorrgb 1069
-2472 a
+ 1384 725 a Black FA(,)p 0 1 0 TeXcolorrgb 1407 725
+a
 SDict begin H.S end
- 1069 2472 a 0 1 0 TeXcolorrgb Fy(19)p 0 1 0 TeXcolorrgb
-1153 2418 a
+ 1407 725 a 0 1 0 TeXcolorrgb FA(19)p 0 1 0 TeXcolorrgb
+1490 672 a
 SDict begin H.R end
- 1153 2418 a 1153 2472 a
+ 1490 672 a 1490 725 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazires00sfs) cvn H.B /ANN pdfmark end
- 1153 2472 a Black
-Fy(,)p 0 1 0 TeXcolorrgb 1184 2472 a
+ 1490 725 a Black FA(,)p
+0 1 0 TeXcolorrgb 1513 725 a
 SDict begin H.S end
- 1184 2472 a 0 1 0
-TeXcolorrgb Fy(20)p 0 1 0 TeXcolorrgb 1267 2418 a
+ 1513 725 a 0 1 0 TeXcolorrgb
+FA(20)p 0 1 0 TeXcolorrgb 1596 672 a
 SDict begin H.R end
- 1267
-2418 a 1267 2472 a
+ 1596 672 a 1596
+725 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazieres02building) cvn H.B /ANN pdfmark end
- 1267 2472 a Black Fy(,)p 0 1 0 TeXcolorrgb
-1298 2472 a
+ 1596 725 a Black FA(,)p 0 1 0 TeXcolorrgb 1619
+725 a
 SDict begin H.S end
- 1298 2472 a 0 1 0 TeXcolorrgb Fy(23)p 0 1 0
-TeXcolorrgb 1381 2418 a
+ 1619 725 a 0 1 0 TeXcolorrgb FA(23)p 0 1 0 TeXcolorrgb
+1702 672 a
 SDict begin H.R end
- 1381 2418 a 1381 2472 a
+ 1702 672 a 1702 725 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.muthitacharoen02ivy) cvn H.B /ANN pdfmark end
- 1381
-2472 a Black Fy(,)p 0 1 0 TeXcolorrgb 1412 2472 a
+ 1702 725 a Black FA(,)p
+0 1 0 TeXcolorrgb 1725 725 a
 SDict begin H.S end
- 1412
-2472 a 0 1 0 TeXcolorrgb Fy(26)p 0 1 0 TeXcolorrgb 1496
-2418 a
+ 1725 725 a 0 1 0 TeXcolorrgb
+FA(26)p 0 1 0 TeXcolorrgb 1808 672 a
 SDict begin H.R end
- 1496 2418 a 1496 2472 a
+ 1808 672 a 1808
+725 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rowstron01storage) cvn H.B /ANN pdfmark end
- 1496 2472 a Black Fy(].)h(These)g
-(systems)g(t)n(ypically)f(do)h(not)0 2572 y(fo)r(cus)20
-b(on)f(censorship)f(resistance)h(and)g(consequen)n(tly)g(do)g(not)h
-(encrypt)f(the)h(con)n(ten)n(ts.)0 2671 y(Mo)r(dern)27
-b(systems)g(lik)n(e)g([)p 0 1 0 TeXcolorrgb 792 2671
-a
+ 1808 725 a Black FA(].)i(These)g(systems)f(t)n(ypically)h(do)f
+(not)h(fo)r(cus)g(on)523 825 y(censorship)g(resistance)g(and)i
+(consequen)n(tly)e(do)h(not)h(encrypt)f(the)h(con)n(ten)n(ts.)e(Mo)r
+(dern)523 925 y(systems)26 b(lik)n(e)g([)p 0 1 0 TeXcolorrgb
+1004 925 a
 SDict begin H.S end
- 792 2671 a 0 1 0 TeXcolorrgb Fy(7)p 0 1 0 TeXcolorrgb
-833 2618 a
+ 1004 925 a 0 1 0 TeXcolorrgb FA(7)p 0 1 0
+TeXcolorrgb 1045 871 a
 SDict begin H.R end
- 833 2618 a 833 2671 a
+ 1045 871 a 1045 925 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.cfs:sosp01) cvn H.B /ANN pdfmark end
- 833 2671 a Black Fy(,)p
-0 1 0 TeXcolorrgb 864 2671 a
+ 1045 925
+a Black FA(,)p 0 1 0 TeXcolorrgb 1068 925 a
 SDict begin H.S end
- 864 2671 a 0 1 0 TeXcolorrgb
-Fy(26)p 0 1 0 TeXcolorrgb 948 2618 a
+ 1068 925
+a 0 1 0 TeXcolorrgb FA(26)p 0 1 0 TeXcolorrgb 1152 871
+a
 SDict begin H.R end
- 948 2618 a 948 2671
-a
+ 1152 871 a 1152 925 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rowstron01storage) cvn H.B /ANN pdfmark end
- 948 2671 a Black Fy(])g(route)g(con)n(ten)n(t)g(using)g(distributed)h
-(hash)f(tables)g([)p 0 1 0 TeXcolorrgb 2609 2671 a
+ 1152 925 a Black FA(])g(route)g(con)n(ten)n(t)g
+(using)g(distributed)g(hash)g(tables)g([)p 0 1 0 TeXcolorrgb
+2805 925 a
 SDict begin H.S end
- 2609
-2671 a 0 1 0 TeXcolorrgb Fy(18)p 0 1 0 TeXcolorrgb 2692
-2618 a
+ 2805 925 a 0 1 0 TeXcolorrgb FA(18)p 0 1 0
+TeXcolorrgb 2889 871 a
 SDict begin H.R end
- 2692 2618 a 2692 2671 a
+ 2889 871 a 2889 925 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.maymounkov02kademlia) cvn H.B /ANN pdfmark end
- 2692 2671 a Black Fy(,)p
-0 1 0 TeXcolorrgb 0 2771 a
+ 2889 925
+a Black FA(,)p 0 1 0 TeXcolorrgb 2912 925 a
 SDict begin H.S end
- 0 2771 a 0 1 0 TeXcolorrgb
-Fy(28)p 0 1 0 TeXcolorrgb 83 2717 a
+ 2912 925
+a 0 1 0 TeXcolorrgb FA(28)p 0 1 0 TeXcolorrgb 2995 871
+a
 SDict begin H.R end
- 83 2717 a 83 2771
-a
+ 2995 871 a 2995 925 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.stoica01chord) cvn H.B /ANN pdfmark end
- 83 2771 a Black Fy(])20 b(to)h(ac)n(hiev)n(e)e Fr(O)r
-Fy(\(log)c Fr(n)p Fy(\))20 b(scalabilit)n(y)-7 b(.)19
-b(W)-7 b(ritable)21 b(distributed)f(\014le)h(systems)e(t)n(ypically)0
-2870 y(require)26 b(users)g(to)h(authen)n(ticate)g(themselv)n(es)f(b)r
-(efore)h(b)r(eing)g(gran)n(ted)f(access)g(to)h(the)0
-2970 y(system)g(b)n(y)g(one)f(of)h(the)h(serv)n(ers)d([)p
-0 1 0 TeXcolorrgb 1074 2970 a
+ 2995 925 a Black FA(])g(to)g(ac)n(hiev)n(e)523
+1024 y Fs(O)r FA(\(log)15 b Fs(n)p FA(\))32 b(scalabilit)n(y)-7
+b(.)30 b(W)-7 b(ritable)32 b(distributed)g(\014le)f(systems)g(t)n
+(ypically)g(require)g(users)f(to)523 1124 y(authen)n(ticate)25
+b(themselv)n(es)g(b)r(efore)f(b)r(eing)i(gran)n(ted)e(access)f(to)i
+(the)h(system)f(b)n(y)g(one)g(of)g(the)523 1224 y(serv)n(ers)33
+b([)p 0 1 0 TeXcolorrgb 827 1224 a
 SDict begin H.S end
- 1074 2970 a 0 1 0 TeXcolorrgb
-Fy(19)p 0 1 0 TeXcolorrgb 1157 2917 a
+ 827 1224 a 0 1 0 TeXcolorrgb
+FA(19)p 0 1 0 TeXcolorrgb 910 1170 a
 SDict begin H.R end
- 1157 2917 a 1157
-2970 a
+ 910 1170 a 910 1224
+a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazires00sfs) cvn H.B /ANN pdfmark end
- 1157 2970 a Black Fy(].)i(ECRS)g(fo)r(cuses)g(on)g(encrypting)f
-(shared)g(data)0 3070 y(while)i(allo)n(wing)d(p)r(eers)i(to)h(v)n
-(erify)e(the)i(in)n(tegrit)n(y)e(of)h(the)h(encrypted)f(data)g(that)h
-(they)0 3169 y(are)g(routing.)g(In)h(SUNDR)h([)p 0 1 0
-TeXcolorrgb 907 3169 a
+ 910 1224 a Black FA(].)j(ECRS)e(fo)r(cuses)h(on)g(encrypting)g
+(shared)f(data)g(while)i(allo)n(wing)d(p)r(eers)i(to)523
+1323 y(v)n(erify)21 b(the)h(in)n(tegrit)n(y)f(of)g(the)h(encrypted)g
+(data)f(that)h(they)g(are)f(routing.)g(In)h(SUNDR)h([)p
+0 1 0 TeXcolorrgb 3236 1323 a
 SDict begin H.S end
- 907 3169 a 0 1 0 TeXcolorrgb Fy(20)p
-0 1 0 TeXcolorrgb 990 3116 a
+ 3236 1323 a 0 1 0 TeXcolorrgb
+FA(20)p 0 1 0 TeXcolorrgb 3319 1270 a
 SDict begin H.R end
- 990 3116 a 990 3169 a
+ 3319 1270 a 3319
+1323 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mazieres02building) cvn H.B /ANN pdfmark end
- 990
-3169 a Black Fy(])f(a)f(similar)g(problem)h(is)f(addressed;)g(here)g
-(users)g(can)0 3269 y(detect)38 b(tamp)r(ering)e(b)n(y)h(the)h(\(un)n
-(trusted\))g(serv)n(er)d(that)i(is)h(storing)e(the)h(data)g(in)g(a)0
-3369 y(setting)27 b(where)g(m)n(ultiple)h(users)f(are)f(up)r(dating)h
-(the)h(same)f(data.)g(SUNDR)h(ac)n(hiev)n(es)0 3468 y(what)20
-b(is)f(called)g Fs(fork)24 b(c)l(onsistency)p Fy(,)c(a)f(guaran)n(tee)e
-(that)j(if)g(the)g(serv)n(er)e(passes)g(a)h(v)n(ersion)0
-3568 y(that)24 b(lac)n(ks)f(the)i(c)n(hanges)d(of)i(one)g(clien)n(t)g
-(to)g(another)f(clien)n(t)h(at)g(one)f(p)r(oin)n(t)i(in)f(time,)g(it)0
-3667 y(can)g(nev)n(er)g(again)g(mak)n(e)g(the)h(c)n(hanges)e(of)i
-(either)g(clien)n(t)f(visible)h(to)g(the)g(others.)f(This)0
-3767 y(is)k(a)f(w)n(eak)n(er)f(guaran)n(tee)g(than)i(the)g(optimal)g
-(situation)f(where)h(an)n(y)f(misb)r(eha)n(vior)f(is)0
-3867 y(detected;)d(ho)n(w)n(ev)n(er,)e(it)j(is)f(the)g(strongest)f(p)r
-(ossible)g(prop)r(ert)n(y)g(that)h(can)g(b)r(e)g(ac)n(hiev)n(ed)0
-3966 y(giv)n(en)37 b(the)i(securit)n(y)e(mo)r(del)h(used.)g(ECRS)g(do)r
-(es)g(not)g(allo)n(w)f(users)g(with)h(distinct)0 4066
-y(pseudon)n(yms)c(to)h(up)r(date)h(the)f(same)g(con)n(ten)n(t)f
-(without)i(essen)n(tially)e(creating)g(t)n(w)n(o)0 4166
-y(\014les.)25 b(This)h(allo)n(ws)e(ECRS)h(to)h(guaran)n(tee)d(that)j(p)
-r(eers)f(can)g(nev)n(er)g(return)g(an)g Fs(invalid)0
-4265 y Fy(result)i(since)h(ev)n(ery)e(cop)n(y)h(can)g(b)r(e)h(uniquely)
-g(iden)n(ti\014ed)g(at)f(all)h(times.)p Black 0 4374
-1086 4 v 52 4430 a Fv(1)p 0 TeXcolorgray 125 4370 a
+ 3319 1323 a Black FA(])e(a)523 1423 y(similar)g(problem)h(is)g
+(addressed;)f(here)g(users)g(can)h(detect)h(tamp)r(ering)e(b)n(y)h(the)
+g(\(un)n(trusted\))523 1522 y(serv)n(er)g(that)i(is)g(storing)f(the)h
+(data)g(in)g(a)g(setting)f(where)h(m)n(ultiple)g(users)f(are)g(up)r
+(dating)i(the)523 1622 y(same)h(data.)g(SUNDR)h(ac)n(hiev)n(es)e(what)h
+(is)g(called)g Ft(fork)k(c)l(onsistency)p FA(,)d(a)e(guaran)n(tee)g
+(that)h(if)523 1722 y(the)h(serv)n(er)e(passes)h(a)h(v)n(ersion)e(that)
+i(lac)n(ks)f(the)h(c)n(hanges)f(of)h(one)f(clien)n(t)h(to)g(another)f
+(clien)n(t)523 1821 y(at)g(one)f(p)r(oin)n(t)h(in)h(time,)f(it)g(can)g
+(nev)n(er)f(again)g(mak)n(e)g(the)h(c)n(hanges)e(of)i(either)g(clien)n
+(t)g(visible)523 1921 y(to)i(the)h(others.)f(This)g(is)g(a)g(w)n(eak)n
+(er)f(guaran)n(tee)f(than)j(the)g(optimal)f(situation)g(where)g(an)n(y)
+523 2021 y(misb)r(eha)n(vior)g(is)h(detected;)g(ho)n(w)n(ev)n(er,)e(it)
+j(is)e(the)i(strongest)e(p)r(ossible)g(prop)r(ert)n(y)g(that)h(can)523
+2120 y(b)r(e)39 b(ac)n(hiev)n(ed)f(giv)n(en)g(the)h(securit)n(y)f(mo)r
+(del)h(used.)g(ECRS)g(do)r(es)f(not)h(allo)n(w)f(users)f(with)523
+2220 y(distinct)h(pseudon)n(yms)f(to)h(up)r(date)g(the)g(same)f(con)n
+(ten)n(t)g(without)h(essen)n(tially)f(creating)523 2319
+y(t)n(w)n(o)26 b(\014les.)g(This)h(allo)n(ws)e(ECRS)h(to)g(guaran)n
+(tee)f(that)h(p)r(eers)g(can)g(nev)n(er)g(return)g(an)g
+Ft(invalid)523 2419 y FA(result)h(since)h(ev)n(ery)e(cop)n(y)h(can)g(b)
+r(e)h(uniquely)g(iden)n(ti\014ed)g(at)f(all)h(times.)523
+2594 y
 SDict begin H.S end
- 125
-4370 a 0 TeXcolorgray 0 TeXcolorgray 125 4370 a
+ 523 2594 a 523 2594 a
+SDict begin 12 H.A end
+ 523 2594 a 523 2594 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1.3) cvn H.B /DEST pdfmark
+end
+ 523
+2594 a 102 x Fu(3)112 b(ECRS)37 b(enco)s(ding)523 2907
+y FA(The)30 b(primary)e(requiremen)n(ts)h(for)g(the)h(ECRS)f(enco)r
+(ding)g(are)g Ft(plausible)k(deniability)f FA(and)523
+3006 y Ft(r)l(obustness)p FA(.)22 b(Plausible)f(deniabilit)n(y)h
+(describ)r(es)g(the)g(abilit)n(y)g(of)g(the)h(participan)n(ts)e(to)h
+(claim)523 3106 y(ignorance)k(of)i(the)g(nature)f(of)h(transferred)e
+(con)n(ten)n(t.)h(The)h(idea)f(here)h(is)f(that)h(b)n(y)g(making)523
+3206 y(it)g(hard)f(for)g(in)n(termediaries)g(to)g(determine)h(the)g
+(con)n(ten)n(ts)f(that)h(they)g(are)f(routing,)g(they)523
+3305 y(are)h(less)h(lik)n(ely)f(to)i(casually)d(infringe)i(on)g(the)h
+(priv)-5 b(acy)28 b(of)h(other)g(users,)f(to)h(b)r(e)h(forced)e(to)523
+3405 y(do)k(so)f(b)n(y)h(an)g(adv)n(ersary)-7 b(,)30
+b(or)h(to)h(b)r(e)h(held)f(resp)r(onsible)g(for)f(the)i(actions)e(of)h
+(others)g(that)523 3505 y(they)c(w)n(ere)f(un)n(wittingly)h
+(facilitating.)p 1 0 0 TeXcolorrgb 1758 3505 a
+SDict begin H.S end
+ 1758 3505
+a -31 x Fz(2)1795 3505 y
+SDict begin 12 H.L end
+ 1795 3505 a 1795 3505 a
+SDict begin [ /Subtype /Link /Dest (Hfootnote.2) cvn /H /I /Border
+[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
+ 1795
+3505 a Black 28 w FA(Robustness)f(is)h(the)g(abilit)n(y)g(of)f(the)i
+(enco)r(ding)e(to)523 3604 y(resist)35 b(attac)n(ks)f(suc)n(h)h(as)f
+(data)h(corruption)f(and)h(spam.)g(Spam)g(is)g(di\013eren)n(t)h(from)e
+(data)523 3704 y(corruption)29 b(in)h(that)h(the)f(goal)f(of)h(the)g
+(spammer)g(is)g(to)g(direct)g(the)g(user)g(to)g(undesirable)523
+3803 y(con)n(ten)n(t,)d(p)r(ossibly)h(hiding)f(useful)i(information)e
+(in)h(a)f(sea)g(of)h(useless)f(results.)g(Naturally)523
+3903 y(the)h(enco)r(ding)e(should)h(not)g(signi\014can)n(tly)g
+(increase)f(the)h(amoun)n(t)g(of)g(data)g(that)g(needs)g(to)523
+4003 y(b)r(e)h(transferred.)648 4105 y(The)34 b(ECRS)g(enco)r(ding)g
+(sc)n(heme)g(addresses)f(these)i(requiremen)n(ts.)e(ECRS)h(pro)n(vides)
+523 4204 y(plausible)40 b(deniabilit)n(y)f(b)n(y)h(hiding)g(the)g
+(nature)f(of)h(the)g(queries)f(and)h(resp)r(onses)e(from)523
+4304 y(in)n(termediaries)29 b(through)h(encryption.)g(Despite)h(the)g
+(fact)g(that)f(queries)g(and)g(resp)r(onses)p Black 523
+4382 473 4 v 546 4436 a Fy(2)p 0 TeXcolorgray 606 4376
+a
+SDict begin H.S end
+ 606 4376 a 0 TeXcolorgray 0 TeXcolorgray 606 4376 a
 SDict begin H.R end
- 125 4370
-a 125 4370 a
-SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.1) cvn H.B /DEST pdfmark
+
+606 4376 a 606 4376 a
+SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.2) cvn H.B /DEST pdfmark
 end
- 125 4370 a Black 92 x Fu(Proto)r(col)f(description)f(from)
-h(the)e(giFT-F)-6 b(astT)g(rac)n(k)27 b(pro)t(ject)f(is)h(a)n(v)l
-(ailable)f(at)p 0 1 0 0 TeXcolorcmyk 0 4641 a
+ 606 4376 a Black 92 x Fx(If)19
+b(the)g(data)g(cannot)g(b)r(e)f(iden)n(ti\014ed,)h(editorial)h(con)n
+(trol)g(is)f(tec)n(hnically)g(imp)r(ossible.)i(In)d Fq(Str)l(atton)606
+4559 y(Oakmont)36 b(v.)g(Pr)l(o)l(digy)p Fx(,)g(an)e(In)n(ternet)f(pro)
+n(vider)h(w)n(as)i(found)e(liable)i(for)f(hosting)g(a)g(bulletin)606
+4650 y(b)r(oard)29 b(on)h(whic)n(h)f(o\013ensiv)n(e)g(messages)i(had)e
+(b)r(een)g(p)r(osted.)h(This)g(\014nding)e(resulted)h(b)r(ecause)606
+4742 y(the)g(pro)n(vider)g(had)g(hired)g(individuals)h(to)f(exercise)i
+(editorial)f(con)n(trol)g(o)n(v)n(er)g(con)n(ten)n(t.)f(If)g(the)606
+4833 y(pro)n(vider)17 b(had)g(merely)h(published)f(messages)j(from)e
+(users)g(without)g(in)n(terference,)g(the)f(pro)n(vider)606
+4924 y(w)n(ould)26 b(p)r(oten)n(tially)g(not)g(ha)n(v)n(e)f(b)r(een)g
+(held)h(accoun)n(table)g([)p 0 1 0 TeXcolorrgb 2319 4924
+a
 SDict begin H.S end
- 0 4641
-a 0 1 0 0 TeXcolorcmyk -17 x Ft(http://gnunet.org/papers/FAST)q(-)t
-(TRA)q(CK-)t(P)q(ROTO)q(COL)p 0 1 0 0 TeXcolorcmyk 1734
-4572 a
+ 2319 4924 a 0 1 0 TeXcolorrgb Fx(29)p 0 1 0 TeXcolorrgb
+2396 4876 a
 SDict begin H.R end
- 1734 4572 a 1734 4624 a
-SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
-/URI /URI (http://gnunet.org/papers/FAST-TRACK-PROTOCOL) >> /Subtype
-/Link H.B /ANN pdfmark end
- 1734 4624 a Black Fu(.)p
-Black Black Black eop end
+ 2396 4876 a 2396 4924 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.stratton_oakmont) cvn H.B /ANN pdfmark end
+ 2396 4924 a Black
+Fx(].)p Black Black Black eop end
 %%Page: 8 8
 TeXDict begin 8 7 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6669,174 +7036,164 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(8)917 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 165 a
+ 523 232 a Black Fx(8)237 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(are)21 b(encrypted,)h(in)n(termediaries)e(can)i
+Ft(verify)i FA(that)e(the)g(resp)r(onses)f(are)g(v)-5
+b(alid)22 b(with)g(resp)r(ect)523 548 y(to)f(a)g(particular)e(query)-7
+b(.)21 b(Th)n(us,)g(the)g(enco)r(ding)g(mec)n(hanism)g(pro)n(vides)e
+(robustness)h(against)523 648 y(tamp)r(ering)g(and)g(false)h(replies.)e
+(Additional)i(robustness)e(is)i(gained)f(in)g(ECRS)g(b)n(y)h(splitting)
+523 747 y(\014les)j(in)n(to)g(blo)r(c)n(ks)f(that)i(can)f(b)r(e)g
+Ft(indep)l(endently)i FA(v)n(eri\014ed,)d(stored)g(and)h(distributed)h
+(across)523 847 y(the)c(net)n(w)n(ork.)e(This)h(mak)n(es)g(it)h(easy)e
+(for)h(proto)r(cols)f(using)h(ECRS)g(to)h(incorp)r(orate)e(features)523
+946 y(suc)n(h)27 b(as)f(sw)n(arm)g(distribution)h([)p
+0 1 0 TeXcolorrgb 1547 946 a
 SDict begin H.S end
- 0 165 a 0 165 a
-SDict begin 12 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.3) cvn H.B /DEST pdfmark
-end
- 0 165 a 83 x
-Fz(3)g(ECRS)32 b(enco)s(ding)0 448 y Fy(The)d(primary)f(requiremen)n
-(ts)g(for)h(the)h(ECRS)f(enco)r(ding)f(are)h Fs(plausible)j
-(deniability)0 548 y Fy(and)21 b Fs(r)l(obustness)p Fy(.)f(Plausible)g
-(deniabilit)n(y)h(describ)r(es)g(the)g(abilit)n(y)g(of)g(the)g
-(participan)n(ts)0 647 y(to)g(claim)h(ignorance)d(of)j(the)f(nature)g
-(of)h(transferred)e(con)n(ten)n(t.)h(The)g(idea)g(here)g(is)h(that)0
-747 y(b)n(y)33 b(making)g(it)h(hard)f(for)g(in)n(termediaries)f(to)h
-(determine)h(the)g(con)n(ten)n(ts)f(that)h(they)0 847
-y(are)27 b(routing,)h(they)h(are)e(less)h(lik)n(ely)g(to)h(casually)e
-(infringe)h(on)g(the)h(priv)-5 b(acy)28 b(of)g(other)0
-946 y(users,)21 b(to)h(b)r(e)h(forced)e(to)i(do)e(so)h(b)n(y)g(an)g
-(adv)n(ersary)-7 b(,)19 b(or)i(to)h(b)r(e)h(held)g(resp)r(onsible)e
-(for)h(the)0 1046 y(actions)i(of)h(others)g(that)g(they)g(w)n(ere)f(un)
-n(wittingly)i(facilitating.)p 1 0 0 TeXcolorrgb 2023
-1046 a
-SDict begin H.S end
- 2023 1046 a -30 x Fw(2)2060 1046 y
-SDict begin 12 H.L end
- 2060 1046 a
-2060 1046 a
-SDict begin [ /Subtype /Link /Dest (Hfootnote.2) cvn /H /I /Border
-[0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 2060 1046 a Black 25 w Fy(Robustness)f(is)g(the)0
-1146 y(abilit)n(y)j(of)g(the)g(enco)r(ding)g(to)g(resist)g(attac)n(ks)f
-(suc)n(h)g(as)h(data)f(corruption)g(and)h(spam.)0 1245
-y(Spam)i(is)h(di\013eren)n(t)f(from)g(data)g(corruption)g(in)g(that)h
-(the)g(goal)e(of)h(the)h(spammer)f(is)0 1345 y(to)24
-b(direct)g(the)h(user)f(to)g(undesirable)g(con)n(ten)n(t,)g(p)r
-(ossibly)f(hiding)i(useful)g(information)0 1444 y(in)32
-b(a)g(sea)f(of)h(useless)g(results.)f(Naturally)h(the)g(enco)r(ding)g
-(should)g(not)g(signi\014can)n(tly)0 1544 y(increase)26
-b(the)i(amoun)n(t)f(of)h(data)f(that)h(needs)f(to)h(b)r(e)g
-(transferred.)125 1645 y(The)k(ECRS)h(enco)r(ding)f(sc)n(heme)g
-(addresses)f(these)i(requiremen)n(ts.)f(ECRS)g(pro-)0
-1745 y(vides)23 b(plausible)g(deniabilit)n(y)g(b)n(y)g(hiding)h(the)g
-(nature)f(of)g(the)h(queries)e(and)h(resp)r(onses)0 1844
-y(from)31 b(in)n(termediaries)e(through)i(encryption.)f(Despite)i(the)f
-(fact)h(that)f(queries)f(and)0 1944 y(resp)r(onses)35
-b(are)g(encrypted,)h(in)n(termediaries)f(can)g Fs(verify)j
-Fy(that)f(the)f(resp)r(onses)f(are)0 2044 y(v)-5 b(alid)39
-b(with)h(resp)r(ect)f(to)g(a)g(particular)e(query)-7
-b(.)39 b(Th)n(us,)g(the)h(enco)r(ding)e(mec)n(hanism)0
-2143 y(pro)n(vides)25 b(robustness)g(against)h(tamp)r(ering)g(and)g
-(false)g(replies.)g(Additional)h(robust-)0 2243 y(ness)32
-b(is)g(gained)g(in)h(ECRS)f(b)n(y)g(splitting)h(\014les)g(in)n(to)f
-(blo)r(c)n(ks)g(that)g(can)g(b)r(e)h Fs(indep)l(en-)0
-2342 y(dently)38 b Fy(v)n(eri\014ed,)f(stored)f(and)h(distributed)h
-(across)e(the)i(net)n(w)n(ork.)e(This)h(mak)n(es)f(it)0
-2442 y(easy)31 b(for)g(proto)r(cols)f(using)h(ECRS)g(to)h(incorp)r
-(orate)e(features)h(suc)n(h)g(as)g(sw)n(arm)f(dis-)0
-2542 y(tribution)h([)p 0 1 0 TeXcolorrgb 377 2542 a
-SDict begin H.S end
- 377
-2542 a 0 1 0 TeXcolorrgb Fy(15)p 0 1 0 TeXcolorrgb 460
-2488 a
+ 1547 946 a 0 1 0 TeXcolorrgb
+FA(15)p 0 1 0 TeXcolorrgb 1630 893 a
 SDict begin H.R end
- 460 2488 a 460 2542 a
+ 1630 893 a 1630
+946 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.hartman99swarm) cvn H.B /ANN pdfmark end
- 460 2542 a Black Fy(],)g(load)f(balancing)
-g(and)g(micro)r(economics)f([)p 0 1 0 TeXcolorrgb 1885
-2542 a
+ 1630 946 a Black FA(],)g(load)f(balancing)g(and)h(micro)r
+(economics)e([)p 0 1 0 TeXcolorrgb 3036 946 a
 SDict begin H.S end
- 1885 2542 a 0 1 0 TeXcolorrgb Fy(13)p 0 1 0 TeXcolorrgb
-1968 2488 a
+ 3036 946
+a 0 1 0 TeXcolorrgb FA(13)p 0 1 0 TeXcolorrgb 3119 893
+a
 SDict begin H.R end
- 1968 2488 a 1968 2542 a
+ 3119 893 a 3119 946 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.ebe2003) cvn H.B /ANN pdfmark end
- 1968 2542 a Black
-Fy(].)i(These)g(features)f(are)0 2641 y(also)g(signi\014can)n(t)g(from)
-h(the)h(viewp)r(oin)n(t)f(of)g(scalabilit)n(y)-7 b(.)30
-b(When)i(all)e(handled)i(blo)r(c)n(ks)0 2741 y(are)g(small,)g(no)r(des)
-h(can)g(participate)f(in)h(the)g(net)n(w)n(ork)f(activit)n(y)g(ev)n(en)
-g(if)i(their)f(o)n(wn)0 2841 y(resources)28 b(are)i(limited.)h(Also,)f
-(storing)f(small,)h(individually)h(unin)n(telligible)f(pieces)0
-2940 y(of)37 b(p)r(oten)n(tially)h(ob)5 b(jectionable)36
-b(con)n(ten)n(t)h(is)g(lik)n(ely)g(to)h(further)f(supp)r(ort)g
-(plausible)0 3040 y(deniabilit)n(y)-7 b(.)125 3141 y(ECRS)27
-b(uses)h(t)n(w)n(o)g(fundamen)n(tal)g(primitiv)n(es)g(in)g(the)h(o)n(v)
-n(erall)d(enco)r(ding)h(sc)n(heme.)0 3240 y(The)39 b(ma)5
-b(jorit)n(y)38 b(of)g(the)i(data)e(is)h(encrypted)g(with)g(a)g(v)-5
-b(arian)n(t)37 b(of)i(F)-7 b(reenet's)39 b(CHK)0 3340
-y(enco)r(ding)25 b([)p 0 1 0 TeXcolorrgb 369 3340 a
+ 3119 946 a Black FA(].)i(These)523
+1046 y(features)g(are)g(also)g(signi\014can)n(t)g(from)h(the)g(viewp)r
+(oin)n(t)g(of)g(scalabilit)n(y)-7 b(.)27 b(When)h(all)g(handled)523
+1146 y(blo)r(c)n(ks)d(are)g(small,)h(no)r(des)g(can)f(participate)g(in)
+i(the)f(net)n(w)n(ork)e(activit)n(y)i(ev)n(en)f(if)i(their)f(o)n(wn)523
+1245 y(resources)36 b(are)h(limited.)i(Also,)f(storing)f(small,)h
+(individually)g(unin)n(telligible)g(pieces)g(of)523 1345
+y(p)r(oten)n(tially)19 b(ob)5 b(jectionable)18 b(con)n(ten)n(t)h(is)g
+(lik)n(ely)f(to)h(further)g(supp)r(ort)g(plausible)g(deniabilit)n(y)-7
+b(.)648 1468 y(ECRS)27 b(uses)g(t)n(w)n(o)g(fundamen)n(tal)h(primitiv)n
+(es)g(in)g(the)g(o)n(v)n(erall)d(enco)r(ding)j(sc)n(heme.)f(The)523
+1567 y(ma)5 b(jorit)n(y)25 b(of)i(the)g(data)f(is)g(encrypted)h(with)g
+(a)f(v)-5 b(arian)n(t)26 b(of)g(F)-7 b(reenet's)27 b(CHK)f(enco)r(ding)
+g([)p 0 1 0 TeXcolorrgb 3317 1567 a
 SDict begin H.S end
- 369
-3340 a 0 1 0 TeXcolorrgb Fy(5)p 0 1 0 TeXcolorrgb 410
-3287 a
+ 3317 1567 a 0 1 0
+TeXcolorrgb FA(5)p 0 1 0 TeXcolorrgb 3359 1514 a
 SDict begin H.R end
- 410 3287 a 410 3340 a
+ 3359
+1514 a 3359 1567 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 410 3340 a Black Fy(],)h(where)f(CHK)g
-(stands)g(for)g(Con)n(ten)n(t)g(Hash)g(Key)-7 b(.)24
-b(In)i(other)f(w)n(ords,)f(the)0 3440 y(con)n(ten)n(t)30
-b(is)f(encrypted)h(with)g(a)g(k)n(ey)f(that)h(is)g(deriv)n(ed)f(from)h
-(a)f(cryptographic)f(hash)0 3539 y(of)d(the)g(plain)n(text.)f(The)h
-(encrypted)f(con)n(ten)n(t)h(is)f(hashed)g(again)g(to)g(obtain)h(the)g
-(query)0 3639 y(hash)j(whic)n(h)g(is)h(used)f(to)g(request)g(the)h(con)
-n(ten)n(t.)f(This)h(k)n(ey-query)d(pair)i(is)g(what)h(the)0
-3739 y(receiv)n(er)d(needs)h(to)h(do)n(wnload)e(and)i(decrypt)f(the)h
-(con)n(ten)n(t.)125 3840 y(The)c(primary)g(di\013erence)g(b)r(et)n(w)n
-(een)h(the)g(use)f(of)h(CHK)f(in)h(ECRS)g(and)f(that)h(used)0
-3939 y(in)40 b([)p 0 1 0 TeXcolorrgb 132 3939 a
+ 3359 1567 a Black FA(],)523 1667 y(where)35
+b(CHK)h(stands)g(for)f(Con)n(ten)n(t)h(Hash)g(Key)-7
+b(.)35 b(In)h(other)g(w)n(ords,)e(the)j(con)n(ten)n(t)e(is)h(en-)523
+1767 y(crypted)31 b(with)g(a)g(k)n(ey)g(that)g(is)g(deriv)n(ed)f(from)h
+(a)g(cryptographic)e(hash)h(of)i(the)f(plain)n(text.)523
+1866 y(The)23 b(encrypted)g(con)n(ten)n(t)g(is)g(hashed)f(again)g(to)h
+(obtain)g(the)g(query)g(hash)f(whic)n(h)h(is)g(used)g(to)523
+1966 y(request)i(the)i(con)n(ten)n(t.)e(This)h(k)n(ey-query)e(pair)h
+(is)h(what)g(the)g(receiv)n(er)f(needs)h(to)f(do)n(wnload)523
+2065 y(and)i(decrypt)h(the)g(con)n(ten)n(t.)648 2188
+y(The)38 b(primary)g(di\013erence)g(b)r(et)n(w)n(een)g(the)h(use)g(of)f
+(CHK)h(in)g(ECRS)f(and)g(that)h(used)523 2288 y(in)29
+b([)p 0 1 0 TeXcolorrgb 644 2288 a
 SDict begin H.S end
- 132 3939
-a 0 1 0 TeXcolorrgb Fy(5)p 0 1 0 TeXcolorrgb 174 3886
+ 644 2288 a 0 1 0 TeXcolorrgb
+FA(5)p 0 1 0 TeXcolorrgb 685 2234 a
+SDict begin H.R end
+ 685 2234 a 685 2288
 a
-SDict begin H.R end
- 174 3886 a 174 3939 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 174 3939 a Black Fy(])g(is)g(that)g(ECRS)g(do)r
-(es)g(not)g(sub)5 b(ject)40 b(en)n(tire)g(\014les)g(to)g(the)g(CHK)g
-(enco)r(ding.)0 4039 y(Instead,)22 b(\014les)g(are)f(split)i(in)n(to)f
-(\014xed-size)f(blo)r(c)n(ks)h(whic)n(h)g(could)g(then)g(b)r(e)h
-(individually)0 4138 y(distributed)34 b(\(and)f(replicated\))g(across)f
-(p)r(eers)h(in)g(the)h(net)n(w)n(ork;)e(this)i(is)f(a)g(natural)p
-Black 0 4218 1086 4 v 52 4274 a Fv(2)p 0 TeXcolorgray
-125 4215 a
+ 685 2288 a Black FA(])g(is)f(that)h(ECRS)g(do)r(es)f(not)g(sub)5
+b(ject)29 b(en)n(tire)f(\014les)g(to)h(the)g(CHK)f(enco)r(ding.)g
+(Instead,)523 2387 y(\014les)f(are)g(split)h(in)n(to)f(\014xed-size)g
+(blo)r(c)n(ks)g(whic)n(h)g(could)g(then)h(b)r(e)g(individually)g
+(distributed)523 2487 y(\(and)34 b(replicated\))g(across)e(p)r(eers)i
+(in)h(the)f(net)n(w)n(ork;)f(this)i(is)f(a)f(natural)h(w)n(a)n(y)f(to)h
+(balance)523 2587 y(the)f(load)e(and)i(to)f(enable)g(sw)n(arming.)f
+(These)h(\014xed-sized)g(blo)r(c)n(ks)f(can)h(b)r(e)h(individually)523
+2686 y(iden)n(ti\014ed,)d(encrypted,)e(decrypted)h(and)g(v)n
+(eri\014ed.)f(Eac)n(h)g(blo)r(c)n(k)g(is)h(iden)n(ti\014ed)h(b)n(y)e
+(one)h(or)523 2786 y(t)n(w)n(o)24 b(hash)h(co)r(des,)g(and)g(the)h(blo)
+r(c)n(ks)e(are)g(encrypted)h(using)g(a)g(k)n(ey)f(that)i(is)f(indep)r
+(enden)n(t)h(of)523 2886 y(the)g(hashes)e(used)i(for)f(iden)n
+(ti\014cation.)g(V)-7 b(eri\014cation)25 b(only)g(requires)f(the)h
+(encrypted)h(blo)r(c)n(k)523 2985 y(and)k(the)g(query;)g(it)g(do)r(es)g
+(not)g(rev)n(eal)f(the)h(k)n(ey)f(required)g(to)h(decrypt)g(the)h(blo)r
+(c)n(k.)e(ECRS)523 3085 y(guaran)n(tees)23 b(that)j(it)g(is)g(hard)f
+(to)g(forge)g(a)g(resp)r(onse)f(that)i(passes)e(v)n(eri\014cation)h
+(for)g(a)g(giv)n(en)523 3184 y(query)-7 b(,)29 b(and)h(splitting)g
+(\014les)g(in)n(to)f(blo)r(c)n(ks)g(allo)n(ws)g(ECRS)g(to)h(detect)g
+(data)g(corruption)e(on)523 3284 y(the)34 b(blo)r(c)n(k)f(lev)n(el.)g
+(Malicious)g(p)r(eers)g(cannot)g(transmit)h(more)e(than)i(the)g
+(selected)g(blo)r(c)n(k)523 3384 y(size)27 b(of)h(in)n(v)-5
+b(alid)27 b(data)g(b)r(efore)h(b)r(eing)f(detected.)648
+3506 y(The)18 b(second)h(primitiv)n(e)f(used)h(b)n(y)f(ECRS,)h(the)g
+Ft(KBlo)l(ck)p FA(,)h(is)f(completely)f(no)n(v)n(el.)g
+Ft(KBlo)l(ck)p FA(s)523 3606 y(allo)n(w)24 b(users)h(to)g(securely)f
+(obtain)i(the)f(k)n(ey-query)f(pair)g(b)n(y)i(en)n(tering)e(a)h
+(natural)g(language)523 3706 y(k)n(eyw)n(ord)35 b(selected)i(b)n(y)f
+(the)h(con)n(ten)n(t)f(pro)n(vider.)g(The)g(primitiv)n(e)h(used)g(to)f
+(ac)n(hiev)n(e)g(this)523 3805 y(in)e([)p 0 1 0 TeXcolorrgb
+649 3805 a
 SDict begin H.S end
- 125 4215 a 0 TeXcolorgray 0 TeXcolorgray 125
-4215 a
+ 649 3805 a 0 1 0 TeXcolorrgb FA(2)p 0 1 0
+TeXcolorrgb 691 3752 a
 SDict begin H.R end
- 125 4215 a 125 4215 a
-SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.2) cvn H.B /DEST pdfmark
-end
- 125 4215 a Black 91 x Fu(If)i(the)h(data)g
-(cannot)g(b)r(e)f(iden)n(ti\014ed,)h(editorial)h(con)n(trol)f(is)h(tec)
-n(hnically)f(imp)r(ossible.)0 4397 y(In)29 b Fq(Str)l(atton)34
-b(Oakmont)e(v.)f(Pr)l(o)l(digy)p Fu(,)h(an)d(In)n(ternet)g(pro)n(vider)
-h(w)n(as)h(found)e(liable)i(for)g(host-)0 4489 y(ing)g(a)f(bulletin)h
-(b)r(oard)f(on)g(whic)n(h)h(o\013ensiv)n(e)f(messages)j(had)d(b)r(een)g
-(p)r(osted.)g(This)h(\014nding)0 4580 y(resulted)g(b)r(ecause)h(the)e
-(pro)n(vider)h(had)g(hired)g(individuals)g(to)g(exercise)h(editorial)g
-(con)n(trol)0 4671 y(o)n(v)n(er)d(con)n(ten)n(t.)g(If)g(the)g(pro)n
-(vider)g(had)f(merely)i(published)e(messages)j(from)f(users)g(without)0
-4762 y(in)n(terference,)d(the)e(pro)n(vider)g(w)n(ould)h(p)r(oten)n
-(tially)g(not)g(ha)n(v)n(e)f(b)r(een)g(held)h(accoun)n(table)g([)p
-0 1 0 TeXcolorrgb 2584 4762 a
+ 691 3752 a 691 3805 a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.esed) cvn H.B /ANN pdfmark end
+ 691 3805
+a Black FA(],)g(the)g(triple)g(hash,)f(is)h(impro)n(v)n(ed)f(on)g(in)h
+(this)h(w)n(ork)d(in)i(that)g Ft(KBlo)l(ck)p FA(s)h Ft(c)l(annot)f
+FA(b)r(e)523 3905 y(attac)n(k)n(ed)19 b(successfully)g(b)n(y)g(a)g
+(non-guessing)f(in)n(termediary)-7 b(.)19 b(The)h(triple)g(hash)f(sc)n
+(heme)g(w)n(as)523 4005 y(vulnerable)37 b(to)g(p)r(ossibile)g
+(substitution)h(attac)n(ks)e(b)n(y)h(in)n(termediaries.)g
+Ft(KBlo)l(ck)p FA(s)h(defeat)523 4104 y(this)29 b(attac)n(k)f(b)n(y)h
+(signing)f(con)n(ten)n(t)g(adv)n(ertisemen)n(ts)f(using)i
+(deterministically)f(generated)523 4204 y(public)34 b(k)n(eys.)e
+(Additionally)-7 b(,)33 b(b)n(y)g(using)f Ft(KBlo)l(ck)p
+FA(s,)i(do)r(cumen)n(ts)f(can)g(b)r(e)g(inserted)g(under)523
+4303 y(m)n(ultiple)h(k)n(eys)e(at)g(a)h(minimal)g(cost)f(in)i(terms)e
+(of)h(space.)f(Users)h(can)f(p)r(erform)h(b)r(o)r(olean)523
+4403 y(searc)n(hes)c(of)i(the)g(form)g(\\a)f(AND)i(b")f(whic)n(h)g
+(then)g(return)g(the)g(do)r(cumen)n(ts)g(whic)n(h)g(w)n(ere)523
+4503 y(inserted)h(under)g(a)f(matc)n(hing)h(set)g(of)g(k)n(eyw)n(ords.)
+d(Before)j(the)g(do)n(wnload,)f(the)h(user)f(can)523
+4602 y(re\014ne)c(the)h(searc)n(h)e(results)h(using)h(the)g(metadata)f
+(asso)r(ciated)f(with)i(the)g(\014le.)648 4725 y(The)23
+b(rest)g(of)h(this)g(Section)f(giv)n(es)g(a)g(b)r(ottom-up)h
+(description)f(of)g(ECRS.)h(After)g(a)f(brief)523 4825
+y(o)n(v)n(erview,)29 b(P)n(art)p 1 0 0 TeXcolorrgb 1083
+4825 a
 SDict begin H.S end
- 2584 4762 a 0 1 0 TeXcolorrgb
-Fu(29)p 0 1 0 TeXcolorrgb 2661 4714 a
+ 1083 4825 a 1 0 0 TeXcolorrgb FA(3.2)p 1 0 0 TeXcolorrgb
+1189 4771 a
 SDict begin H.R end
- 2661 4714 a 2661
-4762 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.stratton_oakmont) cvn H.B /ANN pdfmark end
- 2661 4762 a Black Fu(].)p Black Black Black eop
-end
+ 1189 4771 a 1189 4825 a
+SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(subsection.1.3.2) cvn H.B /ANN pdfmark end
+ 1189 4825 a Black
+31 w FA(sho)n(ws)h(ho)n(w)g(individual)h(data)g(blo)r(c)n(ks)f(are)g
+(encrypted)h(in)g(order)f(to)523 4924 y(mak)n(e)c(it)i(imp)r(ossible)f
+(for)g(the)h(in)n(termediaries)e(to)h(determine)g(what)g(they)h(are)e
+(storing)g(or)p Black Black eop end
 %%Page: 9 9
 TeXDict begin 9 8 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
@@ -6844,2436 +7201,2377 @@
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
+ 523 232 a 523 232 a
 SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1106 b(9)p Black Black
-1200 242 a Fp(K)5 b(B)t(l)q(ock)1335 291 y Fo(\017)p
-Fn(\017)p 1333 291 4 24 v 1191 367 a Fp(I)h(B)t(l)q(ock)1427
-376 y Fm(>)709 453 y Fo(r)p Fn(r)709 452 y Fl(d)747 446
-y(d)785 439 y(d)823 433 y(d)861 426 y(d)898 420 y(d)936
-413 y(d)974 407 y(d)1012 401 y(d)1049 394 y(d)1087 388
-y(d)1125 381 y(d)1335 451 y Fo(\017)p Fn(\017)p 1333
-451 4 4 v 1333 439 V 1333 427 V 1333 415 V 1333 403 V
-1995 454 a Fo(,)p Fn(,)1954 447 y Fl(Z)1913 440 y(Z)1872
-434 y(Z)1831 427 y(Z)1790 420 y(Z)1749 414 y(Z)1708 407
-y(Z)1667 400 y(Z)1626 393 y(Z)1586 387 y(Z)1545 380 y(Z)1504
-373 y(Z)414 502 y Fp(I)g(B)t(l)q(ock)650 510 y Fv(1)339
-559 y Fo(u)p Fn(u)p Fl(k)364 550 y(k)549 585 y Fo(\017)p
-Fn(\017)p 548 585 V 548 572 V 548 559 V 548 546 V 548
-533 V 756 559 a Fo(\))p Fn(\))717 544 y Fl(S)693 535
-y(S)1290 484 y Fp(:)13 b(:)g(:)1142 599 y Fo(y)p Fn(y)p
-1141 601 V 1154 592 V 1167 584 V 1180 576 V 1194 568
-V 1207 560 V 1220 552 V 1233 543 V 1247 535 V 1260 527
-V 1273 519 V 1286 511 V 1335 585 a Fo(\017)p Fn(\017)p
-1333 587 V 1333 571 V 1333 556 V 1333 541 V 1333 526
-V 1333 510 V 1527 599 a Fo(\045)p Fn(\045)p 1526 601
-V 1512 592 V 1499 584 V 1486 576 V 1473 568 V 1459 560
-V 1446 552 V 1433 543 V 1420 535 V 1407 527 V 1393 519
-V 1380 511 V 2020 502 a Fp(I)6 b(B)t(l)q(ock)2256 511
-y Fk(k)1938 559 y Fo(u)p Fn(u)1938 560 y Fl(k)1965 550
-y(k)2157 585 y Fo(\017)p Fn(\017)p 2155 585 V 2155 573
-V 2155 561 V 2155 549 V 2155 537 V 2371 559 a Fo(\))p
-Fn(\))2332 545 y Fl(S)2306 535 y(S)44 636 y Fp(D)r(B)t(l)q(ock)305
-644 y Fv(1)193 732 y Fo(\017)p Fn(\017)p 191 732 4 64
-v 505 618 a Fp(:)13 b(:)g(:)549 732 y Fo(\017)p Fn(\017)p
-548 734 4 4 v 548 719 V 548 704 V 548 689 V 548 674 V
-548 659 V 548 644 V 758 636 a Fp(D)r(B)t(l)q(ock)1019
-645 y Fk(l)901 732 y Fo(\017)p Fn(\017)p 899 732 4 63
-v 1290 618 a Fp(:)g(:)g(:)1335 732 y Fo(\017)p Fn(\017)p
-1333 734 4 4 v 1333 719 V 1333 704 V 1333 689 V 1333
-674 V 1333 659 V 1333 644 V 1626 636 a Fp(D)r(B)t(l)q(ock)1887
-644 y Fk(m)1786 732 y Fo(\017)p Fn(\017)p 1784 732 4
-64 v 2112 618 a Fp(:)g(:)g(:)2157 732 y Fo(\017)p Fn(\017)p
-2155 734 4 4 v 2155 719 V 2155 704 V 2155 689 V 2155
-674 V 2155 659 V 2155 644 V 2367 636 a Fp(D)r(B)t(l)q(ock)2628
-644 y Fk(n)2519 732 y Fo(\017)p Fn(\017)p 2517 732 4
-64 v -1 736 2 2 v 1 737 2667 4 v 2668 736 2 2 v -2 848
-4 111 v 2670 848 V -1 851 2 2 v 1 852 2667 4 v 2668 851
-2 2 v 1080 806 a Ft(Original)41 b(data)0 964 y Fj(Fig.)20
-b(1)p 0 TeXcolorgray 258 872 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)238
+b(9)p Black Black 1723 442 a Fp(K)5 b(B)t(l)q(ock)1858
+491 y Fo(\017)p Fn(\017)p 1856 491 4 24 v 1714 567 a
+Fp(I)h(B)t(l)q(ock)1950 576 y Fm(>)1233 653 y Fo(r)p
+Fn(r)1233 652 y Fl(d)1270 646 y(d)1308 639 y(d)1346 633
+y(d)1384 626 y(d)1421 620 y(d)1459 613 y(d)1497 607 y(d)1535
+601 y(d)1572 594 y(d)1610 588 y(d)1648 581 y(d)1858 651
+y Fo(\017)p Fn(\017)p 1856 651 4 4 v 1856 639 V 1856
+627 V 1856 615 V 1856 603 V 2518 654 a Fo(,)p Fn(,)2477
+647 y Fl(Z)2436 640 y(Z)2395 634 y(Z)2354 627 y(Z)2313
+620 y(Z)2272 614 y(Z)2231 607 y(Z)2190 600 y(Z)2149 593
+y(Z)2109 587 y(Z)2068 580 y(Z)2027 573 y(Z)937 702 y
+Fp(I)g(B)t(l)q(ock)1173 710 y Fy(1)862 759 y Fo(u)p Fn(u)p
+Fl(k)887 750 y(k)1072 785 y Fo(\017)p Fn(\017)p 1071
+785 V 1071 772 V 1071 759 V 1071 746 V 1071 733 V 1279
+759 a Fo(\))p Fn(\))1240 744 y Fl(S)1217 735 y(S)1813
+684 y Fp(:)13 b(:)g(:)1665 799 y Fo(y)p Fn(y)p 1664 801
+V 1677 792 V 1690 784 V 1703 776 V 1717 768 V 1730 760
+V 1743 752 V 1756 743 V 1770 735 V 1783 727 V 1796 719
+V 1809 711 V 1858 785 a Fo(\017)p Fn(\017)p 1856 787
+V 1856 771 V 1856 756 V 1856 741 V 1856 726 V 1856 710
+V 2050 799 a Fo(\045)p Fn(\045)p 2049 801 V 2035 792
+V 2022 784 V 2009 776 V 1996 768 V 1983 760 V 1969 752
+V 1956 743 V 1943 735 V 1930 727 V 1916 719 V 1903 711
+V 2543 702 a Fp(I)6 b(B)t(l)q(ock)2779 711 y Fk(k)2461
+759 y Fo(u)p Fn(u)2461 760 y Fl(k)2488 750 y(k)2680 785
+y Fo(\017)p Fn(\017)p 2678 785 V 2678 773 V 2678 761
+V 2678 749 V 2678 737 V 2894 759 a Fo(\))p Fn(\))2855
+745 y Fl(S)2829 735 y(S)567 836 y Fp(D)r(B)t(l)q(ock)828
+844 y Fy(1)716 932 y Fo(\017)p Fn(\017)p 714 932 4 64
+v 1028 818 a Fp(:)13 b(:)g(:)1072 932 y Fo(\017)p Fn(\017)p
+1071 934 4 4 v 1071 919 V 1071 904 V 1071 889 V 1071
+874 V 1071 859 V 1071 844 V 1281 836 a Fp(D)r(B)t(l)q(ock)1542
+845 y Fk(l)1424 932 y Fo(\017)p Fn(\017)p 1422 932 4
+63 v 1813 818 a Fp(:)g(:)g(:)1858 932 y Fo(\017)p Fn(\017)p
+1856 934 4 4 v 1856 919 V 1856 904 V 1856 889 V 1856
+874 V 1856 859 V 1856 844 V 2149 836 a Fp(D)r(B)t(l)q(ock)2410
+844 y Fk(m)2309 932 y Fo(\017)p Fn(\017)p 2307 932 4
+64 v 2635 818 a Fp(:)g(:)g(:)2680 932 y Fo(\017)p Fn(\017)p
+2678 934 4 4 v 2678 919 V 2678 904 V 2678 889 V 2678
+874 V 2678 859 V 2678 844 V 2890 836 a Fp(D)r(B)t(l)q(ock)3151
+844 y Fk(n)3042 932 y Fo(\017)p Fn(\017)p 3041 932 4
+64 v 522 936 2 2 v 524 937 2667 4 v 3191 936 2 2 v 521
+1048 4 111 v 3193 1048 V 522 1051 2 2 v 524 1052 2667
+4 v 3191 1051 2 2 v 1603 1006 a Fw(Original)41 b(data)523
+1201 y Fr(Fig.)15 b(1.)p 0 TeXcolorgray 814 1102 a
 SDict begin H.S end
- 258 872 a 0 TeXcolorgray
-0 TeXcolorgray 258 872 a
+ 814
+1102 a 0 TeXcolorgray 0 TeXcolorgray 814 1102 a
 SDict begin H.R end
- 258 872 a 258 872 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.1) cvn H.B /DEST pdfmark
+ 814 1102
+a 814 1102 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.1.1) cvn H.B /DEST pdfmark
 end
- 258 872
-a Black 92 x Fu(Simple)e(enco)r(ding)h(of)g(a)g(\014le)f(using)g(a)h
-(tree)f(of)h(CHK)f(blo)r(c)n(ks)g(\()p Fp(D)r(B)t(l)q(ock)r
-Fu(s)i(and)e Fp(I)6 b(B)t(l)q(ock)r Fu(s)0 1055 y(are)26
-b(CHK)g(enco)r(ded\))f(with)h(one)g Fp(K)5 b(B)t(l)q(ock)28
-b Fu(to)e(allo)n(w)i(for)e(a)g(k)n(eyw)n(ord-based)f(searc)n(h.)p
-Black Black Black 0 1518 a Fy(w)n(a)n(y)30 b(to)h(balance)f(the)h(load)
-g(and)f(to)h(enable)g(sw)n(arming.)e(These)i(\014xed-sized)g(blo)r(c)n
-(ks)0 1618 y(can)21 b(b)r(e)g(individually)g(iden)n(ti\014ed,)h
-(encrypted,)f(decrypted)f(and)h(v)n(eri\014ed.)g(Eac)n(h)e(blo)r(c)n(k)
-0 1717 y(is)30 b(iden)n(ti\014ed)g(b)n(y)g(one)g(or)f(t)n(w)n(o)g(hash)
-h(co)r(des,)g(and)g(the)g(blo)r(c)n(ks)f(are)g(encrypted)h(using)0
-1817 y(a)e(k)n(ey)f(that)h(is)g(indep)r(enden)n(t)h(of)f(the)h(hashes)e
-(used)h(for)g(iden)n(ti\014cation.)f(V)-7 b(eri\014cation)0
-1917 y(only)27 b(requires)e(the)i(encrypted)g(blo)r(c)n(k)g(and)f(the)i
-(query;)e(it)h(do)r(es)g(not)g(rev)n(eal)e(the)j(k)n(ey)0
-2016 y(required)i(to)h(decrypt)g(the)h(blo)r(c)n(k.)e(ECRS)h(guaran)n
-(tees)f(that)h(it)h(is)f(hard)f(to)h(forge)f(a)0 2116
-y(resp)r(onse)i(that)i(passes)e(v)n(eri\014cation)g(for)h(a)g(giv)n(en)
-f(query)-7 b(,)33 b(and)g(splitting)h(\014les)f(in)n(to)0
-2216 y(blo)r(c)n(ks)25 b(allo)n(ws)g(ECRS)h(to)g(detect)h(data)f
-(corruption)f(on)h(the)g(blo)r(c)n(k)g(lev)n(el.)g(Malicious)0
-2315 y(p)r(eers)40 b(cannot)f(transmit)h(more)f(than)h(the)h(selected)e
-(blo)r(c)n(k)h(size)g(of)f(in)n(v)-5 b(alid)40 b(data)0
-2415 y(b)r(efore)27 b(b)r(eing)h(detected.)125 2543 y(The)33
-b(second)f(primitiv)n(e)h(used)g(b)n(y)g(ECRS,)g(the)g
-Fs(KBlo)l(ck)p Fy(,)h(is)f(completely)g(no)n(v)n(el.)0
-2642 y Fs(KBlo)l(ck)p Fy(s)40 b(allo)n(w)e(users)g(to)g(securely)g
-(obtain)h(the)g(k)n(ey-query)e(pair)i(b)n(y)f(en)n(tering)g(a)0
-2742 y(natural)31 b(language)f(k)n(eyw)n(ord)g(selected)i(b)n(y)f(the)i
-(con)n(ten)n(t)e(pro)n(vider.)f(The)i(primitiv)n(e)0
-2841 y(used)g(to)g(ac)n(hiev)n(e)e(this)i(in)h([)p 0 1 0
-TeXcolorrgb 883 2841 a
+ 814 1102 a Black 99 x FA(Simple)40 b(enco)r(ding)g(of)f(a)
+h(\014le)g(using)f(a)h(tree)f(of)h(CHK)g(blo)r(c)n(ks)f(\()p
+Fs(D)r(B)t(l)r(ock)s FA(s)g(and)523 1301 y Fs(I)7 b(B)t(l)r(ock)s
+FA(s)41 b(are)f(CHK)i(enco)r(ded\))f(with)h(one)g Fs(K)6
+b(B)t(l)r(ock)43 b FA(to)e(allo)n(w)g(for)g(a)g(k)n(eyw)n(ord-based)523
+1400 y(searc)n(h.)p Black Black Black 523 1838 a(transmitting.)30
+b(P)n(art)p 1 0 0 TeXcolorrgb 1219 1838 a
 SDict begin H.S end
- 883 2841 a 0 1 0 TeXcolorrgb Fy(2)p
-0 1 0 TeXcolorrgb 924 2788 a
+ 1219 1838 a
+1 0 0 TeXcolorrgb FA(3.3)p 1 0 0 TeXcolorrgb 1325 1784
+a
 SDict begin H.R end
- 924 2788 a 924 2841 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.esed) cvn H.B /ANN pdfmark end
- 924
-2841 a Black Fy(],)f(the)g(triple)g(hash,)g(is)g(impro)n(v)n(ed)e(on)i
-(in)g(this)g(w)n(ork)f(in)0 2941 y(that)e Fs(KBlo)l(ck)p
-Fy(s)h Fs(c)l(annot)f Fy(b)r(e)g(attac)n(k)n(ed)f(successfully)g(b)n(y)
-h(a)f(non-guessing)f(in)n(termedi-)0 3041 y(ary)-7 b(.)23
-b(The)h(triple)f(hash)h(sc)n(heme)f(w)n(as)g(vulnerable)g(to)g(p)r
-(ossibile)h(substitution)g(attac)n(ks)0 3140 y(b)n(y)29
-b(in)n(termediaries.)f Fs(KBlo)l(ck)p Fy(s)i(defeat)f(this)g(attac)n(k)
-g(b)n(y)g(signing)f(con)n(ten)n(t)h(adv)n(ertise-)0 3240
-y(men)n(ts)d(using)h(deterministically)f(generated)f(public)i(k)n(eys.)
-e(Additionally)-7 b(,)27 b(b)n(y)f(using)0 3340 y Fs(KBlo)l(ck)p
-Fy(s,)i(do)r(cumen)n(ts)g(can)f(b)r(e)h(inserted)f(under)g(m)n(ultiple)
-h(k)n(eys)e(at)i(a)f(minimal)g(cost)0 3439 y(in)g(terms)g(of)g(space.)f
-(Users)h(can)f(p)r(erform)h(b)r(o)r(olean)f(searc)n(hes)g(of)h(the)g
-(form)g(\\a)f(AND)0 3539 y(b")f(whic)n(h)h(then)g(return)f(the)h(do)r
-(cumen)n(ts)f(whic)n(h)h(w)n(ere)f(inserted)g(under)g(a)g(matc)n(hing)0
-3638 y(set)h(of)g(k)n(eyw)n(ords.)e(Before)h(the)i(do)n(wnload,)d(the)j
-(user)e(can)h(re\014ne)g(the)g(searc)n(h)e(results)0
-3738 y(using)j(the)h(metadata)f(asso)r(ciated)f(with)j(the)f(\014le.)
-125 3866 y(The)d(rest)g(of)g(this)h(Section)f(giv)n(es)f(a)h(b)r
-(ottom-up)g(description)g(of)g(ECRS.)h(After)f(a)0 3965
-y(brief)j(o)n(v)n(erview,)d(P)n(art)p 1 0 0 TeXcolorrgb
-745 3965 a
-SDict begin H.S end
- 745 3965 a 1 0 0 TeXcolorrgb Fy(3.2)p 1 0 0
-TeXcolorrgb 851 3912 a
-SDict begin H.R end
- 851 3912 a 851 3965 a
+ 1325 1784 a 1325 1838 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.3.2) cvn H.B /ANN pdfmark end
- 851 3965
-a Black 28 w Fy(sho)n(ws)h(ho)n(w)h(individual)h(data)f(blo)r(c)n(ks)g
-(are)g(encrypted)h(in)0 4065 y(order)h(to)h(mak)n(e)f(it)i(imp)r
-(ossible)f(for)f(the)i(in)n(termediaries)d(to)i(determine)h(what)f
-(they)0 4165 y(are)f(storing)f(or)h(transmitting.)g(P)n(art)p
-1 0 0 TeXcolorrgb 1220 4165 a
+(subsection.1.3.3) cvn H.B /ANN pdfmark end
+ 1325 1838 a Black 31 w FA(then)g(describ)r
+(es)f(ho)n(w)h(\014les)g(are)f(split)h(in)n(to)g(those)f(data)h(blo)r
+(c)n(ks.)523 1938 y(P)n(arts)p 1 0 0 TeXcolorrgb 747
+1938 a
 SDict begin H.S end
- 1220 4165 a 1 0 0 TeXcolorrgb
-Fy(3.3)p 1 0 0 TeXcolorrgb 1326 4111 a
+ 747 1938 a 1 0 0 TeXcolorrgb FA(3.4)p 1 0 0 TeXcolorrgb
+853 1884 a
 SDict begin H.R end
- 1326 4111 a 1326
-4165 a
+ 853 1884 a 853 1938 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.3.3) cvn H.B /ANN pdfmark end
- 1326 4165 a Black 30 w Fy(then)h(describ)r(es)f(ho)n(w)g
-(\014les)g(are)g(split)h(in)n(to)0 4264 y(those)h(data)g(blo)r(c)n(ks.)
-f(P)n(arts)p 1 0 0 TeXcolorrgb 917 4264 a
+(subsection.1.3.4) cvn H.B /ANN pdfmark end
+ 853 1938 a Black 31
+w FA(through)p 1 0 0 TeXcolorrgb 1201 1938 a
 SDict begin H.S end
- 917 4264 a
-1 0 0 TeXcolorrgb Fy(3.4)p 1 0 0 TeXcolorrgb 1023 4211
+ 1201 1938
+a 1 0 0 TeXcolorrgb FA(3.6)p 1 0 0 TeXcolorrgb 1307 1884
 a
 SDict begin H.R end
- 1023 4211 a 1023 4264 a
+ 1307 1884 a 1307 1938 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.3.4) cvn H.B /ANN pdfmark end
- 1023 4264 a Black 32 w Fy(through)p
-1 0 0 TeXcolorrgb 1372 4264 a
+(subsection.1.3.6) cvn H.B /ANN pdfmark end
+ 1307 1938 a Black 30 w FA(motiv)-5
+b(ate)31 b(and)g(explain)f(ho)n(w)g(ECRS)g(enables)g(users)g(to)h
+(searc)n(h)523 2037 y(for)c(con)n(ten)n(t)g(without)h(exp)r(osing)f
+(the)h(plain)n(text)f(of)h(the)g(k)n(eyw)n(ord)d(or)i(the)h(corresp)r
+(onding)523 2137 y(con)n(ten)n(t)d(and)g(ho)n(w)g(in)n(termediaries)f
+(can)h(v)n(erify)g(that)h(a)f(giv)n(en)f(encrypted)i(reply)f(matc)n
+(hes)523 2236 y(the)30 b(\(encrypted\))h(query)-7 b(.)29
+b(Finally)-7 b(,)30 b(the)g(core)f(of)h(ECRS)g(is)g(summarized)f(in)h
+(the)g(form)g(of)523 2336 y(the)e(enco)r(ding)f(algorithm)g(and)g(a)g
+(proto)r(col)g(example.)523 2493 y
 SDict begin H.S end
- 1372 4264 a 1 0 0 TeXcolorrgb
-Fy(3.6)p 1 0 0 TeXcolorrgb 1478 4211 a
-SDict begin H.R end
- 1478 4211 a 1478
-4264 a
-SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.3.6) cvn H.B /ANN pdfmark end
- 1478 4264 a Black 32 w Fy(motiv)-5 b(ate)31 b(and)g(explain)g
-(ho)n(w)g(ECRS)0 4364 y(enables)k(users)f(to)h(searc)n(h)f(for)h(con)n
-(ten)n(t)g(without)h(exp)r(osing)e(the)i(plain)n(text)f(of)h(the)0
-4464 y(k)n(eyw)n(ord)f(or)h(the)i(corresp)r(onding)d(con)n(ten)n(t)i
-(and)g(ho)n(w)f(in)n(termediaries)g(can)h(v)n(erify)0
-4563 y(that)f(a)f(giv)n(en)f(encrypted)i(reply)f(matc)n(hes)f(the)i
-(\(encrypted\))g(query)-7 b(.)35 b(Finally)-7 b(,)36
-b(the)0 4663 y(core)30 b(of)h(ECRS)g(is)g(summarized)f(in)h(the)h(form)
-e(of)h(the)h(enco)r(ding)f(algorithm)e(and)i(a)0 4762
-y(proto)r(col)26 b(example.)p Black Black eop end
-%%Page: 10 10
-TeXDict begin 10 9 bop 0 0 a
-SDict begin /product where{pop product(Distiller)search{pop pop pop
-version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
-closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
-grestore}if}{pop}ifelse}{pop}ifelse}if end
- 0 0 a Black 0 TeXcolorgray
-0 17 a
-SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
-SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
-end
- 0 17 a Black Fu(10)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 165 a
-SDict begin H.S end
- 0 165 a 0 165 a
+ 523 2493 a 523 2493
+a
 SDict begin 12 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.1) cvn H.B /DEST
+ 523 2493 a 523 2493 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.1) cvn H.B /DEST
 pdfmark end
- 0 165 a 83 x
-Fs(3.1)i(Overview)0 436 y Fy(In)22 b(ECRS,)g(the)h(enco)r(ded)f
-(represen)n(tation)e(of)i(a)g(\014le)h(is)f(a)f(collection)h(of)g(blo)r
-(c)n(ks.)f(There)0 536 y(are)27 b(four)g(t)n(yp)r(es)h(of)g(blo)r(c)n
-(ks:)f Fs(DBlo)l(cks)p Fy(,)h Fs(IBlo)l(cks)p Fy(,)i
-Fs(SBlo)l(cks)e Fy(and)g Fs(KBlo)l(cks)p Fy(.)h(The)f(max-)0
-636 y(im)n(um)39 b(size)g(of)g(all)f(blo)r(c)n(ks)g(in)i(ECRS)e(is)h
-(supp)r(osed)g(to)f(b)r(e)i(\014xed)f(as)f(some)g(small)0
-735 y(n)n(um)n(b)r(er)31 b(\(e.g.)h(32Kb\).)f(The)h(blo)r(c)n(ks)e(are)
-h(used)h(to)f(create)g(a)g(tree)h(structure)f(of)h(the)0
-835 y(enco)r(ded)23 b(\014le)f(\(see)h(Figure)p 1 0 0
-TeXcolorrgb 863 835 a
+ 523 2493 a 83 x Fr(3.1)95 b(Ov)m(erview)523
+2734 y FA(In)25 b(ECRS,)f(the)h(enco)r(ded)g(represen)n(tation)e(of)h
+(a)g(\014le)h(is)f(a)h(collection)f(of)g(blo)r(c)n(ks.)g(There)g(are)
+523 2833 y(four)h(t)n(yp)r(es)g(of)g(blo)r(c)n(ks:)f
+Ft(DBlo)l(cks)p FA(,)i Ft(IBlo)l(cks)p FA(,)h Ft(SBlo)l(cks)f
+FA(and)f Ft(KBlo)l(cks)p FA(.)h(The)f(maxim)n(um)g(size)523
+2933 y(of)f(all)g(blo)r(c)n(ks)g(in)h(ECRS)f(is)g(supp)r(osed)g(to)h(b)
+r(e)f(\014xed)h(as)f(some)f(small)h(n)n(um)n(b)r(er)h(\(e.g.)f(32Kb\).)
+523 3032 y(The)i(blo)r(c)n(ks)f(are)g(used)h(to)g(create)f(a)h(tree)g
+(structure)f(of)h(the)h(enco)r(ded)f(\014le)g(\(see)g(Figure)p
+1 0 0 TeXcolorrgb 3308 3032 a
 SDict begin H.S end
- 863 835 a 1 0 0 TeXcolorrgb Fy(1)p
-1 0 0 TeXcolorrgb 905 781 a
+ 3308 3032 a 1 0 0 TeXcolorrgb
+FA(1)p 1 0 0 TeXcolorrgb 3350 2979 a
 SDict begin H.R end
- 905 781 a 905 835 a
+ 3350 2979 a 3350
+3032 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.1) cvn H.B /ANN pdfmark end
- 905 835
-a Black Fy(\).)g(The)f(actual)g(\014le)h(data)f(is)h(enco)r(ded)f(in)h
-Fs(DBlo)l(cks)h Fy(whic)n(h)0 935 y(are)i(organized)g(b)n(y)h(a)g(tree)
-g(of)h Fs(IBlo)l(cks)p Fy(.)g(The)g Fs(IBlo)l(cks)p Fy(,)g(whic)n(h)g
-(are)e(similar)h(to)g(UNIX)0 1034 y(ino)r(des)k([)p 0 1 0
-TeXcolorrgb 283 1034 a
+(figure.1.1) cvn H.B /ANN pdfmark end
+ 3350 3032 a Black FA(\).)523 3132 y(The)39 b(actual)f(\014le)g
+(data)g(is)g(enco)r(ded)h(in)g Ft(DBlo)l(cks)g FA(whic)n(h)f(are)g
+(organized)f(b)n(y)h(a)g(tree)g(of)523 3232 y Ft(IBlo)l(cks)p
+FA(.)j(The)f Ft(IBlo)l(cks)p FA(,)h(whic)n(h)e(are)g(similar)f(to)i
+(UNIX)g(ino)r(des)g([)p 0 1 0 TeXcolorrgb 2698 3232 a
 SDict begin H.S end
- 283 1034 a 0 1 0 TeXcolorrgb Fy(21)p
-0 1 0 TeXcolorrgb 366 981 a
+
+2698 3232 a 0 1 0 TeXcolorrgb FA(21)p 0 1 0 TeXcolorrgb
+2781 3178 a
 SDict begin H.R end
- 366 981 a 366 1034 a
+ 2781 3178 a 2781 3232 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mckusick84fast) cvn H.B /ANN pdfmark end
- 366
-1034 a Black Fy(],)h(are)f(indirection)g(blo)r(c)n(ks)g(whic)n(h)g
-(enco)r(de)h(ho)n(w)e(the)i(leaf)g(no)r(des)f(of)h(the)0
-1134 y(tree)21 b(can)h(b)r(e)g(reassem)n(bled)e(in)n(to)i(the)g
-(original)e(\014le.)i(Ev)n(ery)e Fs(IBlo)l(ck)j Fy(pro)n(vides)d(the)i
-(data)0 1233 y(required)31 b(to)i(request,)f(decrypt)g(and)g(v)n(erify)
-g(the)g(con)n(ten)n(ts)g(of)g(its)h(direct)f(c)n(hildren.)0
-1333 y(V)-7 b(eri\014cation)31 b(is)g(done)g(using)h(hash)f(co)r(des)g
-(of)g(the)h(c)n(hildren,)f(similar)g(to)g(the)h(w)n(a)n(y)e(a)0
-1433 y(Merkle)i(tree)h([)p 0 1 0 TeXcolorrgb 477 1433
+ 2781 3232 a Black
+FA(],)g(are)e(indirection)523 3331 y(blo)r(c)n(ks)27
+b(whic)n(h)h(enco)r(de)f(ho)n(w)g(the)h(leaf)g(no)r(des)f(of)h(the)g
+(tree)g(can)f(b)r(e)h(reassem)n(bled)e(in)n(to)i(the)523
+3431 y(original)35 b(\014le.)h(Ev)n(ery)f Ft(IBlo)l(ck)j
+FA(pro)n(vides)d(the)i(data)f(required)f(to)h(request,)g(decrypt)g(and)
+523 3531 y(v)n(erify)c(the)h(con)n(ten)n(ts)f(of)h(its)g(direct)g(c)n
+(hildren.)f(V)-7 b(eri\014cation)32 b(is)h(done)g(using)f(hash)g(co)r
+(des)523 3630 y(of)h(the)h(c)n(hildren,)f(similar)f(to)h(the)h(w)n(a)n
+(y)d(a)i(Merkle)g(tree)g([)p 0 1 0 TeXcolorrgb 2377 3630
 a
 SDict begin H.S end
- 477 1433 a 0 1 0 TeXcolorrgb Fy(22)p 0 1 0 TeXcolorrgb
-560 1379 a
+ 2377 3630 a 0 1 0 TeXcolorrgb FA(22)p 0 1 0 TeXcolorrgb
+2460 3577 a
 SDict begin H.R end
- 560 1379 a 560 1433 a
+ 2460 3577 a 2460 3630 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.merkle89tree) cvn H.B /ANN pdfmark end
- 560 1433 a Black Fy(])g(w)n(orks.)e
-(Giv)n(en)h(the)h(size)g(of)g(the)g(\014le,)g(the)g(top)g
-Fs(IBlo)l(ck)h Fy(uniquely)0 1532 y(iden)n(ti\014es)c(the)g(con)n(ten)n
-(ts)f(of)h(the)h(en)n(tire)e(\014le.)h Fs(KBlo)l(cks)h
-Fy(and)f Fs(SBlo)l(cks)h Fy(facilitate)f(ob-)0 1632 y(taining)h(the)h
-(k)n(ey)e(hash)h(\(to)g(decrypt\))g(and)g(query)g(hash)g(\(to)g
-(request\))g(for)f(the)i(top)0 1732 y Fs(IBlo)l(ck)p
-Fy(.)0 1913 y
+ 2460 3630 a Black
+FA(])g(w)n(orks.)f(Giv)n(en)h(the)g(size)g(of)523 3730
+y(the)25 b(\014le,)g(the)g(top)g Ft(IBlo)l(ck)h FA(uniquely)e(iden)n
+(ti\014es)h(the)g(con)n(ten)n(ts)f(of)h(the)g(en)n(tire)f(\014le.)h
+Ft(KBlo)l(cks)523 3829 y FA(and)32 b Ft(SBlo)l(cks)i
+FA(facilitate)e(obtaining)g(the)g(k)n(ey)g(hash)g(\(to)h(decrypt\))f
+(and)g(query)g(hash)g(\(to)523 3929 y(request\))27 b(for)g(the)h(top)g
+Ft(IBlo)l(ck)p FA(.)523 4090 y
 SDict begin H.S end
- 0 1913 a 0 1913 a
+ 523 4090 a 523 4090 a
 SDict begin 12 H.A end
- 0 1913 a 0 1913 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.2) cvn H.B /DEST
+
+523 4090 a 523 4090 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.2) cvn H.B /DEST
 pdfmark end
- 0 1913
-a 100 x Fs(3.2)d Fy(DBlo)r(c)n(ks)0 2201 y(Ev)n(ery)20
-b Fs(DBlo)l(ck)j Fy(corresp)r(onds)d(to)h(32Kb)g(of)h(the)g(original)e
-(\014le)i(\(the)h(last)e(blo)r(c)n(k)g(ma)n(y)g(b)r(e)0
-2301 y(padded)h(with)g(zeros)e(if)i(the)g(\014le)g(end)g(do)r(es)f(not)
-h(fall)g(on)f(a)g(32Kb)g(b)r(oundary\).)g Fs(DBlo)l(ck)p
-Fy(s)0 2400 y(are)g(encrypted)h(using)g(a)g(symmetric)g(cipher.)g(F)-7
-b(or)22 b(the)h Fs(DBlo)l(ck)g Fy(that)g(corresp)r(onds)d(to)0
-2500 y(a)j(plain)n(text)g(blo)r(c)n(k)g Fr(B)689 2512
-y Fi(i)717 2500 y Fy(,)g(the)h(k)n(ey)f(for)g(the)h(cipher)f(is)g
-Fr(K)1705 2512 y Fi(i)1755 2500 y Fy(:=)g Fr(H)7 b Fy(\()p
-Fr(B)2037 2512 y Fi(i)2065 2500 y Fy(\).)24 b(This)f(guaran)n(tees)0
-2599 y(that)41 b(the)g(same)f(blo)r(c)n(k)g(will)g(alw)n(a)n(ys)f(b)r
-(e)i(encrypted)f(with)h(the)g(same)f(k)n(ey)-7 b(.)40
-b(Also,)0 2699 y(the)30 b(in)n(tegrit)n(y)e(of)h(the)h(decrypted)f(blo)
-r(c)n(k)g(can)g(b)r(e)h(v)n(eri\014ed)e(b)n(y)h(c)n(hec)n(king)g(that)g
-Fr(K)2597 2711 y Fi(i)2650 2699 y Fy(=)0 2799 y Fr(H)7
-b Fy(\()p Fr(B)171 2811 y Fi(i)199 2799 y Fy(\).)25 b(The)f(encrypted)g
-(blo)r(c)n(k)g Fr(E)1105 2811 y Fi(K)1161 2819 y Fh(i)1192
-2799 y Fy(\()p Fr(B)1287 2811 y Fi(i)1315 2799 y Fy(\))h(can)f(b)r(e)h
-(uniquely)f(iden)n(ti\014ed)h(b)n(y)g(its)f(hash)0 2898
-y Fr(Q)66 2910 y Fi(i)132 2898 y Fy(:=)38 b Fr(H)7 b
-Fy(\()p Fr(E)427 2910 y Fi(K)483 2918 y Fh(i)513 2898
-y Fy(\()p Fr(B)608 2910 y Fi(i)636 2898 y Fy(\)\).)38
-b(A)f(p)r(eer)g(can)f(query)g(for)h Fr(E)1651 2910 y
-Fi(K)1707 2918 y Fh(i)1737 2898 y Fy(\()p Fr(B)1832 2910
-y Fi(i)1860 2898 y Fy(\))g(using)g(the)g(query)f(hash)0
-2998 y Fr(Q)66 3010 y Fi(i)129 2998 y Fy(without)h(rev)n(ealing)d
-Fr(K)877 3010 y Fi(i)904 2998 y Fy(.)i(Consequen)n(tly)-7
-b(,)35 b(the)h(pair)f(\()p Fr(K)1935 3010 y Fi(i)1963
-2998 y Fr(;)14 b(Q)2066 3010 y Fi(i)2093 2998 y Fy(\))36
-b(can)g(b)r(e)g(used)g(to)0 3098 y(retriev)n(e)26 b(and)g(decrypt)h
-Fr(B)825 3110 y Fi(i)853 3098 y Fy(.)g(In)n(termediaries)f(can)g(v)n
-(erify)g(that)i(a)e(resp)r(onse)g Fr(E)2473 3110 y Fi(K)2529
-3118 y Fh(i)2560 3098 y Fy(\()p Fr(B)2655 3110 y Fi(i)2683
-3098 y Fy(\))0 3197 y(matc)n(hes)34 b(a)g(query)g(hash)g
-Fr(Q)909 3209 y Fi(i)970 3197 y Fy(without)h(kno)n(wing)e
-Fr(K)1691 3209 y Fi(i)1719 3197 y Fy(.)h(F)-7 b(reenet)35
-b([)p 0 1 0 TeXcolorrgb 2103 3197 a
-SDict begin H.S end
- 2103 3197 a 0 1 0
-TeXcolorrgb Fy(5)p 0 1 0 TeXcolorrgb 2144 3144 a
-SDict begin H.R end
- 2144
-3144 a 2144 3197 a
-SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(cite.clark99distributed) cvn H.B /ANN pdfmark end
- 2144 3197 a Black Fy(])g(uses)f(the)g(same)0
-3297 y(sc)n(heme)24 b(to)g(encrypt)g(en)n(tire)f(\014les)i(\(not)f
-(just)h(blo)r(c)n(ks\))f(and)g(the)g(authors)f(call)h(the)h(pair)0
-3396 y(\()p Fr(K)103 3408 y Fi(i)130 3396 y Fr(;)14 b(Q)233
-3408 y Fi(i)261 3396 y Fy(\))28 b(a)f(con)n(ten)n(t)g(hash)g(k)n(ey)g
-(\(CHK\).)0 3599 y
-SDict begin H.S end
- 0 3599 a 0 3599 a
-SDict begin 12 H.A end
- 0 3599 a 0 3599
-a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.3) cvn H.B /DEST
-pdfmark end
- 0 3599 a 79 x Fs(3.3)i Fy(IBlo)r(c)n(ks)0 3866 y(F)-7
-b(or)33 b(\014les)g(larger)f(than)h(the)h(blo)r(c)n(ksize,)f(m)n
-(ultiple)h(CHK)f(k)n(eys)f(are)h(required)f(to)i(re-)0
-3965 y(triev)n(e)26 b(the)i(con)n(ten)n(t.)e(F)-7 b(or)27
-b(example,)g(with)g(a)g(blo)r(c)n(ksize)f(of)h(32Kb)f(and)h(512-bit)e
-(hash)0 4065 y(co)r(des,)d(a)f(32Mb)g(\014le)i(w)n(ould)e(b)r(e)h
-(split)h(in)n(to)f(1024)e Fs(DBlo)l(cks)p Fy(,)j Fr(B)1934
-4077 y Fw(1)1971 4065 y Fr(;)14 b(:)g(:)g(:)f(;)h(B)2218
-4077 y Fw(1024)2355 4065 y Fy(,)22 b(of)g(length)0 4165
-y(32Kb)h(eac)n(h.)g(Groups)h(of)g(up)h(to)f(256)e(CHKs)i(are)f(assem)n
-(bled)h(in)n(to)g(one)g(32Kb)f Fs(IBlo)l(ck)p Fy(,)0
-4264 y(resulting)30 b(in)g(four)g Fs(IBlo)l(ck)p Fy(s)h(for)f(the)h
-(32Mb)e(\014le.)i(The)f(resulting)f Fs(IBlo)l(ck)p Fy(s)j(are)d(CHK)0
-4364 y(encrypted)34 b(in)g(the)g(exact)g(same)f(manner)g(as)h(the)g
-Fs(DBlo)l(cks)h Fy(and)e(their)h(CHK-k)n(eys)0 4464 y(are)22
-b(again)g(group)r(ed)g(in)n(to)g Fs(IBlo)l(cks)i Fy(un)n(til)g(only)e
-(one)h(CHK)f(k)n(ey)h(is)f(left.)i(F)-7 b(or)22 b(the)i(32Mb)0
-4563 y(\014le,)g(the)g(CHKs)f(for)g(the)h(four)g Fs(IBlo)l(ck)p
-Fy(s)g(are)f(th)n(us)h(collected)f(in)h(one)f(\014nal)h(top)g
-Fs(IBlo)l(ck)p Fy(.)0 4663 y(The)36 b(additional)f(space)g(requiremen)n
-(ts)f(for)h(enco)r(ding)h(the)g(\014le)g(are)e(t)n(ypically)h(less)0
-4762 y(than)28 b(1\045)f(of)h(the)g(original)e(\014le)h(size.)p
-Black Black eop end
-%%Page: 11 11
-TeXDict begin 11 10 bop 0 0 a
+ 523 4090 a 79 x Fr(3.2)95 b Fj(DBlo)-5
+b(cks)523 4327 y FA(Ev)n(ery)33 b Ft(DBlo)l(ck)j FA(corresp)r(onds)c
+(to)j(32Kb)e(of)i(the)g(original)e(\014le)i(\(the)g(last)g(blo)r(c)n(k)
+f(ma)n(y)g(b)r(e)523 4426 y(padded)g(with)g(zeros)e(if)i(the)g(\014le)g
+(end)g(do)r(es)f(not)h(fall)f(on)h(a)f(32Kb)f(b)r(oundary\).)h
+Ft(DBlo)l(ck)p FA(s)523 4526 y(are)d(encrypted)h(using)f(a)h(symmetric)
+f(cipher.)h(F)-7 b(or)30 b(the)i Ft(DBlo)l(ck)f FA(that)h(corresp)r
+(onds)d(to)h(a)523 4625 y(plain)n(text)e(blo)r(c)n(k)f
+Fs(B)1156 4637 y Fi(i)1184 4625 y FA(,)h(the)h(k)n(ey)e(for)g(the)i
+(cipher)f(is)f Fs(K)2204 4637 y Fi(i)2255 4625 y FA(:=)d
+Fs(H)7 b FA(\()p Fs(B)2538 4637 y Fi(i)2565 4625 y FA(\).)29
+b(This)f(guaran)n(tees)e(that)523 4725 y(the)d(same)f(blo)r(c)n(k)g
+(will)h(alw)n(a)n(ys)e(b)r(e)i(encrypted)f(with)h(the)g(same)f(k)n(ey)
+-7 b(.)22 b(Also,)g(the)h(in)n(tegrit)n(y)f(of)523 4825
+y(the)g(decrypted)f(blo)r(c)n(k)f(can)h(b)r(e)h(v)n(eri\014ed)e(b)n(y)h
+(c)n(hec)n(king)f(that)i Fs(K)2470 4837 y Fi(i)2520 4825
+y FA(=)h Fs(H)7 b FA(\()p Fs(B)2779 4837 y Fi(i)2806
+4825 y FA(\).)22 b(The)f(encrypted)523 4924 y(blo)r(c)n(k)k
+Fs(E)801 4936 y Fi(K)857 4944 y Fh(i)888 4924 y FA(\()p
+Fs(B)983 4936 y Fi(i)1011 4924 y FA(\))g(can)h(b)r(e)g(uniquely)f(iden)
+n(ti\014ed)h(b)n(y)g(its)f(hash)g Fs(Q)2509 4936 y Fi(i)2560
+4924 y FA(:=)e Fs(H)7 b FA(\()p Fs(E)2840 4936 y Fi(K)2896
+4944 y Fh(i)2926 4924 y FA(\()p Fs(B)3021 4936 y Fi(i)3049
+4924 y FA(\)\).)26 b(A)g(p)r(eer)p Black Black eop end
+%%Page: 10 10
+TeXDict begin 10 9 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(11)p Black
-0 165 a
+ 523 232 a Black Fx(10)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(can)34 b(query)g(for)g Fs(E)1115 460
+y Fi(K)1171 468 y Fh(i)1201 448 y FA(\()p Fs(B)1296 460
+y Fi(i)1324 448 y FA(\))h(using)f(the)h(query)e(hash)h
+Fs(Q)2269 460 y Fi(i)2331 448 y FA(without)h(rev)n(ealing)d
+Fs(K)3075 460 y Fi(i)3102 448 y FA(.)j(Conse-)523 548
+y(quen)n(tly)-7 b(,)24 b(the)g(pair)f(\()p Fs(K)1242
+560 y Fi(i)1270 548 y Fs(;)14 b(Q)1373 560 y Fi(i)1400
+548 y FA(\))24 b(can)f(b)r(e)i(used)e(to)h(retriev)n(e)f(and)g(decrypt)
+h Fs(B)2813 560 y Fi(i)2840 548 y FA(.)g(In)n(termediaries)523
+648 y(can)30 b(v)n(erify)h(that)g(a)f(resp)r(onse)g Fs(E)1568
+660 y Fi(K)1624 668 y Fh(i)1654 648 y FA(\()p Fs(B)1749
+660 y Fi(i)1777 648 y FA(\))i(matc)n(hes)e(a)g(query)g(hash)h
+Fs(Q)2735 660 y Fi(i)2793 648 y FA(without)g(kno)n(wing)523
+747 y Fs(K)594 759 y Fi(i)621 747 y FA(.)24 b(F)-7 b(reenet)24
+b([)p 0 1 0 TeXcolorrgb 984 747 a
 SDict begin H.S end
- 0 165 a 0 165 a
+ 984 747 a 0 1 0 TeXcolorrgb
+FA(5)p 0 1 0 TeXcolorrgb 1025 694 a
+SDict begin H.R end
+ 1025 694 a 1025 747
+a
+SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(cite.clark99distributed) cvn H.B /ANN pdfmark end
+ 1025 747 a Black FA(])g(uses)f(the)h(same)f(sc)n(heme)g(to)h(encrypt)
+f(en)n(tire)g(\014les)h(\(not)g(just)g(blo)r(c)n(ks\))f(and)523
+847 y(the)28 b(authors)f(call)g(the)h(pair)f(\()p Fs(K)1536
+859 y Fi(i)1563 847 y Fs(;)14 b(Q)1666 859 y Fi(i)1693
+847 y FA(\))28 b(a)f(con)n(ten)n(t)h(hash)f(k)n(ey)g(\(CHK\).)523
+1028 y
+SDict begin H.S end
+ 523 1028 a 523 1028 a
 SDict begin 12 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.4) cvn H.B /DEST
+ 523 1028 a 523 1028 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.3) cvn H.B /DEST
 pdfmark end
- 0 165 a 83 x
-Fs(3.4)29 b(Finding)i(\014les)0 681 y Fy(The)d(CHK)h(enco)r(ding)f
-(describ)r(ed)g(so)g(far)g(is)g(useful)h(for)e(transmitting)i(con)n
-(ten)n(t)f(that)0 781 y(is)34 b(enco)r(ded)g(and)g(y)n(et)g(v)n
-(eri\014able)f(for)g(in)n(termediaries.)g(Ho)n(w)n(ev)n(er,)f(a)i
-(practical)f(\014le-)0 881 y(sharing)20 b(sc)n(heme)g(needs)h(to)g(pro)
-n(vide)f(functionalit)n(y)h(suc)n(h)g(that)g(the)g(users)g(can)f
-(obtain)0 980 y(the)27 b(query)e(hash)i(and)f(the)h(k)n(ey)e(that)i
-(are)e(no)n(w)h(necessary)f(in)i(order)e(to)h(retriev)n(e)f(and)0
-1080 y(decrypt)37 b(the)g(enco)r(ded)g(con)n(ten)n(t.)g(While)h
-(out-of-band)e(comm)n(unication)g(of)h(those)0 1180 y(CHK)c(k)n(eys)g
-(is)g(certainly)g(feasible,)g(an)h(in)n(tegrated)e(solution)h(is)g
-(clearly)g(desirable.)0 1279 y(Related)21 b(w)n(ork)e(on)h(secure)g
-(indexing)h([)p 0 1 0 TeXcolorrgb 1197 1279 a
+ 523
+1028 a 82 x Fr(3.3)95 b Fj(IBlo)-5 b(cks)523 1290 y FA(F)e(or)32
+b(\014les)h(larger)e(than)h(the)i(blo)r(c)n(ksize,)e(m)n(ultiple)h(CHK)
+f(k)n(eys)g(are)g(required)g(to)g(retriev)n(e)523 1390
+y(the)i(con)n(ten)n(t.)f(F)-7 b(or)33 b(example,)g(with)g(a)g(blo)r(c)n
+(ksize)g(of)g(32Kb)f(and)h(512-bit)g(hash)f(co)r(des,)h(a)523
+1489 y(32Mb)26 b(\014le)g(w)n(ould)g(b)r(e)h(split)f(in)n(to)h(1024)d
+Ft(DBlo)l(cks)p FA(,)j Fs(B)2186 1501 y Fz(1)2223 1489
+y Fs(;)14 b(:)g(:)g(:)g(;)g(B)2471 1501 y Fz(1024)2607
+1489 y FA(,)27 b(of)f(length)h(32Kb)e(eac)n(h.)523 1589
+y(Groups)e(of)g(up)h(to)f(256)f(CHKs)h(are)g(assem)n(bled)f(in)n(to)i
+(one)f(32Kb)f Ft(IBlo)l(ck)p FA(,)j(resulting)e(in)g(four)523
+1689 y Ft(IBlo)l(ck)p FA(s)j(for)f(the)g(32Mb)f(\014le.)i(The)f
+(resulting)f Ft(IBlo)l(ck)p FA(s)i(are)e(CHK)h(encrypted)g(in)g(the)h
+(exact)523 1788 y(same)c(manner)h(as)f(the)h Ft(DBlo)l(cks)h
+FA(and)f(their)g(CHK-k)n(eys)e(are)h(again)g(group)r(ed)g(in)n(to)h
+Ft(IBlo)l(cks)523 1888 y FA(un)n(til)j(only)e(one)h(CHK)g(k)n(ey)g(is)g
+(left.)h(F)-7 b(or)24 b(the)i(32Mb)e(\014le,)i(the)f(CHKs)g(for)g(the)g
+(four)g Ft(IBlo)l(ck)p FA(s)523 1988 y(are)g(th)n(us)h(collected)g(in)h
+(one)f(\014nal)g(top)g Ft(IBlo)l(ck)p FA(.)h(The)f(additional)g(space)g
+(requiremen)n(ts)f(for)523 2087 y(enco)r(ding)i(the)h(\014le)g(are)f(t)
+n(ypically)g(less)g(than)g(1\045)h(of)f(the)h(original)e(\014le)i
+(size.)523 2264 y
 SDict begin H.S end
- 1197 1279
-a 0 1 0 TeXcolorrgb Fy(12)p 0 1 0 TeXcolorrgb 1280 1226
-a
+ 523 2264 a 523 2264 a
+SDict begin 12 H.A end
+ 523 2264 a 523
+2264 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.4) cvn H.B /DEST
+pdfmark end
+ 523 2264 a 86 x Fr(3.4)95 b(Finding)30 b(\014les)523
+2530 y FA(The)35 b(CHK)h(enco)r(ding)e(describ)r(ed)i(so)e(far)h(is)g
+(useful)h(for)f(transmitting)g(con)n(ten)n(t)g(that)g(is)523
+2630 y(enco)r(ded)e(and)h(y)n(et)f(v)n(eri\014able)f(for)h(in)n
+(termediaries.)f(Ho)n(w)n(ev)n(er,)f(a)i(practical)g(\014le-sharing)523
+2730 y(sc)n(heme)28 b(needs)h(to)f(pro)n(vide)g(functionalit)n(y)g(suc)
+n(h)h(that)f(the)h(users)f(can)g(obtain)h(the)g(query)523
+2829 y(hash)k(and)g(the)h(k)n(ey)e(that)i(are)e(no)n(w)h(necessary)e
+(in)j(order)d(to)j(retriev)n(e)e(and)h(decrypt)g(the)523
+2929 y(enco)r(ded)f(con)n(ten)n(t.)g(While)h(out-of-band)e(comm)n
+(unication)h(of)g(those)g(CHK)g(k)n(eys)f(is)h(cer-)523
+3029 y(tainly)22 b(feasible,)g(an)g(in)n(tegrated)f(solution)g(is)h
+(clearly)f(desirable.)g(Related)h(w)n(ork)f(on)h(secure)523
+3128 y(indexing)28 b([)p 0 1 0 TeXcolorrgb 881 3128 a
+SDict begin H.S end
+
+881 3128 a 0 1 0 TeXcolorrgb FA(12)p 0 1 0 TeXcolorrgb
+964 3075 a
 SDict begin H.R end
- 1280 1226 a 1280 1279 a
+ 964 3075 a 964 3128 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.secure2004goh) cvn H.B /ANN pdfmark end
- 1280 1279 a Black Fy(])g(allo)n(ws)e(serv)n
-(ers)g(to)h(retriev)n(e)g(do)r(cumen)n(ts)g(b)n(y)0 1379
-y(k)n(eyw)n(ord)j(without)i(learning)e(ab)r(out)i(the)g(rest)f(of)g
-(the)h(do)r(cumen)n(t.)g(The)g(sc)n(heme)f(that)0 1478
-y(will)34 b(b)r(e)g(describ)r(ed)f(in)h(Section)p 1 0 0
-TeXcolorrgb 1055 1478 a
+ 964 3128 a Black FA(])h(allo)n(ws)e
+(serv)n(ers)g(to)h(retriev)n(e)g(do)r(cumen)n(ts)g(b)n(y)g(k)n(eyw)n
+(ord)f(without)i(learning)523 3228 y(ab)r(out)23 b(the)g(rest)f(of)g
+(the)h(do)r(cumen)n(t.)g(The)g(sc)n(heme)f(that)h(will)g(b)r(e)g
+(describ)r(ed)f(in)h(Section)p 1 0 0 TeXcolorrgb 3299
+3228 a
 SDict begin H.S end
- 1055 1478 a 1 0 0 TeXcolorrgb
-Fy(3.6)p 1 0 0 TeXcolorrgb 1161 1425 a
+ 3299 3228 a 1 0 0 TeXcolorrgb FA(3.6)p 1 0 0 TeXcolorrgb
+3405 3174 a
 SDict begin H.R end
- 1161 1425 a 1161
-1478 a
+ 3405 3174 a 3405 3228 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(subsection.3.6) cvn H.B /ANN pdfmark end
- 1161 1478 a Black 33 w Fy(impro)n(v)n(es)e(on)i(this)g(b)n(y)f
-(k)n(eeping)g(the)h(k)n(eyw)n(ord)0 1578 y(itself)24
-b(priv)-5 b(ate.)24 b(Additionally)-7 b(,)23 b(it)h(still)g(allo)n(ws)f
-(in)n(termediaries)f(to)h(v)n(erify)g(the)h(correct)0
-1678 y(op)r(eration)i(of)h(the)g(serv)n(er.)e(It)i(also)f(a)n(v)n(oids)
-f(the)i(need)g(for)f(the)i(publisher)e(to)h(encrypt)0
-1777 y(the)22 b(do)r(cumen)n(t)g(with)g(the)g(public)g(k)n(ey)f(of)g(a)
-h Fs(sp)l(e)l(ci\014c)g Fy(receiv)n(er,)e(thereb)n(y)h(theoretically)0
-1877 y(p)r(ermitting)j(arbitrary)e(participan)n(ts)h(to)h(access)f
-(same)g(encrypted)h(con)n(ten)n(t)f(\(as)h(long)0 1977
-y(as)j(they)h(are)e(able)i(to)f(obtain)g(or)g(guess)g(the)h(necessary)e
-(k)n(eyw)n(ord\).)125 2124 y(The)38 b(k)n(ey)h(problem)f(for)g(the)i
-(searc)n(h)d(is)i(that)g(simply)g(publishing)g(CHK)g(k)n(eys)0
-2224 y(in)d(plain)n(text)g(under)f(certain)g(k)n(eyw)n(ords)f(\(as)h
-(done)h(in)g(F)-7 b(reenet)35 b(with)i(KSK)e(k)n(eys\))0
-2323 y(has)g(v)-5 b(arious)35 b(dra)n(wbac)n(ks.)e(First,)j(in)n
-(termediaries)f(w)n(ould)g(learn)g(ab)r(out)h(the)g(CHK)0
-2423 y(k)n(eys)23 b(that)h(they)g(are)f(storing)g(or)g(transmitting,)h
-(whic)n(h)g(could)g(allo)n(w)e(them)j(to)f(easily)0 2523
-y(censor)k(searc)n(h)g(results.)g(Second,)h(the)h(k)n(eyw)n(ords)d(are)
-h(directly)h(exp)r(osed)f(to)h(the)h(in-)0 2622 y(termediaries,)f(whic)
-n(h)h(again)g(w)n(ould)f(facilitate)i(censorship.)e(Finally)-7
-b(,)30 b(p)r(eers)g(w)n(ould)0 2722 y(b)r(e)25 b(able)e(to)h(send)h(in)
-n(v)-5 b(alid)24 b(replies)f(that)i(refer)e(to)h(inappropriate)f(con)n
-(ten)n(t.)g(This)i(ma)n(y)0 2822 y(b)r(e)30 b(just)g(a)f(n)n(uisance)f
-(if)i(malicious)f(p)r(eers)f(use)i(this)f(for)g(adv)n(ertising)f(\(a)h
-(kind)h(of)f(b)r(e-)0 2921 y(ha)n(vior)i(can)i(b)r(e)h(observ)n(ed)d
-(on)i(gn)n(utella)f(from)h(time)h(to)f(time\).)g(P)n(ossibly)f(w)n
-(orse,)f(if)0 3021 y(a)d(net)n(w)n(ork)f(w)n(an)n(ts)g(to)i
-(economically)e(rew)n(ard)f(p)r(eers)i(for)g(returning)g(searc)n(h)e
-(results,)0 3120 y(the)34 b(p)r(ossibilit)n(y)f(of)h(returning)f
-(arbitrary)f(nonsense)g(migh)n(t)i(mak)n(e)f(suc)n(h)g(incen)n(tiv)n(e)
-0 3220 y(sc)n(hemes)27 b(impractical.)125 3368 y(But)19
-b(ho)n(w)g(can)g(a)g(system)h(prev)n(en)n(t)e(p)r(eers)h(from)h
-(returning)e(in)n(v)-5 b(alid)20 b(resp)r(onses)e(to)h(a)0
-3467 y(k)n(eyw)n(ord-based)e(searc)n(h?)h(Since)i(it)g(is)g(inheren)n
-(t)g(in)g(the)g(nature)f(of)h(suc)n(h)f(a)g(searc)n(h)g(that)0
-3567 y(the)j(initiator)e(do)r(es)h(not)g(kno)n(w)g(precisely)f(what)h
-(con)n(ten)n(t)g(is)g(desired,)f(it)i(is)f(imp)r(ossible)0
-3667 y(for)32 b(the)h(query)f(to)h(completely)f(determine)h(the)g
-(reply)-7 b(.)32 b(F)-7 b(or)32 b(this)h(reason,)f(sc)n(hemes)0
-3766 y(lik)n(e)g(CHK)g(cannot)g(b)r(e)h(applied)f(to)g(the)h(k)n(eyw)n
-(ord-searc)n(h)c(problem:)j(in)g(CHK,)h(the)0 3866 y(query)d(hash)h
-(completely)g(determines)g(the)h(reply)-7 b(.)31 b(As)g(a)g(result,)g
-(a)g(k)n(eyw)n(ord-based)0 3965 y(searc)n(h)22 b(mec)n(hanism)h(where)g
-(a)g(query)g(should)g(p)r(ossibly)g(ha)n(v)n(e)g(m)n(ultiple)h(v)-5
-b(alid)23 b(results)0 4065 y(cannot)30 b(b)r(e)g(implemen)n(ted)h
-(based)f(on)g(CHK.)g(Since)g(for)g(this)g(kind)g(of)g(searc)n(h)f
-(there)0 4165 y(cannot)h(b)r(e)g(an)n(y)f(completely)h(deterministic)h
-(link)f(b)r(et)n(w)n(een)g(the)g(k)n(eyw)n(ord)f(and)h(the)0
-4264 y(con)n(ten)n(t,)25 b(ECRS)f(m)n(ust)h(trust)g(the)h(user)e(who)g
-(is)h(uploading)f(the)i(con)n(ten)n(t)e(to)h(pro)n(vide)0
-4364 y(a)k(v)-5 b(alid)30 b(link.)f(That)h(user)e(m)n(ust)i(sp)r(ecify)
-g(appropriate)d(k)n(eyw)n(ords)h(\(and)h(metadata\))0
-4464 y(that)34 b(prop)r(erly)f(describ)r(es)g(the)h(con)n(ten)n(t.)f
-(Clearly)g(this)h(trust)g(ma)n(y)f(b)r(e)h(misplaced.)0
-4563 y(The)j(uploader)e(ma)n(y)h(sp)r(ecify)h(k)n(eyw)n(ords)e(that)i
-(ha)n(v)n(e)e(no)i(seman)n(tic)f(relation)f(with)0 4663
-y(the)c(con)n(ten)n(t.)f(One)g(solution)f(to)h(this)h(problem)f(is)g
-(the)h(use)f(of)g(namespaces,)f(whic)n(h)0 4762 y(attac)n(k)23
-b(the)i(issue)e(b)n(y)h(enabling)g(users)f(to)h(learn)f(whic)n(h)h
-(uploaders)f(are)g(trust)n(w)n(orth)n(y)-7 b(.)p Black
-Black eop end
-%%Page: 12 12
-TeXDict begin 12 11 bop 0 0 a
+(subsection.1.3.6) cvn H.B /ANN pdfmark end
+ 3405 3228 a Black
+523 3328 a FA(impro)n(v)n(es)29 b(on)h(this)h(b)n(y)f(k)n(eeping)f(the)
+i(k)n(eyw)n(ord)e(itself)h(priv)-5 b(ate.)31 b(Additionally)-7
+b(,)30 b(it)h(still)g(al-)523 3427 y(lo)n(ws)20 b(in)n(termediaries)f
+(to)i(v)n(erify)f(the)h(correct)f(op)r(eration)g(of)g(the)i(serv)n(er.)
+d(It)i(also)f(a)n(v)n(oids)f(the)523 3527 y(need)26 b(for)g(the)g
+(publisher)g(to)g(encrypt)g(the)g(do)r(cumen)n(t)h(with)f(the)h(public)
+f(k)n(ey)g(of)g(a)f Ft(sp)l(e)l(ci\014c)523 3626 y FA(receiv)n(er,)k
+(thereb)n(y)h(theoretically)f(p)r(ermitting)i(arbitrary)e(participan)n
+(ts)g(to)h(access)g(same)523 3726 y(encrypted)37 b(con)n(ten)n(t)f
+(\(as)h(long)f(as)h(they)g(are)f(able)h(to)f(obtain)h(or)f(guess)g(the)
+i(necessary)523 3826 y(k)n(eyw)n(ord\).)648 3928 y(The)24
+b(k)n(ey)g(problem)g(for)g(the)h(searc)n(h)e(is)h(that)h(simply)f
+(publishing)h(CHK)f(k)n(eys)g(in)g(plain-)523 4028 y(text)36
+b(under)g(certain)f(k)n(eyw)n(ords)f(\(as)h(done)h(in)g(F)-7
+b(reenet)35 b(with)i(KSK)e(k)n(eys\))g(has)g(v)-5 b(arious)523
+4127 y(dra)n(wbac)n(ks.)24 b(First,)i(in)n(termediaries)f(w)n(ould)h
+(learn)g(ab)r(out)g(the)g(CHK)h(k)n(eys)e(that)i(they)f(are)523
+4227 y(storing)i(or)g(transmitting,)h(whic)n(h)h(could)f(allo)n(w)f
+(them)h(to)g(easily)g(censor)f(searc)n(h)f(results.)523
+4327 y(Second,)36 b(the)g(k)n(eyw)n(ords)d(are)i(directly)h(exp)r(osed)
+f(to)h(the)g(in)n(termediaries,)e(whic)n(h)i(again)523
+4426 y(w)n(ould)31 b(facilitate)f(censorship.)g(Finally)-7
+b(,)31 b(p)r(eers)g(w)n(ould)f(b)r(e)i(able)e(to)h(send)g(in)n(v)-5
+b(alid)31 b(replies)523 4526 y(that)37 b(refer)f(to)h(inappropriate)e
+(con)n(ten)n(t.)h(This)h(ma)n(y)f(b)r(e)h(just)g(a)g(n)n(uisance)f(if)h
+(malicious)523 4625 y(p)r(eers)c(use)g(this)h(for)f(adv)n(ertising)f
+(\(a)h(kind)h(of)f(b)r(eha)n(vior)g(can)g(b)r(e)h(observ)n(ed)d(on)j
+(gn)n(utella)523 4725 y(from)c(time)h(to)g(time\).)h(P)n(ossibly)c(w)n
+(orse,)i(if)h(a)f(net)n(w)n(ork)f(w)n(an)n(ts)h(to)g(economically)g
+(rew)n(ard)523 4825 y(p)r(eers)24 b(for)f(returning)h(searc)n(h)e
+(results,)i(the)g(p)r(ossibilit)n(y)g(of)g(returning)g(arbitrary)e
+(nonsense)523 4924 y(migh)n(t)28 b(mak)n(e)e(suc)n(h)i(incen)n(tiv)n(e)
+f(sc)n(hemes)g(impractical.)p Black Black eop end
+%%Page: 11 11
+TeXDict begin 11 10 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(12)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 165 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
+b(11)p Black 648 448 a FA(But)33 b(ho)n(w)g(can)g(a)g(system)g(prev)n
+(en)n(t)g(p)r(eers)g(from)g(returning)g(in)n(v)-5 b(alid)33
+b(resp)r(onses)f(to)h(a)523 548 y(k)n(eyw)n(ord-based)d(searc)n(h?)h
+(Since)i(it)g(is)f(inheren)n(t)h(in)g(the)g(nature)f(of)g(suc)n(h)g(a)h
+(searc)n(h)e(that)523 648 y(the)36 b(initiator)e(do)r(es)h(not)g(kno)n
+(w)f(precisely)g(what)h(con)n(ten)n(t)g(is)g(desired,)g(it)g(is)g(imp)r
+(ossible)523 747 y(for)e(the)h(query)f(to)g(completely)g(determine)h
+(the)g(reply)-7 b(.)33 b(F)-7 b(or)33 b(this)h(reason,)e(sc)n(hemes)g
+(lik)n(e)523 847 y(CHK)23 b(cannot)g(b)r(e)g(applied)g(to)g(the)h(k)n
+(eyw)n(ord-searc)n(h)19 b(problem:)k(in)g(CHK,)g(the)h(query)e(hash)523
+946 y(completely)g(determines)h(the)g(reply)-7 b(.)22
+b(As)g(a)g(result,)h(a)f(k)n(eyw)n(ord-based)e(searc)n(h)g(mec)n
+(hanism)523 1046 y(where)h(a)f(query)h(should)g(p)r(ossibly)g(ha)n(v)n
+(e)f(m)n(ultiple)h(v)-5 b(alid)21 b(results)g(cannot)g(b)r(e)g
+(implemen)n(ted)523 1146 y(based)k(on)h(CHK.)g(Since)g(for)f(this)i
+(kind)f(of)g(searc)n(h)e(there)i(cannot)f(b)r(e)h(an)n(y)g(completely)f
+(de-)523 1245 y(terministic)e(link)f(b)r(et)n(w)n(een)g(the)h(k)n(eyw)n
+(ord)d(and)i(the)h(con)n(ten)n(t,)f(ECRS)g(m)n(ust)h(trust)f(the)h
+(user)523 1345 y(who)i(is)g(uploading)g(the)h(con)n(ten)n(t)f(to)g(pro)
+n(vide)f(a)h(v)-5 b(alid)26 b(link.)f(That)h(user)e(m)n(ust)i(sp)r
+(ecify)g(ap-)523 1445 y(propriate)e(k)n(eyw)n(ords)f(\(and)i
+(metadata\))g(that)g(prop)r(erly)f(describ)r(es)h(the)g(con)n(ten)n(t.)
+g(Clearly)523 1544 y(this)30 b(trust)h(ma)n(y)e(b)r(e)i(misplaced.)f
+(The)g(uploader)f(ma)n(y)g(sp)r(ecify)i(k)n(eyw)n(ords)d(that)i(ha)n(v)
+n(e)f(no)523 1644 y(seman)n(tic)k(relation)f(with)h(the)g(con)n(ten)n
+(t.)g(One)g(solution)f(to)h(this)g(problem)g(is)g(the)g(use)g(of)523
+1743 y(namespaces,)c(whic)n(h)h(attac)n(k)f(the)i(issue)e(b)n(y)h
+(enabling)g(users)f(to)h(learn)f(whic)n(h)h(uploaders)523
+1843 y(are)d(trust)n(w)n(orth)n(y)-7 b(.)523 1997 y
 SDict begin H.S end
- 0 165 a 0 165 a
+ 523
+1997 a 523 1997 a
 SDict begin 12 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.5) cvn H.B /DEST
+ 523 1997 a 523 1997 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.5) cvn H.B /DEST
 pdfmark end
- 0 165 a 83 x
-Fs(3.5)i(Namesp)l(ac)l(es)0 465 y Fy(One)d(w)n(a)n(y)f(to)h(a)n(v)n
-(oid)f(searc)n(hing)g(in)h(an)h(un)n(trust)n(w)n(orth)n(y)d(global)h(k)
-n(eyw)n(ord)g(space)h(that)0 564 y(ma)n(y)e(con)n(tain)f(mostly)h
-(inappropriately-lab)r(eled)e(con)n(ten)n(t)i(is)g(to)g(restrict)g(the)
-g(searc)n(h)0 664 y(to)i(namespaces.)e(A)j(namespace)e(is)g(a)h(k)n
-(eyw)n(ord)e(space)h(that)h(con)n(tains)f(con)n(ten)n(t)h(that)0
-763 y(is)c(cryptographically)e(signed)h(with)i(the)g(same)e(priv)-5
-b(ate)22 b(k)n(ey)-7 b(.)22 b(The)g(concept)g(of)g(name-)0
-863 y(spaces)30 b(is)h(also)g(presen)n(t)f(in)i(F)-7
-b(reenet)31 b([)p 0 1 0 TeXcolorrgb 1232 863 a
+ 523 1997 a 83
+x Fr(3.5)95 b(Namespaces)523 2234 y FA(One)25 b(w)n(a)n(y)f(to)i(a)n(v)
+n(oid)d(searc)n(hing)h(in)i(an)f(un)n(trust)n(w)n(orth)n(y)f(global)g
+(k)n(eyw)n(ord)f(space)i(that)h(ma)n(y)523 2334 y(con)n(tain)e(mostly)f
+(inappropriately-lab)r(eled)g(con)n(ten)n(t)g(is)i(to)f(restrict)f(the)
+i(searc)n(h)d(to)j(name-)523 2434 y(spaces.)39 b(A)h(namespace)f(is)g
+(a)g(k)n(eyw)n(ord)f(space)h(that)h(con)n(tains)f(con)n(ten)n(t)g(that)
+h(is)g(cryp-)523 2533 y(tographically)32 b(signed)h(with)h(the)h(same)e
+(priv)-5 b(ate)33 b(k)n(ey)-7 b(.)33 b(The)h(concept)g(of)g(namespaces)
+e(is)523 2633 y(also)e(presen)n(t)h(in)g(F)-7 b(reenet)32
+b([)p 0 1 0 TeXcolorrgb 1410 2633 a
 SDict begin H.S end
- 1232 863
-a 0 1 0 TeXcolorrgb Fy(5)p 0 1 0 TeXcolorrgb 1274 810
-a
+ 1410 2633 a 0 1 0
+TeXcolorrgb FA(5)p 0 1 0 TeXcolorrgb 1451 2579 a
 SDict begin H.R end
- 1274 810 a 1274 863 a
+ 1451
+2579 a 1451 2633 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.clark99distributed) cvn H.B /ANN pdfmark end
- 1274 863 a Black Fy(],)g(but)h(with)g(F)-7
-b(reenet)31 b(it)h(is)f(not)g(p)r(ossible)g(to)0 963
-y(obtain)26 b(m)n(ultiple)i(results)e(b)n(y)h(searc)n(hing)e(a)h
-(namespace.)g(F)-7 b(ortunately)g(,)26 b(it)h(is)g(easy)f(to)0
-1062 y(add)h Fs(se)l(ar)l(chable)j Fy(namespaces)c(to)i(ECRS.)125
-1167 y(In)34 b(ECRS,)h(a)f(namespace)g(is)g(iden)n(ti\014ed)h(b)n(y)f
-(a)h(public-priv)-5 b(ate)34 b(k)n(ey)g(pair)g(\(also)0
-1266 y(referred)28 b(to)g(as)g(the)i(pseudon)n(ym\).)e(The)h(priv)-5
-b(ate)29 b(k)n(ey)f(is)g(used)h(to)g(sign)f(the)h(con)n(ten)n(t)0
-1366 y(that)34 b(is)f(placed)g(in)n(to)g(the)h(namespace,)f(and)g(the)h
-(public)g(k)n(ey)e(\(or)h(more)g(precisely)-7 b(,)0 1465
-y(the)30 b(hash)f(of)g(the)h(public)g(k)n(ey\))f(is)g(used)h(as)f(a)g
-(public)g(handle)h(that)g(is)f(used)g(to)h(refer)0 1565
-y(to)i(the)h(namespace.)f(An)n(y)g(user)g(can)g(create)f(an)n(y)h(n)n
-(um)n(b)r(er)g(of)h(pseudon)n(yms.)e(Once)0 1665 y(the)c(user)f
-(accesses)f(\014les)h(from)g(a)g(particular)g(namespace)f(it)i(is)f(p)r
-(ossible)h(to)f(form)g(an)0 1764 y(opinion)34 b(ab)r(out)g(a)g
-(particular)f(pseudon)n(ym,)g(whic)n(h)h(can)g(then)h(b)r(e)g(used)f
-(to)g(target)0 1864 y(the)28 b(searc)n(h.)125 1968 y(Adding)23
-b(namespaces)g(to)g(the)h(design)f(requires)g(a)g(new)g(t)n(yp)r(e)h
-(of)g(blo)r(c)n(k,)f(called)g(an)0 2068 y Fs(SBlo)l(ck)p
-Fy(.)g(An)f Fs(SBlo)l(ck)h Fy(con)n(tains)d(the)i(k)n(ey)f(and)h(query)
-f(hash)g(\(CHK\))h(of)g(the)g(top)g Fs(IBlo)l(ck)0 2168
-y Fy(together)f(with)h(the)g(metadata)f(b)r(elonging)g(to)h(the)g(con)n
-(ten)n(t,)f(thereb)n(y)g(allo)n(wing)g(users)0 2267 y(that)j(receiv)n
-(e)f(an)h Fs(SBlo)l(ck)h Fy(to)e(do)n(wnload)g(the)h(\014le.)h(Ho)n(w)n
-(ev)n(er,)d(this)i(data)f(is)h(encrypted)0 2367 y(suc)n(h)36
-b(that)h(in)n(termediaries)e(do)h(not)g(learn)g(an)n(ything)g(ab)r(out)
-g(the)h(referenced)f(\014le.)0 2466 y(The)c(encryption)g(k)n(ey)f(is)h
-(the)h(hash)f(of)g(an)g(iden)n(ti\014er)g(that)g(the)h(inserter)e(c)n
-(hose)g(for)0 2566 y(the)23 b(con)n(ten)n(t.)g(The)g(iden)n(ti\014er)g
-(do)r(es)f(not)h(ha)n(v)n(e)f(to)h(b)r(e)g(unique)g(and)g(can,)g(for)f
-(example,)0 2666 y(b)r(e)j(a)f(k)n(eyw)n(ord)f(\(to)h(allo)n(w)g(searc)
-n(hing)e(the)j(namespace\))f(or)f(a)h(passw)n(ord)f(\(for)h(priv)-5
-b(ate)0 2765 y(con)n(ten)n(t\).)33 b(The)g(encrypted)f(p)r(ortion)h(of)
-f(the)h Fs(SBlo)l(ck)h Fy(is)f(follo)n(w)n(ed)f(b)n(y)g(a)h(hash)f(co)r
-(de)0 2865 y(whic)n(h)19 b(is)g(the)g Fs(query)g Fy(iden)n(ti\014er)g
-(for)g(the)g Fs(SBlo)l(ck)p Fy(.)h(The)f(query)f(iden)n(ti\014er)h(is)g
-(the)g(hash)g(of)0 2965 y(the)25 b(k)n(ey)e(\(whic)n(h)i(mak)n(es)e(it)
-h(the)h(hash)f(of)g(the)h(hash)f(of)g(the)g(iden)n(ti\014er\).)h(When)g
-(a)f(user)0 3064 y(searc)n(hes)d(a)i(namespace,)g(the)g(request)g(con)n
-(tains)f(the)i(hash)f(of)g(the)h(public)g(k)n(ey)e(of)i(the)0
-3164 y(pseudon)n(ym)h(together)f(with)i(the)g(query)f(iden)n(ti\014er.)
-g(By)g(using)h(the)f(hash)g(of)h(the)g(k)n(ey)0 3263
-y(as)20 b(the)h(query)f(iden)n(ti\014er,)h(the)g(correct)f
-Fs(SBlo)l(ck)i Fy(can)e(b)r(e)h(iden)n(ti\014ed)h(b)n(y)e(in)n
-(termediaries)0 3363 y(but)35 b(not)f(decrypted.)g(A)n(t)g(the)h(same)e
-(time,)i(only)e(the)i(iden)n(ti\014er)f(and)g(the)g(hash)g(of)0
-3463 y(the)c(public)h(k)n(ey)e(of)h(the)g(pseudon)n(ym)g(are)f
-(required)g(to)g(construct)h(b)r(oth)g(the)h(query)0
-3562 y(iden)n(ti\014er)j(needed)g(to)g(searc)n(h)e(the)j(namespace)e
-(and)g(the)i(k)n(ey)e(needed)h(to)g(decrypt)0 3662 y(the)27
-b Fs(SBlo)l(ck)p Fy(.)h(Finally)-7 b(,)26 b Fs(SBlo)l(ck)p
-Fy(s)i(con)n(tain)e(digital)g(signature)g(of)g(the)h(other)f(con)n(ten)
-n(ts.)0 3762 y(This)h(allo)n(ws)e(in)n(termediaries)h(to)h(v)n(erify)f
-(that)h(a)g(giv)n(en)f Fs(SBlo)l(ck)i Fy(w)n(as)e(created)g(b)n(y)h
-(the)0 3861 y(o)n(wner)f(of)i(the)g(namespace.)125 3965
-y(Since)18 b Fs(SBlo)l(ck)p Fy(s)i(are)d(signed,)i(it)g(is)f(p)r
-(ossible)h(to)f(allo)n(w)g(up)r(dates.)h(Without)g(a)f(digital)0
-4065 y(signature,)40 b(a)g(secure)g(up)r(date)h(mec)n(hanism)g(is)f
-(imp)r(ossible,)h(since)g(an)n(y)n(one)e(could)0 4165
-y(publish)26 b(a)f(p)r(oten)n(tially)h(illegitimate)f(up)r(date.)i(If)f
-(the)g(up)r(date)g(requires)e(a)h(matc)n(hing)0 4264
-y(digital)31 b(signature,)g(forged)f(up)r(dates)i(are)e(imp)r(ossible.)
-i(In)f(order)g(to)g(allo)n(w)f(con)n(ten)n(t)0 4364 y(up)r(dates,)19
-b(the)h(metadata)e(of)h(an)g Fs(SBlo)l(ck)h Fy(can)f(con)n(tain)f
-(information)h(ab)r(out)g(when)g(and)0 4464 y(under)27
-b(whic)n(h)f(iden)n(ti\014ers)h(up)r(dates)g(ma)n(y)f(b)r(e)h
-(published.)h(If)f(suc)n(h)f(forw)n(ard)g(p)r(oin)n(ters)0
-4563 y(are)k(presen)n(t,)h(the)g(o)n(wner)f(of)h(the)g(namespace)f(can)
-h(decide)g(to)g(publish)h(up)r(dates)f(to)0 4663 y(a)k(particular)f
-(\014le)i(at)f(a)g(later)f(time.)i(Since)g(the)g(priv)-5
-b(ate)35 b(k)n(ey)f(used)i(for)e(signing)h(is)0 4762
-y(o)n(wned)f(b)n(y)h(a)g(single)f(en)n(tit)n(y)-7 b(,)36
-b(consistency)e(issues)g(from)h(parallel)f(up)r(dates)h(do)g(not)p
-Black Black eop end
-%%Page: 13 13
-TeXDict begin 13 12 bop 0 0 a
+ 1451 2633 a Black FA(],)g(but)g(with)f(F)-7
+b(reenet)32 b(it)f(is)h(not)f(p)r(ossible)g(to)g(obtain)g(m)n(ulti-)523
+2733 y(ple)i(results)e(b)n(y)h(searc)n(hing)f(a)h(namespace.)f(F)-7
+b(ortunately)g(,)32 b(it)h(is)f(easy)g(to)g(add)g Ft(se)l(ar)l(chable)
+523 2832 y FA(namespaces)26 b(to)i(ECRS.)648 2932 y(In)22
+b(ECRS,)g(a)g(namespace)f(is)i(iden)n(ti\014ed)f(b)n(y)g(a)g
+(public-priv)-5 b(ate)22 b(k)n(ey)g(pair)g(\(also)f(referred)523
+3031 y(to)k(as)g(the)h(pseudon)n(ym\).)f(The)h(priv)-5
+b(ate)25 b(k)n(ey)g(is)g(used)h(to)f(sign)g(the)h(con)n(ten)n(t)f(that)
+h(is)f(placed)523 3131 y(in)n(to)e(the)g(namespace,)f(and)h(the)g
+(public)h(k)n(ey)e(\(or)g(more)g(precisely)-7 b(,)22
+b(the)i(hash)e(of)h(the)h(public)523 3231 y(k)n(ey\))38
+b(is)g(used)g(as)g(a)g(public)g(handle)g(that)h(is)f(used)g(to)g(refer)
+g(to)g(the)h(namespace.)e(An)n(y)523 3330 y(user)d(can)g(create)g(an)n
+(y)g(n)n(um)n(b)r(er)g(of)h(pseudon)n(yms.)f(Once)g(the)h(user)f
+(accesses)f(\014les)h(from)523 3430 y(a)41 b(particular)f(namespace)g
+(it)i(is)f(p)r(ossible)g(to)g(form)g(an)g(opinion)g(ab)r(out)g(a)g
+(particular)523 3530 y(pseudon)n(ym,)27 b(whic)n(h)h(can)f(then)h(b)r
+(e)g(used)g(to)f(target)g(the)h(searc)n(h.)648 3629 y(Adding)37
+b(namespaces)g(to)g(the)h(design)f(requires)f(a)h(new)h(t)n(yp)r(e)g
+(of)f(blo)r(c)n(k,)g(called)g(an)523 3729 y Ft(SBlo)l(ck)p
+FA(.)f(An)f Ft(SBlo)l(ck)g FA(con)n(tains)f(the)h(k)n(ey)e(and)i(query)
+f(hash)g(\(CHK\))h(of)f(the)h(top)g Ft(IBlo)l(ck)523
+3828 y FA(together)j(with)h(the)f(metadata)g(b)r(elonging)g(to)g(the)h
+(con)n(ten)n(t,)f(thereb)n(y)g(allo)n(wing)f(users)523
+3928 y(that)h(receiv)n(e)f(an)g Ft(SBlo)l(ck)i FA(to)f(do)n(wnload)f
+(the)h(\014le.)g(Ho)n(w)n(ev)n(er,)e(this)i(data)f(is)h(encrypted)523
+4028 y(suc)n(h)d(that)h(in)n(termediaries)e(do)h(not)g(learn)f(an)n
+(ything)h(ab)r(out)g(the)h(referenced)e(\014le.)i(The)523
+4127 y(encryption)23 b(k)n(ey)f(is)h(the)g(hash)g(of)g(an)g(iden)n
+(ti\014er)f(that)i(the)f(inserter)f(c)n(hose)g(for)h(the)g(con)n(ten)n
+(t.)523 4227 y(The)32 b(iden)n(ti\014er)f(do)r(es)h(not)g(ha)n(v)n(e)e
+(to)i(b)r(e)g(unique)g(and)f(can,)h(for)f(example,)g(b)r(e)i(a)e(k)n
+(eyw)n(ord)523 4327 y(\(to)39 b(allo)n(w)e(searc)n(hing)f(the)j
+(namespace\))f(or)f(a)h(passw)n(ord)e(\(for)j(priv)-5
+b(ate)38 b(con)n(ten)n(t\).)g(The)523 4426 y(encrypted)32
+b(p)r(ortion)g(of)g(the)g Ft(SBlo)l(ck)h FA(is)f(follo)n(w)n(ed)f(b)n
+(y)h(a)g(hash)f(co)r(de)h(whic)n(h)g(is)g(the)h Ft(query)523
+4526 y FA(iden)n(ti\014er)22 b(for)f(the)i Ft(SBlo)l(ck)p
+FA(.)g(The)f(query)f(iden)n(ti\014er)h(is)g(the)g(hash)g(of)g(the)g(k)n
+(ey)g(\(whic)n(h)g(mak)n(es)523 4625 y(it)j(the)g(hash)g(of)f(the)h
+(hash)g(of)f(the)h(iden)n(ti\014er\).)g(When)g(a)g(user)f(searc)n(hes)f
+(a)h(namespace,)g(the)523 4725 y(request)i(con)n(tains)g(the)h(hash)g
+(of)f(the)i(public)f(k)n(ey)f(of)h(the)g(pseudon)n(ym)f(together)g
+(with)i(the)523 4825 y(query)d(iden)n(ti\014er.)g(By)g(using)g(the)g
+(hash)g(of)g(the)h(k)n(ey)f(as)f(the)i(query)f(iden)n(ti\014er,)g(the)g
+(correct)523 4924 y Ft(SBlo)l(ck)h FA(can)f(b)r(e)g(iden)n(ti\014ed)h
+(b)n(y)e(in)n(termediaries)g(but)h(not)g(decrypted.)g(A)n(t)h(the)f
+(same)f(time,)p Black Black eop end
+%%Page: 12 12
+TeXDict begin 12 11 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(13)p Black
-0 248 a Fy(arise.)27 b(ECRS)h(do)r(es)f(not)h(prev)n(en)n(t)g(the)g(o)n
-(wner)f(of)h(the)g(namespace)f(from)h(publishing)0 348
-y(con\015icting)f(up)r(dates.)125 448 y(It)e(should)g(b)r(e)g
-(recognized)f(that)h(the)g(same)g(\014le)g(can)g(b)r(e)g(part)g(of)g(m)
-n(ultiple)g(name-)0 547 y(spaces)k(under)h(m)n(ultiple)h(iden)n
-(ti\014ers)f(without)g(the)h(need)f(for)f(storing)g(the)i(\014le)f(m)n
-(ul-)0 647 y(tiple)d(times)g(in)g(the)g(net)n(w)n(ork.)e(The)i
-Fs(IBlo)l(cks)h Fy(and)e Fs(DBlo)l(cks)i Fy(of)e(the)h(\014le)g(do)f
-(not)h(need)0 746 y(to)g(b)r(e)h(c)n(hanged)f(when)h(the)g(namespace)e
-(or)h(namespace)g(iden)n(ti\014er)g(c)n(hanges.)125 846
-y(Namespaces)k(cannot)h(completely)g(solv)n(e)f(the)i(searc)n(h)e
-(problem.)h(Most)g(imp)r(or-)0 946 y(tan)n(tly)-7 b(,)28
-b(users)f(w)n(ould)g(still)h(ha)n(v)n(e)e(to)i(\014nd)g(the)g
-(namespaces)f(themselv)n(es,)g(and)h(while)0 1045 y(it)33
-b(can)g(b)r(e)g(assumed)f(that)h(users)f(can)h(guess)f(k)n(eyw)n(ords,)
-e(they)j(are)f(unlik)n(ely)h(to)f(b)r(e)0 1145 y(able)22
-b(to)f(guess)g(public)i(k)n(eys)e(for)g(a)h(namespace)f(searc)n(h.)f
-(ECRS)i(alleviates)f(this)h(prob-)0 1245 y(lem)27 b(b)n(y)g(also)f
-(o\013ering)g(a)h(pure)g(k)n(eyw)n(ord-based)d(searc)n(h)i(in)h(a)g
-Fs(glob)l(al)h Fy(k)n(eyw)n(ord)e(space)0 1344 y(where)e(an)n(y)f(user)
-h(can)g(adv)n(ertise)e(con)n(ten)n(t.)i(Here,)g(the)h(disadv)-5
-b(an)n(tage)22 b(is)j(clearly)e(that)0 1444 y(it)33 b(is)f(p)r(ossible)
-g(for)g(malicious)f(users)h(to)g(p)r(ollute)h(the)f(global)f(k)n(eyw)n
-(ord)g(space)g(with)0 1543 y(adv)n(ertisemen)n(ts)20
-b(and)h(other)f(inappropriate)g(data.)g(Ho)n(w)n(ev)n(er,)f(it)j(is)f
-(assumed)f(that)i(in)0 1643 y(that)i(case)e(users)h(will)g(use)g(k)n
-(eyw)n(ords)e(that)j(are)e(more)h(di\016cult)h(to)f(guess)g(or)f(only)h
-(use)0 1743 y(the)f(global)f(k)n(eyw)n(ord)g(space)g(to)h(disco)n(v)n
-(er)e(trust)n(w)n(orth)n(y)h(namespaces,)g(th)n(us)h(a)n(v)n(oiding)0
-1842 y(spam)27 b(most)h(of)f(the)h(time.)0 2020 y
+ 523 232 a Black Fx(12)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(only)e(the)g(iden)n(ti\014er)g(and)g(the)h(hash)e
+(of)h(the)h(public)f(k)n(ey)g(of)g(the)g(pseudon)n(ym)g(are)f(required)
+523 548 y(to)30 b(construct)g(b)r(oth)g(the)h(query)f(iden)n(ti\014er)g
+(needed)g(to)g(searc)n(h)f(the)h(namespace)g(and)g(the)523
+648 y(k)n(ey)g(needed)i(to)f(decrypt)f(the)i Ft(SBlo)l(ck)p
+FA(.)g(Finally)-7 b(,)31 b Ft(SBlo)l(ck)p FA(s)h(con)n(tain)e(digital)h
+(signature)f(of)523 747 y(the)e(other)f(con)n(ten)n(ts.)f(This)i(allo)n
+(ws)e(in)n(termediaries)g(to)h(v)n(erify)g(that)g(a)g(giv)n(en)g
+Ft(SBlo)l(ck)h FA(w)n(as)523 847 y(created)f(b)n(y)g(the)h(o)n(wner)f
+(of)g(the)h(namespace.)648 946 y(Since)k Ft(SBlo)l(ck)p
+FA(s)i(are)d(signed,)h(it)h(is)g(p)r(ossible)f(to)h(allo)n(w)e(up)r
+(dates.)i(Without)g(a)f(digital)523 1046 y(signature,)26
+b(a)h(secure)f(up)r(date)i(mec)n(hanism)e(is)h(imp)r(ossible,)g(since)g
+(an)n(y)n(one)f(could)h(publish)523 1146 y(a)j(p)r(oten)n(tially)g
+(illegitimate)g(up)r(date.)g(If)h(the)f(up)r(date)h(requires)e(a)h
+(matc)n(hing)f(digital)h(sig-)523 1245 y(nature,)35 b(forged)f(up)r
+(dates)h(are)g(imp)r(ossible.)g(In)g(order)f(to)h(allo)n(w)f(con)n(ten)
+n(t)h(up)r(dates,)h(the)523 1345 y(metadata)e(of)h(an)f
+Ft(SBlo)l(ck)i FA(can)e(con)n(tain)g(information)g(ab)r(out)h(when)g
+(and)f(under)h(whic)n(h)523 1445 y(iden)n(ti\014ers)c(up)r(dates)g(ma)n
+(y)g(b)r(e)g(published.)h(If)f(suc)n(h)g(forw)n(ard)e(p)r(oin)n(ters)i
+(are)f(presen)n(t,)h(the)523 1544 y(o)n(wner)f(of)g(the)i(namespace)e
+(can)g(decide)h(to)g(publish)g(up)r(dates)g(to)g(a)f(particular)g
+(\014le)h(at)f(a)523 1644 y(later)35 b(time.)g(Since)h(the)g(priv)-5
+b(ate)35 b(k)n(ey)f(used)h(for)g(signing)g(is)g(o)n(wned)f(b)n(y)h(a)g
+(single)g(en)n(tit)n(y)-7 b(,)523 1743 y(consistency)33
+b(issues)h(from)g(parallel)f(up)r(dates)h(do)g(not)h(arise.)e(ECRS)h
+(do)r(es)g(not)g(prev)n(en)n(t)523 1843 y(the)28 b(o)n(wner)e(of)i(the)
+g(namespace)f(from)g(publishing)g(con\015icting)h(up)r(dates.)648
+1943 y(It)22 b(should)h(b)r(e)g(recognized)e(that)i(the)g(same)f
+(\014le)g(can)h(b)r(e)g(part)f(of)g(m)n(ultiple)h(namespaces)523
+2042 y(under)k(m)n(ultiple)h(iden)n(ti\014ers)f(without)h(the)g(need)f
+(for)g(storing)f(the)i(\014le)f(m)n(ultiple)h(times)g(in)523
+2142 y(the)37 b(net)n(w)n(ork.)e(The)i Ft(IBlo)l(cks)h
+FA(and)e Ft(DBlo)l(cks)i FA(of)e(the)h(\014le)g(do)f(not)h(need)g(to)f
+(b)r(e)h(c)n(hanged)523 2242 y(when)28 b(the)g(namespace)e(or)h
+(namespace)g(iden)n(ti\014er)g(c)n(hanges.)648 2341 y(Namespaces)f
+(cannot)h(completely)h(solv)n(e)e(the)i(searc)n(h)f(problem.)g(Most)g
+(imp)r(ortan)n(tly)-7 b(,)523 2441 y(users)33 b(w)n(ould)g(still)h(ha)n
+(v)n(e)f(to)h(\014nd)g(the)g(namespaces)f(themselv)n(es,)g(and)h(while)
+g(it)g(can)g(b)r(e)523 2540 y(assumed)g(that)h(users)e(can)h(guess)g(k)
+n(eyw)n(ords,)e(they)j(are)e(unlik)n(ely)h(to)h(b)r(e)f(able)h(to)f
+(guess)523 2640 y(public)h(k)n(eys)f(for)h(a)f(namespace)g(searc)n(h.)g
+(ECRS)g(alleviates)g(this)h(problem)g(b)n(y)g(also)e(of-)523
+2740 y(fering)i(a)g(pure)g(k)n(eyw)n(ord-based)d(searc)n(h)i(in)h(a)g
+Ft(glob)l(al)i FA(k)n(eyw)n(ord)c(space)i(where)f(an)n(y)h(user)523
+2839 y(can)g(adv)n(ertise)g(con)n(ten)n(t.)g(Here,)g(the)h(disadv)-5
+b(an)n(tage)34 b(is)i(clearly)f(that)h(it)g(is)f(p)r(ossible)h(for)523
+2939 y(malicious)h(users)g(to)h(p)r(ollute)g(the)g(global)f(k)n(eyw)n
+(ord)f(space)h(with)h(adv)n(ertisemen)n(ts)e(and)523
+3039 y(other)24 b(inappropriate)g(data.)g(Ho)n(w)n(ev)n(er,)f(it)i(is)g
+(assumed)g(that)g(in)g(that)g(case)f(users)g(will)h(use)523
+3138 y(k)n(eyw)n(ords)j(that)j(are)e(more)h(di\016cult)h(to)f(guess)f
+(or)h(only)f(use)i(the)f(global)f(k)n(eyw)n(ord)g(space)523
+3238 y(to)f(disco)n(v)n(er)d(trust)n(w)n(orth)n(y)h(namespaces,)g(th)n
+(us)i(a)n(v)n(oiding)e(spam)h(most)h(of)f(the)h(time.)523
+3392 y
 SDict begin H.S end
- 0 2020
-a 0 2020 a
+ 523 3392 a 523 3392 a
 SDict begin 12 H.A end
- 0 2020 a 0 2020 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.6) cvn H.B /DEST
+ 523 3392 a 523 3392 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.6) cvn H.B /DEST
 pdfmark end
- 0 2020 a 84 x Fs(3.6)h(Keywor)l(d)i(se)l
-(ar)l(ch)0 2272 y Fy(This)25 b(section)f(describ)r(es)g(ho)n(w)g
-(information)g(ab)r(out)h(namespaces)e(or)h(the)h(CHK)g(k)n(eys)0
-2371 y(that)h(are)f(necessary)e(to)j(retriev)n(e)e(a)h(\014le)h(can)f
-(b)r(e)h(obtained)g(b)n(y)f(searc)n(hing)f(using)h(nat-)0
-2471 y(ural)g(language)f Fs(keywor)l(ds)j Fy({)e(without)h(rev)n
-(ealing)d(the)j(k)n(eyw)n(ords)e(to)h(in)n(termediaries.)0
-2571 y(Searc)n(hing)j(requires)f(the)j(con)n(ten)n(t)e(pro)n(vider)g
-(to)h(supply)g(metadata)f(ab)r(out)h(the)h(\014le;)0
-2670 y(in)35 b(particular,)e(the)h(con)n(ten)n(t)g(pro)n(vider)f(m)n
-(ust)h(supply)h(a)e(list)i(of)f(k)n(eyw)n(ords.)e(While)0
-2770 y(the)c(metadata)f(is)g(published)h(as)f(part)g(of)h(the)g
-Fs(KBlo)l(ck)g Fy(and)g(made)f(a)n(v)-5 b(ailable)26
-b(to)i(the)0 2870 y(recipien)n(t)c(the)g(k)n(eyw)n(ords)f(are)g(only)h
-(used)g(to)g(compute)g(the)h Fs(KBlo)l(ck)p Fy(s)g(and)f(not)g(made)0
-2969 y(a)n(v)-5 b(ailable)31 b(to)i(other)f(users)g(directly)-7
-b(.)32 b(It)h(is)g(assumed)f(that)h(the)g(user)f(searc)n(hing)e(for)0
-3069 y(data)21 b(is)h(able)g(to)g Fs(guess)f Fy(at)h(least)g(one)f(of)h
-(these)g(k)n(eyw)n(ords.)e(The)i(nature)f(of)h(the)g(searc)n(h)0
-3168 y(implies)j(that)f(there)g(is)g(no)g(direct,)h(cryptographically)c
-(v)n(eri\014able)j(relation)f(b)r(et)n(w)n(een)0 3268
-y(the)31 b(k)n(eyw)n(ord)f(and)h(the)g(con)n(ten)n(t.)g(Man)n(y)f
-(\014les)h(can)g(matc)n(h)g(a)g(giv)n(en)f(k)n(eyw)n(ord.)f(Dif-)0
-3368 y(feren)n(t)d(users)g(ma)n(y)g(sometimes)g(ha)n(v)n(e)f(a)i
-(di\013eren)n(t)f(p)r(erception)h(of)f(what)h(is)f(a)g(correct)0
-3467 y(seman)n(tic)38 b(matc)n(h.)f(Th)n(us,)h(a)g(k)n(eyw)n(ord)e
-(searc)n(h)h(alw)n(a)n(ys)f(has)h(the)i(p)r(oten)n(tial)f(of)g(re-)0
-3567 y(sulting)32 b(in)g(searc)n(h)f(results)h(that)g(a)g(user)f(ma)n
-(y)g(\014nd)i(inappropriate.)e(It)h(is)g(also)f(not)0
-3667 y(p)r(ossible)e(to)h(prev)n(en)n(t)e(a)i(user)f(from)g(supplying)g
-(k)n(eyw)n(ords)f(that)i(ha)n(v)n(e)e(no)h(seman)n(tic)0
-3766 y(relation)g(with)i(the)f(con)n(ten)n(t)g(and)g(thereb)n(y)g
-(increasing)e(the)j(c)n(hance)e(of)h(other)g(users)0
-3866 y(\014nding)e(undesirable)f(results)g(for)g(those)g(k)n(eyw)n
-(ords.)125 3965 y(Despite)20 b(these)f(fundamen)n(tal)h(dra)n(wbac)n
-(ks,)d(ECRS)i(should)h(\(and)f(can\))h(giv)n(e)e(some)0
-4065 y(un)n(usual)26 b Fs(guar)l(ante)l(es)f Fy(for)h(k)n(eyw)n
-(ord-based)d(searc)n(hes.)h(First,)i(the)g(k)n(eyw)n(ord)e(used)i(for)0
-4165 y(a)31 b(searc)n(h)f(is)i(not)g(exp)r(osed)f(to)g(in)n
-(termediaries)g(in)h(a)f(w)n(a)n(y)g(that)h(w)n(ould)f(allo)n(w)f(them)
-0 4264 y(to)h(easily)f(exercise)g(editorial)h(con)n(trol)e(\(i.e.)j(to)
-f(censor)f(queries\).)g(Note)i(again)e(that)0 4364 y(a)i(guessing)f
-(attac)n(k)h(in)g(whic)n(h)h(the)f(in)n(termediary)f(guesses)h(a)g(k)n
-(eyw)n(ord,)e(computes)0 4464 y(the)35 b(resp)r(ectiv)n(e)f(query)h
-(hash,)f(and)h(attempts)g(to)g(matc)n(h)g(the)g(query)f(hash)h(to)g
-(the)0 4563 y(incoming)24 b(query)-7 b(,)24 b(is)g(considered)f
-(acceptable;)h(plausible)g(deniabilit)n(y)g(for)g(the)h(in)n(ter-)0
-4663 y(mediaries)k(is)g(una\013ected)i(b)n(y)e(this)h(attac)n(k.)f
-(Secondly)-7 b(,)29 b(only)h(p)r(eers)f(that)h(ha)n(v)n(e)f(con-)0
-4762 y(ten)n(t)k(a)n(v)-5 b(ailable)32 b(under)h(the)h(giv)n(en)e(k)n
-(eyw)n(ord)f(should)i(b)r(e)h(able)e(to)h(pro)r(duce)g(a)g(v)-5
-b(alid)p Black Black eop end
-%%Page: 14 14
-TeXDict begin 14 13 bop 0 0 a
+ 523
+3392 a 83 x Fr(3.6)95 b(Keyw)m(ord)32 b(searc)m(h)523
+3629 y FA(This)41 b(section)g(describ)r(es)g(ho)n(w)g(information)g(ab)
+r(out)g(namespaces)f(or)h(the)h(CHK)f(k)n(eys)523 3729
+y(that)30 b(are)f(necessary)e(to)j(retriev)n(e)e(a)h(\014le)h(can)f(b)r
+(e)h(obtained)f(b)n(y)h(searc)n(hing)e(using)h(natural)523
+3828 y(language)20 b Ft(keywor)l(ds)i FA({)f(without)h(rev)n(ealing)d
+(the)j(k)n(eyw)n(ords)d(to)i(in)n(termediaries.)f(Searc)n(hing)523
+3928 y(requires)31 b(the)i(con)n(ten)n(t)f(pro)n(vider)f(to)i(supply)f
+(metadata)g(ab)r(out)h(the)g(\014le;)f(in)h(particular,)523
+4028 y(the)40 b(con)n(ten)n(t)g(pro)n(vider)e(m)n(ust)i(supply)g(a)g
+(list)g(of)g(k)n(eyw)n(ords.)e(While)i(the)h(metadata)e(is)523
+4127 y(published)22 b(as)f(part)f(of)i(the)f Ft(KBlo)l(ck)i
+FA(and)e(made)g(a)n(v)-5 b(ailable)20 b(to)i(the)f(recipien)n(t)g(the)h
+(k)n(eyw)n(ords)523 4227 y(are)34 b(only)h(used)h(to)f(compute)g(the)h
+Ft(KBlo)l(ck)p FA(s)g(and)f(not)h(made)f(a)n(v)-5 b(ailable)34
+b(to)h(other)g(users)523 4327 y(directly)-7 b(.)30 b(It)g(is)g(assumed)
+f(that)h(the)h(user)e(searc)n(hing)f(for)h(data)h(is)g(able)f(to)h
+Ft(guess)g FA(at)f(least)523 4426 y(one)f(of)g(these)h(k)n(eyw)n(ords.)
+d(The)j(nature)f(of)g(the)h(searc)n(h)e(implies)i(that)f(there)h(is)f
+(no)g(direct,)523 4526 y(cryptographically)19 b(v)n(eri\014able)h
+(relation)g(b)r(et)n(w)n(een)h(the)h(k)n(eyw)n(ord)d(and)i(the)h(con)n
+(ten)n(t.)f(Man)n(y)523 4625 y(\014les)26 b(can)f(matc)n(h)h(a)f(giv)n
+(en)g(k)n(eyw)n(ord.)f(Di\013eren)n(t)i(users)f(ma)n(y)g(sometimes)h
+(ha)n(v)n(e)e(a)i(di\013eren)n(t)523 4725 y(p)r(erception)i(of)f(what)h
+(is)g(a)f(correct)g(seman)n(tic)g(matc)n(h.)h(Th)n(us,)f(a)h(k)n(eyw)n
+(ord)e(searc)n(h)g(alw)n(a)n(ys)523 4825 y(has)20 b(the)h(p)r(oten)n
+(tial)f(of)h(resulting)f(in)g(searc)n(h)f(results)h(that)h(a)f(user)g
+(ma)n(y)g(\014nd)g(inappropriate.)523 4924 y(It)31 b(is)g(also)f(not)h
+(p)r(ossible)f(to)h(prev)n(en)n(t)f(a)g(user)h(from)f(supplying)h(k)n
+(eyw)n(ords)d(that)k(ha)n(v)n(e)d(no)p Black Black eop
+end
+%%Page: 13 13
+TeXDict begin 13 12 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(14)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-Black 25 273 a Fp(H)6 b Fu(\()p Fp(K)f Fu(\))545 225
-y Fg(\(as)28 b(random)h(seed\))1231 254 y Fo(/)p Fn(/)p
-249 256 982 4 v 395 538 a Fg(\(as)f(key\))570 816 y Fo(\034)p
-Fn(\034)544 784 y Fl(8)520 752 y(8)495 721 y(8)470 690
-y(8)446 659 y(8)421 628 y(8)396 597 y(8)372 565 y(8)347
-534 y(8)322 503 y(8)298 472 y(8)273 441 y(8)248 410 y(8)224
-378 y(8)199 347 y(8)174 316 y(8)p 1230 197 2 2 v 1231
-198 315 4 v 1546 197 2 2 v 1229 312 4 114 v 1548 312
-V 1230 315 2 2 v 1231 316 315 4 v 1546 315 2 2 v 1256
-272 a Fp(K)5 b(ey)s(g)s(en)1414 569 y Fk(P)j(r)r(v)1523
-583 y Fh(H)s Ff(\()p Fh(K)s Ff(\))1389 816 y Fo(\017)p
-Fn(\017)p 1388 816 4 505 v 1683 361 a Fk(P)g(ub)1794
-375 y Fh(H)s Ff(\()p Fh(K)s Ff(\))1997 521 y Fo(\()p
-Fn(\()1959 504 y Fl(Q)1922 488 y(Q)1886 472 y(Q)1849
-456 y(Q)1813 440 y(Q)1776 424 y(Q)1740 408 y(Q)1703 392
-y(Q)1667 376 y(Q)1630 360 y(Q)1594 344 y(Q)1557 328 y(Q)1521
-312 y(Q)p 1996 517 2 2 v 1997 518 206 4 v 2203 517 2
-2 v 1995 617 4 100 v 2206 617 V 1996 620 2 2 v 1997 621
-206 4 v 2203 620 2 2 v 2022 592 a Fp(J)f(oin)2405 566
-y Fo(+)p Fn(3)p 2206 560 179 4 v 2206 576 V 2430 592
-a Fp(K)e(B)t(l)q(ock)50 900 y(data)449 874 y Fo(/)p Fn(/)p
-224 876 225 4 v 448 817 2 2 v 449 818 331 4 v 780 817
-2 2 v 447 932 4 114 v 782 932 V 448 935 2 2 v 449 936
-331 4 v 780 935 2 2 v 474 892 a Fp(E)t(ncr)r(y)s(pt)820
-936 y Fk(E)865 950 y Fh(H)s Ff(\()p Fh(K)s Ff(\))1014
-936 y Fv(\()p Fk(data)p Fv(\))1283 874 y Fo(/)p Fn(/)p
-782 876 501 4 v 1282 817 2 2 v 1284 818 210 4 v 1494
-817 2 2 v 1281 932 4 114 v 1496 932 V 1282 935 2 2 v
-1284 936 210 4 v 1494 935 2 2 v 1308 892 a Fp(S)t(ig)s(n)1997
-611 y Fo(6)p Fn(6)1959 628 y Fl(m)1923 643 y(m)1887 659
-y(m)1852 674 y(m)1816 689 y(m)1781 705 y(m)1745 720 y(m)1709
-736 y(m)1674 751 y(m)1638 766 y(m)1603 782 y(m)1567 797
-y(m)1532 813 y(m)1496 828 y(m)1757 791 y Fu([)p Fp(E)1835
-803 y Fk(H)t Fv(\()p Fk(K)s Fv(\))1995 791 y Fu(\()p
-Fp(data)p Fu(\)])2226 799 y Fk(P)j(r)r(v)2335 813 y Fh(H)s
-Ff(\()p Fh(K)s Ff(\))0 1102 y Fj(Fig.)29 b(2)p 0 TeXcolorgray
-267 1010 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
+b(13)p Black Black 548 473 a Fp(H)6 b Fx(\()p Fp(K)f
+Fx(\))1068 425 y Fg(\(as)28 b(random)i(seed\))1754 454
+y Fo(/)p Fn(/)p 772 456 982 4 v 918 738 a Fg(\(as)e(key\))1093
+1016 y Fo(\034)p Fn(\034)1067 984 y Fl(8)1043 952 y(8)1018
+921 y(8)993 890 y(8)969 859 y(8)944 828 y(8)919 797 y(8)895
+765 y(8)870 734 y(8)845 703 y(8)821 672 y(8)796 641 y(8)771
+610 y(8)747 578 y(8)722 547 y(8)697 516 y(8)p 1753 397
+2 2 v 1755 398 315 4 v 2070 397 2 2 v 1752 512 4 114
+v 2071 512 V 1753 515 2 2 v 1755 516 315 4 v 2070 515
+2 2 v 1779 472 a Fp(K)5 b(ey)s(g)s(en)1937 769 y Fk(P)j(r)r(v)2046
+783 y Fh(H)s Ff(\()p Fh(K)s Ff(\))1913 1016 y Fo(\017)p
+Fn(\017)p 1911 1016 4 505 v 2206 561 a Fk(P)g(ub)2317
+575 y Fh(H)s Ff(\()p Fh(K)s Ff(\))2520 720 y Fo(\()p
+Fn(\()2482 704 y Fl(Q)2445 688 y(Q)2409 672 y(Q)2372
+656 y(Q)2336 640 y(Q)2299 624 y(Q)2263 608 y(Q)2226 592
+y(Q)2190 576 y(Q)2153 560 y(Q)2117 544 y(Q)2080 528 y(Q)2044
+512 y(Q)p 2519 717 2 2 v 2521 718 206 4 v 2727 717 2
+2 v 2518 817 4 100 v 2729 817 V 2519 820 2 2 v 2521 821
+206 4 v 2727 820 2 2 v 2545 792 a Fp(J)f(oin)2928 766
+y Fo(+)p Fn(3)p 2729 760 179 4 v 2729 776 V 2953 792
+a Fp(K)e(B)t(l)q(ock)573 1100 y(data)972 1074 y Fo(/)p
+Fn(/)p 747 1076 225 4 v 971 1017 2 2 v 972 1018 331 4
+v 1303 1017 2 2 v 970 1132 4 114 v 1305 1132 V 971 1135
+2 2 v 972 1136 331 4 v 1303 1135 2 2 v 997 1092 a Fp(E)t(ncr)r(y)s(pt)
+1343 1136 y Fk(E)1388 1150 y Fh(H)s Ff(\()p Fh(K)s Ff(\))1537
+1136 y Fy(\()p Fk(data)p Fy(\))1806 1074 y Fo(/)p Fn(/)p
+1305 1076 501 4 v 1805 1017 2 2 v 1807 1018 210 4 v 2017
+1017 2 2 v 1804 1132 4 114 v 2019 1132 V 1805 1135 2
+2 v 1807 1136 210 4 v 2017 1135 2 2 v 1831 1092 a Fp(S)t(ig)s(n)2520
+811 y Fo(6)p Fn(6)2482 828 y Fl(m)2446 843 y(m)2410 859
+y(m)2375 874 y(m)2339 889 y(m)2304 905 y(m)2268 920 y(m)2233
+936 y(m)2197 951 y(m)2161 966 y(m)2126 982 y(m)2090 997
+y(m)2055 1013 y(m)2019 1028 y(m)2280 991 y Fx([)p Fp(E)2358
+1003 y Fk(H)t Fy(\()p Fk(K)s Fy(\))2518 991 y Fx(\()p
+Fp(data)p Fx(\)])2749 999 y Fk(P)j(r)r(v)2858 1013 y
+Fh(H)s Ff(\()p Fh(K)s Ff(\))523 1339 y Fr(Fig.)15 b(2.)p
+0 TeXcolorgray 799 1240 a
 SDict begin H.S end
- 267 1010 a 0 TeXcolorgray 0 TeXcolorgray 267
-1010 a
+ 799 1240 a 0 TeXcolorgray 0
+TeXcolorgray 799 1240 a
 SDict begin H.R end
- 267 1010 a 267 1010 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.2) cvn H.B /DEST pdfmark
+ 799 1240 a 799 1240 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.1.2) cvn H.B /DEST pdfmark
 end
- 267 1010 a Black 92 x Fu(The)d
-(construction)h(of)g(a)f Fq(KBlo)l(ck)p Fu(.)h(The)f(hash)g
-Fp(H)6 b Fu(\()p Fp(K)f Fu(\))25 b(of)i(the)f(k)n(eyw)n(ord)f
-Fp(K)31 b Fu(is)c(used)0 1193 y(to)37 b(encrypt)f(the)g(data)h(and)g
-(to)g(seed)g(the)f(k)n(ey)g(generator.)i(The)f(obtained)g(priv)l(ate)g
-(k)n(ey)0 1284 y Fp(P)11 b(r)r(v)134 1296 y Fk(H)t Fv(\()p
-Fk(K)s Fv(\))321 1284 y Fu(signs)28 b(the)e(encrypted)g(data,)h(but)g
-(is)g(not)g(otherwise)h(used.)f(Finally)-6 b(,)27 b(the)g(public)0
-1376 y(k)n(ey)e Fp(P)11 b(ub)276 1388 y Fk(H)t Fv(\()p
-Fk(K)s Fv(\))461 1376 y Fu(is)27 b(app)r(ended)d(to)i(the)f(signed)i
-(data)e(to)h(form)h(the)e Fq(KBlo)l(ck)p Fu(.)p Black
-Black Black 0 1819 a Fy(resp)r(onse.)33 b(In)i(other)f(w)n(ords,)f(the)
-i(ultimate)g(resp)r(onder)e(m)n(ust)h(ha)n(v)n(e)g(succeeded)g(in)0
-1919 y(guessing)28 b(the)h(k)n(eyw)n(ord.)f(This)h(is)g(imp)r(ortan)n
-(t)g(since)g(it)g(prev)n(en)n(ts)f(p)r(eers)h(from)g(mak-)0
-2018 y(ing)23 b(up)h(replies)f(for)g(arbitrary)f(requests)h
-(on-the-\015y)-7 b(.)23 b(If)h(p)r(eers)f(w)n(ere)g(able)g(to)g(resp)r
-(ond)0 2118 y(to)32 b(an)n(y)f(k)n(eyw)n(ord)f(query)i(without)g(ha)n
-(ving)f(to)h(at)g(least)g(guess)f(the)h(k)n(eyw)n(ord,)f(they)0
-2217 y(could)c(use)g(this)h(to)g(spam)f(ev)n(ery)f(p)r(ossible)h(searc)
-n(h,)f(rendering)g(the)i(k)n(eyw)n(ord)d(searc)n(h)0
-2317 y(mostly)e(useless.)f(F)-7 b(orcing)21 b(resp)r(onders)h(to)h
-(guess)f(k)n(eyw)n(ords)e(do)r(es)j(not)g(eliminate)g(the)0
-2417 y(problem)c(completely;)h(ho)n(w)n(ev)n(er,)e(it)j(do)r(es)e
-(limit)i(the)f(attac)n(k)f(to)h(the)h(common,)e(easily-)0
-2516 y(guessed)32 b(k)n(eyw)n(ords.)f(Finally)-7 b(,)33
-b(the)h(v)n(eri\014cation)e(that)h(a)g(resp)r(onse)f(is)h(v)-5
-b(alid)33 b(should)0 2616 y(b)r(e)28 b(p)r(ossible)f(not)h(only)f(for)g
-(the)h(\014nal)g(recipien)n(t,)f(but)h(also)f(for)g(in)n(termediaries.)
-125 2734 y(ECRS)h(ac)n(hiev)n(es)f(all)i(of)f(this)h(with)g(a)g
-Fs(new)i(crypto)l(gr)l(aphic)i(primitive)d Fy(called)f
-Fr(K)6 b Fs(-)0 2833 y(deterministic)31 b(keys)e Fy(whic)n(h)f(is)g(a)g
-(k)n(ey)g(pair)f(\()p Fr(P)12 b(ub)1576 2848 y Fi(H)t
-Fw(\()p Fi(K)t Fw(\))1750 2833 y Fr(;)i(P)e(r)r(v)1931
-2848 y Fi(H)t Fw(\()p Fi(K)t Fw(\))2107 2833 y Fy(\))28
-b(generated)f(from)0 2933 y(a)40 b(k)n(eyw)n(ord)f Fr(K)6
-b Fy(.)41 b(The)f(hash)h Fr(H)7 b Fy(\()p Fr(K)f Fy(\))40
-b(of)h(the)g(k)n(eyw)n(ord)e(is)i(used)f(as)g(the)i(seed)e(and)0
-3033 y(the)29 b(only)f(input)i(to)e(the)h(pseudo-random)e(n)n(um)n(b)r
-(er)h(generator)f(that)h(generates)g(the)0 3132 y(public-priv)-5
-b(ate)41 b(k)n(ey)g(pair.)g(The)g(authors)g(are)f(not)h(a)n(w)n(are)f
-(of)h(an)n(y)g(previous)f(use)0 3232 y(of)35 b Fr(K)6
-b Fy(-deterministic)34 b(k)n(eys.)h(Giv)n(en)f(suc)n(h)h(a)g(k)n(ey)f
-(pair,)g(the)i(inserting)e(p)r(eer)h(gener-)0 3331 y(ates)c
-Fs(KBlo)l(ck)p Fy(s)g(b)n(y)g(signing)f(the)i(metadata)e(necessary)f
-(to)i(do)n(wnload)f(the)h(\014le)g(with)0 3431 y Fr(P)12
-b(r)r(v)144 3446 y Fi(H)t Fw(\()p Fi(K)t Fw(\))320 3431
-y Fy(.)31 b Fs(KBlo)l(ck)p Fy(s)h(are)f(essen)n(tially)f(lik)n(e)h
-Fs(SBlo)l(ck)p Fy(s)h(with)g(the)g(di\013erence)f(that)h(the)0
-3531 y Fr(K)6 b Fy(-determinate)30 b(k)n(ey)g(is)h(used)f(instead)h(of)
-g(the)g(pseudon)n(ym.)f(The)h(construction)f(of)0 3630
-y(a)d Fs(KBlo)l(ck)i Fy(is)e(sho)n(wn)g(in)h(Figure)p
-1 0 0 TeXcolorrgb 1049 3630 a
+ 799 1240
+a Black 99 x FA(The)25 b(construction)f(of)g(a)h Ft(KBlo)l(ck)p
+FA(.)h(The)e(hash)h Fs(H)7 b FA(\()p Fs(K)f FA(\))24
+b(of)h(the)g(k)n(eyw)n(ord)e Fs(K)30 b FA(is)25 b(used)523
+1439 y(to)36 b(encrypt)f(the)h(data)f(and)g(to)h(seed)f(the)h(k)n(ey)f
+(generator.)e(The)j(obtained)f(priv)-5 b(ate)36 b(k)n(ey)523
+1538 y Fs(P)12 b(r)r(v)667 1553 y Fi(H)t Fz(\()p Fi(K)t
+Fz(\))867 1538 y FA(signs)24 b(the)h(encrypted)f(data,)g(but)h(is)f
+(not)g(otherwise)g(used.)g(Finally)-7 b(,)25 b(the)g(public)523
+1638 y(k)n(ey)i Fs(P)12 b(ub)822 1653 y Fi(H)t Fz(\()p
+Fi(K)t Fz(\))1023 1638 y FA(is)28 b(app)r(ended)g(to)f(the)h(signed)f
+(data)g(to)h(form)f(the)h Ft(KBlo)l(ck)p FA(.)p Black
+Black Black 523 2159 a(seman)n(tic)33 b(relation)f(with)h(the)h(con)n
+(ten)n(t)e(and)h(thereb)n(y)f(increasing)g(the)h(c)n(hance)g(of)g
+(other)523 2259 y(users)27 b(\014nding)g(undesirable)g(results)g(for)g
+(those)h(k)n(eyw)n(ords.)648 2396 y(Despite)38 b(these)g(fundamen)n
+(tal)h(dra)n(wbac)n(ks,)c(ECRS)j(should)g(\(and)g(can\))g(giv)n(e)g
+(some)523 2496 y(un)n(usual)e Ft(guar)l(ante)l(es)f FA(for)h(k)n(eyw)n
+(ord-based)d(searc)n(hes.)h(First,)i(the)g(k)n(eyw)n(ord)e(used)i(for)f
+(a)523 2595 y(searc)n(h)28 b(is)h(not)g(exp)r(osed)f(to)h(in)n
+(termediaries)f(in)i(a)e(w)n(a)n(y)g(that)i(w)n(ould)e(allo)n(w)g(them)
+i(to)f(eas-)523 2695 y(ily)g(exercise)g(editorial)f(con)n(trol)g
+(\(i.e.)i(to)f(censor)f(queries\).)h(Note)g(again)g(that)g(a)g
+(guessing)523 2795 y(attac)n(k)35 b(in)h(whic)n(h)g(the)h(in)n
+(termediary)d(guesses)h(a)h(k)n(eyw)n(ord,)e(computes)h(the)i(resp)r
+(ectiv)n(e)523 2894 y(query)d(hash,)h(and)g(attempts)h(to)f(matc)n(h)g
+(the)g(query)g(hash)f(to)h(the)h(incoming)f(query)-7
+b(,)34 b(is)523 2994 y(considered)c(acceptable;)g(plausible)h
+(deniabilit)n(y)g(for)f(the)h(in)n(termediaries)f(is)h(una\013ected)523
+3094 y(b)n(y)c(this)g(attac)n(k.)f(Secondly)-7 b(,)26
+b(only)h(p)r(eers)f(that)h(ha)n(v)n(e)f(con)n(ten)n(t)g(a)n(v)-5
+b(ailable)26 b(under)h(the)g(giv)n(en)523 3193 y(k)n(eyw)n(ord)32
+b(should)h(b)r(e)h(able)g(to)f(pro)r(duce)h(a)f(v)-5
+b(alid)34 b(resp)r(onse.)e(In)i(other)f(w)n(ords,)g(the)h(ulti-)523
+3293 y(mate)24 b(resp)r(onder)e(m)n(ust)i(ha)n(v)n(e)e(succeeded)h(in)h
+(guessing)f(the)h(k)n(eyw)n(ord.)d(This)j(is)f(imp)r(ortan)n(t)523
+3392 y(since)f(it)g(prev)n(en)n(ts)f(p)r(eers)g(from)h(making)f(up)i
+(replies)e(for)g(arbitrary)f(requests)h(on-the-\015y)-7
+b(.)22 b(If)523 3492 y(p)r(eers)e(w)n(ere)g(able)h(to)g(resp)r(ond)f
+(to)h(an)n(y)f(k)n(eyw)n(ord)f(query)h(without)h(ha)n(ving)f(to)h(at)f
+(least)h(guess)523 3592 y(the)33 b(k)n(eyw)n(ord,)f(they)h(could)f(use)
+h(this)h(to)e(spam)h(ev)n(ery)f(p)r(ossible)g(searc)n(h,)g(rendering)g
+(the)523 3691 y(k)n(eyw)n(ord)e(searc)n(h)g(mostly)i(useless.)f(F)-7
+b(orcing)31 b(resp)r(onders)f(to)i(guess)f(k)n(eyw)n(ords)f(do)r(es)h
+(not)523 3791 y(eliminate)c(the)g(problem)f(completely;)h(ho)n(w)n(ev)n
+(er,)d(it)j(do)r(es)g(limit)g(the)g(attac)n(k)f(to)h(the)g(com-)523
+3891 y(mon,)33 b(easily-guessed)d(k)n(eyw)n(ords.)g(Finally)-7
+b(,)33 b(the)g(v)n(eri\014cation)e(that)i(a)f(resp)r(onse)g(is)g(v)-5
+b(alid)523 3990 y(should)27 b(b)r(e)h(p)r(ossible)g(not)f(only)g(for)h
+(the)f(\014nal)h(recipien)n(t,)f(but)h(also)f(for)g(in)n(termediaries.)
+648 4127 y(ECRS)43 b(ac)n(hiev)n(es)g(all)h(of)g(this)g(with)h(a)f
+Ft(new)h(crypto)l(gr)l(aphic)i(primitive)f FA(called)e
+Fs(K)6 b Ft(-)523 4227 y(deterministic)40 b(keys)f FA(whic)n(h)f(is)g
+(a)g(k)n(ey)f(pair)g(\()p Fs(P)12 b(ub)2167 4242 y Fi(H)t
+Fz(\()p Fi(K)t Fz(\))2341 4227 y Fs(;)i(P)e(r)r(v)2522
+4242 y Fi(H)t Fz(\()p Fi(K)t Fz(\))2698 4227 y FA(\))38
+b(generated)f(from)g(a)523 4327 y(k)n(eyw)n(ord)32 b
+Fs(K)6 b FA(.)34 b(The)g(hash)f Fs(H)7 b FA(\()p Fs(K)f
+FA(\))34 b(of)g(the)g(k)n(eyw)n(ord)e(is)i(used)g(as)f(the)i(seed)e
+(and)h(the)g(only)523 4426 y(input)26 b(to)e(the)h(pseudo-random)e(n)n
+(um)n(b)r(er)i(generator)d(that)j(generates)e(the)i(public-priv)-5
+b(ate)523 4526 y(k)n(ey)23 b(pair.)f(The)i(authors)e(are)g(not)i(a)n(w)
+n(are)d(of)i(an)n(y)g(previous)f(use)h(of)g Fs(K)6 b
+FA(-deterministic)23 b(k)n(eys.)523 4625 y(Giv)n(en)g(suc)n(h)g(a)g(k)n
+(ey)f(pair,)h(the)g(inserting)g(p)r(eer)g(generates)e
+Ft(KBlo)l(ck)p FA(s)k(b)n(y)d(signing)h(the)g(meta-)523
+4725 y(data)30 b(necessary)g(to)h(do)n(wnload)e(the)i(\014le)h(with)f
+Fs(P)12 b(r)r(v)2186 4740 y Fi(H)t Fz(\()p Fi(K)t Fz(\))2362
+4725 y FA(.)31 b Ft(KBlo)l(ck)p FA(s)h(are)d(essen)n(tially)h(lik)n(e)
+523 4825 y Ft(SBlo)l(ck)p FA(s)k(with)g(the)g(di\013erence)f(that)h
+(the)f Fs(K)6 b FA(-determinate)33 b(k)n(ey)g(is)g(used)g(instead)g(of)
+h(the)523 4924 y(pseudon)n(ym.)27 b(The)h(construction)f(of)g(a)g
+Ft(KBlo)l(ck)i FA(is)e(sho)n(wn)g(in)h(Figure)p 1 0 0
+TeXcolorrgb 2770 4924 a
 SDict begin H.S end
- 1049 3630 a 1 0 0 TeXcolorrgb
-Fy(2)p 1 0 0 TeXcolorrgb 1091 3577 a
+ 2770 4924 a 1 0 0 TeXcolorrgb
+FA(2)p 1 0 0 TeXcolorrgb 2812 4871 a
 SDict begin H.R end
- 1091 3577 a 1091
-3630 a
+ 2812 4871 a 2812
+4924 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.2) cvn H.B /ANN pdfmark end
- 1091 3630 a Black Fy(.)125 3748 y(A)33 b(p)r(eer)f(searc)n(hing)
-f(for)h Fr(K)39 b Fy(also)31 b(computes)i Fr(P)12 b(ub)1712
-3763 y Fi(H)t Fw(\()p Fi(K)t Fw(\))1919 3748 y Fy(using)32
-b(the)h(same)f(deter-)0 3848 y(ministic)21 b(k)n(ey-generation)d
-(algorithm)i(\()p Fr(P)12 b(r)r(v)1404 3863 y Fi(H)t
-Fw(\()p Fi(K)t Fw(\))1600 3848 y Fy(is)20 b(also)g(computed)h(but)g
-(not)g(used\).)0 3947 y(The)26 b(p)r(eer)f(then)h(uses)f
-Fr(H)7 b Fy(\()p Fr(P)12 b(ub)967 3962 y Fi(H)t Fw(\()p
-Fi(K)t Fw(\))1141 3947 y Fy(\))26 b(as)e(the)i(query)f(hash.)g(In)n
-(termediaries)f(can)h(v)n(er-)0 4047 y(ify)j(that)h(the)f(resp)r(onse)f
-(is)h(v)-5 b(alid)29 b(b)n(y)e(c)n(hec)n(king)g(the)i
-Fs(KBlo)l(ck)p Fy(s)g(signature)e(against)g(its)0 4147
-y(public)h(k)n(ey)-7 b(,)27 b(and)h(c)n(hec)n(king)e(that)i(the)g
-(public)g(k)n(ey)f(hashes)g(to)h(the)g(query)f(hash.)g(Y)-7
-b(et)0 4246 y(in)n(termediaries)29 b(are)h(unable)g(to)g(decrypt)g(the)
-h(resp)r(onse)f(or)f(learn)h(the)h(k)n(eyw)n(ord)d Fr(K)0
-4346 y Fy(that)g(w)n(as)e(used)i(to)g(generate)e(the)i(public)g(k)n(ey)
-f(without)h(guessing.)125 4464 y(In)39 b(conclusion,)g(using)g
-Fs(KBlo)l(ck)p Fy(s)i(it)e(is)h(p)r(ossible)f(to)g(allo)n(w)g(in)n
-(termediaries)f(to)0 4563 y(v)n(erify)26 b(the)i(in)n(tegrit)n(y)e(of)h
-(replies)f(without)i(learning)e(the)h(plain)n(text)g(of)g(the)h(k)n
-(eyw)n(ord)0 4663 y(or)33 b(the)i(resp)r(onse.)e Fs(KBlo)l(ck)p
-Fy(s)i(require)f(a)f(k)n(eyw)n(ord)g(guess,)g(making)h(it)g(it)h
-(harder)e(to)0 4762 y(reply)21 b(to)g(arbitrary)e(queries)h(with)i
-(random)e(data;)h(they)h(cannot)f(prev)n(en)n(t)f(users)g(from)p
-Black Black eop end
-%%Page: 15 15
-TeXDict begin 15 14 bop 0 0 a
+(figure.1.2) cvn H.B /ANN pdfmark end
+ 2812 4924 a Black FA(.)p Black Black eop end
+%%Page: 14 14
+TeXDict begin 14 13 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(15)p Black
-Black 0 169 2715 4 v 0 239 a
+ 523 232 a Black Fx(14)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black Black 523 369 2882 4 v 523 439 a
 SDict begin H.S end
- 0 239 a 0 239 a
+ 523 439 a 523
+439 a
 SDict begin 11 H.A end
- 0 239 a
-0 239 a
+ 523 439 a 523 439 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.1) cvn H.B /DEST pdfmark
 end
- 0 239 a Black 23 296 a Fu(1.)p Black 43 w(Input:)24
-b(Con)n(ten)n(t)h Fp(C)5 b Fu(,)27 b(a)f(list)g(of)g(k)n(eyw)n(ords)g
-Fe(f)p Fp(K)1475 304 y Fv(1)1510 296 y Fp(;)13 b(:::)p
-Fe(g)27 b Fu(and)e(metadata)i Fp(D)r Fu(.)0 314 y
+ 523 439 a Black 563 496 a Fx(1.)p
+Black 42 w(Input:)e(Con)n(ten)n(t)g Fp(C)5 b Fx(,)26
+b(a)g(list)h(of)f(k)n(eyw)n(ords)f Fe(f)p Fp(K)2014 504
+y Fy(1)2049 496 y Fp(;)14 b(:::)p Fe(g)27 b Fx(and)e(metadata)h
+Fp(D)r Fx(.)523 514 y
 SDict begin H.S end
- 0 314
-a 0 314 a
+ 523 514 a 523 514 a
 SDict begin 11 H.A end
- 0 314 a 0 314 a
+ 523 514 a 523
+514 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.2) cvn H.B /DEST pdfmark
 end
- 0 314 a Black 23 387 a Fu(2.)p
-Black 43 w(Split)e(con)n(ten)n(t)g Fp(C)31 b Fu(in)n(to)26
-b(blo)r(c)n(ks)f Fp(B)1113 395 y Fk(i)1140 387 y Fu(,)h(eac)n(h)g(of)g
-(size)h(32Kb.)f(Call)h(these)f Fq(DBlo)l(cks)p Fu(.)0
-402 y
+ 523 514 a Black 563 587 a Fx(2.)p Black 42 w(Split)g(con)n(ten)n
+(t)f Fp(C)30 b Fx(in)n(to)c(blo)r(c)n(ks)g Fp(B)1653
+595 y Fk(i)1680 587 y Fx(,)f(eac)n(h)h(of)h(size)f(32Kb.)g(Call)i
+(these)d Fq(DBlo)l(cks)p Fx(.)523 602 y
 SDict begin H.S end
- 0 402 a 0 402 a
+ 523 602 a 523
+602 a
 SDict begin 11 H.A end
- 0 402 a 0 402 a
+ 523 602 a 523 602 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.3) cvn H.B /DEST pdfmark
 end
- 0 402 a Black 23
-478 a Fu(3.)p Black 43 w(Compute)i(hash)f(v)l(alues)h
-Fp(H)942 443 y Fk(k)q(ey)936 498 y(i)1068 478 y Fu(=)c
-Fp(H)6 b Fu(\()p Fp(B)1310 486 y Fk(i)1336 478 y Fu(\),)28
-b Fp(E)1472 486 y Fk(i)1523 478 y Fu(=)d Fp(E)1665 486
-y Fk(H)1715 498 y Fh(k)q(ey)1814 478 y Fu(\()p Fp(B)1902
-486 y Fk(i)1929 478 y Fu(\))i(and)h Fp(H)2208 443 y Fk(q)r(uer)r(y)2202
-498 y(i)2397 478 y Fu(=)c Fp(H)6 b Fu(\()p Fp(E)2638
-486 y Fk(i)2664 478 y Fu(\).)125 585 y(F)-6 b(orm)25
-b Fq(CHK)497 593 y Fk(i)549 585 y Fu(from)i(\()p Fp(H)831
-549 y Fk(q)r(uer)r(y)825 604 y(i)994 585 y Fp(;)13 b(H)1098
-549 y Fk(k)q(ey)1092 604 y(i)1199 585 y Fu(\).)25 b(P)n(ad)h(con)n(ten)
-n(t)f(\(with)h(zeros\))g(if)h(needed.)0 604 y
+ 523 602 a Black 563 678 a Fx(3.)p
+Black 42 w(Compute)f(hash)f(v)l(alues)h Fp(H)1469 643
+y Fk(k)q(ey)1463 698 y(i)1590 678 y Fx(=)d Fp(H)6 b Fx(\()p
+Fp(B)1829 686 y Fk(i)1855 678 y Fx(\),)23 b Fp(E)1986
+686 y Fk(i)2034 678 y Fx(=)e Fp(E)2172 686 y Fk(H)2222
+698 y Fh(k)q(ey)2321 678 y Fx(\()p Fp(B)2409 686 y Fk(i)2436
+678 y Fx(\))i(and)g Fp(H)2706 643 y Fk(q)r(uer)r(y)2700
+698 y(i)2891 678 y Fx(=)e Fp(H)6 b Fx(\()p Fp(E)3129
+686 y Fk(i)3154 678 y Fx(\).)24 b(F)-6 b(orm)664 785
+y Fq(CHK)835 793 y Fk(i)887 785 y Fx(from)26 b(\()p Fp(H)1168
+749 y Fk(q)r(uer)r(y)1162 804 y(i)1332 785 y Fp(;)13
+b(H)1436 749 y Fk(k)q(ey)1430 804 y(i)1536 785 y Fx(\).)26
+b(P)n(ad)g(con)n(ten)n(t)f(\(with)h(zeros\))g(if)h(needed.)523
+804 y
 SDict begin H.S end
- 0 604 a
-0 604 a
+ 523 804 a 523 804 a
 SDict begin 11 H.A end
- 0 604 a 0 604 a
+ 523 804 a 523 804 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.4) cvn H.B /DEST pdfmark
 end
- 0 604 a Black 23 676 a Fu(4.)p
-Black 43 w(Store)e Fp(E)382 684 y Fk(i)434 676 y Fu(under)g(the)g(name)
-h Fp(H)1059 640 y Fk(q)r(uer)r(y)1053 696 y(i)1222 676
-y Fu(.)0 696 y
+ 523 804
+a Black 563 876 a Fx(4.)p Black 42 w(Store)f Fp(E)922
+884 y Fk(i)973 876 y Fx(under)f(the)g(name)h Fp(H)1598
+840 y Fk(q)r(uer)r(y)1592 896 y(i)1762 876 y Fx(.)523
+896 y
 SDict begin H.S end
- 0 696 a 0 696 a
+ 523 896 a 523 896 a
 SDict begin 11 H.A end
- 0 696 a 0 696 a
+ 523 896 a 523 896 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.5) cvn H.B /DEST pdfmark
 end
- 0 696
-a Black 23 767 a Fu(5.)p Black 43 w(If)e(there)h(is)g(more)g(than)f
-(one)h(blo)r(c)n(k,)g(group)f(the)h(blo)r(c)n(ks)f(in)n(to)h(disjoin)n
-(t)h(sets)f Fp(I)2394 775 y Fk(j)2450 767 y Fu(of)h(up)e(to)125
-859 y(256)30 b(mem)n(b)r(ers.)g(F)-6 b(or)30 b(eac)n(h)f
-Fp(I)971 867 y Fk(j)1003 859 y Fu(,)h(create)g Fq(Iblo)l(ck)1474
-867 y Fk(j)1536 859 y Fu(con)n(taining)h(the)e Fq(CHK)p
-Fu(s)g(of)h(the)f(blo)r(c)n(ks)125 950 y(in)d Fp(I)249
-958 y Fk(j)281 950 y Fu(.)h(Add)f(zero)i(padding)e(if)i(needed.)e(Pro)r
-(cess)j(eac)n(h)e(new)g(32Kb)f(blo)r(c)n(k)h(obtained)g(as)125
-1041 y(in)e(step)p 1 0 0 TeXcolorrgb 377 1041 a
+ 523 896
+a Black 563 967 a Fx(5.)p Black 42 w(If)g(there)f(is)g(more)h(than)f
+(one)g(blo)r(c)n(k,)h(group)f(the)g(blo)r(c)n(ks)g(in)n(to)h(disjoin)n
+(t)g(sets)g Fp(I)2942 975 y Fk(j)2999 967 y Fx(of)g(up)e(to)i(256)664
+1059 y(mem)n(b)r(ers.)e(F)-6 b(or)23 b(eac)n(h)h Fp(I)1348
+1067 y Fk(j)1380 1059 y Fx(,)f(create)h Fq(Iblo)l(ck)1838
+1067 y Fk(j)1894 1059 y Fx(con)n(taining)g(the)f Fq(CHK)p
+Fx(s)g(of)h(the)f(blo)r(c)n(ks)g(in)g Fp(I)3185 1067
+y Fk(j)3218 1059 y Fx(.)g(Add)664 1150 y(zero)k(padding)e(if)h(needed.)
+g(Pro)r(cess)h(eac)n(h)f(new)g(32Kb)f(blo)r(c)n(k)h(obtained)g(as)g(in)
+g(step)p 1 0 0 TeXcolorrgb 3146 1150 a
 SDict begin H.S end
- 377 1041
-a 1 0 0 TeXcolorrgb Fu(3)p 1 0 0 TeXcolorrgb 415 993
-a
+ 3146 1150 a 1 0 0
+TeXcolorrgb Fx(3)p 1 0 0 TeXcolorrgb 3185 1102 a
 SDict begin H.R end
- 415 993 a 415 1041 a
+ 3185
+1102 a 3185 1150 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (Item.3) cvn H.B /ANN pdfmark end
- 415 1041 a Black Fu(.)0 1056 y
+ 3185 1150 a Black Fx(.)523 1165 y
 SDict begin H.S end
 
-0 1056 a 0 1056 a
+523 1165 a 523 1165 a
 SDict begin 11 H.A end
- 0 1056 a 0 1056 a
+ 523 1165 a 523 1165 a
 SDict begin [ /View [/XYZ H.V] /Dest (Item.6) cvn H.B /DEST pdfmark
 end
- 0 1056 a Black 23
-1132 a Fu(6.)p Black 43 w(If)32 b(the)h(size)h(of)f Fp(C)38
-b Fu(w)n(as)c(smaller)g(than)f(32Kb)g(\(and)f(th)n(us)g(there)h(is)g
-(only)g(one)g(pair)g(of)125 1224 y(hashco)r(des)e Fq(CHK)662
-1232 y Fv(0)697 1224 y Fu(\),)g(create)h Fq(SBlo)l(ck)p
-Fu(s)f(and)g Fq(KBlo)l(ck)p Fu(s)h(con)n(taining)f Fq(CHK)2298
-1232 y Fv(0)2333 1224 y Fu(,)g(the)g(meta-)125 1315 y(data)25
-b Fp(D)j Fu(ab)r(out)e(the)f(con)n(ten)n(t)g(and)g(the)h(original)h
-(length)f(of)g Fp(C)5 b Fu(.)26 b(Encrypt)f(and)g(sign)h(the)125
-1406 y(resulting)g Fq(SBlo)l(ck)p Fu(s)g(and)g Fq(KBlo)l(ck)p
-Fu(s.)p 0 1521 2715 4 v 0 1629 a Fj(Fig.)i(3)p 0 TeXcolorgray
-267 1538 a
+ 523 1165
+a Black 563 1241 a Fx(6.)p Black 42 w(If)20 b(the)g(size)h(of)g
+Fp(C)k Fx(w)n(as)c(smaller)g(than)f(32Kb)g(\(and)f(th)n(us)h(there)f
+(is)i(only)f(one)g(pair)g(of)h(hashco)r(des)664 1332
+y Fq(CHK)835 1340 y Fy(0)870 1332 y Fx(\),)k(create)h
+Fq(SBlo)l(ck)p Fx(s)f(and)g Fq(KBlo)l(ck)p Fx(s)h(con)n(taining)g
+Fq(CHK)2436 1340 y Fy(0)2470 1332 y Fx(,)f(the)g(metadata)h
+Fp(D)h Fx(ab)r(out)e(the)664 1424 y(con)n(ten)n(t)i(and)g(the)g
+(original)i(length)f(of)g Fp(C)5 b Fx(.)28 b(Encrypt)f(and)g(sign)h
+(the)f(resulting)h Fq(SBlo)l(ck)p Fx(s)g(and)664 1515
+y Fq(KBlo)l(ck)p Fx(s.)p 523 1649 2882 4 v Black 1253
+1789 a Fr(Fig.)14 b(3.)p 0 TeXcolorgray 1531 1690 a
 SDict begin H.S end
- 267 1538 a 0 TeXcolorgray 0 TeXcolorgray 267
-1538 a
+ 1531
+1690 a 0 TeXcolorgray 0 TeXcolorgray 1531 1690 a
 SDict begin H.R end
- 267 1538 a 267 1538 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.3) cvn H.B /DEST pdfmark
+ 1531
+1690 a 1531 1690 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.1.3) cvn H.B /DEST pdfmark
 end
- 267 1538 a Black 91 x Fu(The)e(ECRS)f
-(enco)r(ding)h(algorithm.)p Black Black 0 1747 2715 4
-v 0 1869 a Fp(B)j Fu(shares)e(\014le)f(whic)n(h)f(is)i(enco)r(ded)e(as)
-h Fp(B)1188 1877 y Fv(1)1223 1869 y Fp(;)13 b(B)1315
-1877 y Fv(2)1376 1869 y Fu(and)25 b(one)h Fq(IBlo)l(ck)f
-Fu(under)g(k)n(eyw)n(ord)g(\\test".)p Black 0 1994 a
-Fp(A)c Fe(!)g Fp(B)t Fu(:)p Black 42 w(Query:)k Fp(H)6
-b Fu(\()p Fp(P)11 b(ub)793 2006 y Fk(H)t Fv(\(\\)p Fk(test)p
-Fv("\))1064 1994 y Fu(\))p Black 0 2085 a Fp(B)25 b Fe(!)c
-Fp(A)p Fu(:)p Black 42 w(Resp)r(onse:)116 b(\([)p Fp(E)858
-2097 y Fk(H)t Fv(\(\\)p Fk(test)p Fv("\))1130 2085 y
-Fu(\()p Fp(Q)1221 2093 y Fv(0)1255 2085 y Fp(;)13 b(K)1354
-2093 y Fv(0)1389 2085 y Fp(;)g(siz)s(e)p Fu(\)])1611
-2093 y Fk(P)8 b(r)r(v)1720 2107 y Fh(H)s Ff(\(\\)p Fh(test)p
-Ff("\))1981 2085 y Fp(;)13 b(P)e(ub)2152 2097 y Fk(H)t
-Fv(\(\\)p Fk(test)p Fv("\))2424 2085 y Fu(\))116 b(\(one)125
-2177 y Fq(KBlo)l(ck)p Fu(\))p Black 0 2268 a Fp(A)21
-b Fe(!)g Fp(B)t Fu(:)p Black 42 w(Query:)k Fp(Q)617 2276
-y Fv(0)677 2268 y Fu(\(CHK-query\))p Black 0 2359 a Fp(B)g
-Fe(!)c Fp(A)p Fu(:)p Black 42 w(Resp)r(onse:)26 b Fp(E)717
-2367 y Fk(K)768 2377 y Ff(0)804 2359 y Fu(\()p Fp(Q)895
-2367 y Fv(1)929 2359 y Fp(;)13 b(K)1028 2367 y Fv(1)1063
-2359 y Fp(;)g(Q)1158 2367 y Fv(2)1192 2359 y Fp(;)g(K)1291
-2367 y Fv(2)1326 2359 y Fu(\))25 b(\(encrypted)g Fq(IBlo)l(ck)p
-Fu(\))p Black 0 2451 a Fp(A)c Fe(!)g Fp(B)t Fu(:)p Black
-42 w(Query:)k Fp(Q)617 2459 y Fv(1)677 2451 y Fu(and)g
-Fp(Q)887 2459 y Fv(2)947 2451 y Fu(\(CHK-query\))p Black
-0 2542 a Fp(B)g Fe(!)c Fp(A)p Fu(:)p Black 42 w(Resp)r(onse:)26
-b Fp(E)717 2550 y Fk(K)768 2560 y Ff(1)804 2542 y Fu(\()p
-Fp(B)892 2550 y Fv(1)927 2542 y Fu(\))f(and)g Fp(E)1188
-2550 y Fk(K)1239 2560 y Ff(2)1276 2542 y Fu(\()p Fp(B)1364
-2550 y Fv(2)1398 2542 y Fu(\))h(\(encrypted)e Fq(DBlo)l(ck)p
-Fu(s\))p 0 2644 V 0 2752 a Fj(Fig.)42 b(4)p 0 TeXcolorgray
-280 2661 a
+ 1531 1690 a Black 99 x FA(The)28 b(ECRS)f(enco)r
+(ding)h(algorithm.)p Black Black 648 2072 a(A)c(p)r(eer)h(searc)n(hing)
+d(for)i Fs(K)30 b FA(also)23 b(computes)i Fs(P)12 b(ub)2177
+2087 y Fi(H)t Fz(\()p Fi(K)t Fz(\))2375 2072 y FA(using)24
+b(the)h(same)f(deterministic)523 2172 y(k)n(ey-generation)32
+b(algorithm)g(\()p Fs(P)12 b(r)r(v)1646 2187 y Fi(H)t
+Fz(\()p Fi(K)t Fz(\))1857 2172 y FA(is)33 b(also)g(computed)i(but)g
+(not)f(used\).)g(The)g(p)r(eer)523 2272 y(then)k(uses)f
+Fs(H)7 b FA(\()p Fs(P)12 b(ub)1165 2287 y Fi(H)t Fz(\()p
+Fi(K)t Fz(\))1339 2272 y FA(\))38 b(as)f(the)h(query)f(hash.)g(In)n
+(termediaries)f(can)h(v)n(erify)g(that)h(the)523 2371
+y(resp)r(onse)30 b(is)h(v)-5 b(alid)31 b(b)n(y)f(c)n(hec)n(king)g(the)h
+Ft(KBlo)l(ck)p FA(s)h(signature)e(against)f(its)i(public)h(k)n(ey)-7
+b(,)30 b(and)523 2471 y(c)n(hec)n(king)i(that)i(the)f(public)h(k)n(ey)f
+(hashes)f(to)h(the)h(query)e(hash.)h(Y)-7 b(et)34 b(in)n(termediaries)e
+(are)523 2571 y(unable)21 b(to)h(decrypt)f(the)g(resp)r(onse)g(or)f
+(learn)h(the)g(k)n(eyw)n(ord)f Fs(K)27 b FA(that)21 b(w)n(as)g(used)g
+(to)g(generate)523 2670 y(the)28 b(public)g(k)n(ey)f(without)h
+(guessing.)648 2770 y(In)20 b(conclusion,)g(using)g Ft(KBlo)l(ck)p
+FA(s)h(it)f(is)h(p)r(ossible)f(to)g(allo)n(w)f(in)n(termediaries)g(to)h
+(v)n(erify)g(the)523 2869 y(in)n(tegrit)n(y)h(of)h(replies)f(without)i
+(learning)d(the)j(plain)n(text)e(of)h(the)h(k)n(eyw)n(ord)d(or)h(the)h
+(resp)r(onse.)523 2969 y Ft(KBlo)l(ck)p FA(s)f(require)e(a)h(k)n(eyw)n
+(ord)f(guess,)g(making)h(it)h(it)f(harder)f(to)i(reply)e(to)i
+(arbitrary)d(queries)523 3069 y(with)36 b(random)f(data;)g(they)h
+(cannot)f(prev)n(en)n(t)g(users)f(from)i(inserting)f(suc)n(h)g(data)g
+(under)523 3168 y(p)r(opular)f(k)n(eyw)n(ords.)f(The)h(receiv)n(er)f
+(of)i(the)g Ft(KBlo)l(ck)h FA(can)e(retriev)n(e)f(the)i(rest)f(of)h
+(the)g(\014le)523 3268 y(tree)27 b(using)h(CHK)f(queries)g(in)h(the)g
+(same)f(w)n(a)n(y)f(as)h(it)h(is)f(done)h(for)f Ft(SBlo)l(ck)p
+FA(s.)523 3428 y
 SDict begin H.S end
- 280 2661 a 0 TeXcolorgray 0 TeXcolorgray 280
-2661 a
-SDict begin H.R end
- 280 2661 a 280 2661 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.4) cvn H.B /DEST pdfmark
-end
- 280 2661 a Black 91 x Fu(Example)c(proto)r
-(col)h(for)f(an)f(ECRS)h(do)n(wnload.)g(\()p Fp(Q)1883
-2760 y Fk(i)1909 2752 y Fp(;)13 b(K)2008 2760 y Fk(i)2035
-2752 y Fu(\))37 b(is)h(a)g(CHK)f(pair)h(to)0 2844 y(request)25
-b(and)h(decrypt)e(blo)r(c)n(k)i Fp(i)p Fu(.)p Black 0
-3107 a Fy(inserting)c(suc)n(h)h(data)f(under)h(p)r(opular)f(k)n(eyw)n
-(ords.)e(The)j(receiv)n(er)e(of)i(the)g Fs(KBlo)l(ck)h
-Fy(can)0 3207 y(retriev)n(e)i(the)j(rest)e(of)h(the)g(\014le)g(tree)f
-(using)h(CHK)g(queries)f(in)h(the)g(same)f(w)n(a)n(y)g(as)g(it)h(is)0
-3306 y(done)f(for)g Fs(SBlo)l(ck)p Fy(s.)0 3493 y
-SDict begin H.S end
- 0 3493
-a 0 3493 a
+ 523 3428 a 523 3428 a
 SDict begin 12 H.A end
- 0 3493 a 0 3493 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.3.7) cvn H.B /DEST
+ 523 3428 a 523
+3428 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.3.7) cvn H.B /DEST
 pdfmark end
- 0 3493 a 100 x Fs(3.7)i(Summary)0
-3785 y Fy(The)h(ECRS)g(enco)r(ding)g(algorithm)f(is)h(summarized)f(in)i
-(Figure)p 1 0 0 TeXcolorrgb 2073 3785 a
+ 523 3428 a 84 x Fr(3.7)95 b(Summary)523 3673 y
+FA(The)32 b(ECRS)g(enco)r(ding)f(algorithm)g(is)h(summarized)f(in)h
+(Figure)p 1 0 0 TeXcolorrgb 2610 3673 a
 SDict begin H.S end
- 2073 3785 a 1 0 0
-TeXcolorrgb Fy(3)p 1 0 0 TeXcolorrgb 2115 3732 a
+ 2610 3673 a 1 0 0
+TeXcolorrgb FA(3)p 1 0 0 TeXcolorrgb 2652 3619 a
 SDict begin H.R end
- 2115
-3732 a 2115 3785 a
+ 2652
+3619 a 2652 3673 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.3) cvn H.B /ANN pdfmark end
- 2115 3785 a Black Fy(.)f(Figure)p
-1 0 0 TeXcolorrgb 2432 3785 a
+(figure.1.3) cvn H.B /ANN pdfmark end
+ 2652 3673 a Black FA(.)g(Figure)p
+1 0 0 TeXcolorrgb 2973 3673 a
 SDict begin H.S end
- 2432 3785 a 1 0 0 TeXcolorrgb
-Fy(4)p 1 0 0 TeXcolorrgb 2474 3732 a
+ 2973 3673 a 1 0 0 TeXcolorrgb
+FA(4)p 1 0 0 TeXcolorrgb 3015 3619 a
 SDict begin H.R end
- 2474 3732 a 2474
-3785 a
+ 3015 3619 a 3015
+3673 a
 SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.4) cvn H.B /ANN pdfmark end
- 2474 3785 a Black 30 w Fy(sho)n(ws)0 3885 y(the)24
-b(sequence)f(of)h(messages)e(exc)n(hanged)g(b)n(y)i(p)r(eers)f(to)h(do)
-n(wnload)e(a)h(64Kb)g(\014le)h(start-)0 3985 y(ing)j(with)h(a)g(k)n
-(eyw)n(ord.)0 4187 y
+(figure.1.4) cvn H.B /ANN pdfmark end
+ 3015 3673 a Black 32 w FA(sho)n(ws)f(the)523 3772
+y(sequence)26 b(of)h(messages)e(exc)n(hanged)h(b)n(y)h(p)r(eers)f(to)h
+(do)n(wnload)e(a)i(64Kb)e(\014le)i(starting)f(with)523
+3872 y(a)h(k)n(eyw)n(ord.)523 4032 y
 SDict begin H.S end
- 0 4187 a 0 4187 a
+ 523 4032 a 523 4032
+a
 SDict begin 12 H.A end
- 0 4187 a 0 4187
-a
-SDict begin [ /View [/XYZ H.V] /Dest (section.4) cvn H.B /DEST pdfmark
+ 523 4032 a 523 4032 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1.4) cvn H.B /DEST pdfmark
 end
- 0 4187 a 84 x Fz(4)f(Extensions)0 4464 y Fy(The)41
-b(v)-5 b(anilla)40 b(ECRS)g(enco)r(ding)h(sc)n(heme)f(still)h(lea)n(v)n
-(es)e(some)h(practical)g(problems)0 4563 y(that)35 b(should)f(b)r(e)h
-(addressed)f(to)g(facilitate)h(real-life)f(usabilit)n(y)-7
-b(.)34 b(F)-7 b(or)34 b(example,)h(the)0 4663 y(man)n(ual)25
-b(e\013ort)g(of)g(assigning)f(or)h(guessing)f(k)n(eyw)n(ords)f(should)i
-(b)r(e)h(minimized.)g(Also,)0 4762 y(the)j(o)n(v)n(erall)e(system)h
-(should)h(b)r(e)g(e\016cien)n(t)g(in)g(practice.)f(In)h(particular,)f
-(the)h(system)p Black Black eop end
-%%Page: 16 16
-TeXDict begin 16 15 bop 0 0 a
+ 523 4032 a 100 x Fu(4)112 b(Extensions)523
+4327 y FA(The)38 b(v)-5 b(anilla)38 b(ECRS)g(enco)r(ding)f(sc)n(heme)h
+(still)g(lea)n(v)n(es)f(some)g(practical)g(problems)h(that)523
+4426 y(should)i(b)r(e)g(addressed)f(to)h(facilitate)g(real-life)f
+(usabilit)n(y)-7 b(.)40 b(F)-7 b(or)40 b(example,)f(the)i(man)n(ual)523
+4526 y(e\013ort)30 b(of)g(assigning)f(or)g(guessing)h(k)n(eyw)n(ords)e
+(should)i(b)r(e)g(minimized.)h(Also,)f(the)h(o)n(v)n(erall)523
+4625 y(system)i(should)g(b)r(e)h(e\016cien)n(t)f(in)g(practice.)g(In)g
+(particular,)f(the)i(system)f(requires)e(p)r(eers)523
+4725 y(to)k(frequen)n(tly)h(handle)f(small,)g(p)r(er-blo)r(c)n(k)g
+(queries,)f(man)n(y)h(of)h(whic)n(h)f(ma)n(y)g(not)g(ha)n(v)n(e)f(a)523
+4825 y(answ)n(er)23 b(that)i(is)g(lo)r(cally)f(a)n(v)-5
+b(ailable.)23 b(The)i(follo)n(wing)e(subsections)h(presen)n(t)g(some)g
+(ideas)g(on)523 4924 y(ho)n(w)j(these)h(issues)f(can)g(b)r(e)h
+(addressed.)p Black Black eop end
+%%Page: 15 15
+TeXDict begin 15 14 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(16)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 248 a Fy(requires)e(p)r(eers)h(to)g(frequen)n(tly)g(handle)h(small,)f
-(p)r(er-blo)r(c)n(k)f(queries,)h(man)n(y)g(of)g(whic)n(h)0
-348 y(ma)n(y)k(not)g(ha)n(v)n(e)g(a)g(answ)n(er)f(that)i(is)f(lo)r
-(cally)g(a)n(v)-5 b(ailable.)29 b(The)i(follo)n(wing)f(subsections)0
-448 y(presen)n(t)d(some)g(ideas)g(on)g(ho)n(w)g(these)h(issues)f(can)g
-(b)r(e)h(addressed.)0 662 y
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
+b(15)p Black Black 523 369 2882 4 v 523 491 a Fp(B)29
+b Fx(shares)e(\014le)f(whic)n(h)f(is)i(enco)r(ded)e(as)h
+Fp(B)1711 499 y Fy(1)1746 491 y Fp(;)13 b(B)1838 499
+y Fy(2)1899 491 y Fx(and)25 b(one)h Fq(IBlo)l(ck)f Fx(under)g(k)n(eyw)n
+(ord)g(\\test".)p Black 523 649 a Fp(A)c Fe(!)g Fp(B)t
+Fv(:)p Black 41 w Fx(Query:)k Fp(H)6 b Fx(\()p Fp(P)11
+b(ub)1319 661 y Fk(H)t Fy(\(\\)p Fk(test)p Fy("\))1591
+649 y Fx(\))p Black 523 740 a Fp(B)25 b Fe(!)c Fp(A)p
+Fv(:)p Black 41 w Fx(Resp)r(onse:)26 b(\([)p Fp(E)1294
+752 y Fk(H)t Fy(\(\\)p Fk(test)p Fy("\))1566 740 y Fx(\()p
+Fp(Q)1657 748 y Fy(0)1691 740 y Fp(;)14 b(K)1791 748
+y Fy(0)1825 740 y Fp(;)f(siz)s(e)p Fx(\)])2047 748 y
+Fk(P)8 b(r)r(v)2156 762 y Fh(H)s Ff(\(\\)p Fh(test)p
+Ff("\))2417 740 y Fp(;)14 b(P)d(ub)2589 752 y Fk(H)t
+Fy(\(\\)p Fk(test)p Fy("\))2861 740 y Fx(\))25 b(\(one)h
+Fq(KBlo)l(ck)p Fx(\))p Black 523 832 a Fp(A)21 b Fe(!)g
+Fp(B)t Fv(:)p Black 41 w Fx(Query:)k Fp(Q)1143 840 y
+Fy(0)1203 832 y Fx(\(CHK-query\))p Black 523 923 a Fp(B)g
+Fe(!)c Fp(A)p Fv(:)p Black 41 w Fx(Resp)r(onse:)26 b
+Fp(E)1243 931 y Fk(K)1294 941 y Ff(0)1330 923 y Fx(\()p
+Fp(Q)1421 931 y Fy(1)1455 923 y Fp(;)14 b(K)1555 931
+y Fy(1)1589 923 y Fp(;)f(Q)1684 931 y Fy(2)1718 923 y
+Fp(;)h(K)1818 931 y Fy(2)1852 923 y Fx(\))26 b(\(encrypted)e
+Fq(IBlo)l(ck)p Fx(\))p Black 523 1014 a Fp(A)d Fe(!)g
+Fp(B)t Fv(:)p Black 41 w Fx(Query:)k Fp(Q)1143 1022 y
+Fy(1)1203 1014 y Fx(and)g Fp(Q)1413 1022 y Fy(2)1473
+1014 y Fx(\(CHK-query\))p Black 523 1106 a Fp(B)g Fe(!)c
+Fp(A)p Fv(:)p Black 41 w Fx(Resp)r(onse:)26 b Fp(E)1243
+1114 y Fk(K)1294 1124 y Ff(1)1330 1106 y Fx(\()p Fp(B)1418
+1114 y Fy(1)1453 1106 y Fx(\))f(and)h Fp(E)1715 1114
+y Fk(K)1766 1124 y Ff(2)1802 1106 y Fx(\()p Fp(B)1890
+1114 y Fy(2)1924 1106 y Fx(\))g(\(encrypted)e Fq(DBlo)l(ck)p
+Fx(s\))p 523 1241 V 523 1387 a Fr(Fig.)15 b(4.)p 0 TeXcolorgray
+811 1287 a
 SDict begin H.S end
- 0 662 a 0 662 a
+ 811 1287 a 0 TeXcolorgray 0 TeXcolorgray 811
+1287 a
+SDict begin H.R end
+ 811 1287 a 811 1287 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.1.4) cvn H.B /DEST pdfmark
+end
+ 811 1287 a Black 100 x FA(Example)36
+b(proto)r(col)g(for)g(an)h(ECRS)g(do)n(wnload.)f(\()p
+Fs(Q)2524 1399 y Fi(i)2551 1387 y Fs(;)14 b(K)2659 1399
+y Fi(i)2686 1387 y FA(\))38 b(is)e(a)h(CHK)g(pair)f(to)523
+1486 y(request)27 b(and)g(decrypt)h(blo)r(c)n(k)f Fs(i)p
+FA(.)p Black 523 1686 a
+SDict begin H.S end
+ 523 1686 a 523 1686 a
 SDict begin 12 H.A end
- 0 662 a 0
-662 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.1) cvn H.B /DEST
+ 523 1686
+a 523 1686 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.4.1) cvn H.B /DEST
 pdfmark end
- 0 662 a 87 x Fs(4.1)h(Keywor)l(d)i(infer)l(enc)l(e)0
-957 y Fy(One)26 b(problem)h(with)g(ECRS)f(is)h(that)g(the)g(con)n(ten)n
-(t)f(m)n(ust)h(often)g(b)r(e)g(asso)r(ciated)e(with)0
-1056 y(k)n(eyw)n(ords.)33 b(Although)i(this)h(is)f(v)-5
-b(astly)35 b(b)r(etter)h(than)f(forcing)f(the)i(user)e(to)i(rely)e(on)0
-1156 y(\\meaningless")22 b(bitstrings)i(as)f(the)i(only)e(iden)n
-(ti\014er,)h(the)h(k)n(eys)e(m)n(ust)h(still)g(b)r(e)h(c)n(hosen)0
-1256 y(so)39 b(that)h(the)h(target)d(audience)i(can)f(guess)g(them.)i
-(The)f(simplest)g(non-tec)n(hnical)0 1355 y(solution)c(for)f(this)i
-(problem)e(is)h(for)g(a)f(group)g(of)h(users)f(to)h(agree)f(on)h(an)f
-(informal)0 1455 y(standard)25 b(for)h(k)n(eyw)n(ords.)e(If)i(con)n
-(ten)n(t)g(pro)n(viders)e(w)n(an)n(t)i(to)g(mak)n(e)f(it)i(easy)e(for)h
-(others)0 1554 y(to)j(guess)e(a)i(k)n(eyw)n(ord,)e(it)i(is)f(t)n
-(ypically)h(useful)g(to)f(follo)n(w)g(informal)g(con)n(v)n(en)n(tions)f
-(for)0 1654 y(k)n(eyw)n(ord)21 b(selection.)h(F)-7 b(or)22
-b(example,)h(a)f(reasonable)f(con)n(v)n(en)n(tion)g(ma)n(y)h(b)r(e)h
-(to)g(only)f(use)0 1754 y(lo)n(w)n(er-case)j(letters.)125
-1856 y(A)34 b(larger)d(problem)i(for)g(a)h(k)n(eyw)n(ord-based)d(searc)
-n(h)h(is)h(that)h(users)f(ma)n(y)g(b)r(e)h(re-)0 1956
-y(luctan)n(t)d(to)f(put)i(in)f(the)g(e\013ort)f(to)h(pro)n(vide)e(go)r
-(o)r(d)h(k)n(eyw)n(ords)f(for)h(the)h(con)n(ten)n(t)g(that)0
-2056 y(they)f(pro)n(vide.)e(A)i(solution)e(to)i(this)f(problem)g(is)g
-(the)h Fd(libextractor)25 b Fy(library)j([)p 0 1 0 TeXcolorrgb
-2586 2056 a
+ 523 1686 a 83 x Fr(4.1)95 b(Keyw)m(ord)32
+b(inference)523 1930 y FA(One)40 b(problem)g(with)i(ECRS)e(is)g(that)h
+(the)g(con)n(ten)n(t)g(m)n(ust)f(often)h(b)r(e)g(asso)r(ciated)e(with)
+523 2029 y(k)n(eyw)n(ords.)23 b(Although)i(this)h(is)f(v)-5
+b(astly)25 b(b)r(etter)g(than)g(forcing)g(the)g(user)g(to)g(rely)f(on)h
+(\\mean-)523 2129 y(ingless")33 b(bitstrings)g(as)g(the)i(only)e(iden)n
+(ti\014er,)h(the)g(k)n(eys)f(m)n(ust)h(still)g(b)r(e)h(c)n(hosen)e(so)g
+(that)523 2229 y(the)25 b(target)f(audience)g(can)h(guess)f(them.)h
+(The)g(simplest)g(non-tec)n(hnical)e(solution)i(for)f(this)523
+2328 y(problem)g(is)g(for)f(a)h(group)f(of)h(users)g(to)g(agree)e(on)i
+(an)g(informal)g(standard)f(for)g(k)n(eyw)n(ords.)g(If)523
+2428 y(con)n(ten)n(t)28 b(pro)n(viders)e(w)n(an)n(t)i(to)g(mak)n(e)f
+(it)i(easy)e(for)h(others)f(to)h(guess)f(a)h(k)n(eyw)n(ord,)f(it)h(is)g
+(t)n(yp-)523 2527 y(ically)h(useful)h(to)g(follo)n(w)f(informal)g(con)n
+(v)n(en)n(tions)f(for)h(k)n(eyw)n(ord)f(selection.)h(F)-7
+b(or)29 b(example,)523 2627 y(a)e(reasonable)f(con)n(v)n(en)n(tion)g
+(ma)n(y)h(b)r(e)h(to)f(only)g(use)h(lo)n(w)n(er-case)d(letters.)648
+2727 y(A)j(larger)f(problem)h(for)g(a)g(k)n(eyw)n(ord-based)e(searc)n
+(h)h(is)h(that)h(users)f(ma)n(y)g(b)r(e)h(reluctan)n(t)523
+2826 y(to)e(put)g(in)g(the)g(e\013ort)f(to)g(pro)n(vide)g(go)r(o)r(d)g
+(k)n(eyw)n(ords)e(for)i(the)h(con)n(ten)n(t)f(that)h(they)g(pro)n
+(vide.)523 2926 y(A)g(solution)f(to)h(this)g(problem)f(is)g(the)h
+Fd(libextractor)22 b FA(library)j([)p 0 1 0 TeXcolorrgb
+2575 2926 a
 SDict begin H.S end
- 2586 2056 a 0 1 0 TeXcolorrgb Fy(14)p 0 1 0
-TeXcolorrgb 2669 2002 a
+ 2575 2926 a 0 1 0 TeXcolorrgb FA(14)p 0 1 0
+TeXcolorrgb 2658 2872 a
 SDict begin H.R end
- 2669 2002 a 2669 2056 a
+ 2658 2872 a 2658 2926 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.le2005) cvn H.B /ANN pdfmark end
- 2669
-2056 a Black Fy(].)0 2155 y Fd(libextractor)17 b Fy(is)22
-b(a)g(library)f(for)h(metadata)g(extraction)f(that)h(is)g(used)h(to)f
-(automati-)0 2255 y(cally)i(extract)g(k)n(eyw)n(ords)e(and)i(other)g
-(metadata,)g(suc)n(h)g(as)g(descriptions,)f(commen)n(ts)0
-2354 y(and)k(mime-t)n(yp)r(es)h(from)f(\014les)h(of)f(v)-5
-b(arious)27 b(formats.)0 2569 y
+ 2658
+2926 a Black FA(].)i Fd(libextractor)22 b FA(is)k(a)523
+3026 y(library)j(for)h(metadata)f(extraction)h(that)g(is)g(used)g(to)g
+(automatically)g(extract)f(k)n(eyw)n(ords)523 3125 y(and)f(other)g
+(metadata,)g(suc)n(h)g(as)g(descriptions,)g(commen)n(ts)g(and)g(mime-t)
+n(yp)r(es)h(from)f(\014les)523 3225 y(of)g(v)-5 b(arious)26
+b(formats.)523 3369 y
 SDict begin H.S end
- 0 2569 a 0 2569 a
+ 523 3369 a 523 3369 a
 SDict begin 12 H.A end
- 0 2569
-a 0 2569 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.2) cvn H.B /DEST
+ 523 3369
+a 523 3369 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.4.2) cvn H.B /DEST
 pdfmark end
- 0 2569 a 87 x Fs(4.2)i(Dir)l(e)l(ctories)0
-2864 y Fy(Another)40 b(approac)n(h)e(to)i(a)n(v)n(oiding)f(searc)n(hes)
-f(is)i(to)g(group)f(\014les)h(in)n(to)g(directories.)0
-2963 y(Directories)24 b(can)g(help)h(with)h(the)f(searc)n(h)e(problem)h
-(since)h(they)g(reduce)f(the)h(need)g(for)0 3063 y(searc)n(hing.)k
-(Also,)i(they)g(can)f(b)r(e)h(used)g(to)g(bundle)g(similar)g(con)n(ten)
-n(t)f(and)h(th)n(us)g(help)0 3162 y(users)c(a)n(v)n(oid)g
-(inappropriately)g(lab)r(eled)h(data.)g(If)h(sev)n(eral)e(\014les)h(of)
-g(suc)n(h)g(a)g(directory)0 3262 y(ha)n(v)n(e)g(appropriate)f
-(descriptions,)h(it)h(is)g(lik)n(ely)g(that)g(the)g(other)f(\014les)h
-(will)g(also)f(ha)n(v)n(e)0 3362 y(b)r(een)g(pro)n(vided)f(b)n(y)g(a)g
-(non-malicious)f(part)n(y)-7 b(.)125 3464 y(In)n(tegrating)30
-b(directories)g(in)n(to)h(the)h(ECRS)f(sc)n(heme)g(is)h(fairly)f
-(straigh)n(tforw)n(ard.)0 3564 y(A)25 b(directory)f(is)h(simply)g(a)g
-(\014le)g(that)g(con)n(tains)f(an)n(y)g(n)n(um)n(b)r(er)h(of)g
-Fs(SBlo)l(ck)p Fy(s)h(or)e Fs(KBlo)l(ck)p Fy(s)0 3664
-y(in)33 b(plain)n(text)g(\(!\).)h(Lik)n(e)e(\014les,)h(directories)f
-(are)g(imm)n(utable)h(and)g(are)f(sub)5 b(jected)33 b(to)0
-3763 y(the)28 b(same)f(enco)r(ding)g(for)g(sharing.)125
-3866 y(Note)k(that)h(it)f(is)g(p)r(ossible)g(for)g(users)g(to)g(assem)n
-(ble)f(a)h(directory)f(that)i(refers)e(to)0 3965 y(an)n(y)38
-b(com)n(bination)h(of)g(\014les:)g(\014les)g(the)g(user)f(inserted)h(p)
-r(ersonally)-7 b(,)38 b(\014les)h(that)h(the)0 4065 y(user)24
-b(do)n(wnloaded,)g(\014les)g(that)h(the)g(user)f(encoun)n(tered)g(as)g
-(searc)n(h)f(results)i(but)g(nev)n(er)0 4165 y(do)n(wnloaded,)g(or)g
-(ev)n(en)g(in)n(v)-5 b(alid)26 b(data)f(\(whic)n(h)h(w)n(ould)f(b)r(e)i
-(in)n(terpreted)e(as)g(references)0 4264 y(that)g(corresp)r(ond)f(to)h
-(non-existen)n(t)f(\014les\).)h(Directories)f(can)h(also)f(refer)h(to)f
-(other)h(di-)0 4364 y(rectories,)e(allo)n(wing)f(users)h(to)h(build)h
-(na)n(vigable)e(structures)g(similar)g(to)h(\014le)g(systems)0
-4464 y(or)29 b(the)i(W)-7 b(orld)29 b(Wide)i(W)-7 b(eb.)30
-b(In)h(particular)d(it)j(is)f(p)r(ossible)f(to)h(refer)g(to)g(con)n
-(ten)n(ts)f(of)0 4563 y(other)22 b(users)f(and)h(ev)n(en)f(to)h
-(\014les)g(or)g(directories)e(that)j(are)e(supp)r(osed)h(to)g(b)r(e)g
-(published)0 4663 y(in)f(the)g(future.)h(Figure)p 1 0 0
-TeXcolorrgb 745 4663 a
-SDict begin H.S end
- 745 4663 a 1 0 0 TeXcolorrgb Fy(5)p
-1 0 0 TeXcolorrgb 786 4609 a
-SDict begin H.R end
- 786 4609 a 786 4663 a
-SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
-(figure.5) cvn H.B /ANN pdfmark end
- 786
-4663 a Black 21 w Fy(illustrates)e(some)h(of)f(the)i(p)r(ossible)e
-(reference)g(relationships)0 4762 y(b)r(et)n(w)n(een)28
-b(the)g(v)-5 b(arious)26 b(constructs.)p Black Black
-eop end
-%%Page: 17 17
-TeXDict begin 17 16 bop 0 0 a
+ 523 3369 a 100 x Fr(4.2)95 b(Directories)523
+3629 y FA(Another)25 b(approac)n(h)e(to)i(a)n(v)n(oiding)e(searc)n(hes)
+g(is)i(to)g(group)e(\014les)i(in)n(to)g(directories.)f(Directo-)523
+3729 y(ries)k(can)g(help)h(with)h(the)f(searc)n(h)e(problem)h(since)h
+(they)f(reduce)h(the)g(need)g(for)f(searc)n(hing.)523
+3828 y(Also,)i(they)h(can)f(b)r(e)h(used)f(to)g(bundle)h(similar)f(con)
+n(ten)n(t)g(and)g(th)n(us)h(help)g(users)e(a)n(v)n(oid)g(in-)523
+3928 y(appropriately)g(lab)r(eled)h(data.)h(If)g(sev)n(eral)d(\014les)j
+(of)g(suc)n(h)f(a)g(directory)f(ha)n(v)n(e)h(appropriate)523
+4028 y(descriptions,)k(it)h(is)g(lik)n(ely)f(that)h(the)g(other)f
+(\014les)h(will)g(also)f(ha)n(v)n(e)f(b)r(een)i(pro)n(vided)f(b)n(y)g
+(a)523 4127 y(non-malicious)26 b(part)n(y)-7 b(.)648
+4227 y(In)n(tegrating)38 b(directories)g(in)n(to)i(the)g(ECRS)f(sc)n
+(heme)g(is)h(fairly)f(straigh)n(tforw)n(ard.)e(A)523
+4327 y(directory)f(is)h(simply)h(a)f(\014le)g(that)h(con)n(tains)e(an)n
+(y)h(n)n(um)n(b)r(er)g(of)g Ft(SBlo)l(ck)p FA(s)h(or)f
+Ft(KBlo)l(ck)p FA(s)h(in)523 4426 y(plain)n(text)25 b(\(!\).)h(Lik)n(e)
+f(\014les,)g(directories)f(are)g(imm)n(utable)i(and)f(are)f(sub)5
+b(jected)26 b(to)f(the)h(same)523 4526 y(enco)r(ding)h(for)g(sharing.)
+648 4625 y(Note)k(that)h(it)h(is)e(p)r(ossible)h(for)f(users)g(to)h
+(assem)n(ble)e(a)i(directory)e(that)i(refers)f(to)h(an)n(y)523
+4725 y(com)n(bination)d(of)h(\014les:)g(\014les)g(the)g(user)f
+(inserted)h(p)r(ersonally)-7 b(,)28 b(\014les)i(that)g(the)h(user)e(do)
+n(wn-)523 4825 y(loaded,)21 b(\014les)g(that)g(the)h(user)e(encoun)n
+(tered)h(as)f(searc)n(h)g(results)h(but)h(nev)n(er)e(do)n(wnloaded,)g
+(or)523 4924 y(ev)n(en)29 b(in)n(v)-5 b(alid)30 b(data)f(\(whic)n(h)h
+(w)n(ould)g(b)r(e)g(in)n(terpreted)f(as)g(references)g(that)h(corresp)r
+(ond)e(to)p Black Black eop end
+%%Page: 16 16
+TeXDict begin 16 15 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.16) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(17)p Black
-Black 10 166 2 2 v 12 167 533 4 v 545 166 2 2 v 9 290
-4 124 v 547 290 V 10 293 2 2 v 12 294 533 4 v 545 293
-2 2 v 36 246 a Fp(S)t(B)t(l)q(ock)r Fu(\()p Fp(Al)q(ice)p
-315 259 177 4 v Fu(\))1497 253 y Fo(1)p Fn(1)p 548 260
-4 4 v 551 260 V 554 260 V 556 261 V 559 261 V 562 261
-V 565 261 V 568 261 V 570 262 V 573 262 V 576 262 V 579
-262 V 582 263 V 584 263 V 587 263 V 590 263 V 593 264
-V 596 264 V 598 264 V 601 264 V 604 264 V 607 265 V 609
-265 V 612 265 V 615 265 V 618 265 V 621 266 V 623 266
-V 626 266 V 629 266 V 632 266 V 635 267 V 637 267 V 640
-267 V 643 267 V 646 267 V 649 268 V 651 268 V 654 268
-V 657 268 V 660 268 V 662 268 V 665 269 V 668 269 V 671
-269 V 674 269 V 676 269 V 679 270 V 682 270 V 685 270
-V 688 270 V 690 270 V 693 270 V 696 271 V 699 271 V 702
-271 V 704 271 V 707 271 V 710 271 V 713 271 V 715 272
-V 718 272 V 721 272 V 724 272 V 727 272 V 729 272 V 732
-272 V 735 273 V 738 273 V 741 273 V 743 273 V 746 273
-V 749 273 V 752 273 V 755 274 V 757 274 V 760 274 V 763
-274 V 766 274 V 768 274 V 771 274 V 774 274 V 777 275
-V 780 275 V 782 275 V 785 275 V 788 275 V 791 275 V 794
-275 V 796 275 V 799 275 V 802 276 V 805 276 V 808 276
-V 810 276 V 813 276 V 816 276 V 819 276 V 821 276 V 824
-276 V 827 276 V 830 276 V 833 277 V 835 277 V 838 277
-V 841 277 V 844 277 V 847 277 V 849 277 V 852 277 V 855
-277 V 858 277 V 861 277 V 863 277 V 866 278 V 869 278
-V 872 278 V 874 278 V 877 278 V 880 278 V 883 278 V 886
-278 V 888 278 V 891 278 V 894 278 V 897 278 V 900 278
-V 902 278 V 905 278 V 908 278 V 911 278 V 914 278 V 916
-278 V 919 279 V 922 279 V 925 279 V 927 279 V 930 279
-V 933 279 V 936 279 V 939 279 V 941 279 V 944 279 V 947
-279 V 950 279 V 953 279 V 955 279 V 958 279 V 961 279
-V 964 279 V 967 279 V 969 279 V 972 279 V 975 279 V 978
-279 V 981 279 V 983 279 V 986 279 V 989 279 V 992 279
-V 994 279 V 997 279 V 1000 279 V 1003 279 V 1006 279
-V 1008 279 V 1011 279 V 1014 279 V 1017 279 V 1020 279
-V 1022 279 V 1025 279 V 1028 279 V 1031 279 V 1034 279
-V 1036 279 V 1039 279 V 1042 279 V 1045 279 V 1047 279
-V 1050 279 V 1053 279 V 1056 279 V 1059 279 V 1061 279
-V 1064 279 V 1067 278 V 1070 278 V 1073 278 V 1075 278
-V 1078 278 V 1081 278 V 1084 278 V 1087 278 V 1089 278
-V 1092 278 V 1095 278 V 1098 278 V 1100 278 V 1103 278
-V 1106 278 V 1109 278 V 1112 278 V 1114 278 V 1117 278
-V 1120 277 V 1123 277 V 1126 277 V 1128 277 V 1131 277
-V 1134 277 V 1137 277 V 1140 277 V 1142 277 V 1145 277
-V 1148 277 V 1151 277 V 1153 276 V 1156 276 V 1159 276
-V 1162 276 V 1165 276 V 1167 276 V 1170 276 V 1173 276
-V 1176 276 V 1179 276 V 1181 276 V 1184 275 V 1187 275
-V 1190 275 V 1193 275 V 1195 275 V 1198 275 V 1201 275
-V 1204 275 V 1206 275 V 1209 274 V 1212 274 V 1215 274
-V 1218 274 V 1220 274 V 1223 274 V 1226 274 V 1229 274
-V 1232 273 V 1234 273 V 1237 273 V 1240 273 V 1243 273
-V 1246 273 V 1248 273 V 1251 272 V 1254 272 V 1257 272
-V 1259 272 V 1262 272 V 1265 272 V 1268 272 V 1271 271
-V 1273 271 V 1276 271 V 1279 271 V 1282 271 V 1285 271
-V 1287 271 V 1290 270 V 1293 270 V 1296 270 V 1299 270
-V 1301 270 V 1304 270 V 1307 269 V 1310 269 V 1312 269
-V 1315 269 V 1318 269 V 1321 268 V 1324 268 V 1326 268
-V 1329 268 V 1332 268 V 1335 268 V 1338 267 V 1340 267
-V 1343 267 V 1346 267 V 1349 267 V 1352 266 V 1354 266
-V 1357 266 V 1360 266 V 1363 266 V 1366 265 V 1368 265
-V 1371 265 V 1374 265 V 1377 265 V 1379 264 V 1382 264
-V 1385 264 V 1388 264 V 1391 264 V 1393 263 V 1396 263
-V 1399 263 V 1402 263 V 1405 262 V 1407 262 V 1410 262
-V 1413 262 V 1416 261 V 1419 261 V 1421 261 V 1424 261
-V 1427 261 V 1430 260 V 1432 260 V 1435 260 V 1438 260
-V 1441 259 V 1444 259 V 1446 259 V 1449 259 V 1452 258
-V 1455 258 V 1458 258 V 1460 258 V 1463 257 V 1466 257
-V 1469 257 V 1472 257 V 1474 256 V 1477 256 V 1480 256
-V 1483 256 V 1485 255 V 1488 255 V 1491 255 V 1494 254
-V 1522 246 a Fp(D)r(ir)r(ector)r(y)1859 254 y Fv(1)547
-197 y Fo(p)p Fn(p)p 1494 204 V 1491 204 V 1488 204 V
-1485 203 V 1483 203 V 1480 203 V 1477 202 V 1474 202
-V 1472 202 V 1469 202 V 1466 201 V 1463 201 V 1460 201
-V 1458 201 V 1455 200 V 1452 200 V 1449 200 V 1446 200
-V 1444 199 V 1441 199 V 1438 199 V 1435 199 V 1432 198
-V 1430 198 V 1427 198 V 1424 198 V 1421 197 V 1419 197
-V 1416 197 V 1413 197 V 1410 197 V 1407 196 V 1405 196
-V 1402 196 V 1399 196 V 1396 195 V 1393 195 V 1391 195
-V 1388 195 V 1385 195 V 1382 194 V 1379 194 V 1377 194
-V 1374 194 V 1371 193 V 1368 193 V 1366 193 V 1363 193
-V 1360 193 V 1357 192 V 1354 192 V 1352 192 V 1349 192
-V 1346 192 V 1343 191 V 1340 191 V 1338 191 V 1335 191
-V 1332 191 V 1329 191 V 1326 190 V 1324 190 V 1321 190
-V 1318 190 V 1315 190 V 1312 189 V 1310 189 V 1307 189
-V 1304 189 V 1301 189 V 1299 189 V 1296 188 V 1293 188
-V 1290 188 V 1287 188 V 1285 188 V 1282 188 V 1279 187
-V 1276 187 V 1273 187 V 1271 187 V 1268 187 V 1265 187
-V 1262 187 V 1259 186 V 1257 186 V 1254 186 V 1251 186
-V 1248 186 V 1246 186 V 1243 186 V 1240 185 V 1237 185
-V 1234 185 V 1232 185 V 1229 185 V 1226 185 V 1223 185
-V 1220 185 V 1218 184 V 1215 184 V 1212 184 V 1209 184
-V 1206 184 V 1204 184 V 1201 184 V 1198 184 V 1195 183
-V 1193 183 V 1190 183 V 1187 183 V 1184 183 V 1181 183
-V 1179 183 V 1176 183 V 1173 183 V 1170 183 V 1167 182
-V 1165 182 V 1162 182 V 1159 182 V 1156 182 V 1153 182
-V 1151 182 V 1148 182 V 1145 182 V 1142 182 V 1140 182
-V 1137 181 V 1134 181 V 1131 181 V 1128 181 V 1126 181
-V 1123 181 V 1120 181 V 1117 181 V 1114 181 V 1112 181
-V 1109 181 V 1106 181 V 1103 181 V 1100 181 V 1098 181
-V 1095 180 V 1092 180 V 1089 180 V 1087 180 V 1084 180
-V 1081 180 V 1078 180 V 1075 180 V 1073 180 V 1070 180
-V 1067 180 V 1064 180 V 1061 180 V 1059 180 V 1056 180
-V 1053 180 V 1050 180 V 1047 180 V 1045 180 V 1042 180
-V 1039 180 V 1036 180 V 1034 180 V 1031 180 V 1028 180
-V 1025 180 V 1022 180 V 1020 180 V 1017 179 V 1014 179
-V 1011 179 V 1008 179 V 1006 179 V 1003 179 V 1000 179
-V 997 179 V 994 179 V 992 179 V 989 179 V 986 179 V 983
-179 V 981 179 V 978 179 V 975 179 V 972 179 V 969 179
-V 967 179 V 964 180 V 961 180 V 958 180 V 955 180 V 953
-180 V 950 180 V 947 180 V 944 180 V 941 180 V 939 180
-V 936 180 V 933 180 V 930 180 V 927 180 V 925 180 V 922
-180 V 919 180 V 916 180 V 914 180 V 911 180 V 908 180
-V 905 180 V 902 180 V 900 180 V 897 180 V 894 180 V 891
-180 V 888 180 V 886 181 V 883 181 V 880 181 V 877 181
-V 874 181 V 872 181 V 869 181 V 866 181 V 863 181 V 861
-181 V 858 181 V 855 181 V 852 181 V 849 181 V 847 181
-V 844 182 V 841 182 V 838 182 V 835 182 V 833 182 V 830
-182 V 827 182 V 824 182 V 821 182 V 819 182 V 816 182
-V 813 183 V 810 183 V 808 183 V 805 183 V 802 183 V 799
-183 V 796 183 V 794 183 V 791 183 V 788 183 V 785 184
-V 782 184 V 780 184 V 777 184 V 774 184 V 771 184 V 768
-184 V 766 184 V 763 185 V 760 185 V 757 185 V 755 185
-V 752 185 V 749 185 V 746 185 V 743 185 V 741 186 V 738
-186 V 735 186 V 732 186 V 729 186 V 727 186 V 724 186
-V 721 187 V 718 187 V 715 187 V 713 187 V 710 187 V 707
-187 V 704 187 V 702 188 V 699 188 V 696 188 V 693 188
-V 690 188 V 688 188 V 685 189 V 682 189 V 679 189 V 676
-189 V 674 189 V 671 189 V 668 190 V 665 190 V 662 190
-V 660 190 V 657 190 V 654 191 V 651 191 V 649 191 V 646
-191 V 643 191 V 640 191 V 637 192 V 635 192 V 632 192
-V 629 192 V 626 192 V 623 193 V 621 193 V 618 193 V 615
-193 V 612 193 V 609 194 V 607 194 V 604 194 V 601 194
-V 598 195 V 596 195 V 593 195 V 590 195 V 587 195 V 584
-196 V 582 196 V 579 196 V 576 196 V 573 197 V 570 197
-V 568 197 V 565 197 V 562 197 V 559 198 V 556 198 V 554
-198 V 551 198 V 548 199 V 525 428 a Fo(r)p Fn(r)p Fl(d)565
-421 y(d)606 414 y(d)646 407 y(d)687 400 y(d)727 394 y(d)768
-387 y(d)808 380 y(d)849 373 y(d)889 366 y(d)930 359 y(d)970
-352 y(d)1011 345 y(d)1051 339 y(d)1091 332 y(d)1132 325
-y(d)1172 318 y(d)1213 311 y(d)1253 304 y(d)1294 297 y(d)1334
-290 y(d)1375 284 y(d)1415 277 y(d)1456 270 y(d)1167 408
-y Fo(t)p Fn(t)p Fl(j)1204 396 y(j)1240 384 y(j)1277 372
-y(j)1313 360 y(j)1350 347 y(j)1386 335 y(j)1423 323 y(j)1459
-311 y(j)1495 299 y(j)1708 408 y Fo(\017)p Fn(\017)p 1706
-408 4 123 v 2129 166 2 2 v 2131 167 612 4 v 2743 166
-2 2 v 2128 290 4 124 v 2745 290 V 2129 293 2 2 v 2131
-294 612 4 v 2743 293 2 2 v 2155 246 a Fp(K)5 b(B)t(l)q(ock)r
-Fu(\(\\)p Fp(f)j(ood)p Fu("\))1918 228 y Fo(o)p Fn(o)p
-1918 230 212 4 v 33 409 2 2 v 34 410 488 4 v 522 409
-2 2 v 32 533 4 124 v 525 533 V 33 536 2 2 v 34 537 488
-4 v 522 536 2 2 v 58 489 a Fp(S)t(B)t(l)q(ock)r Fu(\()p
-Fp(B)t(ob)p 337 502 132 4 v 1 w Fu(\))823 658 y Fo(\))p
-Fn(\))784 645 y Fl(T)748 632 y(T)712 620 y(T)675 607
-y(T)639 595 y(T)603 582 y(T)567 570 y(T)531 557 y(T)495
-545 y(T)459 532 y(T)p 676 409 2 2 v 677 410 606 4 v 1283
-409 2 2 v 675 533 4 124 v 1285 533 V 676 536 2 2 v 677
-537 606 4 v 1283 536 2 2 v 701 489 a Fp(K)d(B)t(l)q(ock)r
-Fu(\(\\)p Fp(soda)p Fu("\))981 658 y Fo(\017)p Fn(\017)p
-979 658 4 126 v 1402 409 2 2 v 1404 410 606 4 v 2010
-409 2 2 v 1402 533 4 124 v 2012 533 V 1402 536 2 2 v
-1404 537 606 4 v 2010 536 2 2 v 1428 489 a Fp(K)g(B)t(l)q(ock)r
-Fu(\(\\)p Fp(soda)p Fu("\))1708 658 y Fo(\017)p Fn(\017)p
-1706 658 4 126 v 2141 409 2 2 v 2143 410 588 4 v 2731
-409 2 2 v 2140 533 4 124 v 2733 533 V 2141 536 2 2 v
-2143 537 588 4 v 2731 536 2 2 v 2167 489 a Fp(K)g(B)t(l)q(ock)r
-Fu(\(\\)p Fp(col)q(a)p Fu("\))1872 658 y Fo(t)p Fn(t)1872
-659 y Fl(j)1909 646 y(j)1947 634 y(j)1985 621 y(j)2022
-609 y(j)2060 596 y(j)2098 584 y(j)2135 571 y(j)2173 559
-y(j)2211 546 y(j)p -1 652 V 1 653 555 4 v 556 652 2 2
-v -2 775 4 124 v 558 775 V -1 778 2 2 v 1 779 555 4 v
-556 778 2 2 v 25 732 a Fp(K)g(B)t(l)q(ock)r Fu(\(\\)p
-Fp(bob)p Fu("\))279 532 y Fo(O)p Fn(O)p 277 651 4 119
-v 785 734 a Fp(D)r(ocument)1142 742 y Fv(1)1511 734 y
-Fp(D)r(ocument)1868 742 y Fv(2)2241 734 y Fp(D)r(ocument)2598
-742 y Fv(3)0 891 y Fj(Fig.)36 b(5)p 0 TeXcolorgray 274
-800 a
+ 523 232 a Black Fx(16)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black Black 533 366 2 2 v 535 367 533 4 v 1068 366 2
+2 v 532 490 4 124 v 1070 490 V 533 493 2 2 v 535 494
+533 4 v 1068 493 2 2 v 559 446 a Fp(S)t(B)t(l)q(ock)r
+Fx(\()p Fp(Al)q(ice)p 838 459 177 4 v 1 w Fx(\))2020
+453 y Fo(1)p Fn(1)p 1071 460 4 4 v 1074 460 V 1077 460
+V 1079 461 V 1082 461 V 1085 461 V 1088 461 V 1091 461
+V 1093 462 V 1096 462 V 1099 462 V 1102 462 V 1105 463
+V 1107 463 V 1110 463 V 1113 463 V 1116 463 V 1119 464
+V 1121 464 V 1124 464 V 1127 464 V 1130 465 V 1132 465
+V 1135 465 V 1138 465 V 1141 465 V 1144 466 V 1146 466
+V 1149 466 V 1152 466 V 1155 466 V 1158 467 V 1160 467
+V 1163 467 V 1166 467 V 1169 467 V 1172 468 V 1174 468
+V 1177 468 V 1180 468 V 1183 468 V 1186 468 V 1188 469
+V 1191 469 V 1194 469 V 1197 469 V 1199 469 V 1202 470
+V 1205 470 V 1208 470 V 1211 470 V 1213 470 V 1216 470
+V 1219 470 V 1222 471 V 1225 471 V 1227 471 V 1230 471
+V 1233 471 V 1236 471 V 1239 472 V 1241 472 V 1244 472
+V 1247 472 V 1250 472 V 1252 472 V 1255 472 V 1258 473
+V 1261 473 V 1264 473 V 1266 473 V 1269 473 V 1272 473
+V 1275 473 V 1278 474 V 1280 474 V 1283 474 V 1286 474
+V 1289 474 V 1292 474 V 1294 474 V 1297 474 V 1300 475
+V 1303 475 V 1305 475 V 1308 475 V 1311 475 V 1314 475
+V 1317 475 V 1319 475 V 1322 475 V 1325 476 V 1328 476
+V 1331 476 V 1333 476 V 1336 476 V 1339 476 V 1342 476
+V 1345 476 V 1347 476 V 1350 476 V 1353 476 V 1356 477
+V 1358 477 V 1361 477 V 1364 477 V 1367 477 V 1370 477
+V 1372 477 V 1375 477 V 1378 477 V 1381 477 V 1384 477
+V 1386 477 V 1389 477 V 1392 478 V 1395 478 V 1398 478
+V 1400 478 V 1403 478 V 1406 478 V 1409 478 V 1411 478
+V 1414 478 V 1417 478 V 1420 478 V 1423 478 V 1425 478
+V 1428 478 V 1431 478 V 1434 478 V 1437 478 V 1439 478
+V 1442 479 V 1445 479 V 1448 479 V 1451 479 V 1453 479
+V 1456 479 V 1459 479 V 1462 479 V 1464 479 V 1467 479
+V 1470 479 V 1473 479 V 1476 479 V 1478 479 V 1481 479
+V 1484 479 V 1487 479 V 1490 479 V 1492 479 V 1495 479
+V 1498 479 V 1501 479 V 1504 479 V 1506 479 V 1509 479
+V 1512 479 V 1515 479 V 1517 479 V 1520 479 V 1523 479
+V 1526 479 V 1529 479 V 1531 479 V 1534 479 V 1537 479
+V 1540 479 V 1543 479 V 1545 479 V 1548 479 V 1551 479
+V 1554 479 V 1557 479 V 1559 479 V 1562 479 V 1565 479
+V 1568 479 V 1570 479 V 1573 479 V 1576 479 V 1579 479
+V 1582 479 V 1584 479 V 1587 479 V 1590 478 V 1593 478
+V 1596 478 V 1598 478 V 1601 478 V 1604 478 V 1607 478
+V 1610 478 V 1612 478 V 1615 478 V 1618 478 V 1621 478
+V 1624 478 V 1626 478 V 1629 478 V 1632 478 V 1635 478
+V 1637 478 V 1640 477 V 1643 477 V 1646 477 V 1649 477
+V 1651 477 V 1654 477 V 1657 477 V 1660 477 V 1663 477
+V 1665 477 V 1668 477 V 1671 477 V 1674 477 V 1677 476
+V 1679 476 V 1682 476 V 1685 476 V 1688 476 V 1690 476
+V 1693 476 V 1696 476 V 1699 476 V 1702 476 V 1704 476
+V 1707 475 V 1710 475 V 1713 475 V 1716 475 V 1718 475
+V 1721 475 V 1724 475 V 1727 475 V 1730 475 V 1732 474
+V 1735 474 V 1738 474 V 1741 474 V 1743 474 V 1746 474
+V 1749 474 V 1752 474 V 1755 473 V 1757 473 V 1760 473
+V 1763 473 V 1766 473 V 1769 473 V 1771 473 V 1774 472
+V 1777 472 V 1780 472 V 1783 472 V 1785 472 V 1788 472
+V 1791 472 V 1794 471 V 1796 471 V 1799 471 V 1802 471
+V 1805 471 V 1808 471 V 1810 470 V 1813 470 V 1816 470
+V 1819 470 V 1822 470 V 1824 470 V 1827 470 V 1830 469
+V 1833 469 V 1836 469 V 1838 469 V 1841 469 V 1844 468
+V 1847 468 V 1849 468 V 1852 468 V 1855 468 V 1858 468
+V 1861 467 V 1863 467 V 1866 467 V 1869 467 V 1872 467
+V 1875 466 V 1877 466 V 1880 466 V 1883 466 V 1886 466
+V 1889 465 V 1891 465 V 1894 465 V 1897 465 V 1900 465
+V 1902 464 V 1905 464 V 1908 464 V 1911 464 V 1914 463
+V 1916 463 V 1919 463 V 1922 463 V 1925 463 V 1928 462
+V 1930 462 V 1933 462 V 1936 462 V 1939 461 V 1942 461
+V 1944 461 V 1947 461 V 1950 461 V 1953 460 V 1955 460
+V 1958 460 V 1961 460 V 1964 459 V 1967 459 V 1969 459
+V 1972 459 V 1975 458 V 1978 458 V 1981 458 V 1983 458
+V 1986 457 V 1989 457 V 1992 457 V 1995 457 V 1997 456
+V 2000 456 V 2003 456 V 2006 455 V 2009 455 V 2011 455
+V 2014 455 V 2017 454 V 2045 446 a Fp(D)r(ir)r(ector)r(y)2382
+454 y Fy(1)1070 397 y Fo(p)p Fn(p)p 2017 404 V 2014 404
+V 2011 403 V 2009 403 V 2006 403 V 2003 403 V 2000 402
+V 1997 402 V 1995 402 V 1992 402 V 1989 401 V 1986 401
+V 1983 401 V 1981 401 V 1978 400 V 1975 400 V 1972 400
+V 1969 400 V 1967 399 V 1964 399 V 1961 399 V 1958 399
+V 1955 398 V 1953 398 V 1950 398 V 1947 398 V 1944 397
+V 1942 397 V 1939 397 V 1936 397 V 1933 397 V 1930 396
+V 1928 396 V 1925 396 V 1922 396 V 1919 395 V 1916 395
+V 1914 395 V 1911 395 V 1908 395 V 1905 394 V 1902 394
+V 1900 394 V 1897 394 V 1894 393 V 1891 393 V 1889 393
+V 1886 393 V 1883 393 V 1880 392 V 1877 392 V 1875 392
+V 1872 392 V 1869 392 V 1866 391 V 1863 391 V 1861 391
+V 1858 391 V 1855 391 V 1852 391 V 1849 390 V 1847 390
+V 1844 390 V 1841 390 V 1838 390 V 1836 389 V 1833 389
+V 1830 389 V 1827 389 V 1824 389 V 1822 389 V 1819 388
+V 1816 388 V 1813 388 V 1810 388 V 1808 388 V 1805 388
+V 1802 387 V 1799 387 V 1796 387 V 1794 387 V 1791 387
+V 1788 387 V 1785 387 V 1783 386 V 1780 386 V 1777 386
+V 1774 386 V 1771 386 V 1769 386 V 1766 386 V 1763 385
+V 1760 385 V 1757 385 V 1755 385 V 1752 385 V 1749 385
+V 1746 385 V 1743 385 V 1741 384 V 1738 384 V 1735 384
+V 1732 384 V 1730 384 V 1727 384 V 1724 384 V 1721 384
+V 1718 383 V 1716 383 V 1713 383 V 1710 383 V 1707 383
+V 1704 383 V 1702 383 V 1699 383 V 1696 383 V 1693 383
+V 1690 382 V 1688 382 V 1685 382 V 1682 382 V 1679 382
+V 1677 382 V 1674 382 V 1671 382 V 1668 382 V 1665 382
+V 1663 382 V 1660 381 V 1657 381 V 1654 381 V 1651 381
+V 1649 381 V 1646 381 V 1643 381 V 1640 381 V 1637 381
+V 1635 381 V 1632 381 V 1629 381 V 1626 381 V 1624 381
+V 1621 381 V 1618 380 V 1615 380 V 1612 380 V 1610 380
+V 1607 380 V 1604 380 V 1601 380 V 1598 380 V 1596 380
+V 1593 380 V 1590 380 V 1587 380 V 1584 380 V 1582 380
+V 1579 380 V 1576 380 V 1573 380 V 1570 380 V 1568 380
+V 1565 380 V 1562 380 V 1559 380 V 1557 380 V 1554 380
+V 1551 380 V 1548 380 V 1545 380 V 1543 379 V 1540 379
+V 1537 379 V 1534 379 V 1531 379 V 1529 379 V 1526 379
+V 1523 379 V 1520 379 V 1517 379 V 1515 379 V 1512 379
+V 1509 379 V 1506 379 V 1504 379 V 1501 379 V 1498 379
+V 1495 379 V 1492 379 V 1490 379 V 1487 379 V 1484 380
+V 1481 380 V 1478 380 V 1476 380 V 1473 380 V 1470 380
+V 1467 380 V 1464 380 V 1462 380 V 1459 380 V 1456 380
+V 1453 380 V 1451 380 V 1448 380 V 1445 380 V 1442 380
+V 1439 380 V 1437 380 V 1434 380 V 1431 380 V 1428 380
+V 1425 380 V 1423 380 V 1420 380 V 1417 380 V 1414 380
+V 1411 380 V 1409 381 V 1406 381 V 1403 381 V 1400 381
+V 1398 381 V 1395 381 V 1392 381 V 1389 381 V 1386 381
+V 1384 381 V 1381 381 V 1378 381 V 1375 381 V 1372 381
+V 1370 381 V 1367 382 V 1364 382 V 1361 382 V 1358 382
+V 1356 382 V 1353 382 V 1350 382 V 1347 382 V 1345 382
+V 1342 382 V 1339 382 V 1336 383 V 1333 383 V 1331 383
+V 1328 383 V 1325 383 V 1322 383 V 1319 383 V 1317 383
+V 1314 383 V 1311 383 V 1308 384 V 1305 384 V 1303 384
+V 1300 384 V 1297 384 V 1294 384 V 1292 384 V 1289 384
+V 1286 385 V 1283 385 V 1280 385 V 1278 385 V 1275 385
+V 1272 385 V 1269 385 V 1266 385 V 1264 386 V 1261 386
+V 1258 386 V 1255 386 V 1252 386 V 1250 386 V 1247 386
+V 1244 387 V 1241 387 V 1239 387 V 1236 387 V 1233 387
+V 1230 387 V 1227 387 V 1225 388 V 1222 388 V 1219 388
+V 1216 388 V 1213 388 V 1211 388 V 1208 389 V 1205 389
+V 1202 389 V 1199 389 V 1197 389 V 1194 389 V 1191 390
+V 1188 390 V 1186 390 V 1183 390 V 1180 390 V 1177 391
+V 1174 391 V 1172 391 V 1169 391 V 1166 391 V 1163 391
+V 1160 392 V 1158 392 V 1155 392 V 1152 392 V 1149 392
+V 1146 393 V 1144 393 V 1141 393 V 1138 393 V 1135 393
+V 1132 394 V 1130 394 V 1127 394 V 1124 394 V 1121 395
+V 1119 395 V 1116 395 V 1113 395 V 1110 395 V 1107 396
+V 1105 396 V 1102 396 V 1099 396 V 1096 397 V 1093 397
+V 1091 397 V 1088 397 V 1085 397 V 1082 398 V 1079 398
+V 1077 398 V 1074 398 V 1071 399 V 1048 628 a Fo(r)p
+Fn(r)p Fl(d)1088 621 y(d)1129 614 y(d)1169 607 y(d)1210
+600 y(d)1250 594 y(d)1291 587 y(d)1331 580 y(d)1372 573
+y(d)1412 566 y(d)1453 559 y(d)1493 552 y(d)1534 545 y(d)1574
+539 y(d)1615 532 y(d)1655 525 y(d)1695 518 y(d)1736 511
+y(d)1776 504 y(d)1817 497 y(d)1857 490 y(d)1898 484 y(d)1938
+477 y(d)1979 470 y(d)1690 608 y Fo(t)p Fn(t)p Fl(j)1727
+596 y(j)1763 584 y(j)1800 572 y(j)1836 560 y(j)1873 547
+y(j)1909 535 y(j)1946 523 y(j)1982 511 y(j)2018 499 y(j)2231
+608 y Fo(\017)p Fn(\017)p 2229 608 4 123 v 2652 366 2
+2 v 2654 367 612 4 v 3266 366 2 2 v 2651 490 4 124 v
+3268 490 V 2652 493 2 2 v 2654 494 612 4 v 3266 493 2
+2 v 2678 446 a Fp(K)5 b(B)t(l)q(ock)r Fx(\(\\)p Fp(f)j(ood)p
+Fx("\))2441 428 y Fo(o)p Fn(o)p 2441 430 212 4 v 556
+609 2 2 v 557 610 488 4 v 1045 609 2 2 v 555 733 4 124
+v 1048 733 V 556 736 2 2 v 557 737 488 4 v 1045 736 2
+2 v 581 689 a Fp(S)t(B)t(l)q(ock)r Fx(\()p Fp(B)t(ob)p
+860 702 132 4 v 1 w Fx(\))1346 858 y Fo(\))p Fn(\))1307
+845 y Fl(T)1271 832 y(T)1235 820 y(T)1199 807 y(T)1162
+795 y(T)1126 782 y(T)1090 770 y(T)1054 757 y(T)1018 745
+y(T)982 732 y(T)p 1199 609 2 2 v 1200 610 606 4 v 1806
+609 2 2 v 1198 733 4 124 v 1808 733 V 1199 736 2 2 v
+1200 737 606 4 v 1806 736 2 2 v 1224 689 a Fp(K)d(B)t(l)q(ock)r
+Fx(\(\\)p Fp(soda)p Fx("\))1504 858 y Fo(\017)p Fn(\017)p
+1502 858 4 126 v 1925 609 2 2 v 1927 610 606 4 v 2533
+609 2 2 v 1925 733 4 124 v 2535 733 V 1925 736 2 2 v
+1927 737 606 4 v 2533 736 2 2 v 1951 689 a Fp(K)g(B)t(l)q(ock)r
+Fx(\(\\)p Fp(soda)p Fx("\))2231 858 y Fo(\017)p Fn(\017)p
+2229 858 4 126 v 2664 609 2 2 v 2666 610 588 4 v 3254
+609 2 2 v 2663 733 4 124 v 3256 733 V 2664 736 2 2 v
+2666 737 588 4 v 3254 736 2 2 v 2690 689 a Fp(K)g(B)t(l)q(ock)r
+Fx(\(\\)p Fp(col)q(a)p Fx("\))2395 858 y Fo(t)p Fn(t)2395
+859 y Fl(j)2432 846 y(j)2470 834 y(j)2508 821 y(j)2545
+809 y(j)2583 796 y(j)2621 784 y(j)2659 771 y(j)2696 758
+y(j)2734 746 y(j)p 522 852 V 524 853 555 4 v 1079 852
+2 2 v 521 975 4 124 v 1081 975 V 522 978 2 2 v 524 979
+555 4 v 1079 978 2 2 v 548 932 a Fp(K)g(B)t(l)q(ock)r
+Fx(\(\\)p Fp(bob)p Fx("\))802 732 y Fo(O)p Fn(O)p 801
+851 4 119 v 1308 934 a Fp(D)r(ocument)1665 942 y Fy(1)2035
+934 y Fp(D)r(ocument)2392 942 y Fy(2)2764 934 y Fp(D)r(ocument)3121
+942 y Fy(3)523 1124 y Fr(Fig.)15 b(5.)p 0 TeXcolorgray
+805 1024 a
 SDict begin H.S end
- 274 800 a 0 TeXcolorgray 0 TeXcolorgray 274 800
-a
+ 805 1024 a 0 TeXcolorgray 0 TeXcolorgray 805
+1024 a
 SDict begin H.R end
- 274 800 a 274 800 a
-SDict begin [ /View [/XYZ H.V] /Dest (figure.5) cvn H.B /DEST pdfmark
+ 805 1024 a 805 1024 a
+SDict begin [ /View [/XYZ H.V] /Dest (figure.1.5) cvn H.B /DEST pdfmark
 end
- 274 800 a Black 306 891 a Fu(ECRS)31
-b(allo)n(ws)j(the)e(formation)h(of)g(complicated)g(net)n(w)n(ork)e
-(structures.)h(In)g(this)0 983 y(example,)c(the)g Fq(SBlo)l(ck)g
-Fu(of)h(pseudon)n(ym)e Fq(A)n(lic)l(e)p 1203 996 165
-4 v 27 w Fu(ev)n(en)n(tually)g(allo)n(ws)j(to)e(retriev)n(e)g(t)n(w)n
-(o)g(of)h(the)0 1074 y(do)r(cumen)n(ts)38 b(enco)r(ded)g(in)g(the)f
-(system,)i(as)f(do)r(es)h Fq(Kblo)l(ck)g Fu(for)f(k)n(eyw)n(ord)g(\\fo)
-r(o)r(d".)i(Bo)n(xes)0 1165 y(denote)22 b(simple)h(blo)r(c)n(ks)g(that)
-f(serv)n(e)g(as)h(en)n(try-p)r(oin)n(ts.)f(The)h(directory)f(and)g(the)
-g(do)r(cumen)n(ts)0 1257 y(consist)37 b(of)g(trees)g(of)g(p)r(ossibly)g
-(man)n(y)f(CHK-enco)r(ded)g(blo)r(c)n(ks.)h(Searc)n(hing)f(for)h(k)n
-(eyw)n(ord)0 1348 y(\\so)r(da")27 b(w)n(ould)f(return)e(t)n(w)n(o)i
-(results)g(p)r(oin)n(ting)f(to)h(di\013eren)n(t)f(resources.)i(Note)e
-(that)g(all)h(the)0 1439 y(enco)r(ded)35 b(resources,)i(including)f
-(the)f(one)h(do)r(cumen)n(t)f(with)h(no)f(p)r(oin)n(ters)h(to)g(it,)g
-(can)g(b)r(e)0 1531 y(retriev)n(ed)25 b(b)n(y)g(kno)n(wing)h(the)f(CHK)
-h(k)n(eys)f(of)h(their)g(ro)r(ot)g Fq(IBlo)l(ck)p Fu(s.)p
-Black Black Black 0 1908 a
+ 805 1024 a Black 835 1124
+a FA(ECRS)30 b(allo)n(ws)f(the)i(formation)f(of)g(complicated)g(net)n
+(w)n(ork)f(structures.)h(In)h(this)523 1224 y(example,)38
+b(the)h Ft(SBlo)l(ck)g FA(of)f(pseudon)n(ym)g Ft(A)n(lic)l(e)p
+1865 1237 179 4 v 39 w FA(ev)n(en)n(tually)f(allo)n(ws)g(to)h(retriev)n
+(e)f(t)n(w)n(o)h(of)523 1323 y(the)24 b(do)r(cumen)n(ts)f(enco)r(ded)h
+(in)g(the)f(system,)h(as)f(do)r(es)g Ft(Kblo)l(ck)h FA(for)f(k)n(eyw)n
+(ord)f(\\fo)r(o)r(d".)g(Bo)n(xes)523 1423 y(denote)d(simple)h(blo)r(c)n
+(ks)e(that)i(serv)n(e)d(as)i(en)n(try-p)r(oin)n(ts.)f(The)h(directory)f
+(and)h(the)h(do)r(cumen)n(ts)523 1523 y(consist)33 b(of)h(trees)f(of)h
+(p)r(ossibly)g(man)n(y)f(CHK-enco)r(ded)g(blo)r(c)n(ks.)g(Searc)n(hing)
+g(for)g(k)n(eyw)n(ord)523 1622 y(\\so)r(da")h(w)n(ould)h(return)g(t)n
+(w)n(o)f(results)h(p)r(oin)n(ting)g(to)g(di\013eren)n(t)h(resources.)d
+(Note)j(that)f(all)523 1722 y(the)d(enco)r(ded)f(resources,)f
+(including)h(the)h(one)f(do)r(cumen)n(t)h(with)f(no)h(p)r(oin)n(ters)e
+(to)i(it,)f(can)523 1821 y(b)r(e)d(retriev)n(ed)e(b)n(y)i(kno)n(wing)e
+(the)i(CHK)g(k)n(eys)e(of)i(their)f(ro)r(ot)g Ft(IBlo)l(ck)p
+FA(s.)p Black Black Black 523 2275 a(non-existen)n(t)h(\014les\).)h
+(Directories)e(can)h(also)g(refer)f(to)i(other)f(directories,)f(allo)n
+(wing)g(users)523 2375 y(to)g(build)h(na)n(vigable)d(structures)h
+(similar)h(to)g(\014le)g(systems)f(or)g(the)i(W)-7 b(orld)27
+b(Wide)g(W)-7 b(eb.)28 b(In)523 2474 y(particular)k(it)i(is)f(p)r
+(ossible)g(to)g(refer)f(to)h(con)n(ten)n(ts)g(of)g(other)g(users)f(and)
+h(ev)n(en)g(to)g(\014les)g(or)523 2574 y(directories)28
+b(that)h(are)f(supp)r(osed)h(to)g(b)r(e)g(published)h(in)f(the)g
+(future.)h(Figure)p 1 0 0 TeXcolorrgb 2978 2574 a
 SDict begin H.S end
- 0 1908 a 0 1908 a
+ 2978
+2574 a 1 0 0 TeXcolorrgb FA(5)p 1 0 0 TeXcolorrgb 3020
+2520 a
+SDict begin H.R end
+ 3020 2520 a 3020 2574 a
+SDict begin [ /Color [1 0 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
+(figure.1.5) cvn H.B /ANN pdfmark end
+ 3020 2574 a Black 29 w
+FA(illustrates)523 2673 y(some)d(of)h(the)g(p)r(ossible)f(reference)g
+(relationships)f(b)r(et)n(w)n(een)i(the)g(v)-5 b(arious)26
+b(constructs.)523 2853 y
+SDict begin H.S end
+ 523 2853 a 523 2853 a
 SDict begin 12 H.A end
- 0 1908 a
-0 1908 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.4.3) cvn H.B /DEST
+ 523 2853
+a 523 2853 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.4.3) cvn H.B /DEST
 pdfmark end
- 0 1908 a 83 x Fs(4.3)j(E\016cient)h(lo)l(okups)h(with)f(blo)l
-(om)h(\014lters)0 2318 y Fy(Giv)n(en)19 b(that)g(a)f(query)g(only)h
-(requires)e(the)i(transmission)f(of)g(a)h(hash)f(co)r(de,)h(the)g(n)n
-(um)n(b)r(er)0 2417 y(of)35 b(queries)g(that)h(an)n(y)e(giv)n(en)h(p)r
-(eer)g(ma)n(y)g(receiv)n(e)f(is)h(quite)h(high.)f(The)g(bandwidth)0
-2517 y(required)24 b(for)h(the)h(resp)r(onse)e(can)h(often)g(b)r(e)h
-(discoun)n(ted,)f(since)g(a)g(p)r(eer)g(ma)n(y)g(only)f(b)r(e)0
-2617 y(able)h(to)h(resp)r(ond)f(to)g(a)h(fraction)e(of)i(the)g(receiv)n
-(ed)f(queries.)f(Assuming)i(that)g(queries)0 2716 y(dominate)k(the)g
-(tra\016c,)f(o)n(v)n(er)g(50)g(queries)g(p)r(er)g(second)h(could)f(b)r
-(e)i(transmitted)f(o)n(v)n(er)0 2816 y(a)k(slo)n(w)f(mo)r(dem)h(line.)g
-(Man)n(y)f(p)r(eers)h(migh)n(t)g(not)g(b)r(e)g(able)g(to)g(p)r(erform)f
-(disk-based)0 2916 y(database)38 b(lo)r(okups)g(at)g(suc)n(h)h(rates.)e
-(W)-7 b(orse,)38 b(if)i(p)r(eers)e(are)g(sharing)f(gigab)n(ytes)g(of)0
-3015 y(con)n(ten)n(t,)32 b(simply)g(k)n(eeping)f(the)i(index)f
-(information)f(in)i(memory)e(is)h(also)f(often)h(no)0
-3115 y(longer)26 b(feasible.)125 3241 y(In)34 b(order)e(to)i
-(dramatically)e(reduce)i(the)g(necessary)e(n)n(um)n(b)r(er)h(of)h
-(database)f(ac-)0 3341 y(cesses,)25 b(ECRS)i(can)f(b)r(e)g(supplemen)n
-(ted)h(with)g(a)f(blo)r(om)g(\014lter)g([)p 0 1 0 TeXcolorrgb
-2020 3341 a
+ 523 2853 a 87 x Fr(4.3)95 b(E\016cien)m(t)31
+b(lo)s(okups)f(with)i(blo)s(om)e(\014lters)523 3124 y
+FA(Giv)n(en)24 b(that)h(a)g(query)e(only)i(requires)e(the)i
+(transmission)e(of)i(a)f(hash)g(co)r(de,)h(the)g(n)n(um)n(b)r(er)f(of)
+523 3224 y(queries)29 b(that)i(an)n(y)e(giv)n(en)g(p)r(eer)h(ma)n(y)f
+(receiv)n(e)g(is)h(quite)g(high.)g(The)g(bandwidth)h(required)523
+3323 y(for)40 b(the)i(resp)r(onse)d(can)i(often)g(b)r(e)g(discoun)n
+(ted,)g(since)g(a)f(p)r(eer)h(ma)n(y)f(only)g(b)r(e)i(able)e(to)523
+3423 y(resp)r(ond)32 b(to)h(a)f(fraction)g(of)h(the)g(receiv)n(ed)e
+(queries.)h(Assuming)g(that)h(queries)f(dominate)523
+3522 y(the)d(tra\016c,)f(o)n(v)n(er)f(50)g(queries)h(p)r(er)g(second)g
+(could)h(b)r(e)g(transmitted)f(o)n(v)n(er)f(a)h(slo)n(w)g(mo)r(dem)523
+3622 y(line.)j(Man)n(y)f(p)r(eers)g(migh)n(t)g(not)h(b)r(e)g(able)f(to)
+g(p)r(erform)h(disk-based)e(database)g(lo)r(okups)h(at)523
+3722 y(suc)n(h)f(rates.)f(W)-7 b(orse,)28 b(if)h(p)r(eers)g(are)e
+(sharing)h(gigab)n(ytes)f(of)i(con)n(ten)n(t,)g(simply)g(k)n(eeping)f
+(the)523 3821 y(index)g(information)f(in)h(memory)e(is)i(also)e(often)i
+(no)f(longer)g(feasible.)648 3925 y(In)j(order)f(to)h(dramatically)e
+(reduce)i(the)g(necessary)f(n)n(um)n(b)r(er)h(of)g(database)f
+(accesses,)523 4024 y(ECRS)c(can)g(b)r(e)g(supplemen)n(ted)h(with)f(a)g
+(blo)r(om)g(\014lter)g([)p 0 1 0 TeXcolorrgb 2275 4024
+a
 SDict begin H.S end
- 2020 3341 a 0 1 0 TeXcolorrgb Fy(3)p 0 1 0
-TeXcolorrgb 2062 3287 a
+ 2275 4024 a 0 1 0 TeXcolorrgb FA(3)p 0 1 0 TeXcolorrgb
+2316 3971 a
 SDict begin H.R end
- 2062 3287 a 2062 3341 a
+ 2316 3971 a 2316 4024 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.bloom) cvn H.B /ANN pdfmark end
- 2062
-3341 a Black Fy(],)g(whic)n(h)h(is)f(a)g(prob-)0 3441
-y(abilistic)36 b(data)f(structure)g(that)h(uses)f(little)h(memory)f
-(and)h(can)f(b)r(e)h(used)f(to)h(\014lter)0 3540 y(out)23
-b(queries)g(that)g(de\014nitely)h(cannot)f(b)r(e)g(answ)n(ered)f(b)n(y)
-h(the)h(lo)r(cal)f(p)r(eer.)g(The)g(blo)r(om)0 3640 y(\014lter)g(is)f
-(guaran)n(teed)g(to)g(allo)n(w)g(all)g(queries)g(that)i(can)e(b)r(e)h
-(lo)r(cally)f(answ)n(ered)g(through)0 3739 y(the)e(\014lter,)g(and)g
-(will)g(reject)g(all)g(but)g(a)g(statistically)f(insigni\014can)n(t)g
-(n)n(um)n(b)r(er)h(of)g(queries)0 3839 y(that)28 b(cannot)f(b)r(e)h
-(answ)n(ered)e(lo)r(cally)-7 b(.)125 3965 y(The)34 b(size)g(of)g(the)h
-(blo)r(om)f(\014lter)h(in)f(memory)g(that)h(is)f(required)f(to)i
-(reduce)f(the)0 4065 y(n)n(um)n(b)r(er)19 b(of)f(false-p)r(ositiv)n(es)
-g(to)g(appro)n(ximately)f(3\045)i(is)f(ab)r(out)h(one)f(b)n(yte)h(\(8)g
-(bit)g(with)g(5)0 4165 y(blo)r(om)g(tests,)f(2)493 4135
-y Fc(\000)p Fw(5)605 4165 y Fb(\031)23 b Fy(3\045\))c(p)r(er)f(en)n
-(try)-7 b(.)19 b(This)g(reduces)f(the)h(memory)f(requiremen)n(ts)f(for)
-0 4264 y(the)i(index)g(b)n(y)f(a)h(factor)f(of)g(16-64,)f(dep)r(ending)
-i(on)g(the)g(size)f(of)h(the)g(hash.)g(Since)g(a)f(no)r(de)0
-4364 y(o)r(ccasionally)i(needs)j(to)f(remo)n(v)n(e)f(con)n(ten)n(t)h
-(from)g(the)g(lo)r(cal)g(database,)g(additional)f(bit)0
-4464 y(coun)n(ters)27 b(for)g(the)h(blo)r(om)f(\014lter)h(should)g(b)r
-(e)g(stored)f(on)g(the)h(disk.)g(The)f(assumption)0 4563
-y(is)i(that)h(c)n(hanges)e(to)h(the)h(\014lter)f(are)f(rare)g(compared)
-h(to)g(the)g(frequency)g(of)h(queries.)0 4663 y(Queries)i(that)h(pass)f
-(through)g(the)h(blo)r(om)g(\014lter)f(are)g(forw)n(arded)f(to)i(the)g
-(database)0 4762 y(la)n(y)n(er)26 b(whic)n(h)h(then)i(attempts)f(to)f
-(lo)r(cate)g(the)h(con)n(ten)n(t.)p Black Black eop end
-%%Page: 18 18
-TeXDict begin 18 17 bop 0 0 a
+ 2316 4024 a Black
+FA(],)h(whic)n(h)f(is)g(a)f(probabilistic)g(data)523
+4124 y(structure)39 b(that)h(uses)f(little)h(memory)f(and)g(can)g(b)r
+(e)h(used)g(to)f(\014lter)h(out)f(queries)g(that)523
+4223 y(de\014nitely)29 b(cannot)f(b)r(e)i(answ)n(ered)d(b)n(y)h(the)h
+(lo)r(cal)g(p)r(eer.)f(The)h(blo)r(om)f(\014lter)h(is)g(guaran)n(teed)
+523 4323 y(to)21 b(allo)n(w)f(all)g(queries)h(that)g(can)f(b)r(e)i(lo)r
+(cally)e(answ)n(ered)f(through)i(the)g(\014lter,)g(and)g(will)g(reject)
+523 4423 y(all)33 b(but)h(a)f(statistically)g(insigni\014can)n(t)f(n)n
+(um)n(b)r(er)h(of)h(queries)e(that)i(cannot)f(b)r(e)g(answ)n(ered)523
+4522 y(lo)r(cally)-7 b(.)648 4625 y(The)24 b(size)g(of)g(the)h(blo)r
+(om)f(\014lter)g(in)g(memory)g(that)g(is)g(required)g(to)g(reduce)g
+(the)g(n)n(um)n(b)r(er)523 4725 y(of)36 b(false-p)r(ositiv)n(es)e(to)h
+(appro)n(ximately)f(3\045)h(is)h(ab)r(out)f(one)g(b)n(yte)h(\(8)f(bit)h
+(with)g(5)f(blo)r(om)523 4825 y(tests,)24 b(2)779 4795
+y Fc(\000)p Fz(5)891 4825 y Fb(\031)f FA(3\045\))h(p)r(er)g(en)n(try)-7
+b(.)24 b(This)h(reduces)e(the)i(memory)e(requiremen)n(ts)g(for)h(the)h
+(index)523 4924 y(b)n(y)e(a)f(factor)g(of)h(16-64,)e(dep)r(ending)j(on)
+e(the)i(size)e(of)h(the)h(hash.)e(Since)h(a)g(no)r(de)g(o)r
+(ccasionally)p Black Black eop end
+%%Page: 17 17
+TeXDict begin 17 16 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.17) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(18)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 165 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
+b(17)p Black 523 448 a FA(needs)26 b(to)f(remo)n(v)n(e)f(con)n(ten)n(t)
+h(from)g(the)h(lo)r(cal)f(database,)g(additional)g(bit)h(coun)n(ters)f
+(for)g(the)523 548 y(blo)r(om)f(\014lter)g(should)g(b)r(e)h(stored)f
+(on)g(the)g(disk.)h(The)f(assumption)g(is)g(that)h(c)n(hanges)d(to)j
+(the)523 648 y(\014lter)30 b(are)f(rare)g(compared)g(to)h(the)g
+(frequency)g(of)g(queries.)f(Queries)g(that)h(pass)g(through)523
+747 y(the)38 b(blo)r(om)f(\014lter)h(are)e(forw)n(arded)g(to)i(the)g
+(database)e(la)n(y)n(er)g(whic)n(h)h(then)h(attempts)g(to)523
+847 y(lo)r(cate)27 b(the)h(con)n(ten)n(t.)523 1017 y
 SDict begin H.S end
- 0 165 a 0 165 a
+
+523 1017 a 523 1017 a
 SDict begin 12 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.5) cvn H.B /DEST pdfmark
+ 523 1017 a 523 1017 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1.5) cvn H.B /DEST pdfmark
 end
- 0 165 a 83 x
-Fz(5)g(Discussion)0 458 y Fy(The)33 b(fact)h(that)g(eac)n(h)e
-Fs(DBlo)l(ck)j Fy(can)e(b)r(e)g(enco)r(ded)h(indep)r(enden)n(tly)g
-(from)f(an)n(y)f(other)0 557 y Fs(DBlo)l(ck)23 b Fy(results)e(in)g(an)h
-(imp)r(ortan)n(t)f(feature)g(of)h(ECRS)f(called)g Fs(on-demand)k(enc)l
-(o)l(ding)p Fy(.)0 657 y(Giv)n(en)20 b(a)g(plain)n(text)g(\014le)g(and)
-g(an)g(index)g(that)h(maps)e(a)h(query)f(hash)h(to)g(an)g(o\013set)g
-(in)h(the)0 757 y(\014le,)k(the)g(resulting)g Fs(DBlo)l(ck)g
-Fy(can)g(b)r(e)g(enco)r(ded)g(on-the-\015y)-7 b(,)24
-b(without)h(pro)r(cessing)f(an)n(y)0 856 y(other)e(part)h(of)f(the)i
-(\014le.)f(This)g(can)f(b)r(e)h(an)g(imp)r(ortan)n(t)f(b)r(ene\014t)i
-(if)g(the)f(user)f(in)n(tends)h(to)0 956 y(k)n(eep)c(the)i(\014le)f(in)
-g(plain)n(text)g(on)g(the)g(lo)r(cal)f(driv)n(e.)h(In)g(this)g(case,)f
-(the)i(system)e(can)h(index)0 1056 y(the)i Fs(DBlo)l(cks)h
-Fy(without)g(replicating)e(the)h(actual)g(data)f(completely)-7
-b(,)22 b(storing)f(only)h(the)0 1155 y(resulting)30 b
-Fs(IBlo)l(cks)h Fy(\(and)f Fs(SBlo)l(cks)h Fy(and)f Fs(KBlo)l(cks)p
-Fy(\))i(and)e(then)g(later)g(pro)r(ducing)g(the)0 1255
-y Fs(DBlo)l(cks)d Fy(only)e(using)h(the)g(index)g(and)g(the)g(original)
-e(\014le.)i(This)g(can)f(result)h(in)g(rather)0 1354
-y(dramatic)h(sa)n(vings)f(in)i(space)e(\(no)i(replication)f(of)g(enco)r
-(ded)h(con)n(ten)n(t\).)125 1457 y(Splitting)f(\014les)f(in)n(to)g(blo)
-r(c)n(ks)g(migh)n(t)g(b)r(e)h(p)r(erceiv)n(ed)f(as)g(ha)n(ving)f(a)h
-(negativ)n(e)f(e\013ect)0 1557 y(on)39 b(the)g(preserv)-5
-b(ation)37 b(of)i(data.)g(If)g(only)g(one)f(of)h(the)h(blo)r(c)n(ks)e
-(is)h(lost,)f(the)i(larger)0 1657 y(\014le)h(can)f(no)h(longer)f(b)r(e)
-h(reconstructed.)f(Man)n(y)g(other)g(systems)g([)p 0 1 0
-TeXcolorrgb 2204 1657 a
+ 523 1017
+a 121 x Fu(5)112 b(Discussion)523 1364 y FA(The)23 b(fact)g(that)h(eac)
+n(h)e Ft(DBlo)l(ck)i FA(can)f(b)r(e)g(enco)r(ded)h(indep)r(enden)n(tly)
+f(from)g(an)n(y)g(other)f Ft(DBlo)l(ck)523 1463 y FA(results)35
+b(in)g(an)g(imp)r(ortan)n(t)g(feature)f(of)h(ECRS)g(called)g
+Ft(on-demand)i(enc)l(o)l(ding)p FA(.)f(Giv)n(en)f(a)523
+1563 y(plain)n(text)c(\014le)h(and)f(an)f(index)i(that)f(maps)g(a)g
+(query)f(hash)h(to)g(an)g(o\013set)g(in)h(the)f(\014le,)h(the)523
+1663 y(resulting)f Ft(DBlo)l(ck)i FA(can)e(b)r(e)i(enco)r(ded)e
+(on-the-\015y)-7 b(,)32 b(without)g(pro)r(cessing)e(an)n(y)h(other)g
+(part)523 1762 y(of)e(the)h(\014le.)g(This)f(can)g(b)r(e)g(an)g(imp)r
+(ortan)n(t)g(b)r(ene\014t)i(if)e(the)h(user)f(in)n(tends)g(to)g(k)n
+(eep)g(the)h(\014le)523 1862 y(in)i(plain)n(text)g(on)f(the)h(lo)r(cal)
+f(driv)n(e.)g(In)h(this)g(case,)f(the)h(system)f(can)g(index)h(the)g
+Ft(DBlo)l(cks)523 1961 y FA(without)22 b(replicating)f(the)i(actual)e
+(data)g(completely)-7 b(,)22 b(storing)f(only)g(the)h(resulting)g
+Ft(IBlo)l(cks)523 2061 y FA(\(and)j Ft(SBlo)l(cks)g FA(and)f
+Ft(KBlo)l(cks)p FA(\))i(and)e(then)h(later)f(pro)r(ducing)f(the)i
+Ft(DBlo)l(cks)h FA(only)e(using)g(the)523 2161 y(index)31
+b(and)h(the)f(original)f(\014le.)i(This)f(can)g(result)g(in)h(rather)e
+(dramatic)h(sa)n(vings)e(in)j(space)523 2260 y(\(no)c(replication)e(of)
+i(enco)r(ded)f(con)n(ten)n(t\).)648 2365 y(Splitting)k(\014les)g(in)n
+(to)g(blo)r(c)n(ks)f(migh)n(t)g(b)r(e)i(p)r(erceiv)n(ed)e(as)g(ha)n
+(ving)g(a)g(negativ)n(e)g(e\013ect)h(on)523 2465 y(the)38
+b(preserv)-5 b(ation)37 b(of)h(data.)f(If)i(only)e(one)h(of)g(the)g
+(blo)r(c)n(ks)f(is)h(lost,)g(the)g(larger)e(\014le)i(can)523
+2564 y(no)30 b(longer)g(b)r(e)h(reconstructed.)f(Man)n(y)g(other)g
+(systems)g([)p 0 1 0 TeXcolorrgb 2344 2564 a
 SDict begin H.S end
- 2204 1657 a 0 1 0 TeXcolorrgb
-Fy(9)p 0 1 0 TeXcolorrgb 2246 1603 a
+ 2344 2564
+a 0 1 0 TeXcolorrgb FA(9)p 0 1 0 TeXcolorrgb 2385 2511
+a
 SDict begin H.R end
- 2246 1603 a 2246
-1657 a
+ 2385 2511 a 2385 2564 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.freehaven-berk) cvn H.B /ANN pdfmark end
- 2246 1657 a Black Fy(,)p 0 1 0 TeXcolorrgb 2277
-1657 a
+ 2385 2564 a Black FA(,)p 0 1 0
+TeXcolorrgb 2408 2564 a
 SDict begin H.S end
- 2277 1657 a 0 1 0 TeXcolorrgb Fy(33)p 0 1 0 TeXcolorrgb
-2360 1603 a
+ 2408 2564 a 0 1 0 TeXcolorrgb
+FA(33)p 0 1 0 TeXcolorrgb 2492 2511 a
 SDict begin H.R end
- 2360 1603 a 2360 1657 a
+ 2492 2511 a 2492
+2564 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.mojotech) cvn H.B /ANN pdfmark end
- 2360 1657 a Black
-Fy(])h(attempt)0 1756 y(to)f(address)e(this)i(problem)f(b)n(y)h(either)
-f(attempting)h(to)g(k)n(eep)f(\014les)h(in)n(tact,)f(or)g(b)n(y)0
-1856 y(using)27 b(erasure)e(co)r(des)i([)p 0 1 0 TeXcolorrgb
-750 1856 a
+ 2492 2564 a Black FA(])g(attempt)i(to)e(address)g(this)523
+2664 y(problem)c(b)n(y)g(either)h(attempting)g(to)f(k)n(eep)g(\014les)h
+(in)n(tact,)g(or)e(b)n(y)i(using)f(erasure)f(co)r(des)h([)p
+0 1 0 TeXcolorrgb 3299 2664 a
 SDict begin H.S end
- 750 1856 a 0 1 0 TeXcolorrgb Fy(25)p 0 1 0
-TeXcolorrgb 833 1802 a
+ 3299 2664 a 0 1 0 TeXcolorrgb
+FA(25)p 0 1 0 TeXcolorrgb 3382 2611 a
 SDict begin H.R end
- 833 1802 a 833 1856 a
+ 3382 2611 a 3382
+2664 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.rabin89efficient) cvn H.B /ANN pdfmark end
- 833 1856
-a Black Fy(])g(to)g(patc)n(h)f(missing)h(pieces.)g(While)g(erasure)f
-(co)r(des)g(could)0 1956 y(b)r(e)40 b(used)g(together)f(with)h(ECRS,)g
-(they)g(w)n(ould)f(con\015ict)h(with)g(the)g(p)r(erformance)0
-2055 y(b)r(ene\014ts)31 b(of)f(on-demand)g(enco)r(ding.)g(Consequen)n
-(tly)-7 b(,)29 b(the)i(primary)e(mec)n(hanism)h(to)0
-2155 y(guard)18 b(against)g(the)i(loss)e(of)h(\014les)g(enco)r(ded)g
-(with)h(ECRS)f(should)g(b)r(e)g(data)g(replication.)0
-2254 y(Since)29 b(ECRS)f(splits)g(\014les)h(in)n(to)f(blo)r(c)n(ks)f
-(it)i(should)f(b)r(e)h(p)r(ossible)f(for)g(the)h(net)n(w)n(ork)e(to)0
-2354 y(duplicate)j(blo)r(c)n(ks)g(at)g(a)f(negligible)h(cost)g(p)r(er)g
-(blo)r(c)n(k.)f(Duplicating)i(a)f(complete)g(\014le)0
-2454 y(of)c(sev)n(eral)f(gigab)n(ytes)g(w)n(ould)h(b)r(e)h(m)n(uc)n(h)f
-(more)g(costly)g(and)g(more)g(lik)n(ely)g(to)g(fail.)h(F)-7
-b(or)0 2553 y(large)33 b(\014les,)i(it)h(ma)n(y)e(b)r(e)h(di\016cult)h
-(for)e(a)h(p)r(eer)f(to)h(\014nd)g(individual)g(hosts)g(that)g(are)0
-2653 y(willing)e(\(or)g(able\))g(to)g(pro)n(vide)f(enough)g(space)g(to)
-h(replicate)g(the)g(complete)g(\014le)h(in)0 2753 y(its)24
-b(en)n(tiret)n(y)-7 b(.)24 b(Also,)f(the)i(tra\016c)e(burst)h(that)g(a)
-g(large)e(transfer)h(w)n(ould)h(imp)r(ose)g(on)g(the)0
-2852 y(net)n(w)n(ork)31 b(migh)n(t)i(k)n(eep)f(the)h(participating)e
-(no)r(des)i(busy)f(for)g(to)r(o)h(long.)f(Blo)r(c)n(ks,)f(on)0
-2952 y(the)f(other)g(hand,)g(can)f(migrate)g(quic)n(kly)h(from)f(host)h
-(to)g(host.)f(Storing)h(a)f(large)g(\014le)0 3051 y(on)g(a)h(single)f
-(host)g(also)g(fails)h(to)f(facilitate)h(distribution)g(of)f(load)g
-(for)h(do)n(wnloading)0 3151 y(purp)r(oses.)0 3367 y
+ 3382 2664 a Black FA(])523 2764 y(to)e(patc)n(h)f(missing)g
+(pieces.)g(While)h(erasure)e(co)r(des)h(could)h(b)r(e)g(used)f
+(together)g(with)h(ECRS,)523 2863 y(they)i(w)n(ould)e(con\015ict)i
+(with)g(the)f(p)r(erformance)g(b)r(ene\014ts)h(of)f(on-demand)g(enco)r
+(ding.)g(Con-)523 2963 y(sequen)n(tly)-7 b(,)23 b(the)g(primary)f(mec)n
+(hanism)g(to)h(guard)f(against)g(the)h(loss)g(of)g(\014les)g(enco)r
+(ded)f(with)523 3063 y(ECRS)31 b(should)f(b)r(e)i(data)e(replication.)g
+(Since)h(ECRS)g(splits)g(\014les)g(in)n(to)g(blo)r(c)n(ks)f(it)h
+(should)523 3162 y(b)r(e)k(p)r(ossible)f(for)f(the)i(net)n(w)n(ork)e
+(to)h(duplicate)g(blo)r(c)n(ks)g(at)g(a)g(negligible)f(cost)h(p)r(er)g
+(blo)r(c)n(k.)523 3262 y(Duplicating)27 b(a)f(complete)h(\014le)g(of)f
+(sev)n(eral)f(gigab)n(ytes)g(w)n(ould)i(b)r(e)g(m)n(uc)n(h)f(more)g
+(costly)g(and)523 3361 y(more)e(lik)n(ely)h(to)g(fail.)g(F)-7
+b(or)24 b(large)g(\014les,)h(it)h(ma)n(y)e(b)r(e)h(di\016cult)h(for)f
+(a)g(p)r(eer)f(to)h(\014nd)h(individual)523 3461 y(hosts)c(that)h(are)e
+(willing)h(\(or)g(able\))g(to)h(pro)n(vide)e(enough)h(space)f(to)i
+(replicate)e(the)i(complete)523 3561 y(\014le)30 b(in)g(its)g(en)n
+(tiret)n(y)-7 b(.)30 b(Also,)f(the)i(tra\016c)e(burst)h(that)g(a)g
+(large)e(transfer)h(w)n(ould)g(imp)r(ose)h(on)523 3660
+y(the)35 b(net)n(w)n(ork)d(migh)n(t)i(k)n(eep)g(the)h(participating)e
+(no)r(des)h(busy)g(for)g(to)r(o)g(long.)f(Blo)r(c)n(ks,)g(on)523
+3760 y(the)c(other)f(hand,)g(can)g(migrate)g(quic)n(kly)g(from)g(host)g
+(to)g(host.)h(Storing)e(a)i(large)e(\014le)h(on)g(a)523
+3860 y(single)f(host)g(also)g(fails)g(to)h(facilitate)f(distribution)h
+(of)g(load)f(for)g(do)n(wnloading)f(purp)r(oses.)523
+4046 y
 SDict begin H.S end
-
-0 3367 a 0 3367 a
+ 523 4046 a 523 4046 a
 SDict begin 12 H.A end
- 0 3367 a 0 3367 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.1) cvn H.B /DEST
+ 523 4046 a 523 4046 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.5.1) cvn H.B /DEST
 pdfmark end
- 0 3367 a 87 x Fs(5.1)f(A)n(ttacks)0
-3663 y Fy(ECRS)21 b(is)g(op)r(en)g(to)f(t)n(w)n(o)h(t)n(yp)r(es)g(of)f
-(attac)n(ks)g(from)h(censors.)e(The)i(most)g(ob)n(vious)f(attac)n(k)0
-3763 y(is)26 b(to)g(guess)f(k)n(eyw)n(ords)f(and)i(use)g(those)g(to)g
-(compute)g(queries)f(for)h(sp)r(eci\014c)g Fs(KBlo)l(ck)p
-Fy(s.)0 3863 y(The)36 b(adv)n(ersary)d(can)i(then)i(try)e(to)h(censor)e
-(these)i(queries.)f(Since)h(the)g(same)g(con-)0 3962
-y(ten)n(t)26 b(can)g(b)r(e)h(a)n(v)-5 b(ailable)25 b(under)h(man)n(y)f
-(k)n(eyw)n(ords,)f(this)i(tec)n(hnique)h(is)f(not)g(necessary)0
-4062 y(successful.)31 b(Ho)n(w)n(ev)n(er,)d(this)j(guessing)f(attac)n
-(k)g(do)r(es)g(pro)n(vide)g(the)h(opp)r(ortunit)n(y)f(for)0
-4161 y(limited)d(forms)e(of)h(censorship.)e(An)j(adv)n(ersary)c(could)i
-(create)g(a)h(\\blac)n(klist")e(of)i(k)n(ey-)0 4261 y(w)n(ords)31
-b(and)h(attempt)h(to)f(legally)f(force)g(op)r(erators)g(to)h(\014lter)g
-(matc)n(hing)f(queries)h(or)0 4361 y(replies.)125 4464
-y(Instead)e(of)g(predicting)h(k)n(eyw)n(ords,)d(the)j(attac)n(k)n(er)e
-(can)h(also)g(try)g(to)g(obtain)h(the)0 4563 y(exact)26
-b(con)n(ten)n(ts)f(of)i(the)f(\014le)h(\(or)e(at)h(least)g(the)h(exact)
-f(con)n(ten)n(ts)f(of)h(an)g(incriminating)0 4663 y(part\).)j(This)g
-(ma)n(yb)r(e)g(ac)n(hiev)n(ed)f(b)n(y)h(searc)n(hing)e(the)j(net)n(w)n
-(ork)e(for)g(certain)h(k)n(eyw)n(ords)0 4762 y(and)41
-b(then)g(do)n(wnloading)e(the)j(resulting)e(con)n(ten)n(t.)g(This)h(w)n
-(a)n(y)f(the)h(attac)n(k)n(er)e(can)p Black Black eop
-end
-%%Page: 19 19
-TeXDict begin 19 18 bop 0 0 a
+ 523
+4046 a 89 x Fr(5.1)95 b(A)m(ttac)m(ks)523 4327 y FA(ECRS)34
+b(is)f(op)r(en)h(to)g(t)n(w)n(o)f(t)n(yp)r(es)h(of)f(attac)n(ks)g(from)
+h(censors.)e(The)i(most)f(ob)n(vious)g(attac)n(k)523
+4426 y(is)40 b(to)g(guess)f(k)n(eyw)n(ords)f(and)i(use)g(those)f(to)h
+(compute)g(queries)f(for)h(sp)r(eci\014c)g Ft(KBlo)l(ck)p
+FA(s.)523 4526 y(The)28 b(adv)n(ersary)c(can)j(then)h(try)f(to)h
+(censor)e(these)h(queries.)g(Since)h(the)f(same)g(con)n(ten)n(t)g(can)
+523 4625 y(b)r(e)36 b(a)n(v)-5 b(ailable)33 b(under)i(man)n(y)g(k)n
+(eyw)n(ords,)e(this)j(tec)n(hnique)f(is)g(not)g(necessary)e
+(successful.)523 4725 y(Ho)n(w)n(ev)n(er,)25 b(this)i(guessing)f(attac)
+n(k)f(do)r(es)i(pro)n(vide)f(the)h(opp)r(ortunit)n(y)f(for)g(limited)i
+(forms)e(of)523 4825 y(censorship.)g(An)h(adv)n(ersary)c(could)k
+(create)e(a)i(\\blac)n(klist")e(of)h(k)n(eyw)n(ords)e(and)j(attempt)g
+(to)523 4924 y(legally)g(force)g(op)r(erators)e(to)j(\014lter)f(matc)n
+(hing)g(queries)g(or)g(replies.)p Black Black eop end
+%%Page: 18 18
+TeXDict begin 18 17 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.18) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(19)p Black
-0 248 a Fy(again)26 b(compute)h(the)h(query)e(hash)h(for)g(the)g
-Fs(DBlo)l(ck)p Fy(s)h(and)f Fs(IBlo)l(ck)p Fy(s)h(and)f(also)f(obtain)0
-348 y(the)36 b(encrypted)f Fs(DBlo)l(ck)p Fy(s)i(and)e
-Fs(IBlo)l(ck)p Fy(s)i(themselv)n(es.)e(Again,)g(the)h(adv)n(ersary)d
-(can)0 448 y(then)25 b(try)f(to)g(censor)f(this)i(data.)f(Note)g(that)h
-(this)f(attac)n(k)g(requires)f(the)h(adv)n(ersary)e(to)0
-547 y(obtain)28 b(a)g(cop)n(y)f(of)h(the)h(con)n(ten)n(t)f(and)g(then)h
-(exercise)e(a)h(certain)f(amoun)n(t)h(of)g(con)n(trol)0
-647 y(o)n(v)n(er)d(the)h(p)r(eers)g(in)h(the)f(net)n(w)n(ork.)f(As)i
-(users)e(m)n(ust)i(ha)n(v)n(e)e(a)h(w)n(a)n(y)f(to)h(decrypt)g(the)h
-(\014le)0 746 y(solely)h(b)n(y)g(means)g(of)h(guessing)e(the)i(k)n(eyw)
-n(ord,)e(this)i(attac)n(k)e(cannot)h(b)r(e)h(a)n(v)n(oided.)f(A)0
-846 y(fault-toleran)n(t)19 b(p)r(eer-to-p)r(eer)g(routing)h(proto)r
-(col)f(ma)n(y)h(b)r(e)h(able)f(to)g(route)g(the)g(con)n(ten)n(t)0
-946 y(around)27 b(the)h(censoring)e(p)r(eers.)125 1045
-y(If)h(suc)n(h)f(an)g(activ)n(e)g(censorship)f(attac)n(k)h(is)h(kno)n
-(wn)e(to)i(o)r(ccur)f(on)g(a)g(large)f(scale,)h(a)0 1145
-y(p)r(ossible)i(defense)g(w)n(ould)f(b)r(e)i(to)e(publish)i(the)f(con)n
-(ten)n(t)g(with)g(sligh)n(t)g(alterations)e(for)0 1245
-y(eac)n(h)h(k)n(eyw)n(ord.)f(A)i(single)g(space)f(inserted)h(at)f(the)i
-(b)r(eginning)e(of)h(a)g(text-do)r(cumen)n(t)0 1344 y(is)h(su\016cien)n
-(t)h(to)f(c)n(hange)f Fs(al)t(l)j Fy(blo)r(c)n(ks)e(of)g(the)h(ECRS)f
-(enco)r(ding.)p 1 0 0 TeXcolorrgb 2026 1344 a
+ 523 232 a Black Fx(18)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 648 448 a FA(Instead)e(of)h(predicting)g(k)n(eyw)n(ords,)e(the)i
+(attac)n(k)n(er)e(can)i(also)f(try)h(to)f(obtain)h(the)h(exact)523
+548 y(con)n(ten)n(ts)37 b(of)h(the)g(\014le)g(\(or)f(at)h(least)g(the)g
+(exact)f(con)n(ten)n(ts)g(of)h(an)g(incriminating)f(part\).)523
+648 y(This)d(ma)n(yb)r(e)f(ac)n(hiev)n(ed)g(b)n(y)g(searc)n(hing)f(the)
+i(net)n(w)n(ork)f(for)g(certain)g(k)n(eyw)n(ords)f(and)h(then)523
+747 y(do)n(wnloading)21 b(the)j(resulting)e(con)n(ten)n(t.)h(This)g(w)n
+(a)n(y)f(the)h(attac)n(k)n(er)e(can)i(again)f(compute)h(the)523
+847 y(query)28 b(hash)h(for)f(the)i Ft(DBlo)l(ck)p FA(s)g(and)e
+Ft(IBlo)l(ck)p FA(s)j(and)d(also)g(obtain)h(the)g(encrypted)g
+Ft(DBlo)l(ck)p FA(s)523 946 y(and)h Ft(IBlo)l(ck)p FA(s)h(themselv)n
+(es.)f(Again,)f(the)i(adv)n(ersary)c(can)j(then)g(try)g(to)g(censor)f
+(this)h(data.)523 1046 y(Note)25 b(that)g(this)h(attac)n(k)e(requires)g
+(the)h(adv)n(ersary)d(to)j(obtain)g(a)g(cop)n(y)f(of)h(the)h(con)n(ten)
+n(t)e(and)523 1146 y(then)g(exercise)f(a)g(certain)g(amoun)n(t)g(of)h
+(con)n(trol)e(o)n(v)n(er)g(the)i(p)r(eers)f(in)h(the)g(net)n(w)n(ork.)e
+(As)i(users)523 1245 y(m)n(ust)e(ha)n(v)n(e)f(a)h(w)n(a)n(y)f(to)h
+(decrypt)g(the)g(\014le)g(solely)g(b)n(y)f(means)h(of)g(guessing)f(the)
+h(k)n(eyw)n(ord,)f(this)523 1345 y(attac)n(k)j(cannot)g(b)r(e)i(a)n(v)n
+(oided.)d(A)i(fault-toleran)n(t)f(p)r(eer-to-p)r(eer)g(routing)g(proto)
+r(col)f(ma)n(y)i(b)r(e)523 1445 y(able)i(to)h(route)f(the)h(con)n(ten)n
+(t)f(around)g(the)h(censoring)e(p)r(eers.)648 1546 y(If)39
+b(suc)n(h)f(an)g(activ)n(e)g(censorship)f(attac)n(k)h(is)g(kno)n(wn)g
+(to)g(o)r(ccur)g(on)g(a)h(large)e(scale,)g(a)523 1645
+y(p)r(ossible)26 b(defense)g(w)n(ould)g(b)r(e)h(to)f(publish)h(the)g
+(con)n(ten)n(t)e(with)i(sligh)n(t)f(alterations)f(for)h(eac)n(h)523
+1745 y(k)n(eyw)n(ord.)20 b(A)h(single)g(space)g(inserted)g(at)g(the)h
+(b)r(eginning)f(of)g(a)g(text-do)r(cumen)n(t)h(is)f(su\016cien)n(t)523
+1844 y(to)34 b(c)n(hange)g Ft(al)t(l)h FA(blo)r(c)n(ks)f(of)g(the)h
+(ECRS)f(enco)r(ding.)p 1 0 0 TeXcolorrgb 2148 1844 a
 SDict begin H.S end
- 2026 1344
-a -30 x Fw(3)2063 1344 y
+
+2148 1844 a -30 x Fz(3)2185 1844 y
 SDict begin 12 H.L end
- 2063 1344 a 2063 1344 a
+ 2185 1844 a 2185 1844
+a
 SDict begin [ /Subtype /Link /Dest (Hfootnote.3) cvn /H /I /Border
 [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 2063
-1344 a Black 30 w Fy(While)h(this)f(w)n(ould)0 1444 y(defeat)d(the)h
-(use)f(of)g(con)n(v)n(ergen)n(t)e(encryption)i(and)g(increase)e(the)j
-(storage)d(and)i(band-)0 1543 y(width)20 b(requiremen)n(ts,)e(this)i(w)
-n(ould)f(mak)n(e)g(it)h(infeasible)f(for)g(the)h(censor)e(to)h
-(e\013ectiv)n(ely)0 1643 y(censor)28 b(all)h(of)h(the)f(v)-5
-b(arian)n(ts.)28 b(Since)i(suc)n(h)f(a)g(p)r(o)n(w)n(erful)g(activ)n(e)
-f(attac)n(k)n(er)g(is)h(lik)n(ely)g(to)0 1743 y(b)r(e)f(uncommon,)f
-(the)h Fs(default)h Fy(in)f(ECRS)f(is)h(to)f(use)h(con)n(v)n(ergen)n(t)
-d(encryption.)125 1842 y(Both)35 b(attac)n(ks)f(fail)i(to)f(enable)g
-(in)n(termediaries)f(to)h(exercise)g(editorial)f(con)n(trol)0
-1942 y(o)n(v)n(er)d(con)n(ten)n(t)i(in)g(general.)f(While)i(p)r(eers)e
-(can)h(theoretically)f(b)r(e)i(forced)e(to)h(censor)0
-2042 y(w)n(ell-kno)n(wn)28 b(k)n(eyw)n(ords)f(and)i(\014les,)g(they)h
-(are)e(unable)h(to)g(censor)f(new)i(k)n(eyw)n(ords)d(or)0
-2141 y(unkno)n(wn)d(con)n(ten)n(t.)g(As)h(small)f(c)n(hanges)f(to)h
-(the)h(con)n(ten)n(t)f(or)g(k)n(eyw)n(ord)e(are)i(su\016cien)n(t)0
-2241 y(to)30 b(mak)n(e)g(detection)g(imp)r(ossible,)g(these)h(t)n(yp)r
-(es)f(of)g(censorship)f(should)h(b)r(e)h(imprac-)0 2340
-y(tical.)125 2440 y(Another)j(serious)f(t)n(yp)r(e)h(of)g(attac)n(k)g
-(is)g(spamming)g(the)g(global)f(k)n(eyw)n(ord)g(space)0
-2540 y(with)25 b(useless)g(con)n(ten)n(t.)f(P)n(opular)f(k)n(eyw)n
-(ords)g(are)h(an)h(easy)e(target)h(since)h(they)g(are)f(b)n(y)0
-2639 y(nature)f(easily)f(guessed.)g(Namespaces)h(can)f(theoretically)h
-(eliminate)g(this)g(problem,)0 2739 y(ho)n(w)n(ev)n(er)k(they)j(create)
-e(a)h(new)h(di\016cult)n(y)f(in)h(assessing)d(whic)n(h)j(pseudon)n(yms)
-e(repre-)0 2839 y(sen)n(t)k(users)f(that)i(pro)n(vide)e(v)-5
-b(aluable)31 b(con)n(ten)n(t.)h(A)g(secure)g(reputation)f(system,)h
-(lik)n(e)0 2938 y(Adv)n(ogato)i([)p 0 1 0 TeXcolorrgb
-407 2938 a
+ 2185 1844 a Black 34 w FA(While)h(this)g(w)n(ould)f(defeat)g(the)h
+(use)523 1944 y(of)26 b(con)n(v)n(ergen)n(t)e(encryption)i(and)g
+(increase)f(the)h(storage)e(and)i(bandwidth)h(requiremen)n(ts,)523
+2044 y(this)20 b(w)n(ould)f(mak)n(e)f(it)i(infeasible)f(for)g(the)h
+(censor)e(to)i(e\013ectiv)n(ely)f(censor)f(all)h(of)g(the)h(v)-5
+b(arian)n(ts.)523 2143 y(Since)33 b(suc)n(h)f(a)g(p)r(o)n(w)n(erful)g
+(activ)n(e)g(attac)n(k)n(er)f(is)h(lik)n(ely)g(to)h(b)r(e)g(uncommon,)f
+(the)h Ft(default)h FA(in)523 2243 y(ECRS)27 b(is)h(to)f(use)h(con)n(v)
+n(ergen)n(t)d(encryption.)648 2344 y(Both)33 b(attac)n(ks)f(fail)i(to)f
+(enable)h(in)n(termediaries)e(to)h(exercise)g(editorial)g(con)n(trol)f
+(o)n(v)n(er)523 2444 y(con)n(ten)n(t)25 b(in)g(general.)f(While)i(p)r
+(eers)f(can)g(theoretically)f(b)r(e)i(forced)e(to)h(censor)f(w)n
+(ell-kno)n(wn)523 2543 y(k)n(eyw)n(ords)d(and)h(\014les,)h(they)g(are)f
+(unable)h(to)g(censor)e(new)i(k)n(eyw)n(ords)e(or)h(unkno)n(wn)g(con)n
+(ten)n(t.)523 2643 y(As)38 b(small)g(c)n(hanges)f(to)h(the)h(con)n(ten)
+n(t)f(or)f(k)n(eyw)n(ord)g(are)g(su\016cien)n(t)h(to)g(mak)n(e)g
+(detection)523 2742 y(imp)r(ossible,)28 b(these)f(t)n(yp)r(es)h(of)f
+(censorship)g(should)g(b)r(e)h(impractical.)648 2843
+y(Another)j(serious)f(t)n(yp)r(e)i(of)g(attac)n(k)f(is)g(spamming)g
+(the)h(global)f(k)n(eyw)n(ord)f(space)g(with)523 2943
+y(useless)i(con)n(ten)n(t.)g(P)n(opular)f(k)n(eyw)n(ords)g(are)g(an)i
+(easy)e(target)h(since)h(they)f(are)g(b)n(y)g(nature)523
+3043 y(easily)k(guessed.)h(Namespaces)f(can)g(theoretically)h
+(eliminate)g(this)g(problem,)g(ho)n(w)n(ev)n(er)523 3142
+y(they)28 b(create)e(a)h(new)g(di\016cult)n(y)h(in)f(assessing)f(whic)n
+(h)h(pseudon)n(yms)f(represen)n(t)g(users)h(that)523
+3242 y(pro)n(vide)20 b(v)-5 b(aluable)20 b(con)n(ten)n(t.)h(A)g(secure)
+f(reputation)g(system,)h(lik)n(e)f(Adv)n(ogato)f([)p
+0 1 0 TeXcolorrgb 2996 3242 a
 SDict begin H.S end
- 407 2938 a 0 1 0 TeXcolorrgb Fy(17)p 0 1 0
-TeXcolorrgb 490 2885 a
+ 2996 3242 a 0 1 0 TeXcolorrgb
+FA(17)p 0 1 0 TeXcolorrgb 3079 3188 a
 SDict begin H.R end
- 490 2885 a 490 2938 a
+ 3079 3188 a 3079
+3242 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.levien03advogato) cvn H.B /ANN pdfmark end
- 490 2938
-a Black Fy(],)i(ma)n(y)f(b)r(e)h(a)f(step)h(to)n(w)n(ards)e(a)h(tec)n
-(hnical)h(solution)f(for)g(this)h(prob-)0 3038 y(lem.)d(A)g(p)r
-(ossibly)f(more)g(imp)r(ortan)n(t)g(c)n(hallenge)g(for)g(future)h(w)n
-(ork)e(is)h(making)g(suc)n(h)0 3138 y(complex)27 b(solutions)g(easily)g
-(accessible)f(for)h(the)h(a)n(v)n(erage)d(user.)0 3338
-y
+ 3079 3242 a Black FA(],)i(ma)n(y)g(b)r(e)523 3342
+y(a)k(step)h(to)n(w)n(ards)e(a)i(tec)n(hnical)f(solution)h(for)f(this)h
+(problem.)g(A)g(p)r(ossibly)f(more)g(imp)r(ortan)n(t)523
+3441 y(c)n(hallenge)i(for)h(future)h(w)n(ork)e(is)h(making)g(suc)n(h)g
+(complex)g(solutions)g(easily)f(accessible)h(for)523
+3541 y(the)g(a)n(v)n(erage)d(user.)523 3712 y
 SDict begin H.S end
- 0 3338 a 0 3338 a
+ 523 3712
+a 523 3712 a
 SDict begin 12 H.A end
- 0 3338 a 0 3338 a
-SDict begin [ /View [/XYZ H.V] /Dest (subsection.5.2) cvn H.B /DEST
+ 523 3712 a 523 3712 a
+SDict begin [ /View [/XYZ H.V] /Dest (subsection.1.5.2) cvn H.B /DEST
 pdfmark end
- 0 3338 a 84 x Fs(5.2)k
-Fy(KBlo)r(c)n(ks)f Fs(or)i(triple-hash)0 3613 y Fy(The)k(triple-hash)f
-(that)h(w)n(as)f(used)h(instead)g(of)g Fs(KBlo)l(ck)p
-Fy(s)h(in)f(our)f(earlier)g(w)n(ork)66 b([)p 0 1 0 TeXcolorrgb
-2650 3613 a
+ 523 3712 a 85 x Fr(5.2)95
+b Fj(KBlo)-5 b(cks)32 b Fr(or)g(triple-hash)523 3969
+y FA(The)c(triple-hash)f(that)h(w)n(as)f(used)g(instead)h(of)g
+Ft(KBlo)l(ck)p FA(s)g(in)g(our)f(earlier)g(w)n(ork)54
+b([)p 0 1 0 TeXcolorrgb 3093 3969 a
 SDict begin H.S end
- 2650 3613 a 0 1 0 TeXcolorrgb Fy(2)p 0 1 0
-TeXcolorrgb 2692 3560 a
+ 3093 3969 a 0 1 0
+TeXcolorrgb FA(2)p 0 1 0 TeXcolorrgb 3134 3916 a
 SDict begin H.R end
- 2692 3560 a 2692 3613 a
+ 3134
+3916 a 3134 3969 a
 SDict begin [ /Color [0 1 0] /H /I /Border [0 0 0] /Subtype /Link /Dest
 (cite.esed) cvn H.B /ANN pdfmark end
- 2692
-3613 a Black Fy(])0 3713 y(allo)n(ws)36 b(for)h(an)g(attac)n(k)f(b)n(y)
-h(an)h(activ)n(e,)e(participating)h(adv)n(ersary)-7 b(.)35
-b(The)i(follo)n(wing)0 3812 y(paragraphs)26 b(\014rst)i(brie\015y)g
-(presen)n(t)g(the)h(original)e(sc)n(heme)h(and)h(discuss)f(the)h(attac)
-n(k,)0 3912 y(and)e(then)i(compare)d(it)i(with)g(the)g
-Fs(KBlo)l(ck)h Fy(approac)n(h)c(tak)n(en)i(in)h(this)g(pap)r(er.)125
-4012 y(Let)23 b(an)g Fs(RBlo)l(ck)h Fy(b)r(e)g(a)f(new)g(kind)h(of)f
-(blo)r(c)n(k)g(that)g(also)f(con)n(tains)h(the)g(metadata)g(of)0
-4111 y(a)31 b(\014le)g(\(including)g(the)h(top)f(CHK)g(data\).)g(The)g
-(only)f(di\013erence)h(b)r(et)n(w)n(een)g Fs(RBlo)l(ck)p
-Fy(s)0 4211 y(and)20 b Fs(KBlo)l(ck)p Fy(s)h(is)e(that)i
-Fs(RBlo)l(ck)p Fy(s)f(are)f(encrypted)h(and)g(requested)f(using)h(the)g
-(follo)n(wing)0 4310 y(triple-hash)35 b(sc)n(heme.)f(F)-7
-b(or)35 b(eac)n(h)g(k)n(eyw)n(ord)e Fr(k)s Fy(,)i(the)h
-Fs(RBlo)l(ck)g Fr(R)g Fy(is)f(encrypted)g(with)0 4410
-y Fr(H)7 b Fy(\()p Fr(k)s Fy(\))34 b(and)f(stored)f(as)h(the)h(pair)e
-Fb(f)p Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s Fy(\)\))p
-Fr(;)14 b(E)1541 4425 y Fi(H)t Fw(\()p Fi(k)q Fw(\))1693
-4410 y Fy(\()p Fr(R)q Fy(\))p Fb(g)p Fy(.)33 b(Using)g(the)h(k)n(eyw)n
-(ord)e(as)p Black 0 4492 1086 4 v 52 4548 a Fv(3)p 0
-TeXcolorgray 125 4489 a
+ 3134 3969 a Black FA(])28 b(allo)n(ws)523
+4069 y(for)19 b(an)g(attac)n(k)g(b)n(y)g(an)g(activ)n(e,)g
+(participating)g(adv)n(ersary)-7 b(.)17 b(The)i(follo)n(wing)f
+(paragraphs)f(\014rst)523 4169 y(brie\015y)28 b(presen)n(t)g(the)h
+(original)e(sc)n(heme)h(and)h(discuss)f(the)h(attac)n(k,)f(and)g(then)h
+(compare)f(it)523 4268 y(with)g(the)g Ft(KBlo)l(ck)h
+FA(approac)n(h)d(tak)n(en)h(in)g(this)h(pap)r(er.)648
+4369 y(Let)35 b(an)g Ft(RBlo)l(ck)h FA(b)r(e)g(a)e(new)i(kind)f(of)g
+(blo)r(c)n(k)g(that)g(also)g(con)n(tains)f(the)h(metadata)g(of)523
+4469 y(a)c(\014le)g(\(including)h(the)g(top)f(CHK)g(data\).)g(The)g
+(only)g(di\013erence)g(b)r(et)n(w)n(een)g Ft(RBlo)l(ck)p
+FA(s)h(and)523 4569 y Ft(KBlo)l(ck)p FA(s)c(is)f(that)h
+Ft(RBlo)l(ck)p FA(s)f(are)f(encrypted)h(and)g(requested)g(using)g(the)g
+(follo)n(wing)f(triple-)523 4668 y(hash)35 b(sc)n(heme.)f(F)-7
+b(or)35 b(eac)n(h)f(k)n(eyw)n(ord)g Fs(k)s FA(,)h(the)g
+Ft(RBlo)l(ck)h Fs(R)g FA(is)f(encrypted)g(with)h Fs(H)7
+b FA(\()p Fs(k)s FA(\))35 b(and)p Black 523 4748 473
+4 v 546 4801 a Fy(3)p 0 TeXcolorgray 606 4742 a
 SDict begin H.S end
- 125 4489 a 0 TeXcolorgray 0 TeXcolorgray
-125 4489 a
+ 606 4742
+a 0 TeXcolorgray 0 TeXcolorgray 606 4742 a
 SDict begin H.R end
- 125 4489 a 125 4489 a
+ 606 4742 a
+606 4742 a
 SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.3) cvn H.B /DEST pdfmark
 end
- 125 4489 a Black 91
-x Fu(Note)h(that)f(only)h(op)r(erations)i(causing)f(global)g(shifts)g
-(in)g(the)e(data)i(ha)n(v)n(e)e(this)h(prop-)0 4671 y(ert)n(y)-6
-b(.)28 b(One)g(single-c)n(haracter)j(replacemen)n(t)e(c)n(hanges)g
-(only)g(one)g(ro)r(ot-to-leaf)h(path)e(in)h(the)0 4762
-y(enco)r(ding)d(tree.)p Black Black Black eop end
-%%Page: 20 20
-TeXDict begin 20 19 bop 0 0 a
+ 606 4742 a Black 91 x Fx(Note)27 b(that)f(only)g(op)r
+(erations)i(causing)g(global)g(shifts)f(in)g(the)f(data)h(ha)n(v)n(e)f
+(this)h(prop)r(ert)n(y)-6 b(.)25 b(One)606 4924 y(single-c)n(haracter)d
+(replacemen)n(t)g(c)n(hanges)f(only)g(one)g(ro)r(ot-to-leaf)i(path)d
+(in)h(the)g(enco)r(ding)g(tree.)p Black Black Black eop
+end
+%%Page: 19 19
+TeXDict begin 19 18 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.19) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(20)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 248 a Fy(the)34 b(source)e(for)i(the)g(k)n(ey)f(allo)n(ws)f(the)i
-(receiv)n(er)e(of)h(the)h(\014le)g(to)g(obtain)f(the)h(k)n(ey)f(b)n(y)0
-348 y(guessing.)125 451 y(Querying)38 b(for)g(an)h Fs(RBlo)l(ck)h
-Fy(is)g Fz(not)f Fy(straigh)n(tforw)n(ard.)d(The)k(problem)e(is)i(that)
-0 551 y(the)26 b(in)n(tuitiv)n(e)g(c)n(hoice)f(for)h(a)f(query)g(hash,)
-h Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s Fy(\)\))26 b(do)r(es)f(not)h
-(giv)n(e)f(in)n(termediaries)0 650 y(a)33 b(w)n(a)n(y)g(to)h(v)n(erify)
-f(that)h(the)g(\(encrypted\))h(resp)r(onse)d(is)i(correct.)f(Instead)g
-(of)h(using)0 750 y Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s
-Fy(\)\),)33 b(the)g(initiator)f(sends)h(the)f(so-called)g
-Fs(triple-hash)i Fy(query)e Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p
-Fr(H)g Fy(\()p Fr(k)s Fy(\)\)\).)0 850 y(A)25 b(p)r(eer)f(that)h(has)f
-(stored)f Fr(E)895 865 y Fi(H)t Fw(\()p Fi(k)q Fw(\))1047
-850 y Fy(\()p Fr(R)q Fy(\))i(under)f Fr(H)7 b Fy(\()p
-Fr(H)g Fy(\()p Fr(k)s Fy(\)\))25 b(can)f(matc)n(h)h(the)g(query)e(hash)
-0 949 y(with)i(the)g(resp)r(onse)e(and)i(send)f(bac)n(k)g(the)g(pair)g
-Fb(f)p Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s Fy(\)\))p
-Fr(;)14 b(E)1967 964 y Fi(H)t Fw(\()p Fi(k)q Fw(\))2119
-949 y Fy(\()p Fr(R)q Fy(\))p Fb(g)p Fy(.)24 b(In)n(termedi-)0
-1049 y(aries)d(can)h(v)n(erify)f(that)i(the)f(pro)r(of)g(of)g(authen)n
-(ticit)n(y)-7 b(,)22 b Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p
-Fr(k)s Fy(\)\),)23 b(hashes)e(to)h(the)h(query)0 1149
-y Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(H)g Fy(\()p Fr(k)s
-Fy(\)\)\).)26 b(Malicious)e(p)r(eers)g(cannot)g(construct)h(the)g(pro)r
-(of)f Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s Fy(\)\))25
-b(without)0 1248 y(guessing)h Fr(k)31 b Fy(or)c(in)n(v)n(erting)f(the)i
-(hash)f(function.)125 1351 y(The)g(problem)g(with)h(the)g(triple-hash)e
-(is)h(that)h(an)f(adv)n(ersary)e(that)i(is)h(routing)e(a)0
-1451 y(resp)r(onse)20 b(to)h(a)f(triple-hash)h(request)f(can)h
-(substitute)g(the)h(encrypted)f(con)n(ten)n(t)f(in)i(the)0
-1551 y Fb(f)p Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s
-Fy(\)\))p Fr(;)14 b(E)466 1566 y Fi(H)t Fw(\()p Fi(k)q
-Fw(\))618 1551 y Fy(\()p Fr(C)6 b(H)h(K)q(;)14 b(siz)t(e)p
-Fy(\))p Fb(g)k Fy(resp)r(onse)h(while)i(main)n(taining)e(the)i
-Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s Fy(\)\))20 b(to-)0
-1650 y(k)n(en.)33 b(The)g(resulting)g(reply)f Fb(f)p
-Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(k)s Fy(\)\))p Fr(;)14
-b(X)7 b Fb(g)32 b Fy(still)i(lo)r(oks)e(lik)n(e)h(a)g(v)-5
-b(alid)33 b(resp)r(onse)f(to)0 1750 y(the)h(triple-hash)f(query)g
-Fr(H)7 b Fy(\()p Fr(H)g Fy(\()p Fr(H)g Fy(\()p Fr(k)s
-Fy(\)\)\).)33 b(The)g(triple-hash)f(th)n(us)g(do)r(es)h(not)f(protect)0
-1850 y(against)g(suc)n(h)h(a)g(substitution)h(attac)n(k)e(b)n(y)h(an)g
-(in)n(termediary)-7 b(.)32 b(The)i(impact)f(of)h(the)0
-1949 y(attac)n(k)25 b(is)g(suc)n(h)h(that)g(the)g(net)n(w)n(ork)e(w)n
-(ould)h(propagate)f(and)i(p)r(ossibly)f(cac)n(he)g(the)h(in-)0
-2049 y(v)-5 b(alid)24 b(replies.)g(The)g(attac)n(k)f(will)i(not)f(prev)
-n(en)n(t)f(the)i(spread)e(of)h(v)-5 b(alid)24 b(replies)g(through)0
-2148 y(other)39 b(routes)g(in)h(the)g(system)g(since)f(m)n(ultiple)i
-(results)e(to)h(the)g(same)f(query)g(are)0 2248 y(p)r(ossible.)27
-b(F)-7 b(urthermore,)27 b(an)n(y)g(user)g(searc)n(hing)f(for)h
-Fr(K)34 b Fy(will)28 b(not)g(see)f(the)h(in)n(v)-5 b(alid)28
-b(re-)0 2348 y(sults.)k(The)f(reason)f(is)i(that)g(the)g(attempt)g(to)f
-(decrypt)h Fr(X)38 b Fy(with)32 b Fr(H)7 b Fy(\()p Fr(K)f
-Fy(\))31 b(will)h(\(with)0 2447 y(high)e(probabilit)n(y\))g(result)g
-(in)h(a)f(malformed)f Fs(RBlo)l(ck)p Fy(.)j(Th)n(us,)e(the)h(end-user)e
-(is)i(still)0 2547 y(protected)36 b(from)g(this)h(t)n(yp)r(e)g(of)f
-(spam.)g(Nev)n(ertheless,)g(the)h(adv)n(ersary)c(can)j(abuse)0
-2647 y(net)n(w)n(ork)26 b(resources)g(in)i(the)g(form)f(of)g
-(transmission)g(and)g(cac)n(hing)g(of)g(in)n(v)-5 b(alid)28
-b(data.)125 2750 y(Replacing)g(the)h(triple-hash)f(with)h
-Fs(KBlo)l(ck)p Fy(s)h(for)e(ECRS)g(comes)g(at)h(a)f(relativ)n(ely)0
-2849 y(high)h(price.)g(Where)g(the)h(triple-hash)e(only)h(requires)f(a)
-h(simple)g(hash)g(op)r(eration)f(to)0 2949 y(v)n(erify)22
-b(replies,)h Fs(KBlo)l(ck)p Fy(s)h(need)f(to)g(p)r(erform)f(a)h(public)
-g(k)n(ey)f(op)r(eration.)g(W)-7 b(orse,)23 b(when)0 3049
-y(publishing)28 b(con)n(ten)n(t)f(or)f(searc)n(hing,)g(the)i
-(triple-hash)f(sc)n(heme)g(again)f(only)h(requires)0
-3148 y(a)37 b(few)g(quic)n(k)g(hash)g(op)r(erations)f(to)h(compute)h
-(the)f(query)g(or)f(the)i(con)n(ten)n(t.)f(With)0 3248
-y Fs(KBlo)l(ck)p Fy(s,)31 b(the)g(cost)f(increases)f(to)i(additionally)
-e(generating)g(a)h(public-priv)-5 b(ate)31 b(k)n(ey)0
-3347 y(pair)c(in)h(addition)f(to)h(a)f(public)h(k)n(ey)f(op)r(eration)f
-(and)i(hash)f(op)r(erations.)125 3451 y(Both)40 b Fs(KBlo)l(cks)h
-Fy(and)f(the)h(triple-hash)e(are)h(vulnerable)f(to)i(the)f(guessing)f
-(at-)0 3550 y(tac)n(k.)21 b(Guessing)h(is)g(sligh)n(tly)f(easier)g(for)
-g(the)h(triple-hash)g(since)f(the)i(computation)e(for)0
-3650 y(eac)n(h)30 b(guess)g(is)h(m)n(uc)n(h)f(c)n(heap)r(er.)g(Ov)n
-(erall,)f Fs(KBlo)l(cks)j Fy(w)n(ork)e(b)r(etter)h(than)g(the)g
-(triple-)0 3750 y(hash)37 b(against)g(adv)n(ersaries)e(that)j
-(indiscriminately)g(attempt)g(to)g(abuse)f(net)n(w)n(ork)0
-3849 y(resources,)23 b(but)j(at)f(the)h(exp)r(ense)f(of)g(higher)g(CPU)
-g(utilization)g(ev)n(en)g(in)g(the)h(absence)0 3949 y(of)i(an)g(attac)n
-(k.)f(Th)n(us,)g(using)h(the)g(triple-hash)f(sc)n(heme)h(ma)n(y)f
-(still)h(b)r(e)h(reasonable)d(in)0 4048 y(net)n(w)n(orks)g(with)i
-(limited)g(CPU)g(p)r(o)n(w)n(er)e(or)h(less)g(stringen)n(t)g(securit)n
-(y)g(requiremen)n(ts.)0 4265 y
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
+b(19)p Black 523 448 a FA(stored)34 b(as)f(the)i(pair)f
+Fb(f)p Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(k)s FA(\)\))p
+Fs(;)14 b(E)1682 463 y Fi(H)t Fz(\()p Fi(k)q Fz(\))1834
+448 y FA(\()p Fs(R)q FA(\))p Fb(g)p FA(.)34 b(Using)g(the)h(k)n(eyw)n
+(ord)e(as)g(the)i(source)f(for)523 548 y(the)28 b(k)n(ey)f(allo)n(ws)f
+(the)i(receiv)n(er)e(of)i(the)g(\014le)f(to)h(obtain)f(the)h(k)n(ey)f
+(b)n(y)g(guessing.)648 649 y(Querying)39 b(for)h(an)g
+Ft(RBlo)l(ck)h FA(is)f Fr(not)h FA(straigh)n(tforw)n(ard.)c(The)k
+(problem)f(is)g(that)h(the)523 749 y(in)n(tuitiv)n(e)32
+b(c)n(hoice)f(for)h(a)g(query)f(hash,)h Fs(H)7 b FA(\()p
+Fs(H)g FA(\()p Fs(k)s FA(\)\))32 b(do)r(es)g(not)g(giv)n(e)f(in)n
+(termediaries)g(a)g(w)n(a)n(y)523 849 y(to)37 b(v)n(erify)f(that)h(the)
+h(\(encrypted\))f(resp)r(onse)f(is)h(correct.)e(Instead)i(of)g(using)f
+Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(k)s FA(\)\),)523 948
+y(the)27 b(initiator)e(sends)h(the)h(so-called)d Ft(triple-hash)k
+FA(query)e Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(H)g FA(\()p
+Fs(k)s FA(\)\)\).)27 b(A)f(p)r(eer)g(that)h(has)523 1048
+y(stored)32 b Fs(E)839 1063 y Fi(H)t Fz(\()p Fi(k)q Fz(\))991
+1048 y FA(\()p Fs(R)q FA(\))i(under)f Fs(H)7 b FA(\()p
+Fs(H)g FA(\()p Fs(k)s FA(\)\))34 b(can)f(matc)n(h)g(the)g(query)g(hash)
+g(with)g(the)h(resp)r(onse)523 1148 y(and)39 b(send)g(bac)n(k)g(the)g
+(pair)g Fb(f)p Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(k)s
+FA(\)\))p Fs(;)14 b(E)1906 1163 y Fi(H)t Fz(\()p Fi(k)q
+Fz(\))2057 1148 y FA(\()p Fs(R)q FA(\))p Fb(g)p FA(.)40
+b(In)n(termediaries)d(can)i(v)n(erify)g(that)523 1247
+y(the)25 b(pro)r(of)f(of)g(authen)n(ticit)n(y)-7 b(,)25
+b Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(k)s FA(\)\),)25
+b(hashes)f(to)h(the)g(query)e Fs(H)7 b FA(\()p Fs(H)g
+FA(\()p Fs(H)g FA(\()p Fs(k)s FA(\)\)\).)26 b(Malicious)523
+1347 y(p)r(eers)31 b(cannot)f(construct)h(the)h(pro)r(of)e
+Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(k)s FA(\)\))32 b(without)f(guessing)
+f Fs(k)k FA(or)d(in)n(v)n(erting)f(the)523 1446 y(hash)d(function.)648
+1548 y(The)41 b(problem)g(with)h(the)f(triple-hash)g(is)g(that)h(an)f
+(adv)n(ersary)d(that)k(is)f(routing)f(a)523 1648 y(resp)r(onse)35
+b(to)h(a)g(triple-hash)f(request)h(can)g(substitute)h(the)f(encrypted)g
+(con)n(ten)n(t)g(in)h(the)523 1747 y Fb(f)p Fs(H)7 b
+FA(\()p Fs(H)g FA(\()p Fs(k)s FA(\)\))p Fs(;)14 b(E)989
+1762 y Fi(H)t Fz(\()p Fi(k)q Fz(\))1141 1747 y FA(\()p
+Fs(C)6 b(H)h(K)q(;)14 b(siz)t(e)p FA(\))p Fb(g)26 b FA(resp)r(onse)h
+(while)h(main)n(taining)g(the)g Fs(H)7 b FA(\()p Fs(H)g
+FA(\()p Fs(k)s FA(\)\))29 b(tok)n(en.)523 1847 y(The)g(resulting)f
+(reply)g Fb(f)p Fs(H)7 b FA(\()p Fs(H)g FA(\()p Fs(k)s
+FA(\)\))p Fs(;)14 b(X)7 b Fb(g)27 b FA(still)i(lo)r(oks)e(lik)n(e)i(a)f
+(v)-5 b(alid)28 b(resp)r(onse)g(to)g(the)h(triple-)523
+1946 y(hash)h(query)g Fs(H)7 b FA(\()p Fs(H)g FA(\()p
+Fs(H)g FA(\()p Fs(k)s FA(\)\)\).)32 b(The)f(triple-hash)f(th)n(us)g(do)
+r(es)h(not)f(protect)h(against)e(suc)n(h)h(a)523 2046
+y(substitution)22 b(attac)n(k)f(b)n(y)h(an)g(in)n(termediary)-7
+b(.)20 b(The)i(impact)g(of)g(the)g(attac)n(k)f(is)h(suc)n(h)f(that)i
+(the)523 2146 y(net)n(w)n(ork)i(w)n(ould)h(propagate)e(and)i(p)r
+(ossibly)g(cac)n(he)f(the)i(in)n(v)-5 b(alid)26 b(replies.)g(The)g
+(attac)n(k)g(will)523 2245 y(not)i(prev)n(en)n(t)f(the)h(spread)f(of)h
+(v)-5 b(alid)28 b(replies)f(through)h(other)f(routes)g(in)h(the)h
+(system)e(since)523 2345 y(m)n(ultiple)e(results)f(to)g(the)g(same)g
+(query)f(are)h(p)r(ossible.)g(F)-7 b(urthermore,)23 b(an)n(y)g(user)h
+(searc)n(hing)523 2445 y(for)i Fs(K)32 b FA(will)27 b(not)f(see)h(the)f
+(in)n(v)-5 b(alid)27 b(results.)f(The)h(reason)e(is)h(that)h(the)g
+(attempt)g(to)f(decrypt)523 2544 y Fs(X)34 b FA(with)29
+b Fs(H)7 b FA(\()p Fs(K)f FA(\))28 b(will)g(\(with)h(high)e(probabilit)
+n(y\))h(result)f(in)h(a)g(malformed)f Ft(RBlo)l(ck)p
+FA(.)i(Th)n(us,)523 2644 y(the)21 b(end-user)f(is)h(still)g(protected)f
+(from)h(this)g(t)n(yp)r(e)g(of)f(spam.)h(Nev)n(ertheless,)f(the)h(adv)n
+(ersary)523 2743 y(can)29 b(abuse)g(net)n(w)n(ork)f(resources)f(in)i
+(the)h(form)f(of)g(transmission)f(and)i(cac)n(hing)e(of)h(in)n(v)-5
+b(alid)523 2843 y(data.)648 2945 y(Replacing)26 b(the)h(triple-hash)g
+(with)g Ft(KBlo)l(ck)p FA(s)h(for)f(ECRS)f(comes)h(at)g(a)f(relativ)n
+(ely)g(high)523 3044 y(price.)40 b(Where)g(the)h(triple-hash)e(only)h
+(requires)f(a)g(simple)i(hash)f(op)r(eration)f(to)h(v)n(erify)523
+3144 y(replies,)22 b Ft(KBlo)l(ck)p FA(s)i(need)e(to)h(p)r(erform)f(a)g
+(public)i(k)n(ey)d(op)r(eration.)h(W)-7 b(orse,)22 b(when)h(publishing)
+523 3243 y(con)n(ten)n(t)f(or)f(searc)n(hing,)g(the)h(triple-hash)g(sc)
+n(heme)g(again)f(only)g(requires)g(a)h(few)h(quic)n(k)e(hash)523
+3343 y(op)r(erations)e(to)h(compute)h(the)g(query)e(or)h(the)g(con)n
+(ten)n(t.)g(With)i Ft(KBlo)l(ck)p FA(s,)f(the)g(cost)f(increases)523
+3443 y(to)30 b(additionally)g(generating)e(a)i(public-priv)-5
+b(ate)30 b(k)n(ey)f(pair)h(in)g(addition)g(to)g(a)g(public)h(k)n(ey)523
+3542 y(op)r(eration)c(and)g(hash)g(op)r(erations.)648
+3644 y(Both)42 b Ft(KBlo)l(cks)h FA(and)f(the)h(triple-hash)e(are)h
+(vulnerable)f(to)h(the)h(guessing)e(attac)n(k.)523 3743
+y(Guessing)d(is)h(sligh)n(tly)f(easier)f(for)h(the)h(triple-hash)f
+(since)g(the)h(computation)g(for)f(eac)n(h)523 3843 y(guess)21
+b(is)h(m)n(uc)n(h)f(c)n(heap)r(er.)g(Ov)n(erall,)f Ft(KBlo)l(cks)j
+FA(w)n(ork)e(b)r(etter)h(than)g(the)g(triple-hash)f(against)523
+3943 y(adv)n(ersaries)f(that)j(indiscriminately)g(attempt)h(to)e(abuse)
+h(net)n(w)n(ork)e(resources,)g(but)j(at)f(the)523 4042
+y(exp)r(ense)j(of)g(higher)f(CPU)g(utilization)h(ev)n(en)g(in)g(the)g
+(absence)f(of)h(an)g(attac)n(k.)f(Th)n(us,)g(using)523
+4142 y(the)36 b(triple-hash)e(sc)n(heme)g(ma)n(y)h(still)g(b)r(e)h
+(reasonable)d(in)i(net)n(w)n(orks)f(with)h(limited)h(CPU)523
+4242 y(p)r(o)n(w)n(er)26 b(or)h(less)g(stringen)n(t)g(securit)n(y)g
+(requiremen)n(ts.)523 4415 y
 SDict begin H.S end
- 0 4265 a 0 4265 a
+ 523 4415 a 523 4415 a
 SDict begin 12 H.A end
- 0 4265
-a 0 4265 a
-SDict begin [ /View [/XYZ H.V] /Dest (section.6) cvn H.B /DEST pdfmark
+ 523
+4415 a 523 4415 a
+SDict begin [ /View [/XYZ H.V] /Dest (section.1.6) cvn H.B /DEST pdfmark
 end
- 0 4265 a 87 x Fz(6)g(Conclusion)0 4563 y Fy(This)d(pap)r(er)
-f(has)g(describ)r(ed)h(an)f(enco)r(ding)h(sc)n(heme)f(whic)n(h)g(hides)
-h(shared)f(data)g(from)0 4663 y(in)n(termediaries.)29
-b(The)g(enco)r(ding)h(uses)f(con)n(v)n(ergen)n(t)f(encryption,)h(allo)n
-(ws)g(sw)n(arming)0 4762 y(and)23 b(pro)r(duces)f(a)h(ciphertext)g
-(that)g(is)g(not)g(signi\014can)n(tly)f(larger)f(than)i(the)h(plain)n
-(text.)p Black Black eop end
-%%Page: 21 21
-TeXDict begin 21 20 bop 0 0 a
+ 523 4415 a 102 x Fu(6)112 b(Conclusion)523
+4725 y FA(This)39 b(pap)r(er)f(has)h(describ)r(ed)g(an)f(enco)r(ding)h
+(sc)n(heme)f(whic)n(h)h(hides)g(shared)f(data)g(from)523
+4825 y(in)n(termediaries.)29 b(The)h(enco)r(ding)g(uses)g(con)n(v)n
+(ergen)n(t)e(encryption,)i(allo)n(ws)f(sw)n(arming)f(and)523
+4924 y(pro)r(duces)34 b(a)g(ciphertext)h(that)g(is)f(not)h
+(signi\014can)n(tly)f(larger)f(than)h(the)h(plain)n(text.)g(Indi-)p
+Black Black eop end
+%%Page: 20 20
+TeXDict begin 20 19 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.20) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(21)p Black
-0 248 a Fy(Individual)24 b(blo)r(c)n(ks)f(of)h(the)g(ciphertext)g(can)f
-(b)r(e)i(generated)d(from)i(plain)n(text)f(without)0
-348 y(reading)e(unrelated)i(parts)f(of)g(the)h(original.)e(While)i
-(dictionary)f(attac)n(ks)g(on)g(the)h(k)n(ey-)0 448 y(w)n(ords)i(or)h
-(kno)n(wn)g(plain)n(text)g(attac)n(ks)g(on)g(the)h(con)n(ten)n(t)f(are)
-g(still)h(p)r(ossible,)f(they)h(are)0 547 y(harmless)21
-b(with)h(resp)r(ect)f(to)h(the)g(goal)e(of)i(deniabilit)n(y)f(for)g(in)
-n(termediaries.)g(The)g(basic)0 647 y(enco)r(ding)28
-b(sc)n(heme)f(can)g(b)r(e)i(extended)f(with)g(directories)f(and)h
-(namespaces.)e(Name-)0 746 y(spaces)i(allo)n(w)h(for)f(\014les)i(and)f
-(directories)f(to)h(b)r(e)g(up)r(dated.)h(Using)g Fr(K)6
-b Fy(-deterministic)0 846 y(public-priv)-5 b(ate)27 b(k)n(eys)g(for)g
-(signing)g(con)n(ten)n(t)g(it)h(is)g(p)r(ossible)f(to)g(v)n(erify)g
-(searc)n(h)f(results)0 946 y(in)i(a)f(global)f(k)n(eyw)n(ord)g(space.)
-125 1045 y(ECRS)j(is)h(implemen)n(ted)h(as)e(a)h(part)g(of)g
-Fa(gnu)p Fy(net,)g(a)g(secure)f(platform)h(for)f(p)r(eer-)0
-1145 y(to-p)r(eer)d(net)n(w)n(orking.)g(In)h Fa(gnu)p
-Fy(net,)h(ECRS)e(w)n(orks)g(to)n(w)n(ards)f(implemen)n(ting)i(anon)n
-(y-)0 1245 y(mous,)i(censorship-resistan)n(t)d(\014le-sharing.)i
-Fa(gnu)p Fy(net)h(is)g(free)g(soft)n(w)n(are)e(and)i(part)g(of)0
-1344 y(the)38 b(GNU)h(pro)5 b(ject.)37 b(The)h Fa(gnu)p
-Fy(net)g(co)r(de)g(is)g(appro)n(ximately)e(100,000)f(lines)j(of)g(C)0
-1444 y(co)r(de.)32 b(ECRS)f(itself)i(is)e(implemen)n(ted)i(in)f(ab)r
-(out)g(8,000)e(LOC.)h(The)h(co)r(de)g(is)f(freely)0 1544
-y(a)n(v)-5 b(ailable)26 b(from)i(the)g Fa(gnu)p Fy(net)g(w)n(ebpage)p
-1 0 0 TeXcolorrgb 1287 1544 a
+ 523 232 a Black Fx(20)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 448 a FA(vidual)f(blo)r(c)n(ks)e(of)i(the)g(ciphertext)g(can)
+f(b)r(e)h(generated)f(from)g(plain)n(text)h(without)g(reading)523
+548 y(unrelated)38 b(parts)h(of)f(the)h(original.)f(While)h(dictionary)
+f(attac)n(ks)g(on)g(the)h(k)n(eyw)n(ords)e(or)523 648
+y(kno)n(wn)24 b(plain)n(text)g(attac)n(ks)g(on)g(the)h(con)n(ten)n(t)f
+(are)g(still)h(p)r(ossible,)f(they)h(are)e(harmless)g(with)523
+747 y(resp)r(ect)k(to)h(the)g(goal)e(of)i(deniabilit)n(y)g(for)f(in)n
+(termediaries.)f(The)i(basic)f(enco)r(ding)g(sc)n(heme)523
+847 y(can)21 b(b)r(e)h(extended)g(with)g(directories)e(and)i
+(namespaces.)e(Namespaces)g(allo)n(w)h(for)g(\014les)g(and)523
+946 y(directories)k(to)h(b)r(e)h(up)r(dated.)g(Using)f
+Fs(K)6 b FA(-deterministic)26 b(public-priv)-5 b(ate)26
+b(k)n(eys)f(for)h(signing)523 1046 y(con)n(ten)n(t)h(it)h(is)g(p)r
+(ossible)f(to)g(v)n(erify)g(searc)n(h)f(results)h(in)h(a)f(global)g(k)n
+(eyw)n(ord)f(space.)648 1147 y(ECRS)35 b(is)g(implemen)n(ted)h(as)f(a)g
+(part)g(of)h Fa(gnu)p FA(net,)g(a)f(secure)g(platform)g(for)g(p)r
+(eer-to-)523 1247 y(p)r(eer)i(net)n(w)n(orking.)f(In)i
+Fa(gnu)p FA(net,)g(ECRS)f(w)n(orks)f(to)n(w)n(ards)g(implemen)n(ting)i
+(anon)n(ymous,)523 1347 y(censorship-resistan)n(t)31
+b(\014le-sharing.)h Fa(gnu)p FA(net)i(is)g(free)f(soft)n(w)n(are)f(and)
+i(part)f(of)g(the)h(GNU)523 1446 y(pro)5 b(ject.)25 b(The)g
+Fa(gnu)p FA(net)h(co)r(de)f(is)h(appro)n(ximately)d(100,000)g(lines)i
+(of)h(C)f(co)r(de.)g(ECRS)h(itself)523 1546 y(is)20 b(implemen)n(ted)h
+(in)g(ab)r(out)f(8,000)f(LOC.)h(The)g(co)r(de)g(is)h(freely)f(a)n(v)-5
+b(ailable)19 b(from)h(the)h Fa(gnu)p FA(net)523 1646
+y(w)n(ebpage)p 1 0 0 TeXcolorrgb 831 1646 a
 SDict begin H.S end
- 1287 1544 a -30 x Fw(4)1323
-1544 y
+ 831 1646
+a -31 x Fz(4)867 1646 y
 SDict begin 12 H.L end
- 1323 1544 a 1323 1544 a
+ 867 1646 a 867 1646 a
 SDict begin [ /Subtype /Link /Dest (Hfootnote.4) cvn /H /I /Border
 [0 0 0] /Color [1 0 0] H.B /ANN pdfmark end
- 1323 1544 a Black Fy(.)0
-1831 y Fs(A)l(cknow)t(le)l(dgements)0 1941 y
+ 867 1646
+a Black FA(.)523 1903 y Fr(Ac)m(kno)m(wledgemen)m(ts)523
+1993 y
 SDict begin H.S end
- 0 1941 a
-0 1941 a
+ 523 1993 a 523 1993 a
 SDict begin 12 H.A end
- 0 1941 a 0 1941 a
+ 523 1993 a 523 1993 a
 SDict begin [ /View [/XYZ H.V] /Dest (section*.1) cvn H.B /DEST pdfmark
 end
- 0 1941 a 83 x Fy(The)38 b(authors)f(thank)g
-(Roger)g(Dingledine)h(for)f(helpful)i(commen)n(ts)e(on)h(an)f(earlier)0
-2124 y(draft)27 b(of)h(this)g(pap)r(er.)0 2411 y Fz(References)0
-2505 y
+ 523
+1993 a 85 x FA(The)k(authors)f(thank)h(Roger)f(Dingledine)h(for)g
+(helpful)g(commen)n(ts)g(on)g(an)g(earlier)e(draft)i(of)523
+2178 y(this)j(pap)r(er.)523 2452 y Fu(References)523
+2559 y
 SDict begin H.S end
- 0 2505 a 0 2505 a
+ 523 2559 a 523 2559 a
 SDict begin 11 H.A end
- 0 2505 a 0 2505 a
+ 523 2559 a 523 2559 a
 SDict begin [ /View [/XYZ H.V] /Dest (section*.2) cvn H.B /DEST pdfmark
 end
- 0 2505 a 0
-2505 a
+ 523
+2559 a 523 2559 a
 SDict begin H.S end
- 0 2505 a 0 2505 a
+ 523 2559 a 523 2559 a
 SDict begin 11 H.A end
- 0 2505 a 0 2505 a
+ 523 2559 a 523
+2559 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.anderson96eternity) cvn
 H.B /DEST pdfmark end
- 0 2505 a Black
-38 2596 a Fu(1.)p Black 43 w(Ross)34 b(Anderson.)58 b(The)34
-b(Eternit)n(y)g(Service.)59 b(In)33 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)k
-(of)e(Pr)l(ago)l(crypt)j(1996)p Fu(,)140 2687 y(1996.)0
-2687 y
+ 523 2559 a Black 561 2652 a Fx(1.)p Black 43 w(Ross)e(Anderson.)
+34 b(The)26 b(Eternit)n(y)f(Service.)34 b(In)25 b Fq(Pr)l(o)l(c)l(e)l
+(e)l(dings)30 b(of)d(Pr)l(ago)l(crypt)j(1996)p Fx(,)d(1996.)523
+2667 y
 SDict begin H.S end
- 0 2687 a 0 2687 a
+ 523 2667 a 523 2667 a
 SDict begin 11 H.A end
- 0 2687 a 0 2687 a
+ 523 2667 a 523 2667 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.esed) cvn H.B /DEST pdfmark
 end
- 0 2687 a Black
-38 2779 a Fu(2.)p Black 43 w(Krista)33 b(Bennett,)g(Christian)i
-(Grotho\013,)e(Tzv)n(etan)g(Horozo)n(v,)h(and)f(Ioana)h(P)n(atrascu.)
-140 2870 y(E\016cien)n(t)20 b(Sharing)h(of)g(Encrypted)f(Data.)26
-b(In)20 b Fq(ASCIP)p Fu(,)h(v)n(olume)f(2384)i(of)g Fq(L)l(e)l(ctur)l
-(e)i(Notes)140 2962 y(in)j(Computer)h(Scienc)l(e)p Fu(,)f(pages)g
-(107{120.)i(Springer-V)-6 b(erlag)25 b(Inc.,)h(2002.)0
-2977 y
+ 523
+2667 a Black 561 2745 a Fx(2.)p Black 43 w(Krista)34
+b(Bennett,)g(Christian)h(Grotho\013,)g(Tzv)n(etan)f(Horozo)n(v,)g(and)g
+(Ioana)h(P)n(atrascu.)60 b(Ef-)663 2836 y(\014cien)n(t)31
+b(Sharing)h(of)h(Encrypted)e(Data.)54 b(In)31 b Fq(ASCIP)p
+Fx(,)h(v)n(olume)g(2384)h(of)g Fq(L)l(e)l(ctur)l(e)j(Notes)e(in)663
+2927 y(Computer)28 b(Scienc)l(e)p Fx(,)f(pages)g(107{120.)i(Springer-V)
+-6 b(erlag)25 b(Inc.,)h(2002.)523 2942 y
 SDict begin H.S end
- 0 2977 a 0 2977 a
+ 523 2942 a 523
+2942 a
 SDict begin 11 H.A end
- 0 2977 a 0 2977 a
+ 523 2942 a 523 2942 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.bloom) cvn H.B /DEST pdfmark
 end
- 0 2977 a Black
-38 3053 a Fu(3.)p Black 43 w(Burton)k(Blo)r(om.)52 b(Space/time)31
-b(trade-o\013s)g(in)g(hash)f(co)r(ding)i(with)f(allo)n(w)n(able)i
-(errors.)140 3144 y Fq(Communic)l(ations)28 b(of)f(the)h(A)n(CM)p
-Fu(,)e(13\(7\):422{426,)k(1970.)0 3163 y
+ 523 2942 a Black 561 3020
+a Fx(3.)p Black 43 w(Burton)g(Blo)r(om.)37 b(Space/time)26
+b(trade-o\013s)g(in)g(hash)g(co)r(ding)h(with)f(allo)n(w)n(able)i
+(errors.)37 b Fq(Com-)663 3112 y(munic)l(ations)28 b(of)f(the)i(A)n(CM)
+p Fx(,)c(13\(7\):422{426,)30 b(1970.)523 3130 y
 SDict begin H.S end
- 0 3163 a 0 3163
-a
+ 523 3130
+a 523 3130 a
 SDict begin 11 H.A end
- 0 3163 a 0 3163 a
+ 523 3130 a 523 3130 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.chen99prototype) cvn H.B
 /DEST pdfmark end
- 0 3163 a Black 38 3236 a Fu(4.)p
-Black 43 w(Y)-6 b(uan)23 b(Chen,)h(Jan)g(Edler,)h(Andrew)f(Goldb)r
-(erg,)h(Allan)f(Gottlieb,)h(Sumeet)f(Sobti,)g(and)140
-3327 y(P)n(eter)37 b(Yianilos.)71 b(A)37 b(protot)n(yp)r(e)g(implemen)n
-(tation)h(of)g(arc)n(hiv)l(al)g(in)n(termemory)-6 b(.)69
-b(In)140 3419 y Fq(Pr)l(o)l(c)l(e)l(e)l(dings)24 b(of)d(the)i(F)-6
-b(ourth)24 b(A)n(CM)d(International)i(Confer)l(enc)l(e)h(on)e(Digital)f
-(Libr)l(aries)p Fu(,)140 3510 y(1999.)0 3510 y
+ 523 3130 a Black 561
+3205 a Fx(4.)p Black 43 w(Y)-6 b(uan)19 b(Chen,)i(Jan)h(Edler,)f
+(Andrew)g(Goldb)r(erg,)h(Allan)f(Gottlieb,)h(Sumeet)e(Sobti,)h(and)g(P)
+n(eter)663 3296 y(Yianilos.)39 b(A)26 b(protot)n(yp)r(e)g(implemen)n
+(tation)h(of)h(arc)n(hiv)l(al)f(in)n(termemory)-6 b(.)37
+b(In)26 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)31 b(of)663 3387
+y(the)d(F)-6 b(ourth)29 b(A)n(CM)e(International)i(Confer)l(enc)l(e)g
+(on)f(Digital)f(Libr)l(aries)p Fx(,)g(1999.)523 3402
+y
 SDict begin H.S end
- 0 3510
-a 0 3510 a
+ 523 3402 a 523 3402 a
 SDict begin 11 H.A end
- 0 3510 a 0 3510 a
+ 523 3402 a 523 3402 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.clark99distributed) cvn
 H.B /DEST pdfmark end
- 0 3510 a Black 38 3601 a
-Fu(5.)p Black 43 w(Ian)44 b(Clark)n(e,)i(Osk)l(ar)e(Sandb)r(erg,)h
-(Brandon)f(Wiley)-6 b(,)45 b(and)g(Theo)r(dorew)h(W.)e(Hong.)140
-3693 y(F)-6 b(reenet:)28 b(A)f(distributed)h(anon)n(ymous)g
-(information)h(storage)h(and)e(retriev)l(al)g(system.)140
-3784 y(In)k(Hannes)h(F)-6 b(ederrath,)33 b(editor,)h
-Fq(Designing)g(privacy)i(enhancing)f(te)l(chnolo)l(gies:)h(In-)140
-3875 y(ternational)g(Workshop)g(on)f(Design)g(Issues)h(in)e(A)n
-(nonymity)h(and)h(Unobservability,)140 3967 y(Berkeley,)e(CA,)e(USA,)h
-(July)h(25{26,)f(2000:)h(pr)l(o)l(c)l(e)l(e)l(dings)p
-Fu(,)h(v)n(olume)c(2009)j(of)f Fq(L)l(e)l(ctur)l(e)140
-4058 y(Notes)28 b(in)g(Computer)g(Scienc)l(e)p Fu(.)f(Springer-V)-6
-b(erlag)26 b(Inc.,)g(2001.)0 4073 y
+ 523 3402
+a Black 561 3480 a Fx(5.)p Black 43 w(Ian)h(Clark)n(e,)h(Osk)l(ar)g
+(Sandb)r(erg,)f(Brandon)h(Wiley)-6 b(,)28 b(and)g(Theo)r(dorew)i(W.)f
+(Hong.)43 b(F)-6 b(reenet:)663 3572 y(A)35 b(distributed)f(anon)n
+(ymous)i(information)g(storage)h(and)e(retriev)l(al)h(system.)63
+b(In)35 b(Hannes)663 3663 y(F)-6 b(ederrath,)28 b(editor,)g
+Fq(Designing)i(privacy)h(enhancing)f(te)l(chnolo)l(gies:)h
+(International)g(Work-)663 3754 y(shop)38 b(on)f(Design)g(Issues)h(in)f
+(A)n(nonymity)g(and)h(Unobservability,)g(Berkeley,)g(CA,)e(USA,)663
+3846 y(July)25 b(25{26,)g(2000:)g(pr)l(o)l(c)l(e)l(e)l(dings)p
+Fx(,)h(v)n(olume)c(2009)j(of)e Fq(L)l(e)l(ctur)l(e)k(Notes)f(in)f
+(Computer)h(Scienc)l(e)p Fx(.)663 3937 y(Springer-V)-6
+b(erlag)25 b(Inc.,)h(2001.)523 3952 y
 SDict begin H.S end
- 0 4073 a 0 4073 a
+ 523 3952 a 523
+3952 a
 SDict begin 11 H.A end
-
-0 4073 a 0 4073 a
+ 523 3952 a 523 3952 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.cohen02replication) cvn
 H.B /DEST pdfmark end
- 0 4073 a Black 38 4149 a Fu(6.)p Black
-43 w(Edith)e(Cohen)g(and)g(Scott)h(Shenk)n(er.)31 b(Replication)25
-b(strategies)h(in)e(unstructured)f(p)r(eer-)140 4241
-y(to-p)r(eer)i(net)n(w)n(orks.)35 b(In)25 b Fq(The)j(A)n(CM)f
-(SIGCOMM'02)f(Confer)l(enc)l(e)p Fu(,)i(August)d(2002.)0
-4256 y
+ 523 3952 a Black 561 4030
+a Fx(6.)p Black 43 w(Edith)31 b(Cohen)g(and)g(Scott)g(Shenk)n(er.)50
+b(Replication)31 b(strategies)i(in)e(unstructured)f(p)r(eer-to-)663
+4121 y(p)r(eer)25 b(net)n(w)n(orks.)35 b(In)25 b Fq(The)j(A)n(CM)f
+(SIGCOMM'02)g(Confer)l(enc)l(e)p Fx(,)g(August)e(2002.)523
+4136 y
 SDict begin H.S end
- 0 4256 a 0 4256 a
+ 523 4136 a 523 4136 a
 SDict begin 11 H.A end
- 0 4256 a 0 4256 a
+ 523 4136 a 523 4136 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.cfs:sosp01) cvn H.B /DEST
 pdfmark end
- 0 4256 a Black
-38 4332 a Fu(7.)p Black 43 w(F)-6 b(rank)35 b(Dab)r(ek,)h(M.)g(F)-6
-b(rans)36 b(Kaasho)r(ek,)h(Da)n(vid)f(Karger,)h(Rob)r(ert)f(Morris,)h
-(and)f(Ion)140 4424 y(Stoica.)k(Wide-area)29 b(co)r(op)r(erativ)n(e)f
-(storage)h(with)f(CFS.)40 b(In)27 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)32
-b(of)d(the)h(18th)140 4515 y(A)n(CM)21 b(Symp)l(osium)h(on)f(Op)l(er)l
-(ating)i(Systems)g(Principles)f(\(SOSP)g('01\))p Fu(,)d(Chateau)h(Lak)n
-(e)140 4606 y(Louise,)26 b(Ban\013,)h(Canada,)f(Octob)r(er)g(2001.)p
-Black 0 4674 1086 4 v 52 4731 a Fv(4)p 0 TeXcolorgray
-125 4671 a
+ 523
+4136 a Black 561 4215 a Fx(7.)p Black 43 w(F)-6 b(rank)26
+b(Dab)r(ek,)i(M.)g(F)-6 b(rans)27 b(Kaasho)r(ek,)h(Da)n(vid)f(Karger,)h
+(Rob)r(ert)g(Morris,)h(and)e(Ion)g(Stoica.)663 4306 y(Wide-area)j(co)r
+(op)r(erativ)n(e)h(storage)g(with)e(CFS.)47 b(In)28 b
+Fq(Pr)l(o)l(c)l(e)l(e)l(dings)34 b(of)d(the)h(18th)g(A)n(CM)e(Sym-)663
+4397 y(p)l(osium)25 b(on)g(Op)l(er)l(ating)h(Systems)g(Principles)f
+(\(SOSP)g('01\))p Fx(,)f(Chateau)f(Lak)n(e)g(Louise,)g(Ban\013,)663
+4489 y(Canada,)k(Octob)r(er)e(2001.)523 4504 y
 SDict begin H.S end
- 125 4671 a 0 TeXcolorgray 0 TeXcolorgray 125
-4671 a
+ 523 4504
+a 523 4504 a
+SDict begin 11 H.A end
+ 523 4504 a 523 4504 a
+SDict begin [ /View [/XYZ H.V] /Dest (cite.dingledine02mixminion) cvn
+H.B /DEST pdfmark end
+ 523 4504 a Black 561
+4582 a Fx(8.)p Black 43 w(George)32 b(Danezis,)g(Roger)g(Dingledine,)g
+(and)f(Nic)n(k)f(Mathewson.)52 b(Mixminion:)32 b(Design)g(of)663
+4673 y(a)d(T)n(yp)r(e)f(I)r(I)r(I)g(Anon)n(ymous)g(Remailer)i(Proto)r
+(col.)45 b(In)28 b Fq(IEEE)i(Symp)l(osium)h(on)g(Se)l(curity)g(and)663
+4764 y(Privacy)p Fx(,)c(2003.)p Black 523 4839 473 4
+v 546 4893 a Fy(4)p 0 TeXcolorgray 606 4833 a
+SDict begin H.S end
+ 606 4833
+a 0 TeXcolorgray 0 TeXcolorgray 606 4833 a
 SDict begin H.R end
- 125 4671 a 125 4671 a
+ 606 4833 a
+606 4833 a
 SDict begin [ /View [/XYZ H.V] /Dest (Hfootnote.4) cvn H.B /DEST pdfmark
 end
- 125 4671 a Black 0 1 0 0
-TeXcolorcmyk 125 4779 a
+ 606 4833 a Black 0 1 0 0 TeXcolorcmyk 606
+4941 a
 SDict begin H.S end
- 125 4779 a 0 1 0 0 TeXcolorcmyk
--17 x Ft(http://gnunet.org/)p 0 1 0 0 TeXcolorcmyk 831
-4711 a
+ 606 4941 a 0 1 0 0 TeXcolorcmyk -17 x Fw(http://gnunet.org/)p
+0 1 0 0 TeXcolorcmyk 1312 4872 a
 SDict begin H.R end
- 831 4711 a 831 4762 a
+ 1312 4872 a 1312 4924
+a
 SDict begin [ /H /I /Border [0 0 0] /Color [0 1 1] /Action << /Subtype
 /URI /URI (http://gnunet.org/) >> /Subtype /Link H.B /ANN pdfmark end
- 831 4762 a Black Black Black
-Black eop end
-%%Page: 22 22
-TeXDict begin 22 21 bop 0 0 a
+ 1312 4924 a Black Black Black Black eop end
+%%Page: 21 21
+TeXDict begin 21 20 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.21) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(22)879 b(C.)27 b(Grotho\013,)f(K.)g
-(Grotho\013,)g(T.)g(Horozo)n(v,)h(J.T.)g(Lindgren)p Black
-0 165 a
+ 523 232 a Black 1036 w Fx(An)25
+b(Enco)r(ding)h(for)h(Censorship-Resistan)n(t)f(Sharing)199
+b(21)p Black 523 365 a
 SDict begin H.S end
- 0 165 a 0 165 a
+ 523 365 a 523 365 a
 SDict begin 11 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (cite.dingledine02mixminion) cvn
-H.B /DEST pdfmark end
- 0 165 a Black
-38 248 a Fu(8.)p Black 43 w(George)d(Danezis,)h(Roger)f(Dingledine,)g
-(and)f(Nic)n(k)g(Mathewson.)32 b(Mixminion:)24 b(Design)140
-340 y(of)c(a)g(T)n(yp)r(e)g(I)r(I)r(I)f(Anon)n(ymous)g(Remailer)i
-(Proto)r(col.)27 b(In)19 b Fq(IEEE)i(Symp)l(osium)i(on)f(Se)l(curity)
-140 431 y(and)28 b(Privacy)p Fu(,)e(2003.)0 446 y
-SDict begin H.S end
- 0 446
-a 0 446 a
-SDict begin 11 H.A end
- 0 446 a 0 446 a
+ 523 365 a
+523 365 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.freehaven-berk) cvn H.B
 /DEST pdfmark end
- 0 446 a Black 38 520 a Fu(9.)p
-Black 43 w(Roger)i(Dingledine,)h(Mic)n(hael)g(J.)g(F)-6
-b(reedman,)28 b(and)g(Da)n(vid)f(Molnar.)43 b(The)28
-b(free)h(ha)n(v)n(en)140 611 y(pro)t(ject:)24 b(Distributed)f(anon)n
-(ymous)f(storage)j(service.)31 b(In)22 b(Hannes)h(F)-6
-b(ederrath,)23 b(editor,)140 702 y Fq(Pr)l(o)l(c)l(e)l(e)l(dings)29
-b(of)e(Designing)g(Privacy)h(Enhancing)g(T)-6 b(e)l(chnolo)l(gies:)28
-b(Workshop)h(on)e(De-)140 794 y(sign)j(Issues)g(in)f(A)n(nonymity)i
-(and)f(Unobservability)p Fu(.)g(Springer-V)-6 b(erlag,)28
-b(LNCS)g(2009,)140 885 y(July)d(2000.)0 900 y
+ 523 365 a Black 561 448 a Fx(9.)p Black 43
+w(Roger)18 b(Dingledine,)h(Mic)n(hael)g(J.)g(F)-6 b(reedman,)18
+b(and)g(Da)n(vid)f(Molnar.)23 b(The)c(free)f(ha)n(v)n(en)g(pro)t(ject:)
+663 540 y(Distributed)37 b(anon)n(ymous)i(storage)g(service.)73
+b(In)38 b(Hannes)g(F)-6 b(ederrath,)38 b(editor,)h Fq(Pr)l(o)l(c)l(e)l
+(e)l(d-)663 631 y(ings)26 b(of)g(Designing)g(Privacy)h(Enhancing)g(T)-6
+b(e)l(chnolo)l(gies:)27 b(Workshop)g(on)g(Design)f(Issues)h(in)663
+722 y(A)n(nonymity)h(and)g(Unobservability)p Fx(.)g(Springer-V)-6
+b(erlag,)26 b(LNCS)f(2009,)i(July)f(2000.)523 737 y
 SDict begin H.S end
- 0 900 a
-0 900 a
+ 523
+737 a 523 737 a
 SDict begin 11 H.A end
- 0 900 a 0 900 a
+ 523 737 a 523 737 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.farsite) cvn H.B /DEST pdfmark
 end
- 0 900 a Black 73 x Fu(10.)p Black
-43 w(John)33 b(R.)g(Douceur,)g(A)n(tul)f(Ady)n(a,)g(Wiliam)i(J.)g
-(Bolosky)-6 b(,)34 b(Dan)e(Simon,)i(and)e(Marvin)140
-1065 y(Theimer.)g(Reclaiming)25 b(space)g(from)g(duplicate)f(\014les)h
-(in)f(a)g(serv)n(erless)h(distributed)f(\014le)140 1156
-y(system.)34 b(T)-6 b(ec)n(hnical)26 b(rep)r(ort,)h(Microsoft)h
-(Researc)n(h,)e(2002.)0 1171 y
+ 523 737 a Black 72
+x Fx(10.)p Black 43 w(John)19 b(R.)f(Douceur,)h(A)n(tul)f(Ady)n(a,)h
+(Wiliam)h(J.)g(Bolosky)-6 b(,)19 b(Dan)g(Simon,)g(and)g(Marvin)g
+(Theimer.)663 900 y(Reclaiming)26 b(space)g(from)g(duplicate)f(\014les)
+g(in)g(a)h(serv)n(erless)g(distributed)f(\014le)g(system.)33
+b(T)-6 b(ec)n(h-)663 992 y(nical)26 b(rep)r(ort,)g(Microsoft)i(Researc)
+n(h,)e(2002.)523 1007 y
 SDict begin H.S end
- 0 1171 a 0 1171 a
+ 523 1007 a 523 1007 a
 SDict begin 11 H.A end
- 0 1171
-a 0 1171 a
+ 523 1007
+a 523 1007 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.feamster-infranet) cvn H.B
 /DEST pdfmark end
- 0 1171 a Black 74 x Fu(11.)p Black 43 w(Nic)n(k)i(F)-6
-b(eamster,)29 b(Magdalena)i(Balazinsk)l(a,)f(Greg)g(Harfst,)f(Hari)g
-(Balakrishnan,)h(and)140 1336 y(Da)n(vid)e(Karger.)45
-b(Infranet:)29 b(Circum)n(v)n(en)n(ting)g(w)n(eb)g(censorship)h(and)e
-(surv)n(eillance.)45 b(In)140 1427 y Fq(11th)28 b(USENIX)f(Se)l(curity)
-i(Symp)l(osium)p Fu(,)e(2002.)0 1442 y
+ 523 1007 a Black 71 x Fx(11.)p Black 43
+w(Nic)n(k)21 b(F)-6 b(eamster,)23 b(Magdalena)g(Balazinsk)l(a,)h(Greg)f
+(Harfst,)g(Hari)f(Balakrishnan,)h(and)e(Da)n(vid)663
+1169 y(Karger.)k(Infranet:)20 b(Circum)n(v)n(en)n(ting)g(w)n(eb)g
+(censorship)g(and)f(surv)n(eillance.)26 b(In)19 b Fq(11th)k(USENIX)663
+1261 y(Se)l(curity)29 b(Symp)l(osium)p Fx(,)d(2002.)523
+1276 y
 SDict begin H.S end
- 0 1442 a 0 1442
-a
+ 523 1276 a 523 1276 a
 SDict begin 11 H.A end
- 0 1442 a 0 1442 a
+ 523 1276 a 523 1276 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.secure2004goh) cvn H.B /DEST
 pdfmark end
- 0 1442 a Black 74 x Fu(12.)p Black
-43 w(Eu-Jin)e(Goh.)35 b(Secure)25 b(indexes.)35 b(In)24
-b Fq(Cryptolo)l(gy)30 b(ePrint)e(A)n(r)l(chive)p Fu(,)f(Oct)e(2003.)0
-1531 y
+ 523
+1276 a Black 71 x Fx(12.)p Black 43 w(Eu-Jin)f(Goh.)35
+b(Secure)25 b(indexes.)35 b(In)25 b Fq(Cryptolo)l(gy)k(ePrint)f(A)n(r)l
+(chive)p Fx(,)f(Oct)e(2003.)523 1362 y
 SDict begin H.S end
- 0 1531 a 0 1531 a
+ 523 1362 a 523
+1362 a
 SDict begin 11 H.A end
- 0 1531 a 0 1531 a
+ 523 1362 a 523 1362 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.ebe2003) cvn H.B /DEST pdfmark
 end
- 0 1531 a Black
-73 x Fu(13.)p Black 43 w(Christian)k(Grotho\013.)45 b(An)27
-b(Excess-Based)j(Economic)g(Mo)r(del)g(for)g(Resource)f(Allo)r(ca-)140
-1696 y(tion)c(in)h(P)n(eer-to-P)n(eer)g(Net)n(w)n(orks.)35
-b Fq(Wirtschaftsinformatik)p Fu(,)27 b(3-2003,)g(June)f(2003.)0
-1711 y
+ 523 1362 a Black 72 x Fx(13.)p
+Black 43 w(Christian)i(Grotho\013.)35 b(An)25 b(Excess-Based)i
+(Economic)g(Mo)r(del)g(for)f(Resource)h(Allo)r(cation)g(in)663
+1525 y(P)n(eer-to-P)n(eer)f(Net)n(w)n(orks.)34 b Fq
+(Wirtschaftsinformatik)p Fx(,)27 b(3-2003,)h(June)d(2003.)523
+1540 y
 SDict begin H.S end
- 0 1711 a 0 1711 a
+ 523 1540 a 523 1540 a
 SDict begin 11 H.A end
- 0 1711 a 0 1711 a
+ 523 1540 a 523 1540 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.le2005) cvn H.B /DEST pdfmark
 end
- 0 1711 a Black
-73 x Fu(14.)p Black 43 w(Christian)36 b(Grotho\013.)64
-b(Reading)35 b(File)h(Metadata)h(with)e(extract)h(and)f(lib)r
-(extractor.)140 1876 y Fq(LinuxJournal)p Fu(,)27 b(6-2005,)g(June)f
-(2005.)0 1891 y
+ 523
+1540 a Black 72 x Fx(14.)p Black 43 w(Christian)33 b(Grotho\013.)55
+b(Reading)32 b(File)i(Metadata)f(with)g(extract)f(and)g(lib)r
+(extractor.)56 b Fq(Lin-)663 1703 y(uxJournal)p Fx(,)27
+b(6-2005,)h(June)d(2005.)523 1718 y
 SDict begin H.S end
- 0 1891 a 0 1891 a
+ 523 1718 a 523 1718
+a
 SDict begin 11 H.A end
- 0 1891 a 0 1891 a
+ 523 1718 a 523 1718 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.hartman99swarm) cvn H.B
 /DEST pdfmark end
- 0
-1891 a Black 73 x Fu(15.)p Black 43 w(John)k(H.)h(Hartman,)g(Ian)f
-(Murdo)r(c)n(k,)h(and)f(T)-6 b(ammo)32 b(Spalink.)49
-b(The)30 b(sw)n(arm)i(scalable)140 2056 y(storage)e(system.)44
-b(In)29 b Fq(International)j(Confer)l(enc)l(e)g(on)e(Distribute)l(d)j
-(Computing)e(Sys-)140 2147 y(tems)p Fu(,)26 b(pages)h(74{81,)h(1999.)0
-2162 y
+ 523 1718 a Black 72 x Fx(15.)p
+Black 43 w(John)d(H.)g(Hartman,)h(Ian)f(Murdo)r(c)n(k,)h(and)f(T)-6
+b(ammo)23 b(Spalink.)28 b(The)23 b(sw)n(arm)g(scalable)h(storage)663
+1881 y(system.)67 b(In)36 b Fq(International)j(Confer)l(enc)l(e)g(on)f
+(Distribute)l(d)h(Computing)f(Systems)p Fx(,)h(pages)663
+1972 y(74{81,)28 b(1999.)523 1987 y
 SDict begin H.S end
- 0 2162 a 0 2162 a
+ 523 1987 a 523 1987
+a
 SDict begin 11 H.A end
- 0 2162 a 0 2162 a
+ 523 1987 a 523 1987 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.herlihy87how) cvn H.B /DEST
 pdfmark end
- 0 2162 a Black
-74 x Fu(16.)p Black 43 w(Maurice)j(Herlih)n(y)f(and)h(J.)g(D.)g(T)n
-(ygar.)50 b(Ho)n(w)31 b(to)g(mak)n(e)f(replicated)i(data)f(secure.)49
-b(In)140 2327 y Fq(CR)-6 b(YPTO)p Fu(,)25 b(pages)i(379{391,)h(1987.)0
-2342 y
+ 523 1987 a Black 72 x Fx(16.)p
+Black 43 w(Maurice)42 b(Herlih)n(y)e(and)h(J.)h(D.)f(T)n(ygar.)81
+b(Ho)n(w)42 b(to)f(mak)n(e)g(replicated)h(data)g(secure.)81
+b(In)663 2150 y Fq(CR)-6 b(YPTO)p Fx(,)25 b(pages)i(379{391,)i(1987.)
+523 2165 y
 SDict begin H.S end
- 0 2342 a 0 2342 a
+ 523 2165 a 523 2165 a
 SDict begin 11 H.A end
- 0 2342 a 0 2342 a
+ 523 2165 a 523 2165
+a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.levien03advogato) cvn H.B
 /DEST pdfmark end
- 0 2342 a Black
-73 x Fu(17.)p Black 43 w(Raph)62 b(Levien.)148 b(A)n(ttac)n(k)62
-b(resistan)n(t)j(trust)e(metrics.)148 b(Draft)64 b(a)n(v)l(ailable)h
-(at)140 2507 y(h)n(ttp://www.levien.com/thesis/compact.p)r(df,)31
-b(2003.)0 2525 y
+ 523 2165 a Black 72 x Fx(17.)p Black 43 w(Raph)76 b(Levien.)189
+b(A)n(ttac)n(k)77 b(resistan)n(t)h(trust)f(metrics.)190
+b(Draft)78 b(a)n(v)l(ailable)h(at)663 2328 y(h)n
+(ttp://www.levien.com/thesis/compact.p)r(df,)31 b(2003.)523
+2347 y
 SDict begin H.S end
- 0 2525 a 0 2525 a
+ 523 2347 a 523 2347 a
 SDict begin 11 H.A end
- 0 2525 a 0 2525 a
+ 523 2347 a 523 2347 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.maymounkov02kademlia) cvn
 H.B /DEST pdfmark end
-
-0 2525 a Black 70 x Fu(18.)p Black 43 w(P)n(etar)26 b(Ma)n(ymounk)n(o)n
-(v)f(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)37 b(Kademlia:)28
-b(A)d(p)r(eer-to-p)r(eer)h(informa-)140 2687 y(tion)d(system)g(based)g
-(on)g(the)g(xor)g(metric.)31 b(In)22 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)27
-b(of)e(IPTPS02,)g(Cambridge)p Fu(,)140 2778 y(Marc)n(h)h(2002.)0
-2778 y
+ 523
+2347 a Black 68 x Fx(18.)p Black 43 w(P)n(etar)h(Ma)n(ymounk)n(o)n(v)f
+(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)56 b(Kademlia:)33
+b(A)f(p)r(eer-to-p)r(eer)f(information)663 2506 y(system)f(based)g(on)g
+(the)g(xor)g(metric.)48 b(In)29 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)34
+b(of)d(IPTPS02,)g(Cambridge)p Fx(,)g(Marc)n(h)663 2597
+y(2002.)523 2597 y
 SDict begin H.S end
- 0 2778 a 0 2778 a
+ 523 2597 a 523 2597 a
 SDict begin 11 H.A end
- 0 2778 a 0 2778 a
+ 523 2597 a 523
+2597 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mazires00sfs) cvn H.B /DEST
 pdfmark end
- 0 2778 a Black
-89 x Fu(19.)p Black 43 w(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)36
-b Fq(Self-c)l(ertifying)28 b(\014le)g(system)p Fu(.)35
-b(PhD)26 b(thesis,)g(MIT,)h(2000.)0 2882 y
+ 523 2597 a Black 87 x Fx(19.)p Black 43 w(Da)n(vid)25
+b(Mazi)n(\022)-36 b(eres.)36 b Fq(Self-c)l(ertifying)28
+b(\014le)g(system)p Fx(.)35 b(PhD)26 b(thesis,)g(MIT,)h(2000.)523
+2699 y
 SDict begin H.S end
- 0 2882 a 0
-2882 a
+ 523 2699 a 523 2699 a
 SDict begin 11 H.A end
- 0 2882 a 0 2882 a
+ 523 2699 a 523 2699 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mazieres02building) cvn
 H.B /DEST pdfmark end
- 0 2882 a Black 73 x Fu(20.)p
-Black 43 w(Da)n(vid)20 b(Mazi)n(\022)-36 b(eres)22 b(and)e(Dennis)g
-(Shasha.)27 b(Building)21 b(secure)g(\014le)f(systems)h(out)g(of)g(b)n
-(yzan-)140 3047 y(tine)i(storage.)33 b(In)24 b Fq(Pr)l(o)l(c)l(e)l(e)l
-(dings)k(of)d(the)i(Twenty-First)h(A)n(CM)d(Symp)l(osium)h(on)h
-(Princi-)140 3138 y(ples)h(of)f(Distribute)l(d)i(Computing)f(\(PODC)f
-(2002\))p Fu(,)g(2002.)0 3157 y
+ 523
+2699 a Black 72 x Fx(20.)p Black 43 w(Da)n(vid)e(Mazi)n(\022)-36
+b(eres)28 b(and)e(Dennis)g(Shasha.)36 b(Building)27 b(secure)g(\014le)f
+(systems)h(out)f(of)h(b)n(yzan)n(tine)663 2862 y(storage.)66
+b(In)35 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)k(of)d(the)i(Twenty-First)h(A)n
+(CM)d(Symp)l(osium)h(on)g(Principles)g(of)663 2953 y(Distribute)l(d)29
+b(Computing)f(\(PODC)f(2002\))p Fx(,)g(2002.)523 2972
+y
 SDict begin H.S end
- 0 3157 a 0 3157 a
+ 523 2972 a 523 2972 a
 SDict begin 11 H.A end
- 0 3157
-a 0 3157 a
+ 523 2972 a 523 2972 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mckusick84fast) cvn H.B
 /DEST pdfmark end
- 0 3157 a Black 69 x Fu(21.)p Black 43 w(Marshall)39
-b(K.)f(McKusic)n(k,)h(William)g(N.)f(Jo)n(y)-6 b(,)38
-b(Sam)n(uel)g(J.)h(Le\017er,)f(and)g(Rob)r(ert)g(S.)140
-3318 y(F)-6 b(abry)g(.)33 b(A)25 b(fast)i(\014le)f(system)f(for)i
-(UNIX.)33 b Fq(Computer)28 b(Systems)p Fu(,)g(2\(3\):181{197,)h(1984.)0
-3336 y
+ 523 2972
+a Black 68 x Fx(21.)p Black 43 w(Marshall)e(K.)f(McKusic)n(k,)g
+(William)i(N.)d(Jo)n(y)-6 b(,)24 b(Sam)n(uel)g(J.)h(Le\017er,)f(and)g
+(Rob)r(ert)f(S.)h(F)-6 b(abry)g(.)30 b(A)663 3131 y(fast)c(\014le)g
+(system)g(for)g(UNIX.)33 b Fq(Computer)c(Systems)p Fx(,)e
+(2\(3\):181{197,)j(1984.)523 3150 y
 SDict begin H.S end
- 0 3336 a 0 3336 a
+ 523 3150 a 523 3150
+a
 SDict begin 11 H.A end
- 0 3336 a 0 3336 a
+ 523 3150 a 523 3150 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.merkle89tree) cvn H.B /DEST
 pdfmark end
- 0 3336 a Black
-70 x Fu(22.)p Black 43 w(Ralph)h(C.)h(Merkle.)49 b(A)30
-b(certi\014ed)g(digital)i(signature.)49 b(In)30 b Fq(G.)h(Br)l(assar)l
-(d,)j(e)l(ditor,)e(A)l(d-)140 3498 y(vanc)l(es)h(in)e(Cryptolo)l(gy|CR)
--6 b(YPTO)34 b('89)p Fu(,)d(pages)g(218{238.)i(Springer-V)-6
-b(erlag,)31 b(1990.)140 3589 y(v)n(olume)25 b(435)i(of)f(Lecture)g
-(Notes)g(in)g(Computer)f(Science.)0 3604 y
+ 523 3150 a Black 68 x Fx(22.)p
+Black 43 w(Ralph)e(C.)i(Merkle.)45 b(A)28 b(certi\014ed)h(digital)h
+(signature.)45 b(In)28 b Fq(G.)j(Br)l(assar)l(d,)h(e)l(ditor,)f(A)l
+(dvanc)l(es)663 3309 y(in)e(Cryptolo)l(gy|CR)-6 b(YPTO)32
+b('89)p Fx(,)d(pages)g(218{238.)j(Springer-V)-6 b(erlag,)29
+b(1990.)44 b(v)n(olume)29 b(435)663 3400 y(of)d(Lecture)g(Notes)g(in)f
+(Computer)h(Science.)523 3415 y
 SDict begin H.S end
- 0 3604 a 0
-3604 a
+ 523 3415 a 523 3415 a
 SDict begin 11 H.A end
- 0 3604 a 0 3604 a
+
+523 3415 a 523 3415 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.muthitacharoen02ivy) cvn
 H.B /DEST pdfmark end
- 0 3604 a Black 74 x Fu(23.)p
-Black 43 w(A)n(thic)n(ha)k(Muthitac)n(haro)r(en,)i(Rob)r(ert)f(Morris,)
-h(Thomer)g(M.)g(Gil,)g(and)e(Benjie)j(Chen.)140 3769
-y(Ivy:)25 b(A)i(read/write)h(p)r(eer-to-p)r(eer)e(\014le)h(system.)38
-b(In)26 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)31 b(of)d(5th)h(Symp)l(osium)
-140 3860 y(on)e(Op)l(er)l(ating)i(Systems)g(Design)f(and)g
-(Implementation)p Fu(,)f(2002.)0 3875 y
+ 523 3415 a Black 72 x Fx(23.)p
+Black 43 w(A)n(thic)n(ha)21 b(Muthitac)n(haro)r(en,)i(Rob)r(ert)f
+(Morris,)i(Thomer)f(M.)f(Gil,)i(and)d(Benjie)j(Chen.)k(Ivy:)21
+b(A)663 3578 y(read/write)i(p)r(eer-to-p)r(eer)e(\014le)g(system.)28
+b(In)21 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)26 b(of)d(5th)i(Symp)l(osium)f
+(on)g(Op)l(er)l(ating)663 3670 y(Systems)29 b(Design)f(and)g
+(Implementation)p Fx(,)e(2002.)523 3685 y
 SDict begin H.S end
- 0 3875 a 0 3875
-a
+ 523 3685 a
+523 3685 a
 SDict begin 11 H.A end
- 0 3875 a 0 3875 a
+ 523 3685 a 523 3685 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.perng2005csr) cvn H.B /DEST
 pdfmark end
- 0 3875 a Black 74 x Fu(24.)p Black
-43 w(Ginger)k(P)n(erng,)h(Mic)n(hael)g(K.)f(Reiter,)g(and)f(Chenxi)h(W)
--6 b(ang.)50 b(Censorship)31 b(resistance)140 4040 y(revisited.)60
-b(In)33 b(Jordi)i(Herrera-Joancomarti,)h(editor,)f Fq(Pr)l(e-Pr)l(o)l
-(c)l(e)l(e)l(dings)k(of)c(the)h(7th)140 4131 y(International)28
-b(Workshop)h(on)f(Information)f(Hiding)p Fu(,)f(pages)h(279{293,)h
-(2005.)0 4146 y
+ 523 3685 a Black 71
+x Fx(24.)p Black 43 w(Ginger)h(P)n(erng,)h(Mic)n(hael)g(K.)f(Reiter,)h
+(and)f(Chenxi)f(W)-6 b(ang.)39 b(Censorship)28 b(resistance)g(revis-)
+663 3847 y(ited.)c(In)18 b(Jordi)i(Herrera-Joancomarti,)i(editor,)e
+Fq(Pr)l(e-Pr)l(o)l(c)l(e)l(e)l(dings)25 b(of)c(the)h(7th)h
+(International)663 3939 y(Workshop)29 b(on)e(Information)h(Hiding)p
+Fx(,)d(pages)i(279{293,)i(2005.)523 3954 y
 SDict begin H.S end
- 0 4146 a 0 4146 a
+ 523 3954 a
+523 3954 a
 SDict begin 11 H.A end
- 0 4146 a 0 4146 a
+ 523 3954 a 523 3954 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.rabin89efficient) cvn H.B
 /DEST pdfmark end
- 0
-4146 a Black 74 x Fu(25.)p Black 43 w(Mic)n(hael)c(O.)f(Rabin.)30
-b(E\016cien)n(t)23 b(disp)r(ersal)i(of)e(information)i(for)f(securit)n
-(y)-6 b(,)23 b(load)h(balanc-)140 4311 y(ing,)i(and)f(fault)i
-(tolerance.)35 b Fq(Journal)28 b(of)g(the)g(A)n(CM)p
-Fu(,)e(36\(2\):335{348,)k(1989.)0 4330 y
+ 523 3954 a Black 71
+x Fx(25.)p Black 43 w(Mic)n(hael)h(O.)f(Rabin.)45 b(E\016cien)n(t)29
+b(disp)r(ersal)h(of)g(information)h(for)f(securit)n(y)-6
+b(,)29 b(load)h(balancing,)663 4117 y(and)25 b(fault)h(tolerance.)36
+b Fq(Journal)28 b(of)f(the)i(A)n(CM)p Fx(,)c(36\(2\):335{348,)30
+b(1989.)523 4135 y
 SDict begin H.S end
- 0 4330 a 0 4330
-a
+ 523 4135 a 523 4135 a
 SDict begin 11 H.A end
- 0 4330 a 0 4330 a
+ 523 4135 a 523
+4135 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.rowstron01storage) cvn H.B
 /DEST pdfmark end
- 0 4330 a Black 70 x Fu(26.)p Black
-43 w(An)n(ton)n(y)19 b(I.)i(T.)h(Ro)n(wstron)g(and)f(P)n(eter)h(Drusc)n
-(hel.)27 b(Storage)22 b(managemen)n(t)f(and)g(cac)n(hing)140
-4491 y(in)26 b(P)-6 b(AST,)26 b(a)g(large-scale,)j(p)r(ersisten)n(t)e
-(p)r(eer-to-p)r(eer)f(storage)h(utilit)n(y)-6 b(.)36
-b(In)25 b Fq(Symp)l(osium)140 4583 y(on)i(Op)l(er)l(ating)i(Systems)g
-(Principles)p Fu(,)e(pages)f(188{201,)j(2001.)0 4598
+ 523 4135 a Black 68 x Fx(26.)p Black 43 w(An)n(ton)n(y)k(I.)h
+(T.)i(Ro)n(wstron)f(and)f(P)n(eter)h(Drusc)n(hel.)64
+b(Storage)37 b(managemen)n(t)f(and)f(cac)n(hing)663 4295
+y(in)c(P)-6 b(AST,)30 b(a)i(large-scale,)h(p)r(ersisten)n(t)f(p)r
+(eer-to-p)r(eer)e(storage)j(utilit)n(y)-6 b(.)50 b(In)30
+b Fq(Symp)l(osium)j(on)663 4386 y(Op)l(er)l(ating)c(Systems)g
+(Principles)p Fx(,)d(pages)g(188{201,)j(2001.)523 4401
 y
 SDict begin H.S end
- 0 4598 a 0 4598 a
+ 523 4401 a 523 4401 a
 SDict begin 11 H.A end
- 0 4598 a 0 4598 a
+ 523 4401 a 523 4401 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.shamir) cvn H.B /DEST pdfmark
 end
- 0 4598 a Black
-73 x Fu(27.)p Black 43 w(A.)18 b(Shamir.)24 b(Ho)n(w)19
-b(to)g(share)g(a)g(secret.)24 b(In)18 b Fq(Communic)l(ations)k(of)f
-(the)h(A)n(CM)p Fu(,)d(v)n(olume)g(22,)140 4762 y(pages)26
-b(612{613.)j(A)n(CM,)d(1979.)p Black Black eop end
-%%Page: 23 23
-TeXDict begin 23 22 bop 0 0 a
+ 523 4401
+a Black 71 x Fx(27.)p Black 43 w(A.)g(Shamir.)48 b(Ho)n(w)30
+b(to)g(share)g(a)h(secret.)47 b(In)30 b Fq(Communic)l(ations)i(of)f
+(the)h(A)n(CM)p Fx(,)e(v)n(olume)g(22,)663 4564 y(pages)c(612{613.)j(A)
+n(CM,)d(1979.)523 4579 y
+SDict begin H.S end
+ 523 4579 a 523 4579 a
+SDict begin 11 H.A end
+ 523 4579
+a 523 4579 a
+SDict begin [ /View [/XYZ H.V] /Dest (cite.stoica01chord) cvn H.B /DEST
+pdfmark end
+ 523 4579 a Black 71 x Fx(28.)p Black 43
+w(Ion)k(Stoica,)i(Rob)r(ert)e(Morris,)j(Da)n(vid)d(Karger,)i(M.)f(F)-6
+b(rans)31 b(Kaasho)r(ek,)h(and)e(Hari)h(Balakr-)663 4742
+y(ishnan.)g(Chord:)24 b(A)f(scalable)i(p)r(eer-to-p)r(eer)f(lo)r(okup)f
+(service)h(for)h(in)n(ternet)e(applications.)33 b(In)663
+4833 y Fq(Pr)l(o)l(c)l(e)l(e)l(dings)26 b(of)d(the)i(2001)f(c)l(onfer)l
+(enc)l(e)i(on)d(applic)l(ations,)i(te)l(chnolo)l(gies,)g(ar)l(chite)l
+(ctur)l(es,)h(and)663 4924 y(pr)l(oto)l(c)l(ols)j(for)f(c)l(omputer)h
+(c)l(ommunic)l(ations)p Fx(,)e(pages)g(149{160.)h(A)n(CM)e(Press,)h
+(2001.)p Black Black eop end
+%%Page: 22 22
+TeXDict begin 22 21 bop 0 0 a
 SDict begin /product where{pop product(Distiller)search{pop pop pop
 version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto
 closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show
 grestore}if}{pop}ifelse}{pop}ifelse}if end
  0 0 a Black 0 TeXcolorgray
-0 17 a
+523 232 a
 SDict begin H.S end
- 0 17 a 0 TeXcolorgray 0 TeXcolorgray 0 17 a
+ 523 232 a 0 TeXcolorgray 0 TeXcolorgray 523
+232 a
 SDict begin H.R end
- 0
-17 a 0 17 a
-SDict begin [ /View [/XYZ H.V] /Dest (page.23) cvn H.B /DEST pdfmark
+ 523 232 a 523 232 a
+SDict begin [ /View [/XYZ H.V] /Dest (page.22) cvn H.B /DEST pdfmark
 end
- 0 17 a Black Fu(An)25 b(Enco)r(ding)h(for)h
-(Censorship-Resistan)n(t)f(Sharing)1068 b(23)p Black
-0 165 a
+ 523 232 a Black Fx(22)199 b(C.)27
+b(Grotho\013,)f(K.)g(Grotho\013,)g(T.)h(Horozo)n(v,)f(J.T.)h(Lindgren)p
+Black 523 365 a
 SDict begin H.S end
- 0 165 a 0 165 a
+ 523 365 a 523 365 a
 SDict begin 11 H.A end
- 0 165 a 0 165 a
-SDict begin [ /View [/XYZ H.V] /Dest (cite.stoica01chord) cvn H.B /DEST
-pdfmark end
- 0 165 a Black
-83 x Fu(28.)p Black 43 w(Ion)25 b(Stoica,)h(Rob)r(ert)g(Morris,)h(Da)n
-(vid)e(Karger,)h(M.)g(F)-6 b(rans)26 b(Kaasho)r(ek,)g(and)f(Hari)h
-(Bal-)140 340 y(akrishnan.)i(Chord:)22 b(A)g(scalable)h(p)r(eer-to-p)r
-(eer)f(lo)r(okup)g(service)g(for)h(in)n(ternet)e(applica-)140
-431 y(tions.)31 b(In)23 b Fq(Pr)l(o)l(c)l(e)l(e)l(dings)k(of)e(the)i
-(2001)f(c)l(onfer)l(enc)l(e)h(on)f(applic)l(ations,)g(te)l(chnolo)l
-(gies,)h(ar-)140 522 y(chite)l(ctur)l(es,)e(and)e(pr)l(oto)l(c)l(ols)h
-(for)f(c)l(omputer)h(c)l(ommunic)l(ations)p Fu(,)e(pages)f(149{160.)j
-(A)n(CM)140 614 y(Press,)j(2001.)0 629 y
-SDict begin H.S end
- 0 629 a 0 629
+ 523 365 a 523 365
 a
-SDict begin 11 H.A end
- 0 629 a 0 629 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.stratton_oakmont) cvn H.B
 /DEST pdfmark end
- 0 629 a Black 76 x Fu(29.)p Black 43
-w(Stratton)c(Oakmon)n(t)g(vs)h(Pro)r(digy)g(Services)g(Compan)n(y,)g
-(1995)i(N.Y.)d(Misc.)i(Lexis)f(229,)140 796 y(\(N.Y.)h(Sup.)g(Ct.)h
-(Nassau)g(Co.,)h(1995\).)0 815 y
+ 523 365 a Black 83 x Fx(29.)p Black 43 w(Stratton)19
+b(Oakmon)n(t)g(vs)h(Pro)r(digy)g(Services)g(Compan)n(y,)g(1995)h(N.Y.)f
+(Misc.)h(Lexis)f(229,)h(\(N.Y.)663 540 y(Sup.)k(Ct.)h(Nassau)g(Co.,)h
+(1995\).)523 558 y
 SDict begin H.S end
- 0 815 a 0 815 a
+ 523 558 a 523 558 a
 SDict begin 11 H.A end
- 0 815
-a 0 815 a
+ 523 558 a 523
+558 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.syverson97anonymous) cvn
 H.B /DEST pdfmark end
- 0 815 a Black 73 x Fu(30.)p Black 43 w(P)n(aul)17
-b(Syv)n(erson,)g(Da)n(vid)f(Goldsc)n(hlag,)j(and)e(Mic)n(hael)i(Reed.)h
-(Anon)n(ymous)c(Connections)140 979 y(and)23 b(Onion)g(Routing.)31
-b(In)22 b Fq(IEEE)j(Symp)l(osium)h(on)g(Se)l(curity)h(and)f(Privacy)p
-Fu(,)e(pages)h(44{)140 1070 y(54,)h(Oakland,)g(California,)j(4{7)e
-(1997.)0 1085 y
+ 523 558 a Black 73 x Fx(30.)p Black 43 w(P)n(aul)35
+b(Syv)n(erson,)g(Da)n(vid)f(Goldsc)n(hlag,)j(and)e(Mic)n(hael)h(Reed.)
+62 b(Anon)n(ymous)34 b(Connections)663 722 y(and)29 b(Onion)f(Routing.)
+45 b(In)29 b Fq(IEEE)h(Symp)l(osium)h(on)g(Se)l(curity)h(and)f(Privacy)
+p Fx(,)g(pages)f(44{54,)663 814 y(Oakland,)25 b(California,)k(4{7)e
+(1997.)523 829 y
 SDict begin H.S end
- 0 1085 a 0 1085 a
+ 523 829 a 523 829 a
 SDict begin 11 H.A end
- 0 1085 a 0 1085 a
+ 523 829 a 523 829
+a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.waldman2001tangler) cvn
 H.B /DEST pdfmark end
- 0
-1085 a Black 77 x Fu(31.)p Black 43 w(Marc)38 b(W)-6
-b(aldman)37 b(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)71
-b(T)-6 b(angler:)39 b(A)e(censorhip-resistan)n(t)h(pub-)140
-1253 y(lishing)c(system)g(based)g(on)g(do)r(cumen)n(t)f(en)n(tanglemen)
-n(ts.)59 b(In)33 b Fq(A)n(CM)h(Confer)l(enc)l(e)i(on)140
-1344 y(Computer)28 b(and)g(Communic)l(ations)g(Se)l(curity)p
-Fu(,)g(pages)e(126{135,)j(2001.)0 1359 y
+ 523 829 a Black 76 x Fx(31.)p Black 43 w(Marc)36 b(W)-6
+b(aldman)34 b(and)h(Da)n(vid)f(Mazi)n(\022)-36 b(eres.)64
+b(T)-6 b(angler:)37 b(A)d(censorhip-resistan)n(t)i(publishing)663
+996 y(system)25 b(based)f(on)h(do)r(cumen)n(t)g(en)n(tanglemen)n(ts.)33
+b(In)24 b Fq(A)n(CM)i(Confer)l(enc)l(e)i(on)f(Computer)h(and)663
+1088 y(Communic)l(ations)g(Se)l(curity)p Fx(,)f(pages)g(126{135,)h
+(2001.)523 1103 y
 SDict begin H.S end
- 0 1359 a 0 1359
-a
+ 523 1103 a 523 1103 a
 SDict begin 11 H.A end
- 0 1359 a 0 1359 a
+ 523 1103 a 523
+1103 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.pub00) cvn H.B /DEST pdfmark
 end
- 0 1359 a Black 77 x Fu(32.)p Black
-43 w(Marc)23 b(W)-6 b(aldman,)23 b(Aviel)f(D.)h(Rubin,)e(and)h(Lorrie)i
-(F)-6 b(aith)22 b(Cranor.)31 b(Publius:)23 b(A)f(robust,)140
-1527 y(tamp)r(er-eviden)n(t,)36 b(censorship-resistan)n(t,)i(w)n(eb)f
-(publishing)g(system.)68 b(In)37 b Fq(Pr)l(o)l(c.)h(9th)140
-1618 y(USENIX)27 b(Se)l(curity)i(Symp)l(osium)p Fu(,)d(pages)h(59{72,)h
-(August)d(2000.)0 1633 y
+ 523 1103 a Black 76 x Fx(32.)p Black 43 w(Marc)36
+b(W)-6 b(aldman,)36 b(Aviel)g(D.)f(Rubin,)g(and)h(Lorrie)g(F)-6
+b(aith)36 b(Cranor.)65 b(Publius:)36 b(A)g(robust,)663
+1270 y(tamp)r(er-eviden)n(t,)18 b(censorship-resistan)n(t,)i(w)n(eb)g
+(publishing)f(system.)24 b(In)18 b Fq(Pr)l(o)l(c.)k(9th)g(USENIX)663
+1362 y(Se)l(curity)29 b(Symp)l(osium)p Fx(,)d(pages)g(59{72,)i(August)d
+(2000.)523 1377 y
 SDict begin H.S end
- 0 1633 a 0 1633 a
+ 523 1377 a 523 1377 a
 SDict begin 11 H.A end
- 0 1633 a 0
-1633 a
+ 523 1377 a 523
+1377 a
 SDict begin [ /View [/XYZ H.V] /Dest (cite.mojotech) cvn H.B /DEST
 pdfmark end
- 0 1633 a Black 77 x Fu(33.)p Black 43 w(Bryce)h(Wilco)n
-(x-O'Hearn.)35 b(Exp)r(eriences)26 b(Deplo)n(ying)g(a)g(Large-Scale)h
-(Emergen)n(t)g(Net-)140 1801 y(w)n(ork.)39 b(In)27 b
-Fq(Pe)l(er-to-Pe)l(er)32 b(Systems:)e(First)g(International)g
-(Workshop,)g(ITPTS)f(2002)p Fu(,)140 1892 y(pages)d(104{110.)j
-(Springer-V)-6 b(erlag)26 b(Heidelb)r(erg,)g(Jan)n(uary)g(2002.)p
-Black Black eop end
+ 523 1377 a Black 76 x Fx(33.)p Black 43 w(Bryce)i(Wilco)n
+(x-O'Hearn.)39 b(Exp)r(eriences)27 b(Deplo)n(ying)h(a)f(Large-Scale)h
+(Emergen)n(t)g(Net)n(w)n(ork.)663 1544 y(In)e Fq(Pe)l(er-to-Pe)l(er)32
+b(Systems:)e(First)g(International)g(Workshop,)f(ITPTS)f(2002)p
+Fx(,)g(pages)g(104{)663 1636 y(110.)f(Springer-V)-6 b(erlag)25
+b(Heidelb)r(erg,)i(Jan)n(uary)f(2002.)p Black Black eop
+end
 %%Trailer
 
 userdict /end-hook known{end-hook}if

Modified: GNUnet-docs/papers/ecrs/main.tex
===================================================================
--- GNUnet-docs/papers/ecrs/main.tex    2006-10-22 02:54:44 UTC (rev 3543)
+++ GNUnet-docs/papers/ecrs/main.tex    2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,5 +1,5 @@
-%\documentclass[runningheads]{llncs}
-\documentclass[global]{svjour}
+\documentclass[runningheads]{llncs}
+%\documentclass[global]{svjour}
 %\pagestyle{empty}.
 
 \usepackage[ansinew]{inputenc}
@@ -62,7 +62,7 @@
 
 % \offprints{}
 \institute{
-  Department of Computer Sciences, UCLA, USA \\
+  Department of Computer Science, University of Denver, USA \\
  address@hidden 
 \and
   CERIAS / Interdepartmental Program in Linguistics, Purdue University, USA \\
@@ -96,7 +96,7 @@
 simple and easy to implement.
 \end{abstract}
 
-\keywords{privacy, sharing, verification, peer-to-peer}
+% \keywords{privacy, sharing, verification, peer-to-peer}
 
 \section{Introduction}
 

Modified: gnunet-gtk/TODO
===================================================================
--- gnunet-gtk/TODO     2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/TODO     2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,6 +1,7 @@
 0.7.1:
 - support abort of search (without killing it)
 - support new FSUI apis
+- fix custom gtk logger (via memory logger?)
 - create directory from known file IDs [ medium ]
   in Assemble Directory's Files Available/Selected
   + have sortability

Modified: gnunet-gtk/configure.ac
===================================================================
--- gnunet-gtk/configure.ac     2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/configure.ac     2006-10-22 02:55:29 UTC (rev 3544)
@@ -20,8 +20,8 @@
 # Process this file with autoconf to produce a configure script.
 #
 AC_PREREQ(2.57)
-AC_INIT([gnunet-gtk],[0.7.0e],address@hidden)
-AM_INIT_AUTOMAKE([gnunet-gtk], [0.7.0e])
+AC_INIT([gnunet-gtk],[0.7.1-pre0],address@hidden)
+AM_INIT_AUTOMAKE([gnunet-gtk], [0.7.1-pre0])
 AM_CONFIG_HEADER(config.h)
 
 AH_TOP([#define _GNU_SOURCE  1])
@@ -202,7 +202,7 @@
                  AC_MSG_ERROR([compiling gnunet-gtk requires GNUnet core 
headers]))
 
 SAVELIBS=$LIBS
-AC_CHECK_LIB(gnunetutil,LOG,,
+AC_CHECK_LIB(gnunetutil,GE_LOG,,
              AC_MSG_ERROR([gnunet-gtk requires GNUnet-Util]))
 AC_CHECK_LIB(gnunetecrs,ECRS_createMetaData,,
              AC_MSG_ERROR([gnunet-gtk requires ECRS]))

Modified: gnunet-gtk/mkinstalldirs
===================================================================
--- gnunet-gtk/mkinstalldirs    2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/mkinstalldirs    2006-10-22 02:55:29 UTC (rev 3544)
@@ -1,20 +1,32 @@
 #! /bin/sh
 # mkinstalldirs --- make directory hierarchy
-# Author: Noah Friedman <address@hidden>
+
+scriptversion=2004-02-15.20
+
+# Original author: Noah Friedman <address@hidden>
 # Created: 1993-05-16
-# Public domain
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <address@hidden> or send patches to
+# <address@hidden>.
 
 errstatus=0
 dirmode=""
 
 usage="\
-Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
 
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <address@hidden>."
+
 # process command line arguments
 while test $# -gt 0 ; do
   case $1 in
     -h | --help | --h*)         # -h for help
-      echo "$usage" 1>&2
+      echo "$usage"
       exit 0
       ;;
     -m)                         # -m PERM arg
@@ -23,6 +35,10 @@
       dirmode=$1
       shift
       ;;
+    --version)
+      echo "$0 $scriptversion"
+      exit 0
+      ;;
     --)                         # stop option processing
       shift
       break
@@ -50,17 +66,37 @@
   0) exit 0 ;;
 esac
 
+# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error.  This is a problem when calling mkinstalldirs
+# from a parallel make.  We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
 case $dirmode in
   '')
-    if mkdir -p -- . 2>/dev/null; then
+    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
       echo "mkdir -p -- $*"
       exec mkdir -p -- "$@"
+    else
+      # On NextStep and OpenStep, the `mkdir' command does not
+      # recognize any option.  It will interpret all options as
+      # directories to create, and then abort because `.' already
+      # exists.
+      test -d ./-p && rmdir ./-p
+      test -d ./--version && rmdir ./--version
     fi
     ;;
   *)
-    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+       test ! -d ./--version; then
       echo "mkdir -m $dirmode -p -- $*"
       exec mkdir -m "$dirmode" -p -- "$@"
+    else
+      # Clean up after NextStep and OpenStep mkdir.
+      for d in ./-m ./-p ./--version "./$dirmode";
+      do
+        test -d $d && rmdir $d
+      done
     fi
     ;;
 esac
@@ -84,17 +120,17 @@
       mkdir "$pathcomp" || lasterr=$?
 
       if test ! -d "$pathcomp"; then
-       errstatus=$lasterr
+       errstatus=$lasterr
       else
-       if test ! -z "$dirmode"; then
+       if test ! -z "$dirmode"; then
          echo "chmod $dirmode $pathcomp"
-         lasterr=""
-         chmod "$dirmode" "$pathcomp" || lasterr=$?
+         lasterr=""
+         chmod "$dirmode" "$pathcomp" || lasterr=$?
 
-         if test ! -z "$lasterr"; then
-           errstatus=$lasterr
-         fi
-       fi
+         if test ! -z "$lasterr"; then
+           errstatus=$lasterr
+         fi
+       fi
       fi
     fi
 
@@ -107,5 +143,8 @@
 # Local Variables:
 # mode: shell-script
 # sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
 # End:
-# mkinstalldirs ends here

Modified: gnunet-gtk/po/Makefile.in
===================================================================
--- gnunet-gtk/po/Makefile.in   2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/po/Makefile.in   2006-10-22 02:55:29 UTC (rev 3544)
@@ -11,7 +11,7 @@
 # Origin: gettext-0.13
 
 PACKAGE = gnunet-gtk
-VERSION = 0.7.0e
+VERSION = 0.7.1-pre0
 
 SHELL = /bin/sh
 
@@ -20,7 +20,7 @@
 top_srcdir = ..
 
 
-prefix = /home/grothoff
+prefix = /home/grothoff/
 exec_prefix = ${prefix}
 datadir = ${prefix}/share
 localedir = $(datadir)/locale

Modified: gnunet-gtk/po/de.po
===================================================================
--- gnunet-gtk/po/de.po 2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/po/de.po 2006-10-22 02:55:29 UTC (rev 3544)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0pre0\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-05-23 13:55-0700\n"
+"POT-Creation-Date: 2006-06-04 13:01+0200\n"
 "PO-Revision-Date: 2006-03-17 21:18+0100\n"
 "Last-Translator: Nils Durner <address@hidden>\n"
 "Language-Team: German <address@hidden>\n"
@@ -21,15 +21,15 @@
 msgid "gnunet-gtk, GNU's Peer-to-Peer Network"
 msgstr "gnunet-gtk, GNU's Peer-to-Peer Netzwerk"
 
-#: gnunet-gtk.glade:70
+#: gnunet-gtk.glade:71
 msgid "Show credits"
 msgstr "Credits anzeigen"
 
-#: gnunet-gtk.glade:89
+#: gnunet-gtk.glade:90
 msgid "<span size=\"x-large\">Welcome to gnunet-gtk 0.7.0e</span>"
 msgstr "<span size=\"x-large\">Willkommen bei gnunet-gtk 0.7.0e</span>"
 
-#: gnunet-gtk.glade:121
+#: gnunet-gtk.glade:122
 msgid ""
 "                                                                       \n"
 "gnunet-gtk is the GTK+ user interface for GNUnet. It is intended to "
@@ -75,80 +75,81 @@
 "\n"
 msgstr ""
 
-#: gnunet-gtk.glade:207
+#: gnunet-gtk.glade:208
 msgid "_Welcome"
 msgstr "_Willkommen"
 
-#: gnunet-gtk.glade:282
+#: gnunet-gtk.glade:283
 msgid "Try to start the GNUnet Daemon gnunetd on localhost"
 msgstr ""
 "Versuche, den GNUnet Daemonen gnunetd auf dem lokalen Rechner zu starten."
 
-#: gnunet-gtk.glade:326
+#: gnunet-gtk.glade:327
 msgid "start gnunet_d"
 msgstr "Start gnunet_d"
 
-#: gnunet-gtk.glade:362
+#: gnunet-gtk.glade:363
 msgid "Stops the GNUnet daemon gnunetd"
 msgstr "Stoppt den GNUnet daemon gnunetd"
 
-#: gnunet-gtk.glade:406
+#: gnunet-gtk.glade:407
 msgid "sto_p gnunetd"
 msgstr "Stoppt den gnunetd Daemonen"
 
-#: gnunet-gtk.glade:479
+#: gnunet-gtk.glade:480
 msgid "<b>gnunetd control</b>"
 msgstr "<b>gnunetd Kontrolle</b>"
 
-#: gnunet-gtk.glade:541
+#: gnunet-gtk.glade:542
 msgid "<b>Running Applications</b>"
 msgstr "<b>Laufende Anwendungen</b>"
 
-#: gnunet-gtk.glade:607
+#: gnunet-gtk.glade:608
 msgid "_General"
 msgstr "All_gemeines"
 
-#: gnunet-gtk.glade:686
+#: gnunet-gtk.glade:687
 msgid "<b>Search Overview</b>"
 msgstr "<b>Suchübersicht</b>"
 
-#: gnunet-gtk.glade:766
+#: gnunet-gtk.glade:767
 msgid "Cancel the selected download"
 msgstr "Den ausgewählten Download abbrechen"
 
-#: gnunet-gtk.glade:785
+#: gnunet-gtk.glade:786
 msgid "Clear completed downloads from the download list"
 msgstr "Fertige Downloads aus der Downloadliste entfernen"
 
-#: gnunet-gtk.glade:805
+#: gnunet-gtk.glade:806
 msgid "_Enter URI:"
 msgstr ""
 
-#: gnunet-gtk.glade:894
+#: gnunet-gtk.glade:895
 msgid "D_ownload"
 msgstr "Downl_oad"
 
-#: gnunet-gtk.glade:930 gnunet-gtk.glade:1302
+#: gnunet-gtk.glade:931 gnunet-gtk.glade:1303
 msgid "with _anonymity"
 msgstr "mit _Anonymität"
 
-#: gnunet-gtk.glade:996
+#: gnunet-gtk.glade:997
 msgid "<b>Downloads</b>"
 msgstr "Downloads"
 
-#: gnunet-gtk.glade:1058
-msgid "<b>Uploads</b>"
-msgstr "<b>Uploads</b>"
+#: gnunet-gtk.glade:1059
+#, fuzzy
+msgid "<b>Publications</b>"
+msgstr "<b>Laufende Anwendungen</b>"
 
-#: gnunet-gtk.glade:1119
+#: gnunet-gtk.glade:1120
 msgid "Stat_us"
 msgstr "Stat_us"
 
-#: gnunet-gtk.glade:1162 gnunet-gtk.glade:3332 gnunet-gtk.glade:5000
+#: gnunet-gtk.glade:1163 gnunet-gtk.glade:3333 gnunet-gtk.glade:5002
 msgid "_Keyword:"
 msgstr "Schl_üsselwort:"
 
-#: gnunet-gtk.glade:1221
+#: gnunet-gtk.glade:1222
 msgid ""
 "Search GNUnet for content under the specified keyword (and, if applicable, "
 "restrict the search to the given namespace)"
@@ -156,11 +157,11 @@
 "GNUnet nach Inhalten mit einem bestimmten Suchbegriff durchsuchen (und - "
 "falls zutreffend - die Suche auf einen bestimmten Namespace beschränken)"
 
-#: gnunet-gtk.glade:1266
+#: gnunet-gtk.glade:1267
 msgid "Sea_rch"
 msgstr "Suche"
 
-#: gnunet-gtk.glade:1329
+#: gnunet-gtk.glade:1330
 msgid ""
 "Specify the anonymity level for the search, 0 for no anonymity.  Higher "
 "values provide more privacy but also less performance."
@@ -169,11 +170,11 @@
 "Anonymität. Höhere Werte bieten mehr Privatsphäre, bedeuten aber auch "
 "weniger Performance."
 
-#: gnunet-gtk.glade:1362
+#: gnunet-gtk.glade:1363
 msgid "in _namespace"
 msgstr "im _Namensraum"
 
-#: gnunet-gtk.glade:1419
+#: gnunet-gtk.glade:1420
 msgid ""
 "This is the rating that you have given this namespace so far.  Ratings are "
 "private and not shared with other users in any way.  They are supposed to "
@@ -184,15 +185,15 @@
 "zugänglich gemacht. Sie sind dazu gedacht, jedem Benutzer zu helfen, sich an "
 "wertvolle Namespaces zu erinnern."
 
-#: gnunet-gtk.glade:1538
+#: gnunet-gtk.glade:1539
 msgid "Search and _Download"
 msgstr "Suche und _Download"
 
-#: gnunet-gtk.glade:1584
+#: gnunet-gtk.glade:1585
 msgid "Method:"
 msgstr "Methode:"
 
-#: gnunet-gtk.glade:1614
+#: gnunet-gtk.glade:1615
 msgid ""
 "Indexing will avoid copying the file into the GNUnet database.  Instead, "
 "GNUnet will try to add a symbolic link to the specified file.  If that "
@@ -209,11 +210,11 @@
 "hochgeladene Datei in der Zukunft nicht modifiziert oder verschoben wird. "
 "Indizierung ist effizienter als das Einfügen."
 
-#: gnunet-gtk.glade:1616
+#: gnunet-gtk.glade:1617
 msgid "inde_x"
 msgstr "indi_zieren"
 
-#: gnunet-gtk.glade:1638
+#: gnunet-gtk.glade:1639
 msgid ""
 "Inserting a file means that an encrypted copy will be added to the GNUnet "
 "database.  Without the proper key (which is not stored in plaintext "
@@ -230,49 +231,52 @@
 "die Datei in Klarschrift auf Ihrer Maschine entdecken könnte (nachdem er "
 "Ihre Maschine kompromittiert hat)."
 
-#: gnunet-gtk.glade:1640
+#: gnunet-gtk.glade:1641
 msgid "i_nsert"
 msgstr "ei_nfügen"
 
-#: gnunet-gtk.glade:1662
+#: gnunet-gtk.glade:1663
 msgid "Scope:"
 msgstr "Umfang:"
 
-#: gnunet-gtk.glade:1692
-msgid "only insert a single file"
+#: gnunet-gtk.glade:1693
+#, fuzzy
+msgid "Only publish a single file."
 msgstr "nur eine einzelne Datei"
 
-#: gnunet-gtk.glade:1694
+#: gnunet-gtk.glade:1695
 msgid "file onl_y"
 msgstr "nur Datei"
 
-#: gnunet-gtk.glade:1715
+#: gnunet-gtk.glade:1716
 msgid "_Anonymity:"
 msgstr "_Anonymität"
 
-#: gnunet-gtk.glade:1744
+#: gnunet-gtk.glade:1745
 msgid "_Filename:"
 msgstr "_Dateiname:"
 
-#: gnunet-gtk.glade:1773
-msgid "Browse local computer for files (or directories) to upload."
+#: gnunet-gtk.glade:1774
+#, fuzzy
+msgid "Browse local computer for files (or directories) to publish."
 msgstr ""
 "Lokalen Computer nach Dateien (oder Verzeichnissen) zum Hochladen "
 "durchsuchen."
 
-#: gnunet-gtk.glade:1817
+#: gnunet-gtk.glade:1818
 msgid "_Browse"
 msgstr "Durchstö_bern"
 
-#: gnunet-gtk.glade:1890
-msgid "Recursively insert an entire directory tree"
+#: gnunet-gtk.glade:1891
+#, fuzzy
+msgid "Recursively publish an entire directory tree."
 msgstr "Rekursiv einen gesamten Verzeichnisbaum einfügen"
 
-#: gnunet-gtk.glade:1892
+#: gnunet-gtk.glade:1893
 msgid "_recursive (for entire directories)"
 msgstr "_rekursiv (für komplette Verzeichnisse)"
 
-#: gnunet-gtk.glade:1915
+#: gnunet-gtk.glade:1916
 msgid ""
 "What level of sender-anonymity is desired when sharing this particular "
 "file?  0 allows direct connections (no anonymity).  Higher levels require "
@@ -284,19 +288,20 @@
 "höhere Mengen an verdeckendem Netzwerkverkehr pro Datenblock. Erhöhte "
 "Privatsphäre kostet also Effizienz."
 
-#: gnunet-gtk.glade:1938
+#: gnunet-gtk.glade:1939
+#, fuzzy
 msgid ""
-"Upload the specified file with the selected options (you will then be "
+"Share the specified file with the selected options (you will then be "
 "prompted to enter meta-data and keywords)."
 msgstr ""
 "Die angegebene Datei mit dem angegebenen Optionen hochladen (Sie werden dann "
 "aufgefordert, Metadaten und Schlüsselwörter einzugeben)."
 
-#: gnunet-gtk.glade:1982
-msgid "Up_load"
-msgstr "Hoch_laden"
+#: gnunet-gtk.glade:1983
+msgid "Pub_lish"
+msgstr ""
 
-#: gnunet-gtk.glade:2023
+#: gnunet-gtk.glade:2024
 msgid ""
 "Controls if GNUnet should also produce information for individual files "
 "inside of a directory, as opposed to only allowing the directory itself to "
@@ -306,31 +311,32 @@
 "Verzeichnis erzeugen soll. Andernfalls kann nur das Verzeichnis selbst  "
 "gefunden werden. Trifft nur für rekursive Uploads zu."
 
-#: gnunet-gtk.glade:2069
+#: gnunet-gtk.glade:2070
 msgid "add keywords for files in directories"
 msgstr "Schlüsselwörter für Dateien in Verzeichnissen hinzufügen"
 
-#: gnunet-gtk.glade:2144
-msgid "U_pload"
-msgstr "Hochladen"
+#: gnunet-gtk.glade:2145
+#, fuzzy
+msgid "_Publication"
+msgstr "Anwendung"
 
-#: gnunet-gtk.glade:2187
+#: gnunet-gtk.glade:2188
 msgid "c_reate"
 msgstr "E_rzeugen"
 
-#: gnunet-gtk.glade:2208 gnunet-gtk.glade:2252
+#: gnunet-gtk.glade:2209 gnunet-gtk.glade:2253
 msgid "_Namespace"
 msgstr "_Namensraum"
 
-#: gnunet-gtk.glade:2217 gnunet-gtk.glade:2262
+#: gnunet-gtk.glade:2218 gnunet-gtk.glade:2263
 msgid "_Collection"
 msgstr "Sammlung"
 
-#: gnunet-gtk.glade:2230
+#: gnunet-gtk.glade:2231
 msgid "d_elete"
 msgstr "Lösch_en"
 
-#: gnunet-gtk.glade:2251
+#: gnunet-gtk.glade:2252
 msgid ""
 "Will prevent future insertions into the namespace (will not delete content "
 "in the namespace)"
@@ -338,26 +344,26 @@
 "Verhindert zukünftige Einfügeoperationen in den Namespace (es werden keine "
 "Inhalte im Namespace gelöscht)"
 
-#: gnunet-gtk.glade:2261
+#: gnunet-gtk.glade:2262
 msgid "end collection (will not delete content already in the collection)"
 msgstr ""
 "Sammlung abschließen (es werden keine Inhalte gelöscht, die sich bereits in "
 "der Sammlung befinden)"
 
-#: gnunet-gtk.glade:2399
+#: gnunet-gtk.glade:2400
 msgid "<b>Available Content</b>"
 msgstr "<b>Verfügbare Inhalte</b>"
 
-#: gnunet-gtk.glade:2424
+#: gnunet-gtk.glade:2425
 msgid "should GNUnet track available content (for publishing in namespaces)?"
 msgstr ""
 "soll GNUnet vorhandene Inhalte zur Publikation in Namensräumen verfolgen?"
 
-#: gnunet-gtk.glade:2471
+#: gnunet-gtk.glade:2472
 msgid "track available content"
 msgstr "verfügbare Inhalte verfolgen"
 
-#: gnunet-gtk.glade:2507
+#: gnunet-gtk.glade:2508
 msgid ""
 "Refresh the available content list now (otherwise this is done automatically "
 "roughly every 5 minutes)"
@@ -365,83 +371,86 @@
 "Die Liste der verfügbaren Inhalte jetzt aktualisieren (andernfalls wird dies "
 "automatisch ungefähr alle 5 Minuten getan)"
 
-#: gnunet-gtk.glade:2525
+#: gnunet-gtk.glade:2526
 msgid "deletes the tracked available content shown below"
 msgstr "löscht die verfolgten Inhalte die unten angezeigt werden"
 
-#: gnunet-gtk.glade:2584
+#: gnunet-gtk.glade:2585
 msgid "Ad_vanced"
 msgstr "Fortgeschrittene"
 
-#: gnunet-gtk.glade:2642
+#: gnunet-gtk.glade:2643
 msgid "File s_haring"
 msgstr "Datentausc_h"
 
-#: gnunet-gtk.glade:2754
+#: gnunet-gtk.glade:2755
 msgid "_Statistics"
 msgstr "_Statistiken"
 
-#: gnunet-gtk.glade:2888
+#: gnunet-gtk.glade:2889
 msgid "/join #gnunet"
 msgstr "/join #gnunet"
 
-#: gnunet-gtk.glade:2973
+#: gnunet-gtk.glade:2974
 msgid "Cha_t"
 msgstr "Cha_t"
 
-#: gnunet-gtk.glade:3026 gnunet-gtk.glade:3042 gnunet-gtk.glade:5444
+#: gnunet-gtk.glade:3027 gnunet-gtk.glade:3043 gnunet-gtk.glade:5446
 msgid "Edit File Information"
 msgstr "Dateiinformationen bearbeiten"
 
-#: gnunet-gtk.glade:3043
+#: gnunet-gtk.glade:3044
 msgid "This dialog is used to edit information about shared files."
 msgstr ""
 "Dieser Dialog wird verwendet, um Informationen über veröffentlichte Dateien "
 "zu editieren."
 
-#: gnunet-gtk.glade:3060 gnunet-gtk.glade:5474 gnunet-gtk.glade:6054
-msgid ""
-"Confirm the displayed meta-data and keywords and proceed with the upload."
-msgstr ""
-"Bestätigen Sie die angezeigten Metadaten und Schlüsselwörter und fahren Sie "
-"mit dem Hochladen fort."
+#: gnunet-gtk.glade:3061 gnunet-gtk.glade:5476 gnunet-gtk.glade:6056
+#, fuzzy
+msgid "Cancel the publication."
+msgstr "Upload abbrechen."
 
-#: gnunet-gtk.glade:3069
+#: gnunet-gtk.glade:3070
 msgid "metaDataDialogCancelButton"
 msgstr "metaDataDialogCancelButton"
 
-#: gnunet-gtk.glade:3070
+#: gnunet-gtk.glade:3071
 msgid "Abort the upload operation."
 msgstr "Upload abbrechen."
 
-#: gnunet-gtk.glade:3078 gnunet-gtk.glade:5489 gnunet-gtk.glade:6069
-msgid "Cancel the upload."
-msgstr "Upload abbrechen."
+#: gnunet-gtk.glade:3079 gnunet-gtk.glade:5491 gnunet-gtk.glade:6071
+#, fuzzy
+msgid ""
+"Confirm the displayed meta-data and keywords and proceed with the "
+"publication."
+msgstr ""
+"Bestätigen Sie die angezeigten Metadaten und Schlüsselwörter und fahren Sie "
+"mit dem Hochladen fort."
 
-#: gnunet-gtk.glade:3100
+#: gnunet-gtk.glade:3101
 msgid "Please provide meta-data and keywords for the content."
 msgstr "Bitte geben Sie Metadaten und Schlüsselwörter für diesen Inhalt ein."
 
-#: gnunet-gtk.glade:3131 gnunet-gtk.glade:5142 gnunet-gtk.glade:5758
-#: gnunet-gtk.glade:6290 gnunet-gtk.glade:6798
+#: gnunet-gtk.glade:3132 gnunet-gtk.glade:5144 gnunet-gtk.glade:5760
+#: gnunet-gtk.glade:6292 gnunet-gtk.glade:6800
 msgid "_Type:"
 msgstr "Ar_t:"
 
-#: gnunet-gtk.glade:3185 gnunet-gtk.glade:5181 gnunet-gtk.glade:5812
-#: gnunet-gtk.glade:6344 gnunet-gtk.glade:6852
+#: gnunet-gtk.glade:3186 gnunet-gtk.glade:5183 gnunet-gtk.glade:5814
+#: gnunet-gtk.glade:6346 gnunet-gtk.glade:6854
 msgid "_Value:"
 msgstr "_Wert:"
 
-#: gnunet-gtk.glade:3212 gnunet-gtk.glade:5839 gnunet-gtk.glade:6371
-#: gnunet-gtk.glade:6879
+#: gnunet-gtk.glade:3213 gnunet-gtk.glade:5841 gnunet-gtk.glade:6373
+#: gnunet-gtk.glade:6881
 msgid "Enter metadata about the upload"
 msgstr "Metainformationen über den Upload eingeben"
 
-#: gnunet-gtk.glade:3222
+#: gnunet-gtk.glade:3223
 msgid "Value Entry"
 msgstr "Werteingabe"
 
-#: gnunet-gtk.glade:3223
+#: gnunet-gtk.glade:3224
 msgid ""
 "Enter the value for the meta-data of the specified type here.\n"
 "Press ENTER to add the data."
@@ -449,16 +458,15 @@
 "Geben Sie hier den Wert des Metadatums vom angegebenen Typ ein.\n"
 "Drücken Sie ENTER, um den Wert hinzuzufügen."
 
-#: gnunet-gtk.glade:3238 gnunet-gtk.glade:5860 gnunet-gtk.glade:6392
-#: gnunet-gtk.glade:6900
+#: gnunet-gtk.glade:3239
 msgid ""
 "Add the given description to the meta-data describing the uploaded file."
 msgstr ""
 "Die angegebene Beschreibung zu den Meta-Daten hinzufügen, die diesen Upload "
 "beschreiben."
 
-#: gnunet-gtk.glade:3279 gnunet-gtk.glade:3424 gnunet-gtk.glade:5089
-#: gnunet-gtk.glade:5901 gnunet-gtk.glade:6433 gnunet-gtk.glade:6941
+#: gnunet-gtk.glade:3280 gnunet-gtk.glade:3425 gnunet-gtk.glade:5091
+#: gnunet-gtk.glade:5903 gnunet-gtk.glade:6435 gnunet-gtk.glade:6943
 msgid ""
 "Select entries and use the context menu (right click) in order to delete "
 "keywords."
@@ -466,17 +474,17 @@
 "Wählen Sie die Einträge aus und verwenden Sie das Kontextmenü (Rechtsklick) "
 "um Schlüsselbegriffe zu löschen."
 
-#: gnunet-gtk.glade:3296 gnunet-gtk.glade:5918 gnunet-gtk.glade:6450
-#: gnunet-gtk.glade:6958
+#: gnunet-gtk.glade:3297 gnunet-gtk.glade:5920 gnunet-gtk.glade:6452
+#: gnunet-gtk.glade:6960
 msgid "<b>Meta-data</b>"
 msgstr "<b>Metainformationen</b>"
 
-#: gnunet-gtk.glade:3359 gnunet-gtk.glade:5569 gnunet-gtk.glade:5676
-#: gnunet-gtk.glade:6149
+#: gnunet-gtk.glade:3360 gnunet-gtk.glade:5571 gnunet-gtk.glade:5678
+#: gnunet-gtk.glade:6151
 msgid "Enter keywords"
 msgstr "Schlüsselwörter eingeben"
 
-#: gnunet-gtk.glade:3380
+#: gnunet-gtk.glade:3381
 msgid ""
 "Add the specified keyword to the list of keywords under which the file or "
 "directory will be found."
@@ -484,35 +492,35 @@
 "Angegebenen Schlüsselbegriff zu der Liste der Schlüsselbegriffe hinzufügen, "
 "unter die Datei oder das Verzeichnis zu finden sein wird."
 
-#: gnunet-gtk.glade:3409
+#: gnunet-gtk.glade:3410
 msgid "Lists all of the keywords that will be used."
 msgstr "Liste aller Schlüsselwörter die benutzt werden sollen"
 
-#: gnunet-gtk.glade:3441
+#: gnunet-gtk.glade:3442 gnunet-gtk.glade:5108
 msgid "<b>Keywords</b>"
 msgstr "<b>Schlüsselbegriffe</b>"
 
-#: gnunet-gtk.glade:3477 gnunet-gtk.glade:5954 gnunet-gtk.glade:6994
+#: gnunet-gtk.glade:3478 gnunet-gtk.glade:5956 gnunet-gtk.glade:6996
 msgid "_Preview:"
 msgstr "Vorschau:"
 
-#: gnunet-gtk.glade:3537
+#: gnunet-gtk.glade:3538
 msgid "Select Preview"
 msgstr "Vorschau auswählen"
 
-#: gnunet-gtk.glade:3565
+#: gnunet-gtk.glade:3566
 msgid "File Information"
 msgstr "Dateiinformation"
 
-#: gnunet-gtk.glade:3651 src/plugins/fs/search.c:679
+#: gnunet-gtk.glade:3652 src/plugins/fs/search.c:679
 msgid "Meta-data"
 msgstr "Metadaten"
 
-#: gnunet-gtk.glade:3682
+#: gnunet-gtk.glade:3683
 msgid "Search Results"
 msgstr "Suchergebnisse"
 
-#: gnunet-gtk.glade:3730
+#: gnunet-gtk.glade:3731
 msgid ""
 "List of search results.  Directories must first be downloaded before their "
 "contents will be displayed."
@@ -520,11 +528,11 @@
 "Suchergebnisse auflisten. Verzeichnisse müssen zuerst heruntergeladen "
 "werden, bevor ihr Inhalt angezeigt wird."
 
-#: gnunet-gtk.glade:3759
+#: gnunet-gtk.glade:3760
 msgid "Anon_ymity:"
 msgstr "Anonymität:"
 
-#: gnunet-gtk.glade:3786
+#: gnunet-gtk.glade:3787
 msgid ""
 "Specify the desired anonymity level for this download. A value of 0 means no "
 "receiver anonymity (allows direct connection).  Use higher values for "
@@ -535,23 +543,23 @@
 "Verwenden Sie höhere Werte für erhöhte Privatsphäre bei niedrigerer "
 "Geschwindigkeit."
 
-#: gnunet-gtk.glade:3817
+#: gnunet-gtk.glade:3818
 msgid "Download selected files."
 msgstr "Ausgewählte Dateien herunterladen."
 
-#: gnunet-gtk.glade:3862
+#: gnunet-gtk.glade:3863
 msgid "Down_load"
 msgstr "Down_load"
 
-#: gnunet-gtk.glade:3898
+#: gnunet-gtk.glade:3899
 msgid "Close this search."
 msgstr "Diese Suche schließen."
 
-#: gnunet-gtk.glade:3929
+#: gnunet-gtk.glade:3930
 msgid "Namespace Contents"
 msgstr "Inhaltsverzeichnis des Namensraums"
 
-#: gnunet-gtk.glade:3962
+#: gnunet-gtk.glade:3963
 msgid ""
 "List of the files and directories that have been added to this namespace so "
 "far."
@@ -559,59 +567,59 @@
 "Dateien und Verzeichnisse auflisten, die bis jetzt zum Namespace hinzugefügt "
 "wurden."
 
-#: gnunet-gtk.glade:3990
+#: gnunet-gtk.glade:3991
 msgid "Add content to the namespace"
 msgstr "Zusätzliche Dateien zu diesem Namespace hinzufügen."
 
-#: gnunet-gtk.glade:4008
+#: gnunet-gtk.glade:4009
 msgid "Publish an update to the selected updatable content."
 msgstr "Ein Update des ausgewählten updatebaren Inhalts veröffentlichen."
 
-#: gnunet-gtk.glade:4052
+#: gnunet-gtk.glade:4053
 msgid "U_pdate"
 msgstr "Aktualisieren"
 
-#: gnunet-gtk.glade:4096
+#: gnunet-gtk.glade:4097
 msgid "Chat"
 msgstr "Chat"
 
-#: gnunet-gtk.glade:4135
+#: gnunet-gtk.glade:4136
 msgid "The current conversation in this chat room."
 msgstr "Die aktuelle Unterhaltung in diesem Chatraum."
 
-#: gnunet-gtk.glade:4174
+#: gnunet-gtk.glade:4175
 msgid "Hello!"
 msgstr "Hallo!"
 
-#: gnunet-gtk.glade:4190
+#: gnunet-gtk.glade:4191
 msgid "Sends the message to all participants in the current chat room."
 msgstr "Sendet diese Nachricht an alle Teilnehmer im aktuellen Chatraum."
 
-#: gnunet-gtk.glade:4236
+#: gnunet-gtk.glade:4237
 msgid "Sen_d"
 msgstr "Sen_den"
 
-#: gnunet-gtk.glade:4296
+#: gnunet-gtk.glade:4297
 msgid "List of the participants in the chat room."
 msgstr "Teilnehmer im aktuellen Chatraum auflisten."
 
-#: gnunet-gtk.glade:4321
+#: gnunet-gtk.glade:4322
 msgid "The gnunet-gtk about dialog"
 msgstr "Der gnunet-gtk \"Über\" Dialog"
 
-#: gnunet-gtk.glade:4323
+#: gnunet-gtk.glade:4324
 msgid "gnunet-gtk"
 msgstr "gnunet-gtk"
 
-#: gnunet-gtk.glade:4324
+#: gnunet-gtk.glade:4325
 msgid "(C) 2001-2006 Christian Grothoff (and other contributing authors)"
 msgstr "(C) 2001-2006 Christian Grothoff (und andere beitragende Autoren)"
 
-#: gnunet-gtk.glade:4325
+#: gnunet-gtk.glade:4326
 msgid "https://gnunet.org/";
 msgstr "https://gnunet.org/";
 
-#: gnunet-gtk.glade:4326
+#: gnunet-gtk.glade:4327
 msgid ""
 "                    GNU GENERAL PUBLIC LICENSE\n"
 "                       Version 2, June 1991\n"
@@ -899,11 +907,11 @@
 "                     END OF TERMS AND CONDITIONS\n"
 msgstr ""
 
-#: gnunet-gtk.glade:4610
+#: gnunet-gtk.glade:4611
 msgid "GNUnet Website"
 msgstr "GNUnet Website"
 
-#: gnunet-gtk.glade:4644
+#: gnunet-gtk.glade:4645
 msgid ""
 "Di Ma\n"
 "Jens Palsberg <address@hidden>\n"
@@ -933,23 +941,30 @@
 "Phan Vinh Thinh <address@hidden>\n"
 "Daniel Nylander <address@hidden>\n"
 
-#: gnunet-gtk.glade:4669
-msgid "Select file to upload to GNUnet"
+#: gnunet-gtk.glade:4670
+#, fuzzy
+msgid "Select file to publish to GNUnet"
 msgstr "Datei für den Upload in's GNUnet auswählen"
 
-#: gnunet-gtk.glade:4698
-msgid "Cancel selecting file to upload"
+#: gnunet-gtk.glade:4699
+#, fuzzy
+msgid "Cancel selecting file to publish."
 msgstr "Dateiauswahl für den Upload abbrechen"
 
-#: gnunet-gtk.glade:4712
-msgid "Select this file (or directory) for the upload"
+#: gnunet-gtk.glade:4713
+#, fuzzy
+msgid "Select this file (or directory) for the publication."
 msgstr "Diese Datei (oder Verzeichnis) zum Upload auswählen"
 
-#: gnunet-gtk.glade:4737
+#: gnunet-gtk.glade:4739
 msgid "Create Namespace"
 msgstr "Namensraum erzeugen"
 
-#: gnunet-gtk.glade:4767
+#: gnunet-gtk.glade:4769
+msgid "Cancel namespace creation."
+msgstr "Namensraumerzeugung abbrechen."
+
+#: gnunet-gtk.glade:4784
 msgid ""
 "Confirm the specified data. Creates the namespace and publishes the "
 "advertisements."
@@ -957,19 +972,15 @@
 "Bestätigt die angegebenen Daten. Erzeugt den Namespace und veröffentlicht "
 "die Ankündigungen."
 
-#: gnunet-gtk.glade:4782
-msgid "Cancel namespace creation."
-msgstr "Namensraumerzeugung abbrechen."
-
-#: gnunet-gtk.glade:4805
+#: gnunet-gtk.glade:4807
 msgid "Please provide information about the namespace"
 msgstr "Bitte Informationen über den Namensraum angeben"
 
-#: gnunet-gtk.glade:4836
+#: gnunet-gtk.glade:4838
 msgid "_Name:"
 msgstr "_Name:"
 
-#: gnunet-gtk.glade:4862
+#: gnunet-gtk.glade:4864
 msgid ""
 "Each namespace is supposed to have a name.  While GNUnet cannot guarantee "
 "that these names are unique, users should try to select names that are "
@@ -979,11 +990,12 @@
 "dass die Namen eindeutig sind, sollten Anwender versuchen Namen zu wählen, "
 "die vermutlich nicht kollidieren und dem Inhalt des Namespaces entsprechen."
 
-#: gnunet-gtk.glade:4882
-msgid "_Root"
+#: gnunet-gtk.glade:4884
+#, fuzzy
+msgid "_Root:"
 msgstr "Wu_rzel"
 
-#: gnunet-gtk.glade:4909
+#: gnunet-gtk.glade:4911
 msgid ""
 "The namespace root is the file or directory in the namespace that will be "
 "advertised to other users.  Typically it contains a directory with the "
@@ -995,11 +1007,11 @@
 "den Inhalten des Namespaces. Sie sind frei in der Wahl des Bezeichners der "
 "Wurzel."
 
-#: gnunet-gtk.glade:4942
+#: gnunet-gtk.glade:4944
 msgid "Anonymity (for namespace advertisement):"
 msgstr "Anonymität (für Namespace Ankündigung):"
 
-#: gnunet-gtk.glade:5027
+#: gnunet-gtk.glade:5029
 msgid ""
 "Enter a keyword under which advertisements for this namespace will be "
 "published."
@@ -1007,7 +1019,7 @@
 "Geben Sie einen Schlüsselbegriff ein, unter dem die Ankündigung für diesen "
 "Namespace veröffentlicht wird."
 
-#: gnunet-gtk.glade:5048
+#: gnunet-gtk.glade:5050
 msgid ""
 "Add the given keyword to the list of keywords under which advertisements for "
 "the namespace will be published."
@@ -1015,21 +1027,17 @@
 "Den angegebenen Schlüsselbegriff zu der Liste der Schlüsselbegriffe "
 "hinzufügen unter denen Ankündigungen für den Namespace veröffentlicht werden."
 
-#: gnunet-gtk.glade:5106 src/plugins/fs/extensions/musicinsert.c:225
-msgid "Keywords"
-msgstr "Schlüsselbegriffe"
-
-#: gnunet-gtk.glade:5208
+#: gnunet-gtk.glade:5210
 msgid "Enter meta-data (descriptions) for this namespace"
 msgstr "Geben Sie die Meta-Daten (Beschreibungen) für diesen Namespace ein."
 
-#: gnunet-gtk.glade:5229
+#: gnunet-gtk.glade:5231
 msgid "Add the given metadata entry to the metadata for this namespace."
 msgstr ""
 "Den angegebenen Meta-Daten-Eintrag zu den Meta-Daten dieses Namespaces "
 "hinzufügen."
 
-#: gnunet-gtk.glade:5270
+#: gnunet-gtk.glade:5272
 msgid ""
 "Metadata describing the namespace (used in advertisements).  Use the context "
 "menu (right-click) to delete selected entries."
@@ -1038,43 +1046,44 @@
 "verwendet). Verwenden Sie das Kontextmenü (Rechtsklick), um die ausgewählten "
 "Einträge zu löschen."
 
-#: gnunet-gtk.glade:5287
-msgid "Metadata"
-msgstr "Metainformationen"
+#: gnunet-gtk.glade:5289
+#, fuzzy
+msgid "<b>Metadata</b>"
+msgstr "<b>Metainformationen</b>"
 
-#: gnunet-gtk.glade:5323
+#: gnunet-gtk.glade:5325
 msgid "Close the selected search"
 msgstr "Die ausgewählte Suche schließen."
 
-#: gnunet-gtk.glade:5324
+#: gnunet-gtk.glade:5326
 msgid "_Close"
 msgstr "S_chliessen"
 
-#: gnunet-gtk.glade:5360
+#: gnunet-gtk.glade:5362
 msgid "Messages"
 msgstr "Nachrichten"
 
-#: gnunet-gtk.glade:5511
+#: gnunet-gtk.glade:5513
 msgid "Please provide meta-data and an identifier for the content."
 msgstr "Bitte geben Sie Meta-Daten und einen Bezeichner für diesen Inhalt an."
 
-#: gnunet-gtk.glade:5542 gnunet-gtk.glade:6122
+#: gnunet-gtk.glade:5544 gnunet-gtk.glade:6124
 msgid "_Identifier:"
 msgstr "_Identifizierer:"
 
-#: gnunet-gtk.glade:5590 gnunet-gtk.glade:6170 gnunet-gtk.glade:6633
+#: gnunet-gtk.glade:5592 gnunet-gtk.glade:6172 gnunet-gtk.glade:6635
 msgid "Anonymit_y:"
 msgstr "Anon_ymität:"
 
-#: gnunet-gtk.glade:5649 gnunet-gtk.glade:6692
+#: gnunet-gtk.glade:5651 gnunet-gtk.glade:6694
 msgid "_Next Identifier:"
 msgstr "_Nächster Identifizierer:"
 
-#: gnunet-gtk.glade:5697 gnunet-gtk.glade:6229 gnunet-gtk.glade:6737
+#: gnunet-gtk.glade:5699 gnunet-gtk.glade:6231 gnunet-gtk.glade:6739
 msgid "_Update Interval:"
 msgstr "Akt_ualisierungs Intervall:"
 
-#: gnunet-gtk.glade:5723 gnunet-gtk.glade:6255 gnunet-gtk.glade:6763
+#: gnunet-gtk.glade:5725 gnunet-gtk.glade:6257 gnunet-gtk.glade:6765
 msgid ""
 "--no update--\n"
 "--sporadic update--\n"
@@ -1092,31 +1101,48 @@
 "1 Monat\n"
 "1 Jahr\n"
 
-#: gnunet-gtk.glade:6024
+#: gnunet-gtk.glade:5862 gnunet-gtk.glade:6394 gnunet-gtk.glade:6902
+#, fuzzy
+msgid ""
+"Add the given description to the meta-data describing the published file."
+msgstr ""
+"Die angegebene Beschreibung zu den Meta-Daten hinzufügen, die diesen Upload "
+"beschreiben."
+
+#: gnunet-gtk.glade:6026
 msgid "Edit Collection Information"
 msgstr "Informationen der Sammlung ändern"
 
-#: gnunet-gtk.glade:6091
+#: gnunet-gtk.glade:6093
 msgid "Please provide meta-data and an identifier for the collection."
 msgstr "Bitte geben Sie Meta-Daten und einen Bezeichner für die Sammlung an."
 
-#: gnunet-gtk.glade:6482
+#: gnunet-gtk.glade:6484
 msgid "Enter Meta-Information about Namespace Content"
 msgstr "Bitte Informationen über den Namensraum angeben"
 
-#: gnunet-gtk.glade:6552
+#: gnunet-gtk.glade:6554
 msgid ""
 "Please provide information about the update to the content in the namespace."
 msgstr "Bitte Informationen über die die Namensraumaktualisierung angeben."
 
-#: gnunet-gtk.glade:6583
+#: gnunet-gtk.glade:6585
 msgid "Identifier:"
 msgstr "_Identifizierer:"
 
-#: gnunet-gtk.glade:6608
+#: gnunet-gtk.glade:6610
 msgid "BUG: SET ME!"
 msgstr "FEHLER: SETZE MICH!"
 
+#: gnunet-gtk.glade:7144
+msgid "Stop and close gnunet-gtk."
+msgstr ""
+
+#: gnunet-gtk.glade:7145
+#, fuzzy
+msgid "_Quit"
+msgstr "_Beenden"
+
 #: src/plugins/fs/search.c:79 src/plugins/fs/namespace.c:435
 msgid "unknown"
 msgstr "unbekannt"
@@ -1258,6 +1284,10 @@
 msgid "Format"
 msgstr "Format"
 
+#: src/plugins/fs/extensions/musicinsert.c:225
+msgid "Keywords"
+msgstr "Schlüsselbegriffe"
+
 #: src/plugins/fs/extensions/musicinsert.c:301
 msgid "Select all files"
 msgstr "Alle Dateien auswählen"
@@ -1473,38 +1503,50 @@
 msgid "Current (red) and average (green) effectiveness (100% = perfect)"
 msgstr ""
 
-#: src/common/helper.c:271
+#: src/common/helper.c:277
 #, c-format
 msgid "Failed to find handler for `%s'\n"
 msgstr "Handler für `%s' konnte nicht gefunden werden\n"
 
-#: src/common/helper.c:297
+#: src/common/helper.c:303
 #, c-format
 msgid "Failed to load plugin `%s'\n"
 msgstr "Fehler beim Laden des Moduls `%s'\n"
 
-#: src/common/helper.c:376
+#: src/common/helper.c:382
 #, c-format
 msgid "Failed to open `%s'.\n"
 msgstr "Fehler beim Öffnen von `%s'\n"
 
-#: src/common/helper.c:519
+#: src/common/helper.c:525
 msgid "Could not initialize libnotify\n"
 msgstr "libnotify konnte nicht initialisiert werden\n"
 
-#: src/common/helper.c:549
+#: src/common/helper.c:555
 #, fuzzy
 msgid "Could not send notification via libnotify\n"
 msgstr "Bestätigung konnte nicht an Client zurück gesendet werden.\n"
 
-#: src/core/main.c:46
+#: src/core/main.c:54
 msgid "GNUnet GTK user interface."
 msgstr "GNUnet GTK Benutzeroberfläche."
 
-#: src/core/main.c:85
+#: src/core/main.c:98
 msgid "Use --help to get a list of options.\n"
 msgstr "Verwenden Sie --help, um eine Liste der Optionen zu erhalten.\n"
 
+#~ msgid "<b>Uploads</b>"
+#~ msgstr "<b>Uploads</b>"
+
+#~ msgid "Up_load"
+#~ msgstr "Hoch_laden"
+
+#~ msgid "U_pload"
+#~ msgstr "Hochladen"
+
+#~ msgid "Metadata"
+#~ msgstr "Metainformationen"
+
 #~ msgid ""
 #~ "\n"
 #~ "                                                                       \n"
@@ -1827,10 +1869,6 @@
 #~ msgstr "Dateien deindizieren."
 
 #, fuzzy
-#~ msgid "/File/_Quit"
-#~ msgstr "_Beenden"
-
-#, fuzzy
 #~ msgid "/_Help"
 #~ msgstr "_Hilfe"
 

Modified: gnunet-gtk/po/rw.po
===================================================================
--- gnunet-gtk/po/rw.po 2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/po/rw.po 2006-10-22 02:55:29 UTC (rev 3544)
@@ -16,7 +16,7 @@
 msgstr ""
 "Project-Id-Version: GNUnet 0.7.0pre0\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-05-23 13:55-0700\n"
+"POT-Creation-Date: 2006-06-04 13:01+0200\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <address@hidden>\n"
 "Language-Team: Kinyarwanda <address@hidden>\n"
@@ -28,15 +28,15 @@
 msgid "gnunet-gtk, GNU's Peer-to-Peer Network"
 msgstr ""
 
-#: gnunet-gtk.glade:70
+#: gnunet-gtk.glade:71
 msgid "Show credits"
 msgstr ""
 
-#: gnunet-gtk.glade:89
+#: gnunet-gtk.glade:90
 msgid "<span size=\"x-large\">Welcome to gnunet-gtk 0.7.0e</span>"
 msgstr ""
 
-#: gnunet-gtk.glade:121
+#: gnunet-gtk.glade:122
 msgid ""
 "                                                                       \n"
 "gnunet-gtk is the GTK+ user interface for GNUnet. It is intended to "
@@ -82,122 +82,122 @@
 "\n"
 msgstr ""
 
-#: gnunet-gtk.glade:207
+#: gnunet-gtk.glade:208
 msgid "_Welcome"
 msgstr ""
 
-#: gnunet-gtk.glade:282
+#: gnunet-gtk.glade:283
 msgid "Try to start the GNUnet Daemon gnunetd on localhost"
 msgstr ""
 
-#: gnunet-gtk.glade:326
+#: gnunet-gtk.glade:327
 #, fuzzy
 msgid "start gnunet_d"
 msgstr "i"
 
-#: gnunet-gtk.glade:362
+#: gnunet-gtk.glade:363
 #, fuzzy
 msgid "Stops the GNUnet daemon gnunetd"
 msgstr "i"
 
-#: gnunet-gtk.glade:406
+#: gnunet-gtk.glade:407
 msgid "sto_p gnunetd"
 msgstr ""
 
-#: gnunet-gtk.glade:479
+#: gnunet-gtk.glade:480
 msgid "<b>gnunetd control</b>"
 msgstr ""
 
-#: gnunet-gtk.glade:541
+#: gnunet-gtk.glade:542
 msgid "<b>Running Applications</b>"
 msgstr ""
 
-#: gnunet-gtk.glade:607
+#: gnunet-gtk.glade:608
 msgid "_General"
 msgstr ""
 
-#: gnunet-gtk.glade:686
+#: gnunet-gtk.glade:687
 msgid "<b>Search Overview</b>"
 msgstr ""
 
-#: gnunet-gtk.glade:766
+#: gnunet-gtk.glade:767
 msgid "Cancel the selected download"
 msgstr ""
 
-#: gnunet-gtk.glade:785
+#: gnunet-gtk.glade:786
 msgid "Clear completed downloads from the download list"
 msgstr ""
 
-#: gnunet-gtk.glade:805
+#: gnunet-gtk.glade:806
 msgid "_Enter URI:"
 msgstr ""
 
-#: gnunet-gtk.glade:894
+#: gnunet-gtk.glade:895
 #, fuzzy
 msgid "D_ownload"
 msgstr "Iyimura"
 
-#: gnunet-gtk.glade:930 gnunet-gtk.glade:1302
+#: gnunet-gtk.glade:931 gnunet-gtk.glade:1303
 msgid "with _anonymity"
 msgstr ""
 
-#: gnunet-gtk.glade:996
+#: gnunet-gtk.glade:997
 #, fuzzy
 msgid "<b>Downloads</b>"
 msgstr "Iyimura"
 
-#: gnunet-gtk.glade:1058
+#: gnunet-gtk.glade:1059
 #, fuzzy
-msgid "<b>Uploads</b>"
-msgstr "Ibirimo"
+msgid "<b>Publications</b>"
+msgstr "Sitatisitiki"
 
-#: gnunet-gtk.glade:1119
+#: gnunet-gtk.glade:1120
 msgid "Stat_us"
 msgstr ""
 
-#: gnunet-gtk.glade:1162 gnunet-gtk.glade:3332 gnunet-gtk.glade:5000
+#: gnunet-gtk.glade:1163 gnunet-gtk.glade:3333 gnunet-gtk.glade:5002
 #, fuzzy
 msgid "_Keyword:"
 msgstr "Ijambo banze:"
 
-#: gnunet-gtk.glade:1221
+#: gnunet-gtk.glade:1222
 msgid ""
 "Search GNUnet for content under the specified keyword (and, if applicable, "
 "restrict the search to the given namespace)"
 msgstr ""
 
-#: gnunet-gtk.glade:1266
+#: gnunet-gtk.glade:1267
 #, fuzzy
 msgid "Sea_rch"
 msgstr "Gushaka"
 
-#: gnunet-gtk.glade:1329
+#: gnunet-gtk.glade:1330
 msgid ""
 "Specify the anonymity level for the search, 0 for no anonymity.  Higher "
 "values provide more privacy but also less performance."
 msgstr ""
 
-#: gnunet-gtk.glade:1362
+#: gnunet-gtk.glade:1363
 msgid "in _namespace"
 msgstr ""
 
-#: gnunet-gtk.glade:1419
+#: gnunet-gtk.glade:1420
 msgid ""
 "This is the rating that you have given this namespace so far.  Ratings are "
 "private and not shared with other users in any way.  They are supposed to "
 "help each user remember which namespace is worthwile for him."
 msgstr ""
 
-#: gnunet-gtk.glade:1538
+#: gnunet-gtk.glade:1539
 #, fuzzy
 msgid "Search and _Download"
 msgstr "Iyimura"
 
-#: gnunet-gtk.glade:1584
+#: gnunet-gtk.glade:1585
 msgid "Method:"
 msgstr ""
 
-#: gnunet-gtk.glade:1614
+#: gnunet-gtk.glade:1615
 msgid ""
 "Indexing will avoid copying the file into the GNUnet database.  Instead, "
 "GNUnet will try to add a symbolic link to the specified file.  If that "
@@ -207,11 +207,11 @@
 "efficient than insertion."
 msgstr ""
 
-#: gnunet-gtk.glade:1616
+#: gnunet-gtk.glade:1617
 msgid "inde_x"
 msgstr ""
 
-#: gnunet-gtk.glade:1638
+#: gnunet-gtk.glade:1639
 msgid ""
 "Inserting a file means that an encrypted copy will be added to the GNUnet "
 "database.  Without the proper key (which is not stored in plaintext "
@@ -222,52 +222,52 @@
 msgstr ""
 
 # sw/source\ui\docvw\docvw.src:STR_REDLINE_INSERT.text
-#: gnunet-gtk.glade:1640
+#: gnunet-gtk.glade:1641
 #, fuzzy
 msgid "i_nsert"
 msgstr "Byinjijwemo"
 
-#: gnunet-gtk.glade:1662
+#: gnunet-gtk.glade:1663
 msgid "Scope:"
 msgstr ""
 
-#: gnunet-gtk.glade:1692
+#: gnunet-gtk.glade:1693
 #, fuzzy
-msgid "only insert a single file"
+msgid "Only publish a single file."
 msgstr "Kugenzura... i Idosiye"
 
-#: gnunet-gtk.glade:1694
+#: gnunet-gtk.glade:1695
 msgid "file onl_y"
 msgstr ""
 
-#: gnunet-gtk.glade:1715
+#: gnunet-gtk.glade:1716
 msgid "_Anonymity:"
 msgstr ""
 
-#: gnunet-gtk.glade:1744
+#: gnunet-gtk.glade:1745
 #, fuzzy
 msgid "_Filename:"
 msgstr "Izina ry'idosiye"
 
-#: gnunet-gtk.glade:1773
+#: gnunet-gtk.glade:1774
 #, fuzzy
-msgid "Browse local computer for files (or directories) to upload."
+msgid "Browse local computer for files (or directories) to publish."
 msgstr "a Urutonde Bya Idosiye Kuri Kongeramo"
 
-#: gnunet-gtk.glade:1817
+#: gnunet-gtk.glade:1818
 msgid "_Browse"
 msgstr ""
 
-#: gnunet-gtk.glade:1890
+#: gnunet-gtk.glade:1891
 #, fuzzy
-msgid "Recursively insert an entire directory tree"
+msgid "Recursively publish an entire directory tree."
 msgstr "Gusiba Byose Kongeramo Ibyinjijwe Bivuye i bushyinguro Ububikoshingiro"
 
-#: gnunet-gtk.glade:1892
+#: gnunet-gtk.glade:1893
 msgid "_recursive (for entire directories)"
 msgstr ""
 
-#: gnunet-gtk.glade:1915
+#: gnunet-gtk.glade:1916
 msgid ""
 "What level of sender-anonymity is desired when sharing this particular "
 "file?  0 allows direct connections (no anonymity).  Higher levels require "
@@ -275,320 +275,320 @@
 "privacy at the expense of efficiency."
 msgstr ""
 
-#: gnunet-gtk.glade:1938
+#: gnunet-gtk.glade:1939
 msgid ""
-"Upload the specified file with the selected options (you will then be "
+"Share the specified file with the selected options (you will then be "
 "prompted to enter meta-data and keywords)."
 msgstr ""
 
-#: gnunet-gtk.glade:1982
-#, fuzzy
-msgid "Up_load"
-msgstr "Ibirimo"
+#: gnunet-gtk.glade:1983
+msgid "Pub_lish"
+msgstr ""
 
-#: gnunet-gtk.glade:2023
+#: gnunet-gtk.glade:2024
 msgid ""
 "Controls if GNUnet should also produce information for individual files "
 "inside of a directory, as opposed to only allowing the directory itself to "
 "be found directly.  Only applies for recursive uploads."
 msgstr ""
 
-#: gnunet-gtk.glade:2069
+#: gnunet-gtk.glade:2070
 #, fuzzy
 msgid "add keywords for files in directories"
 msgstr "S kugirango Byose Idosiye in bushyinguro"
 
-#: gnunet-gtk.glade:2144
+#: gnunet-gtk.glade:2145
 #, fuzzy
-msgid "U_pload"
-msgstr "Ibirimo"
+msgid "_Publication"
+msgstr "Ikimenyetso"
 
-#: gnunet-gtk.glade:2187
+#: gnunet-gtk.glade:2188
 msgid "c_reate"
 msgstr ""
 
-#: gnunet-gtk.glade:2208 gnunet-gtk.glade:2252
+#: gnunet-gtk.glade:2209 gnunet-gtk.glade:2253
 msgid "_Namespace"
 msgstr ""
 
-#: gnunet-gtk.glade:2217 gnunet-gtk.glade:2262
+#: gnunet-gtk.glade:2218 gnunet-gtk.glade:2263
 #, fuzzy
 msgid "_Collection"
 msgstr "Kyahagariswe"
 
-#: gnunet-gtk.glade:2230
+#: gnunet-gtk.glade:2231
 #, fuzzy
 msgid "d_elete"
 msgstr "Cyasibwe"
 
-#: gnunet-gtk.glade:2251
+#: gnunet-gtk.glade:2252
 msgid ""
 "Will prevent future insertions into the namespace (will not delete content "
 "in the namespace)"
 msgstr ""
 
-#: gnunet-gtk.glade:2261
+#: gnunet-gtk.glade:2262
 msgid "end collection (will not delete content already in the collection)"
 msgstr ""
 
-#: gnunet-gtk.glade:2399
+#: gnunet-gtk.glade:2400
 msgid "<b>Available Content</b>"
 msgstr ""
 
-#: gnunet-gtk.glade:2424
+#: gnunet-gtk.glade:2425
 msgid "should GNUnet track available content (for publishing in namespaces)?"
 msgstr ""
 
-#: gnunet-gtk.glade:2471
+#: gnunet-gtk.glade:2472
 #, fuzzy
 msgid "track available content"
 msgstr "#GUSHAKISHA Byinjijwemo Cyangwa Ibikubiyemo"
 
-#: gnunet-gtk.glade:2507
+#: gnunet-gtk.glade:2508
 msgid ""
 "Refresh the available content list now (otherwise this is done automatically "
 "roughly every 5 minutes)"
 msgstr ""
 
-#: gnunet-gtk.glade:2525
+#: gnunet-gtk.glade:2526
 msgid "deletes the tracked available content shown below"
 msgstr ""
 
-#: gnunet-gtk.glade:2584
+#: gnunet-gtk.glade:2585
 msgid "Ad_vanced"
 msgstr ""
 
-#: gnunet-gtk.glade:2642
+#: gnunet-gtk.glade:2643
 msgid "File s_haring"
 msgstr ""
 
-#: gnunet-gtk.glade:2754
+#: gnunet-gtk.glade:2755
 #, fuzzy
 msgid "_Statistics"
 msgstr "Sitatisitiki"
 
-#: gnunet-gtk.glade:2888
+#: gnunet-gtk.glade:2889
 msgid "/join #gnunet"
 msgstr ""
 
-#: gnunet-gtk.glade:2973
+#: gnunet-gtk.glade:2974
 msgid "Cha_t"
 msgstr ""
 
-#: gnunet-gtk.glade:3026 gnunet-gtk.glade:3042 gnunet-gtk.glade:5444
+#: gnunet-gtk.glade:3027 gnunet-gtk.glade:3043 gnunet-gtk.glade:5446
 msgid "Edit File Information"
 msgstr ""
 
-#: gnunet-gtk.glade:3043
+#: gnunet-gtk.glade:3044
 msgid "This dialog is used to edit information about shared files."
 msgstr ""
 
-#: gnunet-gtk.glade:3060 gnunet-gtk.glade:5474 gnunet-gtk.glade:6054
-msgid ""
-"Confirm the displayed meta-data and keywords and proceed with the upload."
-msgstr ""
+#: gnunet-gtk.glade:3061 gnunet-gtk.glade:5476 gnunet-gtk.glade:6056
+#, fuzzy
+msgid "Cancel the publication."
+msgstr "OYA bushyinguro"
 
-#: gnunet-gtk.glade:3069
+#: gnunet-gtk.glade:3070
 msgid "metaDataDialogCancelButton"
 msgstr ""
 
-#: gnunet-gtk.glade:3070
+#: gnunet-gtk.glade:3071
 msgid "Abort the upload operation."
 msgstr ""
 
-#: gnunet-gtk.glade:3078 gnunet-gtk.glade:5489 gnunet-gtk.glade:6069
-msgid "Cancel the upload."
+#: gnunet-gtk.glade:3079 gnunet-gtk.glade:5491 gnunet-gtk.glade:6071
+msgid ""
+"Confirm the displayed meta-data and keywords and proceed with the "
+"publication."
 msgstr ""
 
-#: gnunet-gtk.glade:3100
+#: gnunet-gtk.glade:3101
 msgid "Please provide meta-data and keywords for the content."
 msgstr ""
 
-#: gnunet-gtk.glade:3131 gnunet-gtk.glade:5142 gnunet-gtk.glade:5758
-#: gnunet-gtk.glade:6290 gnunet-gtk.glade:6798
+#: gnunet-gtk.glade:3132 gnunet-gtk.glade:5144 gnunet-gtk.glade:5760
+#: gnunet-gtk.glade:6292 gnunet-gtk.glade:6800
 msgid "_Type:"
 msgstr ""
 
-#: gnunet-gtk.glade:3185 gnunet-gtk.glade:5181 gnunet-gtk.glade:5812
-#: gnunet-gtk.glade:6344 gnunet-gtk.glade:6852
+#: gnunet-gtk.glade:3186 gnunet-gtk.glade:5183 gnunet-gtk.glade:5814
+#: gnunet-gtk.glade:6346 gnunet-gtk.glade:6854
 #, fuzzy
 msgid "_Value:"
 msgstr "Agaciro"
 
-#: gnunet-gtk.glade:3212 gnunet-gtk.glade:5839 gnunet-gtk.glade:6371
-#: gnunet-gtk.glade:6879
+#: gnunet-gtk.glade:3213 gnunet-gtk.glade:5841 gnunet-gtk.glade:6373
+#: gnunet-gtk.glade:6881
 msgid "Enter metadata about the upload"
 msgstr ""
 
-#: gnunet-gtk.glade:3222
+#: gnunet-gtk.glade:3223
 #, fuzzy
 msgid "Value Entry"
 msgstr "Agaciro"
 
-#: gnunet-gtk.glade:3223
+#: gnunet-gtk.glade:3224
 msgid ""
 "Enter the value for the meta-data of the specified type here.\n"
 "Press ENTER to add the data."
 msgstr ""
 
-#: gnunet-gtk.glade:3238 gnunet-gtk.glade:5860 gnunet-gtk.glade:6392
-#: gnunet-gtk.glade:6900
+#: gnunet-gtk.glade:3239
 msgid ""
 "Add the given description to the meta-data describing the uploaded file."
 msgstr ""
 
-#: gnunet-gtk.glade:3279 gnunet-gtk.glade:3424 gnunet-gtk.glade:5089
-#: gnunet-gtk.glade:5901 gnunet-gtk.glade:6433 gnunet-gtk.glade:6941
+#: gnunet-gtk.glade:3280 gnunet-gtk.glade:3425 gnunet-gtk.glade:5091
+#: gnunet-gtk.glade:5903 gnunet-gtk.glade:6435 gnunet-gtk.glade:6943
 msgid ""
 "Select entries and use the context menu (right click) in order to delete "
 "keywords."
 msgstr ""
 
-#: gnunet-gtk.glade:3296 gnunet-gtk.glade:5918 gnunet-gtk.glade:6450
-#: gnunet-gtk.glade:6958
+#: gnunet-gtk.glade:3297 gnunet-gtk.glade:5920 gnunet-gtk.glade:6452
+#: gnunet-gtk.glade:6960
 msgid "<b>Meta-data</b>"
 msgstr ""
 
-#: gnunet-gtk.glade:3359 gnunet-gtk.glade:5569 gnunet-gtk.glade:5676
-#: gnunet-gtk.glade:6149
+#: gnunet-gtk.glade:3360 gnunet-gtk.glade:5571 gnunet-gtk.glade:5678
+#: gnunet-gtk.glade:6151
 #, fuzzy
 msgid "Enter keywords"
 msgstr "Ijambo- banze"
 
-#: gnunet-gtk.glade:3380
+#: gnunet-gtk.glade:3381
 msgid ""
 "Add the specified keyword to the list of keywords under which the file or "
 "directory will be found."
 msgstr ""
 
-#: gnunet-gtk.glade:3409
+#: gnunet-gtk.glade:3410
 msgid "Lists all of the keywords that will be used."
 msgstr ""
 
-#: gnunet-gtk.glade:3441
+#: gnunet-gtk.glade:3442 gnunet-gtk.glade:5108
 #, fuzzy
 msgid "<b>Keywords</b>"
 msgstr "Ijambo banze:"
 
-#: gnunet-gtk.glade:3477 gnunet-gtk.glade:5954 gnunet-gtk.glade:6994
+#: gnunet-gtk.glade:3478 gnunet-gtk.glade:5956 gnunet-gtk.glade:6996
 msgid "_Preview:"
 msgstr ""
 
-#: gnunet-gtk.glade:3537
+#: gnunet-gtk.glade:3538
 #, fuzzy
 msgid "Select Preview"
 msgstr "/ku Izina ry'idosiye:"
 
-#: gnunet-gtk.glade:3565
+#: gnunet-gtk.glade:3566
 msgid "File Information"
 msgstr ""
 
-#: gnunet-gtk.glade:3651 src/plugins/fs/search.c:679
+#: gnunet-gtk.glade:3652 src/plugins/fs/search.c:679
 msgid "Meta-data"
 msgstr ""
 
-#: gnunet-gtk.glade:3682
+#: gnunet-gtk.glade:3683
 #, fuzzy
 msgid "Search Results"
 msgstr "Gushaka"
 
-#: gnunet-gtk.glade:3730
+#: gnunet-gtk.glade:3731
 msgid ""
 "List of search results.  Directories must first be downloaded before their "
 "contents will be displayed."
 msgstr ""
 
-#: gnunet-gtk.glade:3759
+#: gnunet-gtk.glade:3760
 msgid "Anon_ymity:"
 msgstr ""
 
-#: gnunet-gtk.glade:3786
+#: gnunet-gtk.glade:3787
 msgid ""
 "Specify the desired anonymity level for this download. A value of 0 means no "
 "receiver anonymity (allows direct connection).  Use higher values for "
 "increased privacy at the expense of performance."
 msgstr ""
 
-#: gnunet-gtk.glade:3817
+#: gnunet-gtk.glade:3818
 #, fuzzy
 msgid "Download selected files."
 msgstr "/Byahiswemo"
 
-#: gnunet-gtk.glade:3862
+#: gnunet-gtk.glade:3863
 #, fuzzy
 msgid "Down_load"
 msgstr "Iyimura"
 
-#: gnunet-gtk.glade:3898
+#: gnunet-gtk.glade:3899
 msgid "Close this search."
 msgstr ""
 
-#: gnunet-gtk.glade:3929
+#: gnunet-gtk.glade:3930
 #, fuzzy
 msgid "Namespace Contents"
 msgstr "Ikiranga"
 
-#: gnunet-gtk.glade:3962
+#: gnunet-gtk.glade:3963
 msgid ""
 "List of the files and directories that have been added to this namespace so "
 "far."
 msgstr ""
 
-#: gnunet-gtk.glade:3990
+#: gnunet-gtk.glade:3991
 msgid "Add content to the namespace"
 msgstr ""
 
-#: gnunet-gtk.glade:4008
+#: gnunet-gtk.glade:4009
 msgid "Publish an update to the selected updatable content."
 msgstr ""
 
-#: gnunet-gtk.glade:4052
+#: gnunet-gtk.glade:4053
 msgid "U_pdate"
 msgstr ""
 
-#: gnunet-gtk.glade:4096
+#: gnunet-gtk.glade:4097
 msgid "Chat"
 msgstr ""
 
-#: gnunet-gtk.glade:4135
+#: gnunet-gtk.glade:4136
 msgid "The current conversation in this chat room."
 msgstr ""
 
 # sfx2/source\appl\newhelp.src:STR_HELP_WINDOW_TITLE.text
-#: gnunet-gtk.glade:4174
+#: gnunet-gtk.glade:4175
 #, fuzzy
 msgid "Hello!"
 msgstr "/Kugoboka"
 
-#: gnunet-gtk.glade:4190
+#: gnunet-gtk.glade:4191
 msgid "Sends the message to all participants in the current chat room."
 msgstr ""
 
-#: gnunet-gtk.glade:4236
+#: gnunet-gtk.glade:4237
 msgid "Sen_d"
 msgstr ""
 
-#: gnunet-gtk.glade:4296
+#: gnunet-gtk.glade:4297
 msgid "List of the participants in the chat room."
 msgstr ""
 
-#: gnunet-gtk.glade:4321
+#: gnunet-gtk.glade:4322
 msgid "The gnunet-gtk about dialog"
 msgstr ""
 
-#: gnunet-gtk.glade:4323
+#: gnunet-gtk.glade:4324
 msgid "gnunet-gtk"
 msgstr ""
 
-#: gnunet-gtk.glade:4324
+#: gnunet-gtk.glade:4325
 msgid "(C) 2001-2006 Christian Grothoff (and other contributing authors)"
 msgstr ""
 
-#: gnunet-gtk.glade:4325
+#: gnunet-gtk.glade:4326
 msgid "https://gnunet.org/";
 msgstr ""
 
-#: gnunet-gtk.glade:4326
+#: gnunet-gtk.glade:4327
 msgid ""
 "                    GNU GENERAL PUBLIC LICENSE\n"
 "                       Version 2, June 1991\n"
@@ -876,11 +876,11 @@
 "                     END OF TERMS AND CONDITIONS\n"
 msgstr ""
 
-#: gnunet-gtk.glade:4610
+#: gnunet-gtk.glade:4611
 msgid "GNUnet Website"
 msgstr ""
 
-#: gnunet-gtk.glade:4644
+#: gnunet-gtk.glade:4645
 msgid ""
 "Di Ma\n"
 "Jens Palsberg <address@hidden>\n"
@@ -897,48 +897,48 @@
 "Daniel Nylander <address@hidden>\n"
 msgstr ""
 
-#: gnunet-gtk.glade:4669
+#: gnunet-gtk.glade:4670
 #, fuzzy
-msgid "Select file to upload to GNUnet"
+msgid "Select file to publish to GNUnet"
 msgstr "#Umukiriya IDOSIYE"
 
-#: gnunet-gtk.glade:4698
+#: gnunet-gtk.glade:4699
 #, fuzzy
-msgid "Cancel selecting file to upload"
+msgid "Cancel selecting file to publish."
 msgstr "#Umukiriya IDOSIYE"
 
-#: gnunet-gtk.glade:4712
+#: gnunet-gtk.glade:4713
 #, fuzzy
-msgid "Select this file (or directory) for the upload"
+msgid "Select this file (or directory) for the publication."
 msgstr "a Urutonde Bya Idosiye Kuri Kongeramo"
 
-#: gnunet-gtk.glade:4737
+#: gnunet-gtk.glade:4739
 #, fuzzy
 msgid "Create Namespace"
 msgstr "Ikiranga"
 
-#: gnunet-gtk.glade:4767
+#: gnunet-gtk.glade:4769
+#, fuzzy
+msgid "Cancel namespace creation."
+msgstr "OYA bushyinguro"
+
+#: gnunet-gtk.glade:4784
 msgid ""
 "Confirm the specified data. Creates the namespace and publishes the "
 "advertisements."
 msgstr ""
 
-#: gnunet-gtk.glade:4782
+#: gnunet-gtk.glade:4807
 #, fuzzy
-msgid "Cancel namespace creation."
-msgstr "OYA bushyinguro"
-
-#: gnunet-gtk.glade:4805
-#, fuzzy
 msgid "Please provide information about the namespace"
 msgstr "OYA Gushaka Meta Ibisobanuro Ibyerekeye Imyanyazina"
 
-#: gnunet-gtk.glade:4836
+#: gnunet-gtk.glade:4838
 #, fuzzy
 msgid "_Name:"
 msgstr "Izina ry'idosiye"
 
-#: gnunet-gtk.glade:4862
+#: gnunet-gtk.glade:4864
 msgid ""
 "Each namespace is supposed to have a name.  While GNUnet cannot guarantee "
 "that these names are unique, users should try to select names that are "
@@ -946,12 +946,12 @@
 msgstr ""
 
 # 5214
-#: gnunet-gtk.glade:4882
+#: gnunet-gtk.glade:4884
 #, fuzzy
-msgid "_Root"
+msgid "_Root:"
 msgstr "Imizi"
 
-#: gnunet-gtk.glade:4909
+#: gnunet-gtk.glade:4911
 msgid ""
 "The namespace root is the file or directory in the namespace that will be "
 "advertised to other users.  Typically it contains a directory with the "
@@ -959,82 +959,78 @@
 "the root."
 msgstr ""
 
-#: gnunet-gtk.glade:4942
+#: gnunet-gtk.glade:4944
 msgid "Anonymity (for namespace advertisement):"
 msgstr ""
 
-#: gnunet-gtk.glade:5027
+#: gnunet-gtk.glade:5029
 #, fuzzy
 msgid ""
 "Enter a keyword under which advertisements for this namespace will be "
 "published."
 msgstr "OYA kugirango iyi Gukoresha Ryari: a Gishya"
 
-#: gnunet-gtk.glade:5048
+#: gnunet-gtk.glade:5050
 #, fuzzy
 msgid ""
 "Add the given keyword to the list of keywords under which advertisements for "
 "the namespace will be published."
 msgstr "OYA kugirango iyi Gukoresha Ryari: a Gishya"
 
-#: gnunet-gtk.glade:5106 src/plugins/fs/extensions/musicinsert.c:225
-#, fuzzy
-msgid "Keywords"
-msgstr "Ijambo banze:"
-
-#: gnunet-gtk.glade:5208
+#: gnunet-gtk.glade:5210
 msgid "Enter meta-data (descriptions) for this namespace"
 msgstr ""
 
-#: gnunet-gtk.glade:5229
+#: gnunet-gtk.glade:5231
 msgid "Add the given metadata entry to the metadata for this namespace."
 msgstr ""
 
-#: gnunet-gtk.glade:5270
+#: gnunet-gtk.glade:5272
 msgid ""
 "Metadata describing the namespace (used in advertisements).  Use the context "
 "menu (right-click) to delete selected entries."
 msgstr ""
 
-#: gnunet-gtk.glade:5287
-msgid "Metadata"
-msgstr ""
+#: gnunet-gtk.glade:5289
+#, fuzzy
+msgid "<b>Metadata</b>"
+msgstr "Sitatisitiki"
 
-#: gnunet-gtk.glade:5323
+#: gnunet-gtk.glade:5325
 msgid "Close the selected search"
 msgstr ""
 
-#: gnunet-gtk.glade:5324
+#: gnunet-gtk.glade:5326
 #, fuzzy
 msgid "_Close"
 msgstr "Gufunga"
 
-#: gnunet-gtk.glade:5360
+#: gnunet-gtk.glade:5362
 msgid "Messages"
 msgstr "ubutumwa"
 
-#: gnunet-gtk.glade:5511
+#: gnunet-gtk.glade:5513
 msgid "Please provide meta-data and an identifier for the content."
 msgstr ""
 
-#: gnunet-gtk.glade:5542 gnunet-gtk.glade:6122
+#: gnunet-gtk.glade:5544 gnunet-gtk.glade:6124
 msgid "_Identifier:"
 msgstr ""
 
-#: gnunet-gtk.glade:5590 gnunet-gtk.glade:6170 gnunet-gtk.glade:6633
+#: gnunet-gtk.glade:5592 gnunet-gtk.glade:6172 gnunet-gtk.glade:6635
 msgid "Anonymit_y:"
 msgstr ""
 
-#: gnunet-gtk.glade:5649 gnunet-gtk.glade:6692
+#: gnunet-gtk.glade:5651 gnunet-gtk.glade:6694
 #, fuzzy
 msgid "_Next Identifier:"
 msgstr "Urufunguzo Ikiranga"
 
-#: gnunet-gtk.glade:5697 gnunet-gtk.glade:6229 gnunet-gtk.glade:6737
+#: gnunet-gtk.glade:5699 gnunet-gtk.glade:6231 gnunet-gtk.glade:6739
 msgid "_Update Interval:"
 msgstr ""
 
-#: gnunet-gtk.glade:5723 gnunet-gtk.glade:6255 gnunet-gtk.glade:6763
+#: gnunet-gtk.glade:5725 gnunet-gtk.glade:6257 gnunet-gtk.glade:6765
 msgid ""
 "--no update--\n"
 "--sporadic update--\n"
@@ -1045,34 +1041,48 @@
 "1 year\n"
 msgstr ""
 
-#: gnunet-gtk.glade:6024
+#: gnunet-gtk.glade:5862 gnunet-gtk.glade:6394 gnunet-gtk.glade:6902
+msgid ""
+"Add the given description to the meta-data describing the published file."
+msgstr ""
+
+#: gnunet-gtk.glade:6026
 msgid "Edit Collection Information"
 msgstr ""
 
-#: gnunet-gtk.glade:6091
+#: gnunet-gtk.glade:6093
 msgid "Please provide meta-data and an identifier for the collection."
 msgstr ""
 
-#: gnunet-gtk.glade:6482
+#: gnunet-gtk.glade:6484
 #, fuzzy
 msgid "Enter Meta-Information about Namespace Content"
 msgstr "OYA Gushaka Meta Ibisobanuro Ibyerekeye Imyanyazina"
 
-#: gnunet-gtk.glade:6552
+#: gnunet-gtk.glade:6554
 #, fuzzy
 msgid ""
 "Please provide information about the update to the content in the namespace."
 msgstr "OYA Gushaka Meta Ibisobanuro Ibyerekeye Imyanyazina"
 
-#: gnunet-gtk.glade:6583
+#: gnunet-gtk.glade:6585
 #, fuzzy
 msgid "Identifier:"
 msgstr "Urufunguzo Ikiranga"
 
-#: gnunet-gtk.glade:6608
+#: gnunet-gtk.glade:6610
 msgid "BUG: SET ME!"
 msgstr ""
 
+#: gnunet-gtk.glade:7144
+msgid "Stop and close gnunet-gtk."
+msgstr ""
+
+#: gnunet-gtk.glade:7145
+#, fuzzy
+msgid "_Quit"
+msgstr "/Idosiye"
+
 #: src/plugins/fs/search.c:79 src/plugins/fs/namespace.c:435
 msgid "unknown"
 msgstr "itazwi"
@@ -1218,6 +1228,11 @@
 msgid "Format"
 msgstr ""
 
+#: src/plugins/fs/extensions/musicinsert.c:225
+#, fuzzy
+msgid "Keywords"
+msgstr "Ijambo banze:"
+
 #: src/plugins/fs/extensions/musicinsert.c:301
 #, fuzzy
 msgid "Select all files"
@@ -1447,42 +1462,54 @@
 msgid "Current (red) and average (green) effectiveness (100% = perfect)"
 msgstr ""
 
-#: src/common/helper.c:271
+#: src/common/helper.c:277
 #, fuzzy, c-format
 msgid "Failed to find handler for `%s'\n"
 msgstr "Kuri Kuvugurura Ibyatanzwe kugirango Modire"
 
-#: src/common/helper.c:297
+#: src/common/helper.c:303
 #, fuzzy, c-format
 msgid "Failed to load plugin `%s'\n"
 msgstr "Kuri Ibikubiyemo"
 
-#: src/common/helper.c:376
+#: src/common/helper.c:382
 #, fuzzy, c-format
 msgid "Failed to open `%s'.\n"
 msgstr "Kuri Ibikubiyemo"
 
-#: src/common/helper.c:519
+#: src/common/helper.c:525
 #, fuzzy
 msgid "Could not initialize libnotify\n"
 msgstr "OYA gutangiza Modire"
 
-#: src/common/helper.c:549
+#: src/common/helper.c:555
 #, fuzzy
 msgid "Could not send notification via libnotify\n"
 msgstr "OYA Kohereza Ubutumwa Kuri"
 
-#: src/core/main.c:46
+#: src/core/main.c:54
 #, fuzzy
 msgid "GNUnet GTK user interface."
 msgstr "i Ukoresha:"
 
-#: src/core/main.c:85
+#: src/core/main.c:98
 #, fuzzy
 msgid "Use --help to get a list of options.\n"
 msgstr "Ifashayobora Kuri Kubona a Urutonde Bya Amahitamo"
 
 #, fuzzy
+#~ msgid "<b>Uploads</b>"
+#~ msgstr "Ibirimo"
+
+#, fuzzy
+#~ msgid "Up_load"
+#~ msgstr "Ibirimo"
+
+#, fuzzy
+#~ msgid "U_pload"
+#~ msgstr "Ibirimo"
+
+#, fuzzy
 #~ msgid ""
 #~ "You must specify different directories in the configuration in section `%"
 #~ "s' under `%s' and `%s'."
@@ -1558,10 +1585,6 @@
 #~ msgstr "Bihari"
 
 #, fuzzy
-#~ msgid "<b>Statistics</b>"
-#~ msgstr "Sitatisitiki"
-
-#, fuzzy
 #~ msgid "_Insert"
 #~ msgstr "/Idosiye"
 
@@ -1857,10 +1880,6 @@
 #~ msgstr "A bushyinguro"
 
 #, fuzzy
-#~ msgid "_Quit"
-#~ msgstr "/Idosiye"
-
-#, fuzzy
 #~ msgid "_Options"
 #~ msgstr "ibirindiro"
 

Modified: gnunet-gtk/po/sv.po
===================================================================
--- gnunet-gtk/po/sv.po 2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/po/sv.po 2006-10-22 02:55:29 UTC (rev 3544)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gnunet-gtk 0.7.0d\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-05-23 13:55-0700\n"
+"POT-Creation-Date: 2006-06-04 13:01+0200\n"
 "PO-Revision-Date: 2006-05-23 22:27+0100\n"
 "Last-Translator: Daniel Nylander <address@hidden>\n"
 "Language-Team: Swedish <address@hidden>\n"
@@ -19,16 +19,16 @@
 msgid "gnunet-gtk, GNU's Peer-to-Peer Network"
 msgstr "gnunet-gtk, GNU:s Peer-to-Peer-nätverk"
 
-#: gnunet-gtk.glade:70
+#: gnunet-gtk.glade:71
 msgid "Show credits"
 msgstr "Visa tack"
 
-#: gnunet-gtk.glade:89
+#: gnunet-gtk.glade:90
 #, fuzzy
 msgid "<span size=\"x-large\">Welcome to gnunet-gtk 0.7.0e</span>"
 msgstr "<span size=\"x-large\">Välkommen till gnunet-gtk 0.7.0d</span>"
 
-#: gnunet-gtk.glade:121
+#: gnunet-gtk.glade:122
 #, fuzzy
 msgid ""
 "                                                                       \n"
@@ -112,79 +112,80 @@
 "gnunet-downloads).\n"
 "\n"
 
-#: gnunet-gtk.glade:207
+#: gnunet-gtk.glade:208
 msgid "_Welcome"
 msgstr "_Välkommen"
 
-#: gnunet-gtk.glade:282
+#: gnunet-gtk.glade:283
 msgid "Try to start the GNUnet Daemon gnunetd on localhost"
 msgstr "Försök att starta GNUnets demon gnunetd på localhost."
 
-#: gnunet-gtk.glade:326
+#: gnunet-gtk.glade:327
 msgid "start gnunet_d"
 msgstr "starta gnunet_d"
 
-#: gnunet-gtk.glade:362
+#: gnunet-gtk.glade:363
 msgid "Stops the GNUnet daemon gnunetd"
 msgstr "Stoppar GNUnets demon gnunetd"
 
-#: gnunet-gtk.glade:406
+#: gnunet-gtk.glade:407
 msgid "sto_p gnunetd"
 msgstr "sto_ppa gnunetd"
 
-#: gnunet-gtk.glade:479
+#: gnunet-gtk.glade:480
 msgid "<b>gnunetd control</b>"
 msgstr "<b>Kontrollera gnunetd</b>"
 
-#: gnunet-gtk.glade:541
+#: gnunet-gtk.glade:542
 msgid "<b>Running Applications</b>"
 msgstr "<b>Körande applikationer</b>"
 
-#: gnunet-gtk.glade:607
+#: gnunet-gtk.glade:608
 msgid "_General"
 msgstr "_Allmänt"
 
-#: gnunet-gtk.glade:686
+#: gnunet-gtk.glade:687
 msgid "<b>Search Overview</b>"
 msgstr "<b>Sököversikt</b>"
 
-#: gnunet-gtk.glade:766
+#: gnunet-gtk.glade:767
 msgid "Cancel the selected download"
 msgstr "Avbryt den valda nedladdningen"
 
-#: gnunet-gtk.glade:785
+#: gnunet-gtk.glade:786
 msgid "Clear completed downloads from the download list"
 msgstr "Rensa färdiga nedladdningar från nedladdningslistan"
 
-#: gnunet-gtk.glade:805
+#: gnunet-gtk.glade:806
 msgid "_Enter URI:"
 msgstr "An_ge URI:"
 
-#: gnunet-gtk.glade:894
+#: gnunet-gtk.glade:895
 msgid "D_ownload"
 msgstr "Ladda _ner"
 
-#: gnunet-gtk.glade:930 gnunet-gtk.glade:1302
+#: gnunet-gtk.glade:931 gnunet-gtk.glade:1303
 msgid "with _anonymity"
 msgstr "med _anonymitet"
 
-#: gnunet-gtk.glade:996
+#: gnunet-gtk.glade:997
 msgid "<b>Downloads</b>"
 msgstr "<b>Nedladdningar</b>"
 
-#: gnunet-gtk.glade:1058
-msgid "<b>Uploads</b>"
-msgstr "<b>Uppladdningar</b>"
+#: gnunet-gtk.glade:1059
+#, fuzzy
+msgid "<b>Publications</b>"
+msgstr "<b>Körande applikationer</b>"
 
-#: gnunet-gtk.glade:1119
+#: gnunet-gtk.glade:1120
 msgid "Stat_us"
 msgstr "Stat_us"
 
-#: gnunet-gtk.glade:1162 gnunet-gtk.glade:3332 gnunet-gtk.glade:5000
+#: gnunet-gtk.glade:1163 gnunet-gtk.glade:3333 gnunet-gtk.glade:5002
 msgid "_Keyword:"
 msgstr "_Nyckelord:"
 
-#: gnunet-gtk.glade:1221
+#: gnunet-gtk.glade:1222
 msgid ""
 "Search GNUnet for content under the specified keyword (and, if applicable, "
 "restrict the search to the given namespace)"
@@ -192,11 +193,11 @@
 "Sök GNUnet efter innehåll med angivna nyckelord (och om möjligt även "
 "begränsa sökningen till den angivna namnrymden)"
 
-#: gnunet-gtk.glade:1266
+#: gnunet-gtk.glade:1267
 msgid "Sea_rch"
 msgstr "Sö_k"
 
-#: gnunet-gtk.glade:1329
+#: gnunet-gtk.glade:1330
 msgid ""
 "Specify the anonymity level for the search, 0 for no anonymity.  Higher "
 "values provide more privacy but also less performance."
@@ -204,11 +205,11 @@
 "Ange nivå för anonymitet för sökningen, 0 för ingen anonymitet.  Högre "
 "värden ger mer avskildhet men också lägre prestanda."
 
-#: gnunet-gtk.glade:1362
+#: gnunet-gtk.glade:1363
 msgid "in _namespace"
 msgstr "i _namnrymd"
 
-#: gnunet-gtk.glade:1419
+#: gnunet-gtk.glade:1420
 msgid ""
 "This is the rating that you have given this namespace so far.  Ratings are "
 "private and not shared with other users in any way.  They are supposed to "
@@ -218,16 +219,16 @@
 "och delas inte med andra användare på något sätt.  De är tänkta att hjälpa "
 "varje användare att komma i håg vilken namnrymd som är värdefull för honom."
 
-#: gnunet-gtk.glade:1538
+#: gnunet-gtk.glade:1539
 msgid "Search and _Download"
 msgstr "Sök och _ladda ner"
 
-#: gnunet-gtk.glade:1584
+#: gnunet-gtk.glade:1585
 msgid "Method:"
 msgstr "Metod:"
 
 # adversary = motståndare... hacker?
-#: gnunet-gtk.glade:1614
+#: gnunet-gtk.glade:1615
 msgid ""
 "Indexing will avoid copying the file into the GNUnet database.  Instead, "
 "GNUnet will try to add a symbolic link to the specified file.  If that "
@@ -244,12 +245,12 @@
 "modifieras eller flyttas i framtiden.  Indexering är mer effektivt än att "
 "lägga till."
 
-#: gnunet-gtk.glade:1616
+#: gnunet-gtk.glade:1617
 msgid "inde_x"
 msgstr "inde_x"
 
 # adversary = ondsint person?
-#: gnunet-gtk.glade:1638
+#: gnunet-gtk.glade:1639
 msgid ""
 "Inserting a file means that an encrypted copy will be added to the GNUnet "
 "database.  Without the proper key (which is not stored in plaintext "
@@ -265,47 +266,50 @@
 "eller om du är rädd att en ondsint person kan identifiera filen i klartext "
 "på din dator (efter att ha tagit över din dator)."
 
-#: gnunet-gtk.glade:1640
+#: gnunet-gtk.glade:1641
 msgid "i_nsert"
 msgstr "lägg t_ill"
 
-#: gnunet-gtk.glade:1662
+#: gnunet-gtk.glade:1663
 msgid "Scope:"
 msgstr "Omfång:"
 
-#: gnunet-gtk.glade:1692
-msgid "only insert a single file"
+#: gnunet-gtk.glade:1693
+#, fuzzy
+msgid "Only publish a single file."
 msgstr "lägg endast till en enstaka fil"
 
-#: gnunet-gtk.glade:1694
+#: gnunet-gtk.glade:1695
 msgid "file onl_y"
 msgstr "endast _fil"
 
-#: gnunet-gtk.glade:1715
+#: gnunet-gtk.glade:1716
 msgid "_Anonymity:"
 msgstr "_Anonymitet:"
 
-#: gnunet-gtk.glade:1744
+#: gnunet-gtk.glade:1745
 msgid "_Filename:"
 msgstr "_Filnamn:"
 
-#: gnunet-gtk.glade:1773
-msgid "Browse local computer for files (or directories) to upload."
+#: gnunet-gtk.glade:1774
+#, fuzzy
+msgid "Browse local computer for files (or directories) to publish."
 msgstr "Bläddra i lokala datorn efter filer (eller kataloger) att ladda upp."
 
-#: gnunet-gtk.glade:1817
+#: gnunet-gtk.glade:1818
 msgid "_Browse"
 msgstr "_Bläddra"
 
-#: gnunet-gtk.glade:1890
-msgid "Recursively insert an entire directory tree"
+#: gnunet-gtk.glade:1891
+#, fuzzy
+msgid "Recursively publish an entire directory tree."
 msgstr "Lägg till ett helt katalogträd rekursivt"
 
-#: gnunet-gtk.glade:1892
+#: gnunet-gtk.glade:1893
 msgid "_recursive (for entire directories)"
 msgstr "_rekursivt (för hela kataloger)"
 
-#: gnunet-gtk.glade:1915
+#: gnunet-gtk.glade:1916
 msgid ""
 "What level of sender-anonymity is desired when sharing this particular "
 "file?  0 allows direct connections (no anonymity).  Higher levels require "
@@ -317,19 +321,20 @@
 "ökande mängder av döljande trafik per utdelat block, ökande av avskildhet "
 "kostar effektivitet."
 
-#: gnunet-gtk.glade:1938
+#: gnunet-gtk.glade:1939
+#, fuzzy
 msgid ""
-"Upload the specified file with the selected options (you will then be "
+"Share the specified file with the selected options (you will then be "
 "prompted to enter meta-data and keywords)."
 msgstr ""
 "Ladda upp den angivna filen med de valda alternativen (du kommer att frågas "
 "att ange metadata och nyckelord)."
 
-#: gnunet-gtk.glade:1982
-msgid "Up_load"
-msgstr "Ladda _upp"
+#: gnunet-gtk.glade:1983
+msgid "Pub_lish"
+msgstr ""
 
-#: gnunet-gtk.glade:2023
+#: gnunet-gtk.glade:2024
 msgid ""
 "Controls if GNUnet should also produce information for individual files "
 "inside of a directory, as opposed to only allowing the directory itself to "
@@ -339,31 +344,32 @@
 "i en katalog i motsats till endast tillåta att katalogen själv hittas "
 "direkt.  Gäller endast för rekursiva uppladdningar. "
 
-#: gnunet-gtk.glade:2069
+#: gnunet-gtk.glade:2070
 msgid "add keywords for files in directories"
 msgstr "lägg till nyckelord för filer i kataloger"
 
-#: gnunet-gtk.glade:2144
-msgid "U_pload"
-msgstr "Ladda u_pp"
+#: gnunet-gtk.glade:2145
+#, fuzzy
+msgid "_Publication"
+msgstr "Applikation"
 
-#: gnunet-gtk.glade:2187
+#: gnunet-gtk.glade:2188
 msgid "c_reate"
 msgstr "skap_a"
 
-#: gnunet-gtk.glade:2208 gnunet-gtk.glade:2252
+#: gnunet-gtk.glade:2209 gnunet-gtk.glade:2253
 msgid "_Namespace"
 msgstr "_Namnrymd"
 
-#: gnunet-gtk.glade:2217 gnunet-gtk.glade:2262
+#: gnunet-gtk.glade:2218 gnunet-gtk.glade:2263
 msgid "_Collection"
 msgstr "_Samling"
 
-#: gnunet-gtk.glade:2230
+#: gnunet-gtk.glade:2231
 msgid "d_elete"
 msgstr "ta _bort"
 
-#: gnunet-gtk.glade:2251
+#: gnunet-gtk.glade:2252
 msgid ""
 "Will prevent future insertions into the namespace (will not delete content "
 "in the namespace)"
@@ -371,23 +377,23 @@
 "Kommer att förhindra framtida inlägg till namnrymden (kommer inte att ta "
 "bort innehåll i namnrymden)"
 
-#: gnunet-gtk.glade:2261
+#: gnunet-gtk.glade:2262
 msgid "end collection (will not delete content already in the collection)"
 msgstr "avsluta samling (kommer inte ta bort innehåll redan i samlingen)"
 
-#: gnunet-gtk.glade:2399
+#: gnunet-gtk.glade:2400
 msgid "<b>Available Content</b>"
 msgstr "<b>Tillgängligt innehåll</b>"
 
-#: gnunet-gtk.glade:2424
+#: gnunet-gtk.glade:2425
 msgid "should GNUnet track available content (for publishing in namespaces)?"
 msgstr "ska GNUnet spåra tillgängligt innehåll (för publisering i namnrymd)?"
 
-#: gnunet-gtk.glade:2471
+#: gnunet-gtk.glade:2472
 msgid "track available content"
 msgstr "spåra tillgängligt innehåll"
 
-#: gnunet-gtk.glade:2507
+#: gnunet-gtk.glade:2508
 msgid ""
 "Refresh the available content list now (otherwise this is done automatically "
 "roughly every 5 minutes)"
@@ -395,81 +401,84 @@
 "Uppdatera listan över tillgängligt innehåll nu (annars görs detta "
 "automatiskt ungefär var 5:e minut)"
 
-#: gnunet-gtk.glade:2525
+#: gnunet-gtk.glade:2526
 msgid "deletes the tracked available content shown below"
 msgstr "tar bort det spårade tillgängliga innehållet som visas nedan"
 
-#: gnunet-gtk.glade:2584
+#: gnunet-gtk.glade:2585
 msgid "Ad_vanced"
 msgstr "A_vancerat"
 
-#: gnunet-gtk.glade:2642
+#: gnunet-gtk.glade:2643
 msgid "File s_haring"
 msgstr "Fil_delning"
 
-#: gnunet-gtk.glade:2754
+#: gnunet-gtk.glade:2755
 msgid "_Statistics"
 msgstr "_Statistik"
 
-#: gnunet-gtk.glade:2888
+#: gnunet-gtk.glade:2889
 msgid "/join #gnunet"
 msgstr "/join #gnunet"
 
-#: gnunet-gtk.glade:2973
+#: gnunet-gtk.glade:2974
 msgid "Cha_t"
 msgstr "Cha_tt"
 
-#: gnunet-gtk.glade:3026 gnunet-gtk.glade:3042 gnunet-gtk.glade:5444
+#: gnunet-gtk.glade:3027 gnunet-gtk.glade:3043 gnunet-gtk.glade:5446
 msgid "Edit File Information"
 msgstr "Redigera filinformation"
 
-#: gnunet-gtk.glade:3043
+#: gnunet-gtk.glade:3044
 msgid "This dialog is used to edit information about shared files."
 msgstr "Denna dialog används för att redigera information om delade filer."
 
-#: gnunet-gtk.glade:3060 gnunet-gtk.glade:5474 gnunet-gtk.glade:6054
-msgid ""
-"Confirm the displayed meta-data and keywords and proceed with the upload."
-msgstr ""
-"Bekräfta det visade metadatat och nyckelorden och fortsätt med uppladdningen."
+#: gnunet-gtk.glade:3061 gnunet-gtk.glade:5476 gnunet-gtk.glade:6056
+#, fuzzy
+msgid "Cancel the publication."
+msgstr "Avbryt uppladdning."
 
 # Va ?????
-#: gnunet-gtk.glade:3069
+#: gnunet-gtk.glade:3070
 msgid "metaDataDialogCancelButton"
 msgstr "metaDataDialogCancelButton"
 
-#: gnunet-gtk.glade:3070
+#: gnunet-gtk.glade:3071
 msgid "Abort the upload operation."
 msgstr "Avbryt uppladdningen."
 
-#: gnunet-gtk.glade:3078 gnunet-gtk.glade:5489 gnunet-gtk.glade:6069
-msgid "Cancel the upload."
-msgstr "Avbryt uppladdning."
+#: gnunet-gtk.glade:3079 gnunet-gtk.glade:5491 gnunet-gtk.glade:6071
+#, fuzzy
+msgid ""
+"Confirm the displayed meta-data and keywords and proceed with the "
+"publication."
+msgstr ""
+"Bekräfta det visade metadatat och nyckelorden och fortsätt med uppladdningen."
 
-#: gnunet-gtk.glade:3100
+#: gnunet-gtk.glade:3101
 msgid "Please provide meta-data and keywords for the content."
 msgstr "Vänligen ange metadata och nyckelord för innehållet."
 
-#: gnunet-gtk.glade:3131 gnunet-gtk.glade:5142 gnunet-gtk.glade:5758
-#: gnunet-gtk.glade:6290 gnunet-gtk.glade:6798
+#: gnunet-gtk.glade:3132 gnunet-gtk.glade:5144 gnunet-gtk.glade:5760
+#: gnunet-gtk.glade:6292 gnunet-gtk.glade:6800
 msgid "_Type:"
 msgstr "_Typ:"
 
-#: gnunet-gtk.glade:3185 gnunet-gtk.glade:5181 gnunet-gtk.glade:5812
-#: gnunet-gtk.glade:6344 gnunet-gtk.glade:6852
+#: gnunet-gtk.glade:3186 gnunet-gtk.glade:5183 gnunet-gtk.glade:5814
+#: gnunet-gtk.glade:6346 gnunet-gtk.glade:6854
 msgid "_Value:"
 msgstr "_Värde:"
 
-#: gnunet-gtk.glade:3212 gnunet-gtk.glade:5839 gnunet-gtk.glade:6371
-#: gnunet-gtk.glade:6879
+#: gnunet-gtk.glade:3213 gnunet-gtk.glade:5841 gnunet-gtk.glade:6373
+#: gnunet-gtk.glade:6881
 msgid "Enter metadata about the upload"
 msgstr "Ange metadata om uppladdningen"
 
-#: gnunet-gtk.glade:3222
+#: gnunet-gtk.glade:3223
 msgid "Value Entry"
 msgstr "Ange värde"
 
-#: gnunet-gtk.glade:3223
+#: gnunet-gtk.glade:3224
 msgid ""
 "Enter the value for the meta-data of the specified type here.\n"
 "Press ENTER to add the data."
@@ -477,33 +486,32 @@
 "Ange väldet för metadatat av den angivna typen här.\n"
 "Tryck ENTER för att lägga till data."
 
-#: gnunet-gtk.glade:3238 gnunet-gtk.glade:5860 gnunet-gtk.glade:6392
-#: gnunet-gtk.glade:6900
+#: gnunet-gtk.glade:3239
 msgid ""
 "Add the given description to the meta-data describing the uploaded file."
 msgstr ""
 "Lägg till angiven beskrivning till metadata som beskriver den uppladdade "
 "filen."
 
-#: gnunet-gtk.glade:3279 gnunet-gtk.glade:3424 gnunet-gtk.glade:5089
-#: gnunet-gtk.glade:5901 gnunet-gtk.glade:6433 gnunet-gtk.glade:6941
+#: gnunet-gtk.glade:3280 gnunet-gtk.glade:3425 gnunet-gtk.glade:5091
+#: gnunet-gtk.glade:5903 gnunet-gtk.glade:6435 gnunet-gtk.glade:6943
 msgid ""
 "Select entries and use the context menu (right click) in order to delete "
 "keywords."
 msgstr ""
 "Välj poster och använd kontextmenyn (högerklick) för att ta bort nyckelord."
 
-#: gnunet-gtk.glade:3296 gnunet-gtk.glade:5918 gnunet-gtk.glade:6450
-#: gnunet-gtk.glade:6958
+#: gnunet-gtk.glade:3297 gnunet-gtk.glade:5920 gnunet-gtk.glade:6452
+#: gnunet-gtk.glade:6960
 msgid "<b>Meta-data</b>"
 msgstr "<b>Metadata</b>"
 
-#: gnunet-gtk.glade:3359 gnunet-gtk.glade:5569 gnunet-gtk.glade:5676
-#: gnunet-gtk.glade:6149
+#: gnunet-gtk.glade:3360 gnunet-gtk.glade:5571 gnunet-gtk.glade:5678
+#: gnunet-gtk.glade:6151
 msgid "Enter keywords"
 msgstr "Ange nyckelord"
 
-#: gnunet-gtk.glade:3380
+#: gnunet-gtk.glade:3381
 msgid ""
 "Add the specified keyword to the list of keywords under which the file or "
 "directory will be found."
@@ -511,35 +519,35 @@
 "Lägg  till angivet nyckelord till listan av nyckelord under vilken filen "
 "eller katalogen kommer att hittas."
 
-#: gnunet-gtk.glade:3409
+#: gnunet-gtk.glade:3410
 msgid "Lists all of the keywords that will be used."
 msgstr "Listar alla nyckelord som kommer att användas."
 
-#: gnunet-gtk.glade:3441
+#: gnunet-gtk.glade:3442 gnunet-gtk.glade:5108
 msgid "<b>Keywords</b>"
 msgstr "<b>Nyckelord</b>"
 
-#: gnunet-gtk.glade:3477 gnunet-gtk.glade:5954 gnunet-gtk.glade:6994
+#: gnunet-gtk.glade:3478 gnunet-gtk.glade:5956 gnunet-gtk.glade:6996
 msgid "_Preview:"
 msgstr "_Förhandsgranska:"
 
-#: gnunet-gtk.glade:3537
+#: gnunet-gtk.glade:3538
 msgid "Select Preview"
 msgstr "Välj förhandsgranskning"
 
-#: gnunet-gtk.glade:3565
+#: gnunet-gtk.glade:3566
 msgid "File Information"
 msgstr "Filinformation"
 
-#: gnunet-gtk.glade:3651 src/plugins/fs/search.c:679
+#: gnunet-gtk.glade:3652 src/plugins/fs/search.c:679
 msgid "Meta-data"
 msgstr "Metadata"
 
-#: gnunet-gtk.glade:3682
+#: gnunet-gtk.glade:3683
 msgid "Search Results"
 msgstr "Sökresultat"
 
-#: gnunet-gtk.glade:3730
+#: gnunet-gtk.glade:3731
 msgid ""
 "List of search results.  Directories must first be downloaded before their "
 "contents will be displayed."
@@ -547,11 +555,11 @@
 "Lista av sökresultatet.  Kataloger måste först laddas ner före dess innehåll "
 "kommer att visas."
 
-#: gnunet-gtk.glade:3759
+#: gnunet-gtk.glade:3760
 msgid "Anon_ymity:"
 msgstr "Anon_ymitet:"
 
-#: gnunet-gtk.glade:3786
+#: gnunet-gtk.glade:3787
 msgid ""
 "Specify the desired anonymity level for this download. A value of 0 means no "
 "receiver anonymity (allows direct connection).  Use higher values for "
@@ -561,23 +569,23 @@
 "betyder ingen anonymitet för mottagaren (tillåter direktanslutning).  Använd "
 "högre värden för ökad avskildhet men på bekostnad av prestandan."
 
-#: gnunet-gtk.glade:3817
+#: gnunet-gtk.glade:3818
 msgid "Download selected files."
 msgstr "Ladda ner valda filer."
 
-#: gnunet-gtk.glade:3862
+#: gnunet-gtk.glade:3863
 msgid "Down_load"
 msgstr "_Ladda ner"
 
-#: gnunet-gtk.glade:3898
+#: gnunet-gtk.glade:3899
 msgid "Close this search."
 msgstr "Stäng denna sökning."
 
-#: gnunet-gtk.glade:3929
+#: gnunet-gtk.glade:3930
 msgid "Namespace Contents"
 msgstr "Namnrymdens innehåll"
 
-#: gnunet-gtk.glade:3962
+#: gnunet-gtk.glade:3963
 msgid ""
 "List of the files and directories that have been added to this namespace so "
 "far."
@@ -585,59 +593,59 @@
 "Listar de filer och kataloger som har lagts till i denna namnrymd än så "
 "länge."
 
-#: gnunet-gtk.glade:3990
+#: gnunet-gtk.glade:3991
 msgid "Add content to the namespace"
 msgstr "Lägg till innehåll till namnrymden"
 
-#: gnunet-gtk.glade:4008
+#: gnunet-gtk.glade:4009
 msgid "Publish an update to the selected updatable content."
 msgstr "Publisera en uppdatering till det valda uppdateringsbara innehållet."
 
-#: gnunet-gtk.glade:4052
+#: gnunet-gtk.glade:4053
 msgid "U_pdate"
 msgstr "U_ppdatera"
 
-#: gnunet-gtk.glade:4096
+#: gnunet-gtk.glade:4097
 msgid "Chat"
 msgstr "Chatt"
 
-#: gnunet-gtk.glade:4135
+#: gnunet-gtk.glade:4136
 msgid "The current conversation in this chat room."
 msgstr "Den nuvarande konversationen i detta chattrum."
 
-#: gnunet-gtk.glade:4174
+#: gnunet-gtk.glade:4175
 msgid "Hello!"
 msgstr "Hej!"
 
-#: gnunet-gtk.glade:4190
+#: gnunet-gtk.glade:4191
 msgid "Sends the message to all participants in the current chat room."
 msgstr "Skickar meddelandet till alla deltagare i nuvarande chattrum."
 
-#: gnunet-gtk.glade:4236
+#: gnunet-gtk.glade:4237
 msgid "Sen_d"
 msgstr "Skic_ka"
 
-#: gnunet-gtk.glade:4296
+#: gnunet-gtk.glade:4297
 msgid "List of the participants in the chat room."
 msgstr "Lista av deltagare i chattrummet."
 
-#: gnunet-gtk.glade:4321
+#: gnunet-gtk.glade:4322
 msgid "The gnunet-gtk about dialog"
 msgstr "Om gnunet-gtk"
 
-#: gnunet-gtk.glade:4323
+#: gnunet-gtk.glade:4324
 msgid "gnunet-gtk"
 msgstr "gnunet-gtk"
 
-#: gnunet-gtk.glade:4324
+#: gnunet-gtk.glade:4325
 msgid "(C) 2001-2006 Christian Grothoff (and other contributing authors)"
 msgstr "© 2001-2006 Christian Grothoff (och andra bidragande upphovsmän)"
 
-#: gnunet-gtk.glade:4325
+#: gnunet-gtk.glade:4326
 msgid "https://gnunet.org/";
 msgstr "https://gnunet.org/";
 
-#: gnunet-gtk.glade:4326
+#: gnunet-gtk.glade:4327
 msgid ""
 "                    GNU GENERAL PUBLIC LICENSE\n"
 "                       Version 2, June 1991\n"
@@ -1292,11 +1300,11 @@
 "\n"
 "                     SLUT PÅ LICENSVILLKOR\n"
 
-#: gnunet-gtk.glade:4610
+#: gnunet-gtk.glade:4611
 msgid "GNUnet Website"
 msgstr "GNUnets webbplats"
 
-#: gnunet-gtk.glade:4644
+#: gnunet-gtk.glade:4645
 msgid ""
 "Di Ma\n"
 "Jens Palsberg <address@hidden>\n"
@@ -1326,41 +1334,44 @@
 "Phan Vinh Thinh <address@hidden>\n"
 "Daniel Nylander <address@hidden>\n"
 
-#: gnunet-gtk.glade:4669
-msgid "Select file to upload to GNUnet"
+#: gnunet-gtk.glade:4670
+#, fuzzy
+msgid "Select file to publish to GNUnet"
 msgstr "Välj fil att ladda upp till GNUnet"
 
-#: gnunet-gtk.glade:4698
-msgid "Cancel selecting file to upload"
+#: gnunet-gtk.glade:4699
+#, fuzzy
+msgid "Cancel selecting file to publish."
 msgstr "Avbryt val av fil för uppladdning"
 
-#: gnunet-gtk.glade:4712
-msgid "Select this file (or directory) for the upload"
+#: gnunet-gtk.glade:4713
+#, fuzzy
+msgid "Select this file (or directory) for the publication."
 msgstr "Välj denna fil (eller katalog) för uppladdning"
 
-#: gnunet-gtk.glade:4737
+#: gnunet-gtk.glade:4739
 msgid "Create Namespace"
 msgstr "Skapa namnrymd"
 
-#: gnunet-gtk.glade:4767
+#: gnunet-gtk.glade:4769
+msgid "Cancel namespace creation."
+msgstr "Avbryt skapandet av namnrymd"
+
+#: gnunet-gtk.glade:4784
 msgid ""
 "Confirm the specified data. Creates the namespace and publishes the "
 "advertisements."
 msgstr "Bekräfta angivet data. Skapar namnrymden och publiserar annonseringen."
 
-#: gnunet-gtk.glade:4782
-msgid "Cancel namespace creation."
-msgstr "Avbryt skapandet av namnrymd"
-
-#: gnunet-gtk.glade:4805
+#: gnunet-gtk.glade:4807
 msgid "Please provide information about the namespace"
 msgstr "Vänligen ange information om namnrymden"
 
-#: gnunet-gtk.glade:4836
+#: gnunet-gtk.glade:4838
 msgid "_Name:"
 msgstr "_Namn:"
 
-#: gnunet-gtk.glade:4862
+#: gnunet-gtk.glade:4864
 msgid ""
 "Each namespace is supposed to have a name.  While GNUnet cannot guarantee "
 "that these names are unique, users should try to select names that are "
@@ -1370,11 +1381,12 @@
 "att dessa namn är unika bör användarna försöka att välja namn som "
 "förhoppningsvis är olika och som passar för innehållet i namnrymden."
 
-#: gnunet-gtk.glade:4882
-msgid "_Root"
+#: gnunet-gtk.glade:4884
+#, fuzzy
+msgid "_Root:"
 msgstr "_Rot"
 
-#: gnunet-gtk.glade:4909
+#: gnunet-gtk.glade:4911
 msgid ""
 "The namespace root is the file or directory in the namespace that will be "
 "advertised to other users.  Typically it contains a directory with the "
@@ -1385,11 +1397,11 @@
 "annonseras till andra användare.  Normalt sett innehåller den en katalog som "
 "innehållet av namnrymden. Du får välja en valfri identifierare för roten."
 
-#: gnunet-gtk.glade:4942
+#: gnunet-gtk.glade:4944
 msgid "Anonymity (for namespace advertisement):"
 msgstr "Anonymitet (för annonsering av namnrymd):"
 
-#: gnunet-gtk.glade:5027
+#: gnunet-gtk.glade:5029
 msgid ""
 "Enter a keyword under which advertisements for this namespace will be "
 "published."
@@ -1397,7 +1409,7 @@
 "Ange ett nyckelord under vilken annonsering av denna namnrymd kommer att "
 "publiseras."
 
-#: gnunet-gtk.glade:5048
+#: gnunet-gtk.glade:5050
 msgid ""
 "Add the given keyword to the list of keywords under which advertisements for "
 "the namespace will be published."
@@ -1405,20 +1417,16 @@
 "Lägg till angivet nyckelord till listan av nyckelord under vilken "
 "annonseringen av denna namnrymd kommer att publiseras."
 
-#: gnunet-gtk.glade:5106 src/plugins/fs/extensions/musicinsert.c:225
-msgid "Keywords"
-msgstr "Nyckelord"
-
-#: gnunet-gtk.glade:5208
+#: gnunet-gtk.glade:5210
 msgid "Enter meta-data (descriptions) for this namespace"
 msgstr "Ange metadata (beskrivningar) för denna namnrymd"
 
-#: gnunet-gtk.glade:5229
+#: gnunet-gtk.glade:5231
 msgid "Add the given metadata entry to the metadata for this namespace."
 msgstr ""
 "Lägg till den angivna metadataposten till metadatat för denna namnrymd."
 
-#: gnunet-gtk.glade:5270
+#: gnunet-gtk.glade:5272
 msgid ""
 "Metadata describing the namespace (used in advertisements).  Use the context "
 "menu (right-click) to delete selected entries."
@@ -1426,43 +1434,44 @@
 "Metadata som beskriver namnrymden (används för annonsering).  Använd "
 "kontextmenyn (högerklick) för att ta bort valda poster."
 
-#: gnunet-gtk.glade:5287
-msgid "Metadata"
-msgstr "Metadata"
+#: gnunet-gtk.glade:5289
+#, fuzzy
+msgid "<b>Metadata</b>"
+msgstr "<b>Metadata</b>"
 
-#: gnunet-gtk.glade:5323
+#: gnunet-gtk.glade:5325
 msgid "Close the selected search"
 msgstr "Stäng den valda sökningen"
 
-#: gnunet-gtk.glade:5324
+#: gnunet-gtk.glade:5326
 msgid "_Close"
 msgstr "_Stäng"
 
-#: gnunet-gtk.glade:5360
+#: gnunet-gtk.glade:5362
 msgid "Messages"
 msgstr "Meddelanden"
 
-#: gnunet-gtk.glade:5511
+#: gnunet-gtk.glade:5513
 msgid "Please provide meta-data and an identifier for the content."
 msgstr "Vänligen ange metadata och en identifierare för innehållet."
 
-#: gnunet-gtk.glade:5542 gnunet-gtk.glade:6122
+#: gnunet-gtk.glade:5544 gnunet-gtk.glade:6124
 msgid "_Identifier:"
 msgstr "_Identifierare:"
 
-#: gnunet-gtk.glade:5590 gnunet-gtk.glade:6170 gnunet-gtk.glade:6633
+#: gnunet-gtk.glade:5592 gnunet-gtk.glade:6172 gnunet-gtk.glade:6635
 msgid "Anonymit_y:"
 msgstr "Anonymi_tet:"
 
-#: gnunet-gtk.glade:5649 gnunet-gtk.glade:6692
+#: gnunet-gtk.glade:5651 gnunet-gtk.glade:6694
 msgid "_Next Identifier:"
 msgstr "_Nästa identifierare:"
 
-#: gnunet-gtk.glade:5697 gnunet-gtk.glade:6229 gnunet-gtk.glade:6737
+#: gnunet-gtk.glade:5699 gnunet-gtk.glade:6231 gnunet-gtk.glade:6739
 msgid "_Update Interval:"
 msgstr "_Uppdateringsintervall:"
 
-#: gnunet-gtk.glade:5723 gnunet-gtk.glade:6255 gnunet-gtk.glade:6763
+#: gnunet-gtk.glade:5725 gnunet-gtk.glade:6257 gnunet-gtk.glade:6765
 msgid ""
 "--no update--\n"
 "--sporadic update--\n"
@@ -1480,31 +1489,47 @@
 "1 månad\n"
 "1 år\n"
 
-#: gnunet-gtk.glade:6024
+#: gnunet-gtk.glade:5862 gnunet-gtk.glade:6394 gnunet-gtk.glade:6902
+#, fuzzy
+msgid ""
+"Add the given description to the meta-data describing the published file."
+msgstr ""
+"Lägg till angiven beskrivning till metadata som beskriver den uppladdade "
+"filen."
+
+#: gnunet-gtk.glade:6026
 msgid "Edit Collection Information"
 msgstr "Redigera information om samling"
 
-#: gnunet-gtk.glade:6091
+#: gnunet-gtk.glade:6093
 msgid "Please provide meta-data and an identifier for the collection."
 msgstr "Skicka med metadta och en identifierare för samlingen."
 
-#: gnunet-gtk.glade:6482
+#: gnunet-gtk.glade:6484
 msgid "Enter Meta-Information about Namespace Content"
 msgstr "Ange metainformation om namnrymdens innehåll"
 
-#: gnunet-gtk.glade:6552
+#: gnunet-gtk.glade:6554
 msgid ""
 "Please provide information about the update to the content in the namespace."
 msgstr "Skicka med information om uppdateringen till innehållet i namnrymden."
 
-#: gnunet-gtk.glade:6583
+#: gnunet-gtk.glade:6585
 msgid "Identifier:"
 msgstr "Identifierare:"
 
-#: gnunet-gtk.glade:6608
+#: gnunet-gtk.glade:6610
 msgid "BUG: SET ME!"
 msgstr "FEL: STÄLL IN MIG!"
 
+#: gnunet-gtk.glade:7144
+msgid "Stop and close gnunet-gtk."
+msgstr ""
+
+#: gnunet-gtk.glade:7145
+msgid "_Quit"
+msgstr ""
+
 #: src/plugins/fs/search.c:79 src/plugins/fs/namespace.c:435
 msgid "unknown"
 msgstr "okänd"
@@ -1645,6 +1670,10 @@
 msgid "Format"
 msgstr "Format"
 
+#: src/plugins/fs/extensions/musicinsert.c:225
+msgid "Keywords"
+msgstr "Nyckelord"
+
 #: src/plugins/fs/extensions/musicinsert.c:301
 msgid "Select all files"
 msgstr "Välj alla filer"
@@ -1852,39 +1881,51 @@
 msgid "Current (red) and average (green) effectiveness (100% = perfect)"
 msgstr ""
 
-#: src/common/helper.c:271
+#: src/common/helper.c:277
 #, c-format
 msgid "Failed to find handler for `%s'\n"
 msgstr "Misslyckades att hitta en hanterare för \"%s\"\n"
 
-#: src/common/helper.c:297
+#: src/common/helper.c:303
 #, c-format
 msgid "Failed to load plugin `%s'\n"
 msgstr "Misslyckades att läsa in instick \"%s\"\n"
 
-#: src/common/helper.c:376
+#: src/common/helper.c:382
 #, c-format
 msgid "Failed to open `%s'.\n"
 msgstr "Misslyckades att öppna \"%s\".\n"
 
-#: src/common/helper.c:519
+#: src/common/helper.c:525
 #, fuzzy
 msgid "Could not initialize libnotify\n"
 msgstr "Kunde inte initiera libnotify\n"
 
-#: src/common/helper.c:549
+#: src/common/helper.c:555
 #, fuzzy
 msgid "Could not send notification via libnotify\n"
 msgstr "Kunde inte skicka notifiering\n"
 
-#: src/core/main.c:46
+#: src/core/main.c:54
 msgid "GNUnet GTK user interface."
 msgstr "GTK-användargränssnitt för GNUnet."
 
-#: src/core/main.c:85
+#: src/core/main.c:98
 msgid "Use --help to get a list of options.\n"
 msgstr "Använd --help för att få en lista på flaggor.\n"
 
+#~ msgid "<b>Uploads</b>"
+#~ msgstr "<b>Uppladdningar</b>"
+
+#~ msgid "Up_load"
+#~ msgstr "Ladda _upp"
+
+#~ msgid "U_pload"
+#~ msgstr "Ladda u_pp"
+
+#~ msgid "Metadata"
+#~ msgstr "Metadata"
+
 #~ msgid ""
 #~ "\n"
 #~ "                                                                       \n"

Modified: gnunet-gtk/po/vi.po
===================================================================
--- gnunet-gtk/po/vi.po 2006-10-22 02:54:44 UTC (rev 3543)
+++ gnunet-gtk/po/vi.po 2006-10-22 02:55:29 UTC (rev 3544)
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gnunet-gtk 0.7.0pre4\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2006-05-23 13:55-0700\n"
+"POT-Creation-Date: 2006-06-04 13:01+0200\n"
 "PO-Revision-Date: 2005-07-05 22:33+0400\n"
 "Last-Translator: Phan Vinh Thinh <address@hidden>\n"
 "Language-Team: Vietnamese <address@hidden>\n"
@@ -19,15 +19,15 @@
 msgid "gnunet-gtk, GNU's Peer-to-Peer Network"
 msgstr "gnunet-gtk, Mạng Peer-to-Peer của GNU"
 
-#: gnunet-gtk.glade:70
+#: gnunet-gtk.glade:71
 msgid "Show credits"
 msgstr "Hiển thị Lời cám ơn"
 
-#: gnunet-gtk.glade:89
+#: gnunet-gtk.glade:90
 msgid "<span size=\"x-large\">Welcome to gnunet-gtk 0.7.0e</span>"
 msgstr "<span size=\"x-large\">Chào mừng tới gnunet-gtk 0.7.0e</span>"
 
-#: gnunet-gtk.glade:121
+#: gnunet-gtk.glade:122
 msgid ""
 "                                                                       \n"
 "gnunet-gtk is the GTK+ user interface for GNUnet. It is intended to "
@@ -73,82 +73,83 @@
 "\n"
 msgstr ""
 
-#: gnunet-gtk.glade:207
+#: gnunet-gtk.glade:208
 msgid "_Welcome"
 msgstr "_Chào mừng"
 
-#: gnunet-gtk.glade:282
+#: gnunet-gtk.glade:283
 msgid "Try to start the GNUnet Daemon gnunetd on localhost"
 msgstr "Hãy thử chạy Daemon GNUnet gnunetd trên máy nội bộ localhost"
 
-#: gnunet-gtk.glade:326
+#: gnunet-gtk.glade:327
 msgid "start gnunet_d"
 msgstr "chạy gnunet_d"
 
-#: gnunet-gtk.glade:362
+#: gnunet-gtk.glade:363
 msgid "Stops the GNUnet daemon gnunetd"
 msgstr "Dừng daemon của GNUnet gnunetd"
 
-#: gnunet-gtk.glade:406
+#: gnunet-gtk.glade:407
 msgid "sto_p gnunetd"
 msgstr "dừn_g gnunetd"
 
-#: gnunet-gtk.glade:479
+#: gnunet-gtk.glade:480
 msgid "<b>gnunetd control</b>"
 msgstr "<b>điều khiển gnunetd</b>"
 
-#: gnunet-gtk.glade:541
+#: gnunet-gtk.glade:542
 #, fuzzy
 msgid "<b>Running Applications</b>"
 msgstr "<b>Các ứng dụng có</b>"
 
-#: gnunet-gtk.glade:607
+#: gnunet-gtk.glade:608
 msgid "_General"
 msgstr "_Chung"
 
-#: gnunet-gtk.glade:686
+#: gnunet-gtk.glade:687
 msgid "<b>Search Overview</b>"
 msgstr "<b>Xem tổng quát Tìm kiếm</b>"
 
-#: gnunet-gtk.glade:766
+#: gnunet-gtk.glade:767
 msgid "Cancel the selected download"
 msgstr "Dừng các tải đã chọn"
 
-#: gnunet-gtk.glade:785
+#: gnunet-gtk.glade:786
 msgid "Clear completed downloads from the download list"
 msgstr "Xóa các công việc tải đã hoàn thảnh khỏi danh sách"
 
-#: gnunet-gtk.glade:805
+#: gnunet-gtk.glade:806
 msgid "_Enter URI:"
 msgstr ""
 
-#: gnunet-gtk.glade:894
+#: gnunet-gtk.glade:895
 #, fuzzy
 msgid "D_ownload"
 msgstr "Tải _xuống"
 
-#: gnunet-gtk.glade:930 gnunet-gtk.glade:1302
+#: gnunet-gtk.glade:931 gnunet-gtk.glade:1303
 #, fuzzy
 msgid "with _anonymity"
 msgstr "_Giấu tên:"
 
-#: gnunet-gtk.glade:996
+#: gnunet-gtk.glade:997
 msgid "<b>Downloads</b>"
 msgstr "<b>Tải xuống</b>"
 
-#: gnunet-gtk.glade:1058
-msgid "<b>Uploads</b>"
-msgstr "<b>Tải lên</b>"
+#: gnunet-gtk.glade:1059
+#, fuzzy
+msgid "<b>Publications</b>"
+msgstr "<b>Các ứng dụng có</b>"
 
-#: gnunet-gtk.glade:1119
+#: gnunet-gtk.glade:1120
 msgid "Stat_us"
 msgstr "Trạng thá_i"
 
-#: gnunet-gtk.glade:1162 gnunet-gtk.glade:3332 gnunet-gtk.glade:5000
+#: gnunet-gtk.glade:1163 gnunet-gtk.glade:3333 gnunet-gtk.glade:5002
 msgid "_Keyword:"
 msgstr "_Từ khóa:"
 
-#: gnunet-gtk.glade:1221
+#: gnunet-gtk.glade:1222
 msgid ""
 "Search GNUnet for content under the specified keyword (and, if applicable, "
 "restrict the search to the given namespace)"
@@ -156,11 +157,11 @@
 "Tìm kiếm nội dung theo từ khóa chỉ ra trong GNUnet (và, nếu có thể, giới hạn "
 "tìm kiếm trong không gian tên đưa ra)"
 
-#: gnunet-gtk.glade:1266
+#: gnunet-gtk.glade:1267
 msgid "Sea_rch"
 msgstr "Tìm _kiếm"
 
-#: gnunet-gtk.glade:1329
+#: gnunet-gtk.glade:1330
 msgid ""
 "Specify the anonymity level for the search, 0 for no anonymity.  Higher "
 "values provide more privacy but also less performance."
@@ -168,27 +169,27 @@
 "Chỉ ra mức độ giấu tên cho tìm kiếm, 0 để không giấu tên.  Các giá trị cao "
 "hơn tăng tính bảo mật nhưng làm giảm hiệu suất."
 
-#: gnunet-gtk.glade:1362
+#: gnunet-gtk.glade:1363
 msgid "in _namespace"
 msgstr "trong không _gian tên"
 
-#: gnunet-gtk.glade:1419
+#: gnunet-gtk.glade:1420
 msgid ""
 "This is the rating that you have given this namespace so far.  Ratings are "
 "private and not shared with other users in any way.  They are supposed to "
 "help each user remember which namespace is worthwile for him."
 msgstr ""
 
-#: gnunet-gtk.glade:1538
+#: gnunet-gtk.glade:1539
 #, fuzzy
 msgid "Search and _Download"
 msgstr "_Tải xuống"
 
-#: gnunet-gtk.glade:1584
+#: gnunet-gtk.glade:1585
 msgid "Method:"
 msgstr "Phương pháp:"
 
-#: gnunet-gtk.glade:1614
+#: gnunet-gtk.glade:1615
 msgid ""
 "Indexing will avoid copying the file into the GNUnet database.  Instead, "
 "GNUnet will try to add a symbolic link to the specified file.  If that "
@@ -198,11 +199,11 @@
 "efficient than insertion."
 msgstr ""
 
-#: gnunet-gtk.glade:1616
+#: gnunet-gtk.glade:1617
 msgid "inde_x"
 msgstr "chỉ mụ_c"
 
-#: gnunet-gtk.glade:1638
+#: gnunet-gtk.glade:1639
 msgid ""
 "Inserting a file means that an encrypted copy will be added to the GNUnet "
 "database.  Without the proper key (which is not stored in plaintext "
@@ -212,47 +213,50 @@
 "(after compromising your machine)."
 msgstr ""
 
-#: gnunet-gtk.glade:1640
+#: gnunet-gtk.glade:1641
 msgid "i_nsert"
 msgstr "chè_n"
 
-#: gnunet-gtk.glade:1662
+#: gnunet-gtk.glade:1663
 msgid "Scope:"
 msgstr "Khu vực:"
 
-#: gnunet-gtk.glade:1692
-msgid "only insert a single file"
+#: gnunet-gtk.glade:1693
+#, fuzzy
+msgid "Only publish a single file."
 msgstr "chỉ chèn một tập tin đơn"
 
-#: gnunet-gtk.glade:1694
+#: gnunet-gtk.glade:1695
 msgid "file onl_y"
 msgstr "chỉ tập ti_n"
 
-#: gnunet-gtk.glade:1715
+#: gnunet-gtk.glade:1716
 msgid "_Anonymity:"
 msgstr "_Giấu tên:"
 
-#: gnunet-gtk.glade:1744
+#: gnunet-gtk.glade:1745
 msgid "_Filename:"
 msgstr "_Tên tập tin:"
 
-#: gnunet-gtk.glade:1773
-msgid "Browse local computer for files (or directories) to upload."
+#: gnunet-gtk.glade:1774
+#, fuzzy
+msgid "Browse local computer for files (or directories) to publish."
 msgstr "Duyệt tìm tập tin (hoặc thư mục) trên máy nội bộ để tải lên."
 
-#: gnunet-gtk.glade:1817
+#: gnunet-gtk.glade:1818
 msgid "_Browse"
 msgstr "_Duyệt"
 
-#: gnunet-gtk.glade:1890
-msgid "Recursively insert an entire directory tree"
+#: gnunet-gtk.glade:1891
+#, fuzzy
+msgid "Recursively publish an entire directory tree."
 msgstr "Chèn đệ quy toàn bộ một cây thư mục"
 
-#: gnunet-gtk.glade:1892
+#: gnunet-gtk.glade:1893
 msgid "_recursive (for entire directories)"
 msgstr "đệ _quy (cho toàn bộ thư mục)"
 
-#: gnunet-gtk.glade:1915
+#: gnunet-gtk.glade:1916
 msgid ""
 "What level of sender-anonymity is desired when sharing this particular "
 "file?  0 allows direct connections (no anonymity).  Higher levels require "
@@ -260,52 +264,53 @@
 "privacy at the expense of efficiency."
 msgstr ""
 
-#: gnunet-gtk.glade:1938
+#: gnunet-gtk.glade:1939
+#, fuzzy
 msgid ""
-"Upload the specified file with the selected options (you will then be "
+"Share the specified file with the selected options (you will then be "
 "prompted to enter meta-data and keywords)."
 msgstr ""
 "Tải lên tập tin chỉ ra với các tùy chọn đã chọn (sẽ hỏi người dùng nhập dữ "
 "liệu mêta và từ khóa)."
 
-#: gnunet-gtk.glade:1982
-msgid "Up_load"
-msgstr "Tải _lên"
+#: gnunet-gtk.glade:1983
+msgid "Pub_lish"
+msgstr ""
 
-#: gnunet-gtk.glade:2023
+#: gnunet-gtk.glade:2024
 msgid ""
 "Controls if GNUnet should also produce information for individual files "
 "inside of a directory, as opposed to only allowing the directory itself to "
 "be found directly.  Only applies for recursive uploads."
 msgstr ""
 
-#: gnunet-gtk.glade:2069
+#: gnunet-gtk.glade:2070
 #, fuzzy
 msgid "add keywords for files in directories"
 msgstr "đệ _quy (cho toàn bộ thư mục)"
 
-#: gnunet-gtk.glade:2144
+#: gnunet-gtk.glade:2145
 #, fuzzy
-msgid "U_pload"
-msgstr "Tải _lên"
+msgid "_Publication"
+msgstr "Thông báo"
 
-#: gnunet-gtk.glade:2187
+#: gnunet-gtk.glade:2188
 msgid "c_reate"
 msgstr "_tạo"
 
-#: gnunet-gtk.glade:2208 gnunet-gtk.glade:2252
+#: gnunet-gtk.glade:2209 gnunet-gtk.glade:2253
 msgid "_Namespace"
 msgstr "_Không gian tên"
 
-#: gnunet-gtk.glade:2217 gnunet-gtk.glade:2262
+#: gnunet-gtk.glade:2218 gnunet-gtk.glade:2263
 msgid "_Collection"
 msgstr "_Thu thập"
 
-#: gnunet-gtk.glade:2230
+#: gnunet-gtk.glade:2231
 msgid "d_elete"
 msgstr "_xóa"
 
-#: gnunet-gtk.glade:2251
+#: gnunet-gtk.glade:2252
 msgid ""
 "Will prevent future insertions into the namespace (will not delete content "
 "in the namespace)"
@@ -313,103 +318,106 @@
 "Sẽ không cho phép chèn thêm vào không gian tên (sẽ không xóa nội dung trong "
 "không gian tên)"
 
-#: gnunet-gtk.glade:2261
+#: gnunet-gtk.glade:2262
 msgid "end collection (will not delete content already in the collection)"
 msgstr "dừng thu thập (sẽ không xóa nội dung đã có trong bộ sưu tập)"
 
-#: gnunet-gtk.glade:2399
+#: gnunet-gtk.glade:2400
 msgid "<b>Available Content</b>"
 msgstr "<b>Nội dung có</b>"
 
-#: gnunet-gtk.glade:2424
+#: gnunet-gtk.glade:2425
 msgid "should GNUnet track available content (for publishing in namespaces)?"
 msgstr ""
 
-#: gnunet-gtk.glade:2471
+#: gnunet-gtk.glade:2472
 #, fuzzy
 msgid "track available content"
 msgstr "<b>Nội dung có</b>"
 
-#: gnunet-gtk.glade:2507
+#: gnunet-gtk.glade:2508
 msgid ""
 "Refresh the available content list now (otherwise this is done automatically "
 "roughly every 5 minutes)"
 msgstr ""
 
-#: gnunet-gtk.glade:2525
+#: gnunet-gtk.glade:2526
 msgid "deletes the tracked available content shown below"
 msgstr ""
 
-#: gnunet-gtk.glade:2584
+#: gnunet-gtk.glade:2585
 msgid "Ad_vanced"
 msgstr "_Nâng cao"
 
-#: gnunet-gtk.glade:2642
+#: gnunet-gtk.glade:2643
 msgid "File s_haring"
 msgstr "_Chia sẻ tập tin"
 
-#: gnunet-gtk.glade:2754
+#: gnunet-gtk.glade:2755
 msgid "_Statistics"
 msgstr "_Thống kê"
 
-#: gnunet-gtk.glade:2888
+#: gnunet-gtk.glade:2889
 msgid "/join #gnunet"
 msgstr "/nhập vào #gnunet"
 
-#: gnunet-gtk.glade:2973
+#: gnunet-gtk.glade:2974
 msgid "Cha_t"
 msgstr "_Nói chuyện"
 
-#: gnunet-gtk.glade:3026 gnunet-gtk.glade:3042 gnunet-gtk.glade:5444
+#: gnunet-gtk.glade:3027 gnunet-gtk.glade:3043 gnunet-gtk.glade:5446
 msgid "Edit File Information"
 msgstr "Sửa thông tin tập tin"
 
-#: gnunet-gtk.glade:3043
+#: gnunet-gtk.glade:3044
 msgid "This dialog is used to edit information about shared files."
 msgstr "Hộp thoại này dùng để sửa thông tin về các tập tin chia sẻ."
 
-#: gnunet-gtk.glade:3060 gnunet-gtk.glade:5474 gnunet-gtk.glade:6054
-msgid ""
-"Confirm the displayed meta-data and keywords and proceed with the upload."
-msgstr ""
-"Xác nhận các dữ liệu mêta và từ khóa đã hiển thị và đã thực hiện với tải lên."
+#: gnunet-gtk.glade:3061 gnunet-gtk.glade:5476 gnunet-gtk.glade:6056
+#, fuzzy
+msgid "Cancel the publication."
+msgstr "Dừng tải lên."
 
-#: gnunet-gtk.glade:3069
+#: gnunet-gtk.glade:3070
 msgid "metaDataDialogCancelButton"
 msgstr ""
 
-#: gnunet-gtk.glade:3070
+#: gnunet-gtk.glade:3071
 msgid "Abort the upload operation."
 msgstr "Thoát khỏi thao tác tải lên."
 
-#: gnunet-gtk.glade:3078 gnunet-gtk.glade:5489 gnunet-gtk.glade:6069
-msgid "Cancel the upload."
-msgstr "Dừng tải lên."
+#: gnunet-gtk.glade:3079 gnunet-gtk.glade:5491 gnunet-gtk.glade:6071
+#, fuzzy
+msgid ""
+"Confirm the displayed meta-data and keywords and proceed with the "
+"publication."
+msgstr ""
+"Xác nhận các dữ liệu mêta và từ khóa đã hiển thị và đã thực hiện với tải lên."
 
-#: gnunet-gtk.glade:3100
+#: gnunet-gtk.glade:3101
 msgid "Please provide meta-data and keywords for the content."
 msgstr "Xin hãy cung cấp dữ liệu mêta và từ khóa cho nội dung."
 
-#: gnunet-gtk.glade:3131 gnunet-gtk.glade:5142 gnunet-gtk.glade:5758
-#: gnunet-gtk.glade:6290 gnunet-gtk.glade:6798
+#: gnunet-gtk.glade:3132 gnunet-gtk.glade:5144 gnunet-gtk.glade:5760
+#: gnunet-gtk.glade:6292 gnunet-gtk.glade:6800
 msgid "_Type:"
 msgstr "_Dạng:"
 
-#: gnunet-gtk.glade:3185 gnunet-gtk.glade:5181 gnunet-gtk.glade:5812
-#: gnunet-gtk.glade:6344 gnunet-gtk.glade:6852
+#: gnunet-gtk.glade:3186 gnunet-gtk.glade:5183 gnunet-gtk.glade:5814
+#: gnunet-gtk.glade:6346 gnunet-gtk.glade:6854
 msgid "_Value:"
 msgstr "_Giá trị:"
 
-#: gnunet-gtk.glade:3212 gnunet-gtk.glade:5839 gnunet-gtk.glade:6371
-#: gnunet-gtk.glade:6879
+#: gnunet-gtk.glade:3213 gnunet-gtk.glade:5841 gnunet-gtk.glade:6373
+#: gnunet-gtk.glade:6881
 msgid "Enter metadata about the upload"
 msgstr "Nhập dữ liệu mêta về tải lên"
 
-#: gnunet-gtk.glade:3222
+#: gnunet-gtk.glade:3223
 msgid "Value Entry"
 msgstr "Giá trị của Mục"
 
-#: gnunet-gtk.glade:3223
+#: gnunet-gtk.glade:3224
 msgid ""
 "Enter the value for the meta-data of the specified type here.\n"
 "Press ENTER to add the data."
@@ -417,67 +425,66 @@
 "Xin hãy nhập giá trị cho dữ liệu mêta của dạng chi ra ở đây.\n"
 "Nhấn ENTER để thêm dữ liệu."
 
-#: gnunet-gtk.glade:3238 gnunet-gtk.glade:5860 gnunet-gtk.glade:6392
-#: gnunet-gtk.glade:6900
+#: gnunet-gtk.glade:3239
 msgid ""
 "Add the given description to the meta-data describing the uploaded file."
 msgstr "Thêm mô tả đã chọn vào dữ liệu mêta mô tả tập tin đã tải lên."
 
-#: gnunet-gtk.glade:3279 gnunet-gtk.glade:3424 gnunet-gtk.glade:5089
-#: gnunet-gtk.glade:5901 gnunet-gtk.glade:6433 gnunet-gtk.glade:6941
+#: gnunet-gtk.glade:3280 gnunet-gtk.glade:3425 gnunet-gtk.glade:5091
+#: gnunet-gtk.glade:5903 gnunet-gtk.glade:6435 gnunet-gtk.glade:6943
 msgid ""
 "Select entries and use the context menu (right click) in order to delete "
 "keywords."
 msgstr ""
 "Chọn các mục và dùng trình đơn mở ra khi nhấn chuột phải để xóa từ khóa."
 
-#: gnunet-gtk.glade:3296 gnunet-gtk.glade:5918 gnunet-gtk.glade:6450
-#: gnunet-gtk.glade:6958
+#: gnunet-gtk.glade:3297 gnunet-gtk.glade:5920 gnunet-gtk.glade:6452
+#: gnunet-gtk.glade:6960
 msgid "<b>Meta-data</b>"
 msgstr "<b>Dữ liệu Mêta</b>"
 
-#: gnunet-gtk.glade:3359 gnunet-gtk.glade:5569 gnunet-gtk.glade:5676
-#: gnunet-gtk.glade:6149
+#: gnunet-gtk.glade:3360 gnunet-gtk.glade:5571 gnunet-gtk.glade:5678
+#: gnunet-gtk.glade:6151
 msgid "Enter keywords"
 msgstr "Nhập từ khóa"
 
-#: gnunet-gtk.glade:3380
+#: gnunet-gtk.glade:3381
 msgid ""
 "Add the specified keyword to the list of keywords under which the file or "
 "directory will be found."
 msgstr ""
 "Thêm từ khóa chỉ ra tới danh sách từ khóa để tìm các thư mục hay tập tin."
 
-#: gnunet-gtk.glade:3409
+#: gnunet-gtk.glade:3410
 msgid "Lists all of the keywords that will be used."
 msgstr "Liệt kê tất cả các từ khóa sẽ dùng."
 
-#: gnunet-gtk.glade:3441
+#: gnunet-gtk.glade:3442 gnunet-gtk.glade:5108
 msgid "<b>Keywords</b>"
 msgstr "<b>Từ khóa</b>"
 
-#: gnunet-gtk.glade:3477 gnunet-gtk.glade:5954 gnunet-gtk.glade:6994
+#: gnunet-gtk.glade:3478 gnunet-gtk.glade:5956 gnunet-gtk.glade:6996
 msgid "_Preview:"
 msgstr "_Xem trước:"
 
-#: gnunet-gtk.glade:3537
+#: gnunet-gtk.glade:3538
 #, fuzzy
 msgid "Select Preview"
 msgstr "Xem trước"
 
-#: gnunet-gtk.glade:3565
+#: gnunet-gtk.glade:3566
 msgid "File Information"
 msgstr "Thông tin Tập tin"
 
-#: gnunet-gtk.glade:3651 src/plugins/fs/search.c:679
+#: gnunet-gtk.glade:3652 src/plugins/fs/search.c:679
 msgid "Meta-data"
 msgstr "Dữ liệu Mêta"
 
-#: gnunet-gtk.glade:3682
+#: gnunet-gtk.glade:3683
 msgid "Search Results"
 msgstr "Kết quả Tìm kiếm"
 
-#: gnunet-gtk.glade:3730
+#: gnunet-gtk.glade:3731
 msgid ""
 "List of search results.  Directories must first be downloaded before their "
 "contents will be displayed."
@@ -485,11 +492,11 @@
 "Danh sách kết quả tìm kiếm.  Thư mục phải được tải xuống trước khi hiển thị "
 "nội dung của chúng."
 
-#: gnunet-gtk.glade:3759
+#: gnunet-gtk.glade:3760
 msgid "Anon_ymity:"
 msgstr "_Giấu tên:"
 
-#: gnunet-gtk.glade:3786
+#: gnunet-gtk.glade:3787
 msgid ""
 "Specify the desired anonymity level for this download. A value of 0 means no "
 "receiver anonymity (allows direct connection).  Use higher values for "
@@ -499,82 +506,82 @@
 "cho phép giấu tên (cho phép kết nối thẳng).  Dùng giá trị cao hơn để tăng "
 "mức độ bí mật cho người nhận nhưng ảnh hưởng đến hiệu suất."
 
-#: gnunet-gtk.glade:3817
+#: gnunet-gtk.glade:3818
 msgid "Download selected files."
 msgstr "Tải các tập tin đã chọn."
 
-#: gnunet-gtk.glade:3862
+#: gnunet-gtk.glade:3863
 msgid "Down_load"
 msgstr "Tải _xuống"
 
-#: gnunet-gtk.glade:3898
+#: gnunet-gtk.glade:3899
 msgid "Close this search."
 msgstr "Đóng tìm kiếm này."
 
-#: gnunet-gtk.glade:3929
+#: gnunet-gtk.glade:3930
 msgid "Namespace Contents"
 msgstr "Nội dung Không gian tên"
 
-#: gnunet-gtk.glade:3962
+#: gnunet-gtk.glade:3963
 msgid ""
 "List of the files and directories that have been added to this namespace so "
 "far."
 msgstr "Danh sách các tập tin và thư mục sẽ thêm vào không gian tên này."
 
-#: gnunet-gtk.glade:3990
+#: gnunet-gtk.glade:3991
 #, fuzzy
 msgid "Add content to the namespace"
 msgstr "Thêm các tập tin bổ sung vào không gian tên này."
 
-#: gnunet-gtk.glade:4008
+#: gnunet-gtk.glade:4009
 msgid "Publish an update to the selected updatable content."
 msgstr "Đưa ra chia sẻ một cập nhật tới nội dung có thể cập nhật đã chọn."
 
-#: gnunet-gtk.glade:4052
+#: gnunet-gtk.glade:4053
 msgid "U_pdate"
 msgstr "_Cập nhật"
 
-#: gnunet-gtk.glade:4096
+#: gnunet-gtk.glade:4097
 msgid "Chat"
 msgstr "Nói chuyện"
 
-#: gnunet-gtk.glade:4135
+#: gnunet-gtk.glade:4136
 msgid "The current conversation in this chat room."
 msgstr "Hội thoại hiện thời trong phòng chát này."
 
-#: gnunet-gtk.glade:4174
+#: gnunet-gtk.glade:4175
 msgid "Hello!"
 msgstr "Chào!"
 
-#: gnunet-gtk.glade:4190
+#: gnunet-gtk.glade:4191
 msgid "Sends the message to all participants in the current chat room."
 msgstr "Gửi tin tới tất cả những người có trong phòng chát hiện thời."
 
-#: gnunet-gtk.glade:4236
+#: gnunet-gtk.glade:4237
 msgid "Sen_d"
 msgstr "_Gửi"
 
-#: gnunet-gtk.glade:4296
+#: gnunet-gtk.glade:4297
 msgid "List of the participants in the chat room."
 msgstr "Danh sách những người có trong phòng chát."
 
-#: gnunet-gtk.glade:4321
+#: gnunet-gtk.glade:4322
 msgid "The gnunet-gtk about dialog"
 msgstr "Hộp thoại giới thiệu gnunet-gtk"
 
-#: gnunet-gtk.glade:4323
+#: gnunet-gtk.glade:4324
 msgid "gnunet-gtk"
 msgstr "gnunet-gtk"
 
-#: gnunet-gtk.glade:4324
+#: gnunet-gtk.glade:4325
 msgid "(C) 2001-2006 Christian Grothoff (and other contributing authors)"
 msgstr "(C) 2001-2006 Christian Grothoff (và các nhà cộng tác khác)"
 
-#: gnunet-gtk.glade:4325
+#: gnunet-gtk.glade:4326
 msgid "https://gnunet.org/";
 msgstr "https://gnunet.org/";
 
-#: gnunet-gtk.glade:4326
+#: gnunet-gtk.glade:4327
 msgid ""
 "                    GNU GENERAL PUBLIC LICENSE\n"
 "                       Version 2, June 1991\n"
@@ -862,11 +869,11 @@
 "                     END OF TERMS AND CONDITIONS\n"
 msgstr ""
 
-#: gnunet-gtk.glade:4610
+#: gnunet-gtk.glade:4611
 msgid "GNUnet Website"
 msgstr "Trang web của GNUnet"
 
-#: gnunet-gtk.glade:4644
+#: gnunet-gtk.glade:4645
 #, fuzzy
 msgid ""
 "Di Ma\n"
@@ -896,23 +903,30 @@
 "Steven Michael Murphy <address@hidden>\n"
 "Phan Vinh Thinh <address@hidden>\n"
 
-#: gnunet-gtk.glade:4669
-msgid "Select file to upload to GNUnet"
+#: gnunet-gtk.glade:4670
+#, fuzzy
+msgid "Select file to publish to GNUnet"
 msgstr "Chọn tập tin để tải lên GNUnet"
 
-#: gnunet-gtk.glade:4698
-msgid "Cancel selecting file to upload"
+#: gnunet-gtk.glade:4699
+#, fuzzy
+msgid "Cancel selecting file to publish."
 msgstr "Dừng chọn tập tin để tải lên"
 
-#: gnunet-gtk.glade:4712
-msgid "Select this file (or directory) for the upload"
+#: gnunet-gtk.glade:4713
+#, fuzzy
+msgid "Select this file (or directory) for the publication."
 msgstr "Chọn tập tin (hoặc thư mục) này để tải lên"
 
-#: gnunet-gtk.glade:4737
+#: gnunet-gtk.glade:4739
 msgid "Create Namespace"
 msgstr "Tạo Không gian tên"
 
-#: gnunet-gtk.glade:4767
+#: gnunet-gtk.glade:4769
+msgid "Cancel namespace creation."
+msgstr "Dừng tạo không gian tên."
+
+#: gnunet-gtk.glade:4784
 msgid ""
 "Confirm the specified data. Creates the namespace and publishes the "
 "advertisements."
@@ -920,19 +934,15 @@
 "Xác nhận dữ liệu chỉ ra. Tạo không gian tên và đưa ra lời giới thiệu quảng "
 "cáo."
 
-#: gnunet-gtk.glade:4782
-msgid "Cancel namespace creation."
-msgstr "Dừng tạo không gian tên."
-
-#: gnunet-gtk.glade:4805
+#: gnunet-gtk.glade:4807
 msgid "Please provide information about the namespace"
 msgstr "Xin hãy cung cấp thông tin về không gian tên"
 
-#: gnunet-gtk.glade:4836
+#: gnunet-gtk.glade:4838
 msgid "_Name:"
 msgstr "_Tên:"
 
-#: gnunet-gtk.glade:4862
+#: gnunet-gtk.glade:4864
 msgid ""
 "Each namespace is supposed to have a name.  While GNUnet cannot guarantee "
 "that these names are unique, users should try to select names that are "
@@ -942,11 +952,11 @@
 "trùng nhau, người dùng cần chọn những tên ít gây xung đột và tương ứng với "
 "nội dung của không gian tên."
 
-#: gnunet-gtk.glade:4882
-msgid "_Root"
+#: gnunet-gtk.glade:4884
+msgid "_Root:"
 msgstr ""
 
-#: gnunet-gtk.glade:4909
+#: gnunet-gtk.glade:4911
 msgid ""
 "The namespace root is the file or directory in the namespace that will be "
 "advertised to other users.  Typically it contains a directory with the "
@@ -954,18 +964,18 @@
 "the root."
 msgstr ""
 
-#: gnunet-gtk.glade:4942
+#: gnunet-gtk.glade:4944
 msgid "Anonymity (for namespace advertisement):"
 msgstr "Giấu tên (cho quảng cáo không gian tên):"
 
-#: gnunet-gtk.glade:5027
+#: gnunet-gtk.glade:5029
 msgid ""
 "Enter a keyword under which advertisements for this namespace will be "
 "published."
 msgstr ""
 "Nhập một từ khóa để quảng cáo cho không gian tên này khi đưa ra chia sẻ."
 
-#: gnunet-gtk.glade:5048
+#: gnunet-gtk.glade:5050
 msgid ""
 "Add the given keyword to the list of keywords under which advertisements for "
 "the namespace will be published."
@@ -973,19 +983,15 @@
 "Thêm từ khóa đã chọn vào danh sách từ khóa để quảng cáo cho không gian tên "
 "này khi đưa ra chia sẻ."
 
-#: gnunet-gtk.glade:5106 src/plugins/fs/extensions/musicinsert.c:225
-msgid "Keywords"
-msgstr "Từ khóa"
-
-#: gnunet-gtk.glade:5208
+#: gnunet-gtk.glade:5210
 msgid "Enter meta-data (descriptions) for this namespace"
 msgstr "Nhập dữ liệu mêta (mô tả) cho không gian tên này"
 
-#: gnunet-gtk.glade:5229
+#: gnunet-gtk.glade:5231
 msgid "Add the given metadata entry to the metadata for this namespace."
 msgstr "Thêm mục dữ liệu mêta đưa ra tới dữ liệu mêta cho không gian tên này."
 
-#: gnunet-gtk.glade:5270
+#: gnunet-gtk.glade:5272
 msgid ""
 "Metadata describing the namespace (used in advertisements).  Use the context "
 "menu (right-click) to delete selected entries."
@@ -993,45 +999,46 @@
 "Dữ liệu mêta mô tả không gian tên (dùng trong lời giới thiệu quảng cáo).  "
 "Hãy dùng trình đơn mở ra khi nhấn chuột phải dể chọn các mục."
 
-#: gnunet-gtk.glade:5287
-msgid "Metadata"
-msgstr "Dữ liệu mêta"
+#: gnunet-gtk.glade:5289
+#, fuzzy
+msgid "<b>Metadata</b>"
+msgstr "<b>Dữ liệu Mêta</b>"
 
-#: gnunet-gtk.glade:5323
+#: gnunet-gtk.glade:5325
 msgid "Close the selected search"
 msgstr "Đóng tìm kiếm đã chọn"
 
-#: gnunet-gtk.glade:5324
+#: gnunet-gtk.glade:5326
 msgid "_Close"
 msgstr "Đón_g"
 
-#: gnunet-gtk.glade:5360
+#: gnunet-gtk.glade:5362
 msgid "Messages"
 msgstr "Tin nhắn"
 
-#: gnunet-gtk.glade:5511
+#: gnunet-gtk.glade:5513
 #, fuzzy
 msgid "Please provide meta-data and an identifier for the content."
 msgstr "Xin hãy cung cấp dữ liệu mêta và từ khóa cho nội dung."
 
-#: gnunet-gtk.glade:5542 gnunet-gtk.glade:6122
+#: gnunet-gtk.glade:5544 gnunet-gtk.glade:6124
 msgid "_Identifier:"
 msgstr ""
 
-#: gnunet-gtk.glade:5590 gnunet-gtk.glade:6170 gnunet-gtk.glade:6633
+#: gnunet-gtk.glade:5592 gnunet-gtk.glade:6172 gnunet-gtk.glade:6635
 #, fuzzy
 msgid "Anonymit_y:"
 msgstr "_Giấu tên:"
 
-#: gnunet-gtk.glade:5649 gnunet-gtk.glade:6692
+#: gnunet-gtk.glade:5651 gnunet-gtk.glade:6694
 msgid "_Next Identifier:"
 msgstr ""
 
-#: gnunet-gtk.glade:5697 gnunet-gtk.glade:6229 gnunet-gtk.glade:6737
+#: gnunet-gtk.glade:5699 gnunet-gtk.glade:6231 gnunet-gtk.glade:6739
 msgid "_Update Interval:"
 msgstr ""
 
-#: gnunet-gtk.glade:5723 gnunet-gtk.glade:6255 gnunet-gtk.glade:6763
+#: gnunet-gtk.glade:5725 gnunet-gtk.glade:6257 gnunet-gtk.glade:6765
 msgid ""
 "--no update--\n"
 "--sporadic update--\n"
@@ -1042,35 +1049,49 @@
 "1 year\n"
 msgstr ""
 
-#: gnunet-gtk.glade:6024
+#: gnunet-gtk.glade:5862 gnunet-gtk.glade:6394 gnunet-gtk.glade:6902
 #, fuzzy
+msgid ""
+"Add the given description to the meta-data describing the published file."
+msgstr "Thêm mô tả đã chọn vào dữ liệu mêta mô tả tập tin đã tải lên."
+
+#: gnunet-gtk.glade:6026
+#, fuzzy
 msgid "Edit Collection Information"
 msgstr "Sửa thông tin tập tin"
 
-#: gnunet-gtk.glade:6091
+#: gnunet-gtk.glade:6093
 #, fuzzy
 msgid "Please provide meta-data and an identifier for the collection."
 msgstr "Xin hãy cung cấp dữ liệu mêta và từ khóa cho nội dung."
 
-#: gnunet-gtk.glade:6482
+#: gnunet-gtk.glade:6484
 #, fuzzy
 msgid "Enter Meta-Information about Namespace Content"
 msgstr "Xin hãy cung cấp thông tin về không gian tên"
 
-#: gnunet-gtk.glade:6552
+#: gnunet-gtk.glade:6554
 #, fuzzy
 msgid ""
 "Please provide information about the update to the content in the namespace."
 msgstr "Xin hãy cung cấp thông tin về không gian tên"
 
-#: gnunet-gtk.glade:6583
+#: gnunet-gtk.glade:6585
 msgid "Identifier:"
 msgstr ""
 
-#: gnunet-gtk.glade:6608
+#: gnunet-gtk.glade:6610
 msgid "BUG: SET ME!"
 msgstr ""
 
+#: gnunet-gtk.glade:7144
+msgid "Stop and close gnunet-gtk."
+msgstr ""
+
+#: gnunet-gtk.glade:7145
+msgid "_Quit"
+msgstr ""
+
 #: src/plugins/fs/search.c:79 src/plugins/fs/namespace.c:435
 msgid "unknown"
 msgstr "không rõ"
@@ -1212,6 +1233,10 @@
 msgid "Format"
 msgstr ""
 
+#: src/plugins/fs/extensions/musicinsert.c:225
+msgid "Keywords"
+msgstr "Từ khóa"
+
 #: src/plugins/fs/extensions/musicinsert.c:301
 msgid "Select all files"
 msgstr ""
@@ -1419,38 +1444,51 @@
 msgid "Current (red) and average (green) effectiveness (100% = perfect)"
 msgstr ""
 
-#: src/common/helper.c:271
+#: src/common/helper.c:277
 #, c-format
 msgid "Failed to find handler for `%s'\n"
 msgstr ""
 
-#: src/common/helper.c:297
+#: src/common/helper.c:303
 #, c-format
 msgid "Failed to load plugin `%s'\n"
 msgstr ""
 
-#: src/common/helper.c:376
+#: src/common/helper.c:382
 #, c-format
 msgid "Failed to open `%s'.\n"
 msgstr ""
 
-#: src/common/helper.c:519
+#: src/common/helper.c:525
 msgid "Could not initialize libnotify\n"
 msgstr ""
 
-#: src/common/helper.c:549
+#: src/common/helper.c:555
 msgid "Could not send notification via libnotify\n"
 msgstr ""
 
-#: src/core/main.c:46
+#: src/core/main.c:54
 msgid "GNUnet GTK user interface."
 msgstr "Giao diện người dùng GTK của GNUnet."
 
-#: src/core/main.c:85
+#: src/core/main.c:98
 msgid "Use --help to get a list of options.\n"
 msgstr "Dùng --help để xem danh sách các tùy chọn.\n"
 
+#~ msgid "<b>Uploads</b>"
+#~ msgstr "<b>Tải lên</b>"
+
+#~ msgid "Up_load"
+#~ msgstr "Tải _lên"
+
 #, fuzzy
+#~ msgid "U_pload"
+#~ msgstr "Tải _lên"
+
+#~ msgid "Metadata"
+#~ msgstr "Dữ liệu mêta"
+
+#, fuzzy
 #~ msgid ""
 #~ "\n"
 #~ "                                                                       \n"





reply via email to

[Prev in Thread] Current Thread [Next in Thread]