diff options
author | Karl Berry <karl@freefriends.org> | 2008-01-25 17:20:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2008-01-25 17:20:10 +0000 |
commit | 8e193852eacac9286f16b0cad43a0d2b3ed2b188 (patch) | |
tree | 71cb614f97f1260515612befa27cdb79f70d75ab /Master/texmf-dist/doc/generic | |
parent | d9d757e809f5bf6974041215747f8b218a760c79 (diff) |
rm psfig, nonfree license
git-svn-id: svn://tug.org/texlive/trunk@6414 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic')
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/README | 88 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/box.ps | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/cm.ps | 26 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/piechart.ps | 154 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/pretzel.ps | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/rosette.ps | 76 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/starlines.ps | 40 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/trevor.ps | 583 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/figs/zip.ps | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/psfig-doc.tex | 292 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/psfig/psfig.man | 261 |
11 files changed, 0 insertions, 1566 deletions
diff --git a/Master/texmf-dist/doc/generic/psfig/README b/Master/texmf-dist/doc/generic/psfig/README deleted file mode 100644 index a847dad6e84..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/README +++ /dev/null @@ -1,88 +0,0 @@ -psfig/tex -- TeX macros for the inclusion of postscript figures - -================================================================== - -COPYRIGHT NOTICE - -All software, documentation, and related files in this distribution of -psfig/tex are Copyright 1993 Trevor J. Darrell - -Permission is granted for use and non-profit distribution of psfig/tex -providing that this notice be clearly maintained, but the right to -distribute any portion of psfig/tex for profit or as part of any commercial -product is specifically reserved for the author. - -Thanks to Ned Batchelder, Greg Hager, J. Daniel Smith, Tom Rokicki, -Robert Russell, George V. Reilly, Ken McGlothlen, Dr. Baron Grey, -Gerhard Tobermann and all others who have contributed code and -comments to this project! - -================================================================== - -NEW IN VERSION 1.10 - -- Support for OzTeX (derived from Baron Grey's OzTeX version of psfig) - -- New searching path algorithm (from Gerhard Tobermann); looks in - multiple directories; looks for file.ps before file.ps.bb... - -- Many small bug fixes (underscore in draft mode, angle/clip interaction) - -- Improved documentation and man page - -================================================================== - -SYSTEM REQUIREMENTS - -Psfig/tex uses \special calls to manipulate the PostScript environment -within a document, and include figure files. To use psfig, you must -therefore be using a postscript device for your output. This version -of psfig/tex works with the unix "dvips" PostScript driver, which is -available from labrea.stanford.edu, and with OzTeX. - -It may also work with the ArborText "dvips" driver, and with the -"dvi2ps" written by Tony Li <tli@sargar.usc.edy>; see the -"unsupported" directory. - -================================================================== - -INSTALLATION - -To install psfig, simply copy psfig.sty into a directory on your TeX -include path (e.g. /usr/lib/tex/macros). - -If you are using OzTeX, change the driver line at the top of -the psfig.sty file to read - \def\setDriver{\OzTeXDriver} -instead of - \def\setDriver{\DvipsDriver} - - -A users guide and manual page can be found in the "doc" directory. - -For tips on dealing with Macintosh postscript, see the directory -"unsupported/macdemo/README". - -================================================================== - -BUGS - -If you use the letter style, make sure you include the psfig style -first. - -If you have an old version of dvips, you may need to make a patch to -use the compressed figure option, and to handle magnification -correctly. The files "unsupported/dospecial.[patch,frag]" contain a -patch and a corresponding code fragment for dvips' dospecial.c file. -To apply the patch copy dospecial.patch into your dvips directory and -run "patch < dospecial.patch", and then recompile. "dospcial.frag" -contains the modified portion of the code as it should appear in the -patched file. To use magnification with psfig and dvips, you need to -change the line - /magscale false def -in special.pro to - /magscale true def -in order to have the figures scaled correctly. - - - diff --git a/Master/texmf-dist/doc/generic/psfig/figs/box.ps b/Master/texmf-dist/doc/generic/psfig/figs/box.ps deleted file mode 100644 index ca6807a1384..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/box.ps +++ /dev/null @@ -1,11 +0,0 @@ -%! -%%BoundingBox: 0 0 1 1 -newpath -0 0 moveto -1 0 lineto -1 1 lineto -0 1 lineto -closepath -.8 setgray -fill - diff --git a/Master/texmf-dist/doc/generic/psfig/figs/cm.ps b/Master/texmf-dist/doc/generic/psfig/figs/cm.ps deleted file mode 100644 index 93b94b0a3bb..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/cm.ps +++ /dev/null @@ -1,26 +0,0 @@ -%! -%%BoundingBox: 27.47 27.47 172.52 172.52 - -100 100 translate -newpath - 0 0 moveto - 0 0 72 0 90 arc - closepath - fill - - 0 0 moveto - 0 0 72 90 180 arc - closepath - stroke - - 0 0 moveto - 0 0 72 180 270 arc - closepath - fill - - 0 0 moveto - 0 0 72 270 360 arc - closepath - stroke - -showpage diff --git a/Master/texmf-dist/doc/generic/psfig/figs/piechart.ps b/Master/texmf-dist/doc/generic/psfig/figs/piechart.ps deleted file mode 100644 index 164583e8d87..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/piechart.ps +++ /dev/null @@ -1,154 +0,0 @@ -%! -%%BoundingBox: 126 246 486 546 -% Cookbook Example Program from First Printing, Revised 7 Jan 1985 -% Program: Drawing a Pie Chart Number: 18 -%----------------------------------------------------------------------------- -% -/PieDict 24 dict def % Local storage for - % ``DrawPieChart'' and its related - % procedures. -PieDict begin - /DrawSlice % DrawSlice draws an outlined and - { /grayshade exch def % filled-in pie slice. It takes - /endangle exch def % four operands: the label for - /startangle exch def % this particular pie slice, the - /thelabel exch def % starting angle for the slice, - % the ending angle for the slice - % and the shade of gray the slice - % should be. - - newpath % Create a path which will draw a - % pie slice. - 0 0 moveto - 0 0 radius startangle endangle arc - closepath - - 1.415 setmiterlimit % This guarantees that when we - % outline the pie slices with a - % stroke that we will not get a - % spike on the interior angles. - gsave grayshade setgray fill grestore % Fill the pie slice path with the - stroke % appropriate gray color. By using - % gsave and grestore we don't lose - % the current path. Since - % PostScript paints color onto the - % page, it is very important that - % we fill the pie slice first and - % then outline it with a stroke. - gsave % Draw the tick mark and place the - % label: - startangle endangle add 2 div % Find the center of the pie slice - rotate % and rotate so that the x-axis - % coincides with this center. - radius 0 translate % Translate the origin out to the - % circumference. - newpath - 0 0 moveto labelps .8 mul 0 lineto% Draw the tick-mark. - stroke - labelps 0 translate % Move the origin out a little - % beyond the circumference. - 0 0 transform % Next we wish to place the label - grestore % at the current origin. If we - itransform % simply draw the text on the page - /y exch def /x exch def % now, it would come out rotated. - x y moveto % Since this is not desired we - % avoid it by returning to the - % previous unrotated coordinate - % system. Before returning, - % though, we would like to - x 0 lt % remember the position of the - { thelabel stringwidth pop neg % current origin on the printed - 0 rmoveto % page. We will accomplish this by - } if % using the transform and - % itransform operators. Performing - % a transform on the origin pushes - % the coordinates of the origin in - % device space onto the operand - % stack. Performing a grestore - % returns us to the previous - % unrotated coordinate system. - % Next we perform an itransform on - % the two device coordinates left - % on the stack to determine where - % we are in the current coordinate - % system. - y 0 lt { 0 labelps neg rmoveto } if % Make some adjustments so that - thelabel show % the label text won't collide - } def % with the pie slice. - /findgray % Procedure findgray calculates - { /i exch def /n exch def % the gray value for a slice. It - i 2 mod 0 eq % takes two arguments: the total - { i 2 div n 2 div round add n div } % number of slices and the current - { i 1 add 2 div n div } % slice number (Given that there - ifelse % are n pie slices, the slices are - } def % ``numbered'' from 1 to n). The -end % gray values for the pie slices - % range evenly from white to black - % (i.e. - the values provided to - % setgray range from (n/n, n-1/n, - % ..., 1/n)). Since we don't want - % similar values of gray next to - % each other, findgray - % ``shuffles'' the possible - % combinations of gray. - -/DrawPieChart % DrawPieChart takes seven - { PieDict begin % arguments: the title of the pie - /radius exch def % chart, the point size to print - /ycenter exch def /xcenter exch def % the title in, the point size to - /PieArray exch def % print the labels for each slice - /labelps exch def /titleps exch def % in, a special array (described - /title exch def % below where DrawPieChart is - % called), the (x,y) center of the - % pie chart and the radius of the - % pie chart. - - gsave - xcenter ycenter translate % Translate the coordinate system - % origin to center of pie chart. - /Helvetica findfont titleps % Print the title of the pie chart - scalefont setfont % in Helvetica. - title stringwidth pop 2 div neg % Center the title below the pie - % chart. - radius neg titleps 3 mul sub - moveto title show - /Helvetica findfont labelps % Print the individual pie slice - scalefont setfont % labels in Helvetica - /numslices PieArray length def - /slicecnt 0 def - /curangle 0 def % A ``loop'' variable that keeps - % track of the angle of arc to - % begin each pie slice at. - PieArray % Repeat the following for each - % element in the PieArray. - { /slicearray exch def - slicearray aload pop % Push the label and percentage - % onto the stack. - /percent exch def - /label exch def - /perangle percent 360 mul def % Convert the percentage into - % degrees of angle. - /slicecnt slicecnt 1 add def - label curangle - curangle perangle add - numslices slicecnt findgray - DrawSlice - /curangle curangle perangle add % Update the current starting - % angle. - def - } forall - grestore - end - } def - -() 18 9 - [ [(Blueberry) .12 ] % The pie array is an array of - [(Cherry) .30 ] % arrays. Each array in the pie - [(Apple) .26 ] % array contains a string denoting - [(Boston Cream) .16 ] % the label to be printed next to - [(Other) .04 ] % the pie slice followed by a real - [(Vanilla Cream) .12 ] % number indicating the percentage - ] 306 396 100 DrawPieChart % of the pie represented by this - % particular slice. -showpage - diff --git a/Master/texmf-dist/doc/generic/psfig/figs/pretzel.ps b/Master/texmf-dist/doc/generic/psfig/figs/pretzel.ps deleted file mode 100644 index e6bbf413b34..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/pretzel.ps +++ /dev/null @@ -1,14 +0,0 @@ -%! pretzel.ps -- an example for the psfig paper. -%%BoundingBox: 95 100 185 200 - -5 setlinewidth -1 setlinecap -110 100 moveto -120 120 140 160 160 160 curveto -170 160 180 150 180 140 curveto -180 120 160 100 140 100 curveto -120 100 100 120 100 140 curveto -100 150 110 160 120 160 curveto -140 160 160 120 170 100 curveto -stroke -showpage diff --git a/Master/texmf-dist/doc/generic/psfig/figs/rosette.ps b/Master/texmf-dist/doc/generic/psfig/figs/rosette.ps deleted file mode 100644 index 2ab4424b556..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/rosette.ps +++ /dev/null @@ -1,76 +0,0 @@ -%! -%%BoundingBox: 124.38 124.38 487.61 487.61 -% Cookbook Example Program from First Printing, Revised 7 Jan 1985 -% Program: Repeated Shapes Number: 6 -%----------------------------------------------------------------------------- -% - % This program prints a rosette - % design by defining a section of - % that design and printing that - % section repeatedly. This program - % illustrates the ``for'' and - % "arc" operators, and it shows - % how coordinate transformations - % can be nested so as to use the - % most convenient coordinate - % system for each part of a - % design. -/inch {72 mul} def - -/wedge % Define an ``ice cream cone'' - { newpath % shape by means of the ``arc'' - 0 0 moveto % operator. This shape will have a - 1 0 translate % 30 degree angle topped off with - 15 rotate % a semicircle. Set the path's - 0 15 sin translate % first point at the current - 0 0 15 sin -90 90 arc % origin. Next, move the origin to - closepath % the center of the semicircle by - } def % translating to the right 1 unit, - % rotating counter-clockwise by 15 - % degrees, and translating ``up'' - % in the rotated system by the - % radius of the semicircle. The - % ``arc'' operator includes a - % straight line to the initial - % point of the arc and a curved - % section to the end of the arc. - % Note that the semicircle goes - % from -90 degrees to 90 degrees - % in the rotated coordinate - % system. - -gsave - 4.25 inch 4.25 inch translate % Move into position for the - % rosette. - 1.75 inch 1.75 inch scale % Make the edges of the rosette 1 - % 3/4 inches long. - 0.02 setlinewidth % Use a 7/200 inch thick line. - 2 1 13 % Set up the ``for'' operator to - % iterate 12 times, pushing 2 onto - % the stack the first time, 3 the - % next time, ... , and 13 the last - % time. - { % The last argument for ``for'' is - % the sequence of operations to be - % repeated. This sequence must be - % enclosed by braces. - 13 div setgray % Divide the loop index by 13 to - % set a gray value. - gsave % Enclose the ``wedge'' operation - wedge % in a ``gsave''-``grestore'' - % pair, as it will mess up the - % coordinate system. - gsave % Save the wedge path for use - % after the ``fill''. - fill - grestore - 0 setgray stroke % Draw a black border around the - % wedge. - grestore % Get out of the coordinate system - % left by wedge. - 30 rotate % Set up for the next section. - } for % Close the last argument and - % execute the ``for'' operator. -grestore -showpage - diff --git a/Master/texmf-dist/doc/generic/psfig/figs/starlines.ps b/Master/texmf-dist/doc/generic/psfig/figs/starlines.ps deleted file mode 100644 index a7cf877ea60..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/starlines.ps +++ /dev/null @@ -1,40 +0,0 @@ -%! -%%BoundingBox: 300 400 410 420 -/Times-Roman findfont -30 scalefont setfont -newpath -300 400 translate -.25 setlinewidth -0 0 moveto -(StarLines) true charpath clip - -/rays { - 0 1.5 179 - { gsave - rotate - 0 0 moveto - 108 0 lineto - stroke - grestore - } for -} def - - -newpath -54 -15 translate -rays -showpage - - - -% -% -% -% -% -% -% -% -% -% -% diff --git a/Master/texmf-dist/doc/generic/psfig/figs/trevor.ps b/Master/texmf-dist/doc/generic/psfig/figs/trevor.ps deleted file mode 100644 index b46453479aa..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/trevor.ps +++ /dev/null @@ -1,583 +0,0 @@ -%!PS-Adobe-1.0 -%%Title: trevor -%%Creator: Ned Batchelder -%%CreationDate: Wed Mar 26 11:05:04 1986 -%%BoundingBox: 72 72 432 525 - -%%Pages: 1 -%%EndComments -/doimage { - /b exch def /m exch def /n exch def - /pix n string def - n m b [n 0 0 m neg 0 m] - { currentfile pix readhexstring pop } - image -} def -/spotsize { - /perinch exch def - currentscreen 3 -1 roll - pop perinch - 3 1 roll setscreen -} def -/invert { - /curtran currenttransfer cvlit def - /newtran curtran length 3 add array def - newtran 0 {1 exch sub} putinterval - newtran 3 curtran putinterval - newtran cvx settransfer -} def -72 72 translate -%%EndProlog -%%Page: ? 1 -360.000 453.600 scale -60 spotsize -112 176 8 doimage -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefbffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffdeaffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffdf2ffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffac8ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffacb -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefdfcfcfdfefffffefbf8fafdfeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffff8b2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefcf7eddbc9c1c1cbd9e5eff1d9b5b3c8 -e0f3f7fafeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffbd5ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffef9f0ddc3a88e725d56565e6e82949e -8c65545d759bb6d0f5fefefefdfeffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffad3ffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefef9e4bf99785f4f443d38363539 -3f484b4e4c423d3b3b485a77bbf0fdfaf2f4fdffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffff6a2ffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffefdf6dfb98b644b3f39383735 -32302f31343738393a383c3f3735394576c6eefbf7f0f5fdffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff6a4ffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffef5d8ae805b453a3734 -32333333302e2d2e30313336393a393a3a3536384e8ad0f7fefaeff8feffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffff6a4ffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffefce8b98159463b -363535363536353434322f3031303234383c3e3835343536405da3e8fcfef2f2feffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffff9c7ffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef5d59b64 -49403b3735343433333333333231303335322f30333a4040373233383f486ec3f0fcf8ec -fbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff59bffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefbe9 -ba7d503d383634323233312f2f2e2b2b2b2c2c2f3235312d2c3038403c3533383d404d8b -d0f1faebf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff599 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fef5d199654437343433302e2f312e2b2a2726272a2c2c2c2d3135332d2b2f3a3e383432 -3a3d405c9cd4eeeefaffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffff8c0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffdecbe7d4f3a353333312e2b2829282624252627282929292b2b2b3038352e2b30 -393b3730323a38416eaedbedfcffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff7b4ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffce5a96944353132302e2b2928272928272727292926232325272c2f2e31 -332e2b29303837302d3436375583bed8f2feffffffffffffffffffffffffffffffffffff -fffffffffffffffffffff8bcffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffde5a6643f343333312e2b2a2a2c2d2f2f2e2d2e2f2d2a27262729 -2d30303030312f2a293137332b2e32333f5e83a0c3e9f8fdfeffffffffffffffffffffff -fffffffffffffffffffffffffffff9c7ffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffef0af6a4436333333302f2d2d2e2f2e2d2d2f2e2f302e2d -2c2d2f31322f2c2e3234332c272c33342c2a2d30323f53667ca7cadff2fdffffffffffff -fffffffffffffffffffffffffffffffffffffad3ffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffff8c8774b3b35322f2e2d2c2b2c2d2f2d2b2c2e2d -2d302f2e2d2d2f3132322d292d333933282b2e32312c2c2c2e333e4b597498b9d2ecfdff -fffffffffffffffffffffffffffffffffffffffffffff8bfffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffee18e523d35312b272525252424272a2b -2a2a2a28292a2b2c2b2b2c2e3032332f2b2c34382e292c2d2f2d2c2a2d2f333b4655688b -bfdef3fdfffffffffffffffffffffffffffffffffffffffffffffacfffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffef8b7633f332e2a252424252524 -222323252526242121222426282727282a2d35372f282a35382c29282a2d2e2c2b2e2f31 -383c455784bfe1f5fefffffffffffffffffffffffffffffffffffffffffffdf1ffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcda7f45322a27252628 -28282928262423262726252422222020232527292b2e31333129252831312a2525292c2e -2c2b2e2b3032353c4d77b3d9fafffffffffffffffffffffffffffffffffffffffffffbdd -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeefa253352b26 -2527282625262828272827262626282a26242122262a2b29292c2f3235302623262d2d26 -2426292e2d292b2a2b2e2f333b4a70a8ebfeffffffffffffffffffffffffffffffffffff -fffffad5fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbca70 -3f2f2926242425222021222324272b2a2927282a292928282a2c2d2c2c333633312f2a26 -222327282625262b2f2b282a2a2b2c30363b486bc8fbffffffffffffffffffffffffffff -fffffffffffff9d2ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fee7934c352e29272727272522222223222124272726282b2a2a2a2a2b2b29292c343936 -2e29262623202124282624272b2b27292a292a2f33363d4c90eafeffffffffffffffffff -fffffffffffffffffffff9d3ffffffffffffffffffffffffffffffffffffffffffffffff -fffffffff7ba6038312d28292b2c2c2a26242426231e1d1f212225282828282928242223 -293136342f2a26232122212124242426282b2b2a2928282c31353a4260bbf9ffffffffff -fffffffffffffffffffffffffffff8bbffffffffffffffffffffffffffffffffffffffff -fffffffffffffffedf844434312d2b2c2c2c2c292725242625221f1e1d1e212426262425 -24212022262b2f2d2a292724202021202223232525282a2d292526292e353c414b81e1fe -fffffffffffffffffffffffffffffffffffff7b2ffffffffffffffffffffffffffffffff -fffffffffffffffffffffff9b75c3934312e2e2e2b28272524222426262525211e1f2225 -292926252323262c2e2f2e2b2825242423211e1f212223222325282c2a2625272a313940 -475baff6fffffffffffffffffffffffffffffffffffff7bdffffffffffffffffffffffff -fffffffffffffffffffffffffffffee88b453735302e2b2a282625222223242626272724 -22232425282b28252324282f32312e2a2827242221201e1d1f2023222224282b2b272628 -2a2d333c434e81dffefffffffffffffffffffffffffffffffffff6abffffffffffffffff -fffffffffffffffffffffffffffffffffffff9be623b36312b2824222223242323252728 -262625242424222022262624232123282c2a272423232220201f1d1c1d2022232322262a -2c2a2626282b2f373b4660b6f8fffffffffffffffffffffffffffffffffff7b6ffffffff -fffffffffffffffffffffffffffffffffffffffffffee9924a37322b2523212021232624 -24252b2b2726252425262322222122232322232426292c2e2a26221f1f1e1d1c1e202324 -24232426292a2725272b2e32373f4e86e4fefffffffffffffffffffffffffffffffff9c8 -fffffffffffffffffffffffffffffffffffffffffffffffffffdd46f3d312a2422222220 -20212322222124262626262526252322211e212221201f2022252c32332e2925221f1d1e -2024282a292927252627282526292f3233394463bef9ffffffffffffffffffffffffffff -fffffbddfffffffffffffffffffffffffffffffffffffffffffffffffef7b155332a2422 -21211f1e1f202223221f1d202324252526231f1d1d1e2528272220202226272a2e2d2a27 -23212020242a3136363430282422242626262a3134363e4f8fe8feffffffffffffffffff -fffffffffffffad0fffffffffffffffffffffffffffffffffffffffffffffffffee3853f -2d27232222222221212326262320212121202121232422202123282c302f2b2b2c2c2b2c -2d2c2927252524262e3a444e504b4435292321232827292d32363a4264c3f9ffffffffff -fffffffffffffffffffff8bdffffffffffffffffffffffffffffffffffffffffffffffff -f6b65930282523242425242123262622212123222020212123262827272426292f343131 -32302d2b29272524252529314057646e74695b48322621222728292c30363b3f4b8be8fe -fffffffffffffffffffffffffffffce9ffffffffffffffffffffffffffffffffffffffff -fffffffee1843c2824252525252524232526242020212322222122212225282927242323 -272a2a2c2f2c28262625242324293547627f8b91958a755e412b23212529292b2e33373e -4461c4fcfffffffffffffffffffffffffffffce8ffffffffffffffffffffffffffffffff -fffffffffffffffac05e2f2524242525242221232525242322212221201f202123252422 -201f1f1f2121242626272728272625272a374c6683a5acaba9a090745436252123292b2b -2d3033383d4c99f1fffffffffffffffffffffffffffffad7ffffffffffffffffffffffff -fffffffffffffffffffffef19843292524222223221f1e202122232623202021211f1e1f -242625211d1d1e1f2121232627272a2e2e2c2b2d364e6d89a0bec4bfb6aca18c6c472c22 -21262a2e2f303336384171d4fcfffffffffffffffffffffffffff9c9ffffffffffffffff -fffffffffffffffffffffffffffffee075332826232120201f1e1c1c1d1e222524201e21 -22201c1a1e222423201f21242425282b2f302f302f2f30384b6b8eacbfcbcec9c0b4aa9b -82613d262124272d30313637373e5fa9ecfefffffffffffffffffffffffffce5ffffffff -fffffffffffffffffffffffffffffffffffffbc3592e28241f1e1e1d1e1d1c1c1d1e2123 -23201f1f1f1d1b191a1c1e20212021232425282a3035363333343b4e698eb4c9d1cfcecb -c6baac9f917f5931242425282d32373a383e609fe0fcfffffffffffffffffffffffffad6 -ffffffffffffffffffffffffffffffffffffffffffffef9d452b27221e1d1b1c1c1c1d1e -1e1e21222221201e1c1b1b1b1b1d1c1c1e1d1c1e1f212224272e3539414f647f9dc0d7db -d8d3d0cecabfb0a49c9378472924252429303538353c5b96dcf8feffffffffffffffffff -fffff8b9fffffffffffffffffffffffffffffffffffffffffffdd977382924201e1c1b1b -1b1c1e1e1d1f2221201f1d1c1b1b1c1c1e1f1e1f211f1d1e1f202023252b3549657f96ae -c9d8dfded9d6d1cfcdc2b4aaa39e8e6333252623242b313231374d83d2f1fdffffffffff -fffffffffffffad1fffffffffffffffffffffffffffffffffffffffffff9b85c3126231e -1d1c1d1d1c1c1c1c1b1c1e1f1e1d1c1c1d1e1e1f20202024272222222224262a2f364568 -8aa3b9cfe0e0dcdbd8d8d3d0cdc2bab1a7a29c7f492a282524282d2f2f354c78beeffdff -fffffffffffffffffffff8c1fffffffffffffffffffffffffffffffffffffffffef09c4a -2c25211e1d1d1d1d1e1c1a191a1d201f1e1e202122222222222223252421232526292c34 -3c455d85a9c0d4e4eae6dedadadad5d0ccc6c0b8ada5a3926334292928292d302f365d95 -d0f6fefffffffffffffffffffffff9c4ffffffffffffffffffffffffffffffffffffffff -fdda7b3e2a24201e1e1c1c1d1e1c1a191a1c1e1d1d1f2225262624222121202121212327 -2a2b303a455778a2c3d6e2e8eaeae4dcdadad6d1cdcbc5bcb0a9a59b77402a2a2b2c3034 -313b7bcaf5fefffffffffffffffffffffffff9c4ffffffffffffffffffffffffffffffff -fffffffffac061362924201e1d1b1b1d1e1d1b1a1a1b1c1c1e202224252424212020201f -1e2124272a2e36455a779dbfd5dfe2e5e7e9e7dfdcdad7d3cfcdc8bfb2aba9a0844f2e2a -2a2e323734429bf1fefffffffffffffffffffffffffffad2ffffffffffffffffffffffff -fffffffffffffffff4a9513227231f1e1c1b1b1d1e1d1b1a1a1b1c1d1e1f201f1e1e2121 -201f1f1f20232529303c4f647e9dbbd0d9dcdde2e6e8e6e3dfd8d5d4d1cfc8bdb2adaca2 -8c5e332b2c2e32383745a8f8fffffffffffffffffffffffffffff9c5ffffffffffffffff -ffffffffffffffffffffffffeb94492f25211e1d1c1b1c1c1d1c1b1a1a1c1d1d1c1d1f1f -1e1e1f1e1f20212224262a34465d758ba0b4c7d1d4d8dce0e4e5e6e5e1d9d6d6d4cfc7bb -b3afada59167382d2c292e3437439af3fffffffffffffffffffffffffffffad3ffffffff -fffffffffffffffffffffffffffffffee17f412e24201e1c1b1c1e1e1f1e1d1b1c1c1c1b -1b1c1e202021211e20232325282b364e6a8095a3b0becad1d6e0e5e9eaeaecece5dddad8 -d7d2c7bbb4afaba7956f3d2e2c25292f333d81e8fffffffffffffffffffffffffffffbdc -fffffffffffffffffffffffffffffffffffffffccf693a2b23201e1b1b20262827262220 -1e1c1c1b1a1b1d202324211f2125282a2f3953728b9aa7aeb5c1cbd3dde8eef4f5f7f8f4 -ece5e0dbd7d3cabdb6b0aaa4967443312e24252a2f3770e0feffffffffffffffffffffff -fffff8bafffffffffffffffffffffffffffffffffffffff8b256352a25221e1b1d2a3b3f -37312f2c261f1d1b1b1d1e202525212024292f373f547691a0a9aeb3b9c1cbd6e3eef3f9 -fcfdfdf9f1e9e2ddd7d2ccc4bab2aaa495774833302524262c3363d8feffffffffffffff -fffffffffffff9c9fffffffffffffffffffffffffffffffffffffff399442f2925231f1b -20354b534d4647463a2b25201e211f1f2222202329303c49537495a8aeb0b3b8bfc8d5e2 -eef7fafcfefefdfbf4e9e2ded5d0ccc7bfb6ada393794a332f2421242b315dd3feffffff -fffffffffffffffffffffad3fffffffffffffffffffffffffffffffffffffee681382b26 -2525201c233a535e5e5a5c5c54463d342a23232222222429303d4f596f95acb8bab9bdc2 -cbdae5edf3fbfefefefffefbf5eae1dcd4d0cdc8c1b9afa2937c4d332d2320242a305ad1 -fdfffffffffffffffffffffffffff9cbfffffffffffffffffffffffffffffffffffffdd3 -6a2f26242426201c253d556063646666635f584f4034302d2c2e30343d4c5c7499afbac2 -c7ccd3d6dce8edf0f6fdfefffffffefbf5ece5dfd7d3d0cbc3bbb1a4967e4d332c241f24 -292f5ed6fefffffffffffffffffffffffffff7b1ffffffffffffffffffffffffffffffff -fffffccc602c23212226211d243b535f636669696a6c69665b514e4d4a4a4c4d54627a9d -b6c1cad4dde3e7e6e7eceff4fbfefffffefefefcf7efeae3d9d8d7d2cabeb4a79a824f34 -2e241f24282d5cd3fefffffffffffffffffffffffffff7b7ffffffffffffffffffffffff -fffffffffffffbc65929211f2024221e243a515f63676a6b6d6f70726f6b6c6e6e707375 -7f92aac0ccd5e0e9eeeff0eeedeff1f6fcfefffffefcfcfcf8f1ebe2dbdadad5cfc5b7a9 -9a824d302e242023272b59cffdfffffffffffffffffffffffffffad0ffffffffffffffff -fffffffffffffffffffffab94d26201e1f23221f2338505f64696b6c6e70737577787a7f -858c9299acc1cdd7dee6eef1f3f3f2f2f1f4f5f8fcfefffffdf4f5faf8f2ece2d9d8d9d5 -d0c8bbab9b834c2d2a242223262955ccfdfffffffffffffffffffffffffff8bbffffffff -fffffffffffffffffffffffffffff9b34825211e1e22232022324a5d666a6c6c6f727578 -7a7c8189929aa2aec1d3dce4e9eef2f4f5f4f2f5f6f8f8fbfcfcfefefdf7f5f8f3ece9df -d3cecdcbcac6beaf9f88522e2a252223252748bafbfffffffffffffffffffffffffff8ba -fffffffffffffffffffffffffffffffffffff6ab4325211e1d212521202c465a656a6c6d -6f72767a7f8289919aa2acb7c7d5e1e9edf0f3f3f3f2f4f5f7f8f8f8f8f8fdfcf9f4f3f0 -e5dad4c6b8afa9a9b3bdbbb0a28c582e2925222223263ea9f9ffffffffffffffffffffff -fffff7adfefefefffffffffffffefefefffffffefefef09b3d231e1d1d21251f1c284257 -63696c6f6f73787e848990969ea5aeb8c5d1dce0e7e9edefefeef0f1f1f4f4f3f3f3f6f2 -eae4dfd2bfafa190837c75768297a8aaa18d5a2d2724201f21243ba3f8ffffffffffffff -fffffffffffff7b9fdfefefefefefefefefefdfdfefefdfdfdfdec973d231e1e1f232620 -1c243c54636a6d6f71777c838a8f949aa1a6adb5bdc6cfd4dadee1e6e9e9ebeae7e9ecef -eeebe5ddd7cdb79c7f6c635a53514c4e5362788e978e612f2723201f2124399ff8ffffff -fffffffffffffffffffff8bafbfcfbfcfbfcfcfcfbfcfbfbfbfaf9f9f9faeb993f231e1e -202528201b21375160696e70727981898e92969da2a6aaafb6bcc3c5cbd1d5dbe1e1e4e1 -dddce1e5e2dbd3c6bba37f62493f3d3b3b3b3a3b3f4751607583673226221e1e20233698 -f6fffffffffffffffffffffffffff8b6f7f7f8f7f7f8f8f6f6f8f6f6f6f4f3f3f4f5e595 -40241f1f222526201c1f324d5d666c707379848c9093979c9fa1a5aaaeb0b3b4b9c2c9cd -d5d8dcd9d2d0d4d8d2c7bdae9775544135302f30353a3c3d4144484e5a706a3625221e1e -2022328cf3fffffffffffffffffffffffffff5a5f3f3f5f4f3f2f2f2f2f2f1f1f0f0eff0 -f0eedb9041261f1f212323201c1d2a465a646b6f747a838b90919294969a9d9d9d9fa0a4 -a9afb7bfc8cdd0cfc9c6c9cbc4b9ab92735642362e2b2e3a4a545a5c5b58585755636b3e -2521201f20212c7aebfffffffffffffffffffffffffff7b4f0f1f1f1f0efefeeefeeedee -ededececebe9d08a4328211f2021211f1c1d253f57636a6e757c8288898482807c7d7f7b -797a818d9498a3b0b9bdc2c6c0bebfc1bbaf9a77584337322f34445b6b757b7a77746f66 -6168704a2822232422232a68defefffffffffffffffffffffffff9c5eceeeeeeedececec -ececebebeaeae9e8e8e5cc8b4528211f1f1f1e1d1c1b20365261696d737c817f7669605c -5756554f4d5159687178889ba8adb6bcbcbcbdbcb3a38b694d3f38353a475869737a8282 -7f7c79737078805d2c24262825252b58cefdfffffffffffffffffffffffff8beeaebeaea -eaeae9e9e8e8e9e8e6e7e6e4e5e2cd8d4527211f1d1d1d1c1a191c2f4d5f686d72787467 -5b4d413d3b39363233383b434b556880939daab5bec4c3beb19c81654f47423d41495562 -65646f7476787a797a858c6c3123272a29292e52c3fcfffffffffffffffffffffffff7af -eaeae8e8eae8e6e7e6e6e6e7e5e4e3e2e2dfcc8e442722201e1c1c1b1b1a1b2a4a5f696e -706b5b4b4037312d2b2a2726282c2c2e343d4f677e8fa2b3c1cecec4b29b806a584b4342 -464a4d5251525b5e5e6975797d89927a3a23262b2d2c2e50bffbffffffffffffffffffff -fffff8bbe9eae8e7e8e6e5e6e4e5e4e4e3e2e1e0e0dbc487422924211f1d1c1b1a191925 -475f686c69574136312c2927272623222528292b2d3443566c8099b3c9d5d6ccb59c856e -584a4848433d3b473c464b514f5468757f8b9584462627292b2b2c52c2fbffffffffffff -fffffffffffffacee8e8e6e6e5e5e6e5e3e4e4e4e2e1e0e0e0dac2833f272323201e1c1a -1a1a1a22435f68675b44332d2c2c2e3033322f2d2d2d2e2e2f36424d5e7390b1cfe0e4d7 -b99d866e58504f4942413c6746555043464e5b6f7f8c968e542a29292a292b5ccdfcffff -fffffffffffffffffffff8bee7e7e5e5e4e5e5e4e4e3e3e3e2e1e1e1e0d9bf7d3e272223 -221f1c1a1a1a1820415f665c49393332373e444a4c48413b34302f2e30374149566a89b1 -d6e9f3dfbb9d8770605a585d5047374d4e6c69544c555f6d808e989364302929292b2f71 -ddfdfffffffffffffffffffffffffacae7e6e5e4e3e4e3e4e3e3e3e3e2e1e1e0e0dbc07f -4027212022201b181919191f3d5e61503f38373d4952585b574f463e3a383b3834363d48 -546580a9d2e9f4dfbca18b7b71696d7f664f444b5d82826f66676d7583939c9873382b2b -2a2d3889ecfefffffffffffffffffffffffffbdae6e6e5e5e3e4e3e3e2e3e2e3e2e1e1e0 -dfdac1834328211f1f1f1c191919191f3d5d5b483e40454c555a5a54483f3b34393d4647 -443e3f485464789cc9e3ecdabaa5938f888083907d635d66798d8e83838788888f9ea39d -7d403636313049abf8fefffffffffffffffffffffffff8bbe5e4e5e5e3e3e4e2e2e3e1e2 -e2e1e1dfded9c28b4b2a201e1e1c1a181918191f3e5d5a4d494b505558544b43382d2b28 -444d59574c4e4b4e56647495c2dfe7d6b9a79a9e98908e8d857a788191999b9a9ca1a3a2 -a3abaca38449454c423d6ed6fdfffffffffffffffffffffffffff8bae6e5e5e4e3e2e2e2 -e2e1e0e1e0e0e0dededccca35f2f201e1e1b1a1818191a1f3e5e5e585654545450443936 -312d2d273d55828b6153595b5b627190b9d8e1d4bca99da1a39f968e86838891a0a9acaa -a9aeb1b2b3b7b3aa8f5a515e5759a1f0fffffffffffffffffffffffffffff7ade6e6e6e5 -e4e2e2e3e3e2e0e0dfe0e1dededed6bd7a39211d1c1b1b1817191a1f3f6165605c57534f -453630333b3b3b36405d95a68068676962626e8aaeccd8cebaa99c9ba09d928d8a8b929f -acb2b1acaab2bbc0bfbeb6ad9a7566666680d5fbfffffffffffffffffffffffffffff7b9 -e6e7e6e5e6e3e3e3e3e1e0dfe0e1e1dedfe0ddce9546241e1c1b1b1918191a2042636864 -5f56524a3c33323f50514e505870909f93857d7367636d84a4c3d1cbb6a99d969a9b9189 -86888e97a0a5a5a5acbbc6cac6c1b8ada091857576a5effeffffffffffffffffffffffff -fffff8bae7e7e6e5e4e4e3e3e4e3e2e0e1e2e1dfe0e0dfd8ac5a2a1f1d1c1d1b1a1a1a21 -44646a68625751473e3e44526267666a6e7c8b95918b807064636d7f9cbfd0ccbbaea49d -9da0a098908b8b8e949ba3aebcc8d0cecac4baaea29c9b9294c1f7ffffffffffffffffff -fffffffffffff8b6e7e8e7e6e6e4e5e4e4e3e2e2e2e3e2e1e1e1e0dcbf7434221f1f201e -1c1b1b2244656b69625a50494c545c646d747a7f80848a8a8581766862646c7b97bfd8d3 -c0b2aaa5a5a6a9abaaa7a5aaadb3bac4ccd2d5d1ccc7bfb3a49ca1a8b0d2f9ffffffffff -fffffffffffffffffffff5a5e8e9e8e8e6e6e6e5e4e4e3e4e3e2e1e2e2e1e0ddcc8a3d25 -2121201e1d1d1c2445646b6b655e57565e646a727b848a8c898582807e7e736865676d78 -94bbd8d9c3b4adaaabafb1b2b6bdc1c6c7c7cacdd0d5d7d2cdc9c1b3a59ea2abbcd8f7fe -fffffffffffffffffffffffffffff7b4e8e9e8e8e7e6e6e6e5e5e4e3e3e3e2e2e2e1e0dd -d095462823221f1e1f1e1e2442626c6e6c6866696d6b6a6f777f83827c797a7e8384766d -6b6b707a93b3d1decdbbb1acadb3b8bdbec2c9cecccbcccdced4d7d4cecac1b3a7a6aaa7 -b9d3effefffffffffffffffffffffffffffff9c5e8e8e8e8e6e6e5e5e5e4e4e3e2e2e3e3 -e1e0dfddcf9c522c2321201e1e1f1e2442636d6f7173777877736d6b6d71747575798189 -8c877a72706e727c92b6d9e4d4c0b6b0adaeb6c3c9cacdd0cfd0d1d4d5d9dad6d0ccc2b4 -a7abb4a4b0caeafdfffffffffffffffffffffffffffff8bee9e9e9e8e6e5e5e6e6e5e5e3 -e2e2e3e3e2e1e0dbd2b46f3924201e1e1e1f1f2341636e71767b8183817f7c77787c8083 -868b9193918a7e77726f737c90b5dce8d7beb6b1b1b1b5c1ced5d6d8d9dadee2e2e0dcd5 -d0cbc1b3a6adc0a8a3bee7fdfffffffffffffffffffffffffffff7afe9e9eae9e7e6e6e6 -e7e6e6e4e3e3e3e2e2e2e1ddd8cc95502b201d1e1f21222541646d71777f86898a8c8d8c -8e929696989a9b999591877b7371747a8cb2dcebdcc4b6b3b7bbbdc5d1dbdde1e3e5ecef -ece8e3d9d0c6beb2a6afc8ab9ebae2fdfffffffffffffffffffffffffffff8bbe9eaebea -eae8e7e7e7e7e7e5e4e4e3e3e3e2e1dfddd7b57036221d1e2024272d48666e717881888b -8d909496999ea19fa0a2a19d9d9d8f7c737374788db5dce8ddcab8b2b8bec2cad5e0e5e8 -edeff4f8f5f1e9dfd3c5bbb0a6afc3a4a1badefcffffffffffffffffffffffffffffface -ebebecebeae9e8e8e8eae7e6e6e4e4e4e5e4e3e1dfdccb974d271e1e232d343a4e686e71 -777e888e9093999da0a5a5a2a4a7a6a6abaa947d767575778db2d7e1dbcebdb2b1b5bacd -e0eaeff3f6f7f9fbfbf7ece2d6c9bcafa6acb59aa8badafbffffffffffffffffffffffff -fffff8beececececeae9e9e9e9eae8e7e7e6e5e5e6e5e4e3e1ded6b87033201f293c494a -54696e70747d8a9092979ea3a7aaa8a7a9adadafb6b0977f787675788eb1d3dcdcd7c6b4 -aeabadc4e0eef7fcfdfdfefefefaf0e4d6cbbcaea4a7aba3b8bddafbffffffffffffffff -fffffffffffffacaebebebeae9e9e9e9e8e8e8e7e7e7e6e5e5e4e3e3e2e0dbcc984a2623 -344f5953586a6d6f747d898f9298a0a4abaeaeb1b3b5b4b6b9b198807773737b92b5d5dd -dfdfd2beafa7a6b0c8e1f3fcfefefefefefbf2e5d7ccbcada2a2aab6c9c7dffcffffffff -fffffffffffffffffffffbdaeae9eae9e7e8e7e7e8e8e8e8e7e6e5e5e4e3e2e2e0dfdcd4 -b86d3229445d5f575b6a6c6e747d878e91979da5adb2b7bcbfbfbbb9beb5967c726f707c -98bdd7e0e4e6dac7b4a8a5a2b0c7dcf3fcfefefefefcf4e6d7cabbaca1a0afc2d1cee6fd -fffffffffffffffffffffffffffff8bbe9e8eae9e7e8e6e7e7e7e8e7e6e5e4e5e4e3e2e1 -dfdedcd7cb92463150625f59606c6c6e757f858b91989ea6b0b8c1c7c8c5c3bebfae8c74 -6e6e717e9bc4dde7eff3e4cbb7adaaa1a1adc0dceffafdfdfcfbf5e7d7c9b8aaa1a1b9d1 -d2ccecfefffffffffffffffffffffffffffff8bae7e8e9e8e8e8e6e6e6e7e6e5e5e4e3e4 -e3e2e1e0dedddad7d3b1633d5660595a666e6e6e747d82888f969ea8b5bfc8cdcdcdccc5 -b99d7d6c6a6e737e98c2dce3eef8e2c1b0acaea89d9da8c0d5e7f2f4f6f7f0e2d4c4b7ab -a1a1b7c8c2c8f0fefffffffffffffffffffffffffffff7ade8e8eae9e8e6e6e6e6e7e5e5 -e6e5e3e3e3e2e0dedddddbdad7c588535c5e575c6b6e6f70757b80858b939fabb9c5ced2 -d2d3d1c7b18a6e666971767c8eabc2ccd9e3ccaea1a5acaa9e979aa6bacedbe4eaede6d9 -cebfb3aba19fadb8b8d0f6fffffffffffffffffffffffffffffff7b9e8e8e8e7e6e6e6e6 -e6e6e5e6e5e4e3e2e1e1e0dedddcdbdad9d0ab73635d565d6f707071767a7d8288909ead -bcc8d0d5d7d5cebda07966656a7275737a899cadbcc1af968d95a0a19b9a9899a4b5c1cf -dce2ddd2c8baaea9a19eaebdbedafbfffffffffffffffffffffffffffffff8bae7e7e6e6 -e5e5e4e5e5e5e4e4e3e2e1e0e0e0dfdddcdbdad9d8d5c1906e61565b6e72717175797a7e -858e9badbccbd2d5d5d0c5af8d6d64656b706f68666e7f909da196827679848a94a1a097 -949dadbecfd7d4cbc2b5a9a6a29fb3c3c3e4fdfffffffffffffffffffffffffffffff8b6 -e6e6e5e4e3e4e3e3e3e2e2e2e2e2dfdededededbdbd9d8d8d7d4c9a47a695c5666707172 -7376777a828c9aacbacbd5d6d1c7b89d79635e616668635a575e6e7a7f827c674e4b5c75 -96a8a89a9193a0b2c2cbcbc4bbb0a5a2a09eaebbccf2feffffffffffffffffffffffffff -fffff5a5e4e5e4e4e2e2e1e1e2e1e0dfe0dfdfdddcdddddadad8d7d7d5d4cfb48772685d -626c7072737474777e8997a8b7c7d1d5cfc1ad8b695d5c5c5c5a50413c485c696c6b6857 -4d4f587a9fa9aba39a969dadbbc2c4beb6ada3a09e9ca4b6defbffffffffffffffffffff -fffffffffffff7b4e4e3e3e3e2e1e0e0e0e0dfdddddddcdbdadadadad8d6d6d5d4d3d0bb -9076716b65686f71727372737a8593a2b0bdc7cbc6b79f785e5a5f5d544c3c2d2a374b59 -5c5f69717d7c7b91a3a7a9a8a29ea1afbbc1bfbab3a9a0a19f9aa2c5f2feffffffffffff -fffffffffffffffffffff9c5e3e1e2e2e0dfdfdfdfdedddbdbdad9dadad9d8d8d7d7d5d4 -d3d2cfc39e7d76756a676e71707071717581909ca6b0babeb8ab8f6a585963645746393b -40434a504e546d828c8c8e979aa0a3a7a9a5a7b2bdc1bdb5afa69fa19f9aabe2fdffffff -fffffffffffffffffffffffffffff8bee2e1e2e1dfdedfdededddbd9dad9dad9d8d8d8d8 -d6d5d4d2d2d1cfc8ae897c7d766f6f716f6f706f727d8a959da7b1b4ad9f7f5f565c686a -6251444b53504b49444b657880868d9192999da5a7a5aab6bfc1bbb2aba4a0a19f9bb2ed -fefffffffffffffffffffffffffffffffffff7afe3e1e2e0dedddedddcdcdad9d8d7d8d7 -d6d7d8d6d5d4d3d3d1d0cecab9938082807b73716e6e6e6d70788490979fa7aaa695735a -58616967635b5251534e4742434d5e6e7a83888c9197999e9fa0a7b1bac0bbb3a9a4a2a3 -a099b0ecfefffffffffffffffffffffffffffffffffff8bbe1e1e1dfdddcdcdddddbd9d8 -d7d6d6d6d5d6d8d6d5d3d2d2d1cfcecabc957e7d7b7b72716e6c6b6b6e737d8991989ea1 -9e8d6e5c5d656764605d56514f4d4c4f545b6575858b8a8c929395989a9b9ca6b1bbbab1 -a9a5a4a5a097adeafdfffffffffffffffffffffffffffffffffffacee0e1e1dfdcdbdada -dadad8d7d6d6d7d5d5d5d6d5d4d2d0d0d0cfcec9bb8d71777878716f6e6c6a696b707983 -8c90969a9a896e60646867635d59565351565d61676b74838f8f8d90929293959590919c -aab5b7b0aaa6a6a69d95adebfefffffffffffffffffffffffffffffffffff8bedededede -dcdad8dadadad8d6d5d5d6d5d4d4d4d4d3d1d0d0cfcececbbe8f636b777973706e6d6b69 -6a6d747d878b9094948873696a6a68635e5b5f5e5c626e71788087909795919697969290 -90888893a2abb1b1aba8a7a59b92acecfefefffffffffffffffffffffffffffffffffaca -dddedddcdbdad8d8d8d8d6d6d4d5d6d4d4d3d3d3d2d1d0d0cecdcdcbc3a0675d7176726f -6e6c6a6a6a6a6e7680878c8f90887a726e6b696664646969686f7f87939da0a2a6a29da1 -9f988d88877e7d8a97a3adb0aba9a8a39790aaeafefeffffffffffffffffffffffffffff -fffffbdadcdddcdbdad9d7d8d6d6d6d5d5d5d5d4d3d3d3d2d1d0cfcfcecdcdccc8b68965 -656e6d6c6d6b696a69686b717c83888a8b867c76726f6d6c6b6c7071737e94a5b2b8b6b5 -b9b5b0aea59a8e857e767482909fadb1aca6a7a1948fadecfefeffffffffffffffffffff -fffffffffffff8bbdbdcdbd9d9d8d7d7d5d5d5d5d5d5d4d3d3d3d3d2d1d0cfcecdcdcbcb -c9c3ae86605e61646b6a696967676a707982878b8b857f7b7671706e6c6e7379818fa4b5 -c0c2beb9b4b0b0ada49c90817362657c8f9fadb1aca4a59d918eafeefeffffffffffffff -fffffffffffffffffffff8badbdad9d9d7d7d6d6d4d5d4d4d5d5d4d4d2d2d3d3d1cfcfce -cdcccbcacac8bfa0654645506669686867696a6f7882888f8c807b78726d6a696b6f7983 -8d959ea8aaa8a49b9390908d8b8880725f4d60879aa3afb1aca7a59c918eb5f1feffffff -fffffffffffffffffffffffffffff7add9d9d9d9d6d5d4d3d4d4d3d3d3d3d3d3d3d2d2d2 -cfcececdcdcccbcac9c7c4ae78422c385d6967686667696d767f86908b7c757069635e61 -69707b86878582837f7f7f7d7d7e7a716c66615b575e7899a7adb2b1aaa6a39a908ebff7 -fffffffffffffffffffffffffffffffffffff7b9d9d8d8d6d5d4d3d3d4d3d2d3d3d2d2d2 -d2d2d2d1cfcececdcdcdcacac8c7c5b894592f31566968666667696f767d828e8b7c7269 -5d5a5b606a6d6e6e6b696a6b686e6f7072726c64615d5f62708798a8adb3b6b0a8a6a196 -8d91cdfbfefffffffffffffffffffffffffffffffffff8bad8d7d5d4d3d2d3d2d3d2d0d1 -d0d1d2d1d0d1d2cfcdcccccccbcbcac9c7c5c5bdad7d42324e6668666565686f777d7e87 -8a827761494a53595c59555354585b5e5f636464696e6e727879797b8ea5b0b2aeb1b3ac -a7a59e918995d6fbfefffffffffffffffffffffffffffffffffff8b6d6d6d5d3d2d2d2d1 -d2d1d0d0d0d0d1d0cfd0d0cecdcccbcbcccccac8c6c5c4c0bca265404b6467656464696f -797f7c828a89826944394146474546494f545b636a6c717d88909191908c878da2b5bbb3 -aaabada7a4a29c8f889ce0fbfefffffffffffffffffffffffffffffffffff5a5d6d5d3d2 -d1d1d2d1d0cfd0d0d1d0d0d0cfd0cfcdcccbcbcbcbc9c8c7c5c5c3c2c2b9946753616665 -6362686d7883817f888f918663464042464a4e5965707c8a94989ca4aeb4a99a938d8f9d -b0babdafa1a1a4a2a3a1978b85a8edfcfefffffffffffffffffffffffffffffffffff7b4 -d4d3d2d1d1d0d1d0d0cfcfcfd0d0d0cfced0cecccdcacacacac7c6c5c4c3c2c3c4c3b899 -6a5f65646362666c7683867f87939a9b8a705e565a6166707d8b98a2a8aeafb0c0c5ad99 -8f8f9dadb7bdbba998979ea1a19c908685b7f7fdfefeffffffffffffffffffffffffffff -fffff9c5d3d3d2d1d1d0d0cfcfcfcfcfd0d0cfcfcfcfcdcccbcacacac9c6c6c4c3c3c3c4 -c5c6c7b77f6063636363676a737f87828592999e9f9384726a6a6b717b8c99a0a2abb0b1 -b8b5a298959daeb5b6bbb7a89590989c9c978c8187c6fafefefeffffffffffffffffffff -fffffffffffff8bed2d1d0d0cfcfcfcfcfcecfcfcfcfcecdcececdcbcac8c8c9c8c7c6c4 -c2c3c3c3c5c7cac08760616261646669717b8484828b939ba29f9784736d6b6d717d8a92 -959da7abacaaa4a5a8aeb4b3b3b4b0a38e8a94979a95887a8edafbfefefefeffffffffff -fffffffffffffffffffff7afd0cfcfcfcfcfcfcfcfcfcececfcfcecdcdcdcdccc9c7c7c8 -c7c6c5c3c2c3c4c4c5c8cac28b6162626262666a6e767e8483858a929a9e9a8c7f797775 -747a848d9298a3aaacadafafaeaeafb1b3b1a89c898690959994847aa0e9fcfefefefeff -fffffffffffffffffffffffffffff8bbcfcfcfcecdcecfcfcfcececececececccccbcbcb -c9c7c6c6c6c6c4c4c3c2c3c4c4bfb9b0845e6262626264676a70777e818383868d93938b -8481828283888e94999ca1a4a5a7a6a4a2a5aaacafada29587868f9396918380b7f4fdfe -fffffffffffffffffffffffffffffffffffffacececfcfcecececed0cfcfcecdcecdcdcb -cbcbcbcac7c6c5c5c7c6c4c3c3c3c4c4bfa48370594f5f6261626263686b71777c7f7d80 -868a8984828382848585898e908a827e848c8c8e94a0aaa9aaa69b8f84879194948d818d -d2f8fdfefffffffffffffffffffffffffffffffffffff8becececfcecececfcfcecdcdcd -cdcdcccbcccccccac7c5c5c5c6c5c3c3c2c3c4c5b588533831435e625f60616366696e72 -787a757982847e7c7d817e7e7a757575746d605e6a767a8392a3aca8a6a0988f88889297 -938981a8ecfcfdfefffffffffffffffffffffffffffffffffffffacacececfcecececfce -cdcccccdcdcdcbcacbcbcac9c6c5c4c4c5c5c3c3c2c3c5c4b3916335283e5d6560606163 -6467696d73757071777b78767678797a746c6866686864636a757c8797a6aba6a0999994 -8d8c9599908588caf9fefefefefffffffffffffffffffffffffffffffffffbdacecfcfce -cdcdcecececccccdcdcccbcacacac9c8c6c4c4c4c6c5c4c2c2c3c5c4b7a2884e2c3c5c68 -635f6061626566686c6f6b696d73727273757678766f6b6b6c6d6e6d737d85929fa8aaa4 -9f979b98919297998f8499e2fbfdfefefefefefffffffffffffffffffffffffffffff8bb -ced0cececdcccdcdcdcccccccccbcac9c9c9c8c8c6c4c4c4c5c5c3c2c2c3c5c4baa79c6d -393b5968665f5f6062646466676b6864666b6c6e707577797b767372706e72747c87909c -a9adaaa6a4a09e9a989a9a988d83a6ecfcfdfefffefefeffffffffffffffffffffffffff -fffff8bacdcecdcdcccbcccccccbcbcacacac9c8c8c7c8c8c5c4c3c3c3c3c3c2c3c3c5c4 -baaaa4895340556668615d5e60626365666865616062646a6e72777c7e78757675777c85 -9197a0abb3b2b0b0aea8a09e9d9d9a938780aceefdfefefefefefefffffffffffffffffe -fefffffffffff7adcccdcdcdcccbcccccccbcac9c8c9c8c7c7c7c8c8c4c3c3c3c2c3c3c3 -c4c4c5c3baaba59d7751526369625c5c5d5f6265676865605b5a61696d70757e827e7c80 -7e87929ba5a8b3b9bab8b8bab6aba4a39f98928c8382aeeefdfefefefefefeffffffffff -fffffffefefffffffffff7b9cdcecececccccccccccccbc9c7c8c8c8c8c7c8c7c5c3c3c3 -c3c5c3c4c5c4c4c2b8aea6a79370575d66645d5b5d5d6165686967625c5b626a6f71757e -8588888c888e9ba1a7afbbc0b8b7bcbeb8b0ada99e938c867f84adeefdfefefeffffffff -fffffffffffffffffffffffffffff8bacdcdcecdcccccbcacbcbcbc9c7c8c8c8c8c7c8c8 -c5c3c3c4c4c4c4c5c5c5c5c2b6afa8a9a3916f5b61645c5a5e5f6064676869655f5d6369 -6c6f767d83898c9191959ca0a9b1b9bcb8b6bcbeb8b1aca4998e86807e83a8ecfdfeffff -fefefefefffffffffffffffffffffffffffff8b6cccdcdcccbcbcacacac9c9cac8c8c7c6 -c5c5c7c7c5c3c2c3c4c3c2c3c4c5c5bfb3aea9a7a9a19066595f5b585a5d606365656867 -62616668696d777e8588898f969ea3a6a9afb4b7b5b4b7bbb5aca79e92877e7e8386a5e3 -fafefffffefefefefffffffffffffffffffffffffefef5a5cccdcccbcacac9c9cac9c8c9 -c8c7c7c7c5c5c6c6c5c3c1c3c4c3c2c3c5c5c3bbb2adaba9aaa5a3845b575957565b5f61 -646568676565696a6b7079818986868d97a3a8aaa7abb2b5b1afb0b2a9a2a49c8d7f7b80 -848496c5eafbfefefefefefefefffffffffffffffffffefefefef7b4cbcbcbcbc9c9c8c9 -c9c8c8c8c6c6c6c6c5c6c6c6c4c4c1c3c3c3c2c4c4c3c1b6afadabadabaaa6a275535456 -54555b60656869676464686d6d7177808683838a939fa2a4a1a3a8aca6a3a3a59b9a9c93 -8378798082818391b7e3fafefefefefefefffffffffffffffffffefefefdf9c5cacbcaca -c9c8c8c8c8c8c8c7c6c5c5c5c5c5c4c5c4c2c1c3c3c3c2c1bdb7b5afabacabafb0aaa7a9 -98644e515350555c636666656362676d6f72777d7f8182828592999b9c9fa0a09b9b9b98 -9093908579757c81817f797586b0e1fafdfdfdfdfefffffffffffffffffefefefefef8be -c9c9c8c9c7c5c5c5c6c6c6c5c4c4c3c3c3c4c4c4c3c1c1c2c2c2bbb1aaa39da0a7aaaaab -b2aca9a6aa8b5a4c4f4f4d525c6263626162656a6d7074797a7a7a7c7f898c8d8c929395 -9391918c8687827971767f81807c71626d85abd8f4fcfdfdfefefefffefefefefefefefd -fdfdf7afc8c8c7c6c6c5c5c6c5c5c5c5c4c4c2c2c3c5c5c4c1c1c1c2c2c0b29f9a9a9491 -a3aaaaadb0b1a9a8a8a67c534a4e4a4a525c6062626264686c6e6f71726f6f767e848686 -7e82868b8a857e7a7a79766e70797e8180796b555b6c83a3cdebf7fcfdfefefffefdfefe -fefffefdfdfdf8bbc8c7c6c5c5c4c5c5c5c5c4c4c4c3c2c2c5c6c5c4c0bfc0c1c1bcac9a -9b9f978e9ca7a9adafb3b0aba7a79e76544c4b4949525b62636264686a6b6b6c6e6c6a6e -767c7f807977797c7a7772706e6b6869737b7f807e786a524f57667c97b4def9fdfefefe -fefdfefefefffefdfdfdf9cec7c6c5c5c4c3c4c4c4c4c4c4c3c2c2c3c4c4c4c3c0c0c0c1 -c1baa99c9d9d9a919099a2a8b0b0b6adaba5a79a74584c4a47474f595f60626364636568 -67666766676a7175726f6f6e6d6d6a676360616d787c807d7b796c534d4f5461738fc9f5 -fdfdfefefdfdfefefefefefcfcfdf8bec7c6c5c4c4c4c5c5c4c3c4c5c4c2c2c3c3c3c3c3 -bfc1c2c1bfb5a69b9c9e9a90898b96a6adb0b4b6adaea5a7977a63514844444b545c5e5b -5b5c60625f5d6063605d666b6a6764636463605e595a68757d7f7f7b7a797465564f4f56 -6294d3f2fcfdfefefdfcfdfdfefefefcfcfdf9cac6c6c5c4c4c4c4c3c4c3c4c5c4c4c2c3 -c2c1c2c3c1c1c0c0bcaea19a9f9f9b90888687a2aab0afb8b4afaca3a997806d53454242 -4651585858595a5b59585b5f5c585d5e5d5c5b5859585754546171797e807f7c7a7a7874 -705d515364a2dfeefafcfdfdfcfcfdfdfefefdfcfcfdfad9c4c4c4c3c2c2c3c3c4c3c3c4 -c3c4c2c1c3c2c2c1c1c1bfbbb5a8a09c99979d8a81868392a7a9afb1baaeafa9a5a89386 -7351403e40434a5155565454535253555455585755545453504d4c505d6d74787c7d7d7b -7b79726b7d715a5165a2e5eef8fbfdfdfcfcfcfcfdfcfcfcfdfdf7bbc4c4c3c3c3c3c3c3 -c3c3c4c4c2c2c2c2c3c3c3c1c0bfbab4afa39e9a8c909583868c898299a5aaafb3b6aab0 -a8a8a89189754f3d3f4041454d51514e4e4e4f4f4c5053524d4b494744454d5e6e757676 -797b7f7d7b7a7165716c5c546599e2f2f8fbfcfcfcfcfcfcfcfcfcfcfdfcf7bac3c2c1c1 -c1c1c2c1c2c2c2c3c1c0c0c0c0c0bfb8b4b8b7b1a59ea2968a928d8b938b7e76809da0aa -abb2aeaab1a4aba28e8d744a393c3e3d4045484948494a4745454644413f3c3b4150606b -72757675797b7e7c7d7b7166685b54596590d9f5f7fbfafafbfbfbfbfbfcfbfbfcfbf4ad -c2c2c1c1c1c1c2c1c2c2c3c3c1c0bebfbab7b2968da5b2b0a6a7a89496988d9899847c7c -778a9ca1a9a7afa7acaca3ab9e918f6f4534373b3c3b3e404141423f3d3b3b3938373740 -52646c7172747576797a7b7c7d7b6f5e5c55535d678ecff3f6fbfafafaf9fafbfbfafafa -fcfbf4b8c2c1c1c2c1c0c3c2c1c2c4c3c1c1c0bdb0ac9e737096b5c1b4ababa19f9b989e -988d93907c7691a0a2a5a5a9a2aba7a3ac9c938c643e32373d3c3c3b3b3a393634353434 -33353d4e626e7173737475797a7b7e7e7d7a6d514b4f57626b93c9eff8fafafaf9f8f8fa -fafafafafbfaf5b9c1c1c0c2c1c0c1c2c2c2c3c2c1c0c2bfbabba27f91b2c4c7b3a8b1ac -a09ca39c9a9f9f937f7a809b9ea0a09fa29ea7a3a5a89694865c3d2f323a3f3f3f3c3934 -31303030343d4b5c697172727174767c7e81817b7a7b6b45404d5a646b94cfebf8fafaf9 -f8f7f8fafafaf8f9fafaf4b4c0c0c1c1c1c0c0c2c2c2c2c2c2c4bbafbdccbda9a8a9b8bf -bcbab9b1a5a1a0959da69c9490938585949698979b9d9ba39fa3a293947f593c2e323b3f -40403f3d383433353e4c5b656b706e6e6f71777e8286837c7a7c693d3b4f5f666d9ddeeb -f5f9faf9f8f8f8f9f9f9f8f8f9faf1a3c1bebfbfc0c1c1c1c0c0c1bfc5c49e8bacc2bbae -8f698cc2cbc8bab3b1ac99919c98929fa49d85757c8f8d93949798999f9aa09b94987b5a -402d313b404141413f3d3c434d5b676a6b6c696b6d6f798286827c7b7c7d693b38506266 -75a4e7eff3f8f8f9f7f7f8f7f9f8f8f8f7f8f1b2c0bfc1c0c0c1c1c0bebab8b5c5c09095 -b6bcbbad824b70c1d7ccbcbcbeab9399a19898a6a59588847a7f87898f8f9497969a999e -989d99755634282f393e4242434549535d666d6d6d6b6a6d6e707e878a817b7c7f7f6b3c -3752666b84ace6f3edf5f7f8f7f6f6f7f8f7f7f8f7f6f2c3bfbec0bfc0c1bfbfb9a79eae -cdcfb6a8a0b3c2bd85547fbed7d4c9b9b09f929b9c96a0a59d9796908775748284878992 -94979c9b9f9ba388553325252d374144464b515b646b6f6c6b68676e7174808a8c87817f -81816d3e3653677392bae1f0dde8f5f6f6f5f5f5f7f7f6f5f6f5f1bcbebebec0c2c1c0c3 -b5958aadd2ded19971a1d6daa46f98bbc2c7c1a8a2a5a1a0968d9698949a9a8f80706972 -7f7d808691969b9d9fa19d89482e2a29292e3b464e52555c656b6d6868666770757d868a -8a89878184836d3d33536f829abed1e9d2c9e5f3f4f3f3f4f6f6f5f5f5f6f0adbdbebebf -bfc4cccdc0a69fb6cedac9895e95d6e5d5acb9ccc0a8a2a6adb7bbaf9a95908a8a979685 -7a7575696d797f808794989d9fa397713a2e3645413a3e47525757596066686565656a73 -7b858989888b888487846a3a365d8294919195c5ba98c0e2edf0f1f2f4f3f3f4f4f4f0b9 -bfc0bfb1a8bed6cec3aa848bc0d2b0776a9cc4d7e4c9cdddbd786296b8c0c5b5a6a79482 -8b9794878a877a69666b7e80848e96999d9f98633936466a76746b5856595654555a5e5f -62666e7a848b8c8b8b8d8a8889856a3b3f6c8d9a764c4d778a77a6cbddeaf0f2f4f3f4f2 -f2f4f2ccc3c8c6ab9fb3c8d0ceaa717bc3d7bc978eabb3bbbebed5dcac655491c1c6c2b9 -aca38e838d8f919da3917872766e6e747e8b9097989a93633b3f5e94b1baac8e715d5552 -4f52585c636d79848b8f9192918f8b8a8b83633f5175949b643538578490b3c0c4d4e5eb -f3f4f5f2f2f4f0bcc9d2cfb79780a2d5e1c3909fcad6c8c2bdbcad967897d1e2a35d73ae -c4cec7bba993888785828fa0a28b7e7b736b635e7181898d91938b65424c72a5c1d9ddc9 -a96f565251545b646d7780889095979795928d8b8c805a4a637ca49c5c373e5d8aa2beb6 -9eaecad2e9f3f5f4f3f4f2c8ced7ceb58271a4d3dadacac9d0c5aaabc6c8b181567cbddc -c7899ecdd1d6d2c09e8e9994877f8e9a97898b85726463636e787b838a918f73475282ac -b5b7cdd0c394685a5a606770767c858d959b9d9a96918e8d8c765665819ac1a35f475c82 -949fb4a48c9fc1c5d5ecf3f3f4f4f3d8c0d8d2c099a0ccc8b3b6c9d1cbad7870adc8b677 -649abfd0d9cbccc6c6dcdbd1afa0afa592888e948e8b8f8f7d767b7a7a716e77848d937f -515085adafa9c3dee7c98e6964676d72777f8891989ea09d97908e8e8b787ca5becdd99e -656886a7ada4997f82adc5b9b2d4e7e7eaf0efb89cd6e0d0d0dce3c3866898cace975e5d -9ecacb9182c0cec6d3e7d19c97cbdedec19f9e979286878b878c908f838c918e8d8c8581 -808a928b5f4a79a59f93acc7d7d2a77468676c6f75828e969da1a4a2988e8d9093a2c3e0 -efe8c8887591aab5beae896378afbea58baccfced4e3eab6accbcbafbee3e4be73558dc7 -cda07384b3d6dac8c4cdc1c2dee8b4696dbfe4d7a7777387978a83858d8f8e8788988e86 -91a8a8a5918692946c4459889389909aadc8bf836c6a6d6e7482929da5a8aaa4978c8f9d -a9ceeaf2e9cc967e91a3b0b7bdb4a2889cbeb79c919fbabdb5bad0a5c7c39d7092cdd9c6 -887fafccd0c6b5b8c9d3d3d7d9aa98bedfdc9c5158a9ded19961658da6a49689908b877f -8894868796a5abb8b6a19a9e764452829b9c9b9ba6c2bb846f6e6e707783919fa9adada5 -9c9aabc0c8e6e7d6a57e7b869eabadb4b4acaca8bbc7a47b90a7b2b19a8dada8ccb48073 -a8cacfceb8b6c7cfcdcec7b6afbfd1e0d27e64a7dacf804b6bb1e0d2ac8c98b5b5a99892 -948881848a8c7e8ea0a1a3bdcdc4b7a37d4e4e789eaba59791979d7d7170717478818e9d -aab0b2afb6c5d3d5c8caa276576785899aa9acadaa9d998d9eb8a07d9bafa99b9ca6b9a9 -dabe908db8c5c6d5c5b3a8b4cbc6b0816a98cfd9b76f5a9ed9c4845485cbe3d6bac1d9e0 -c7a8a1a4a090888487887c889da4a2b0c7cbc0b8a881625d666665686e76847a76747374 -78818a99a7ab9f88878d89877d7b5f3e55778192a1a7a2a7a5917b6676abb2a2b3b89574 -8eb6c6a5e9d5c2b3adb4c3d6cba57087c7cbb46f5992cfc89c6880b8dbcd9e829ecbd3cc -bacae9e1cab4a6bab49e96888c8a81868f9da6b0c2c4b0b0c3b5968678665557595b6066 -737674767b81858ea191684c4543424650635140698992a3a9a49ca6a59785788fb4b8a0 -aabea1899cbab98edfd9c7a06f77aeccbc855f8acfd2c99081b4d8cbb99aa5c9d8d4b0a3 -acb2b0a07991d2dcc3af8a8fa5aeac989a8988898c9295a1adac9a9dbdbfb7b9ab9e8d83 -766a696674807a77797a75849f9b7a54423c3f4e697159657f94a1a3a49d9eaba6a7afa8 -b0bbaf8084b2b0a5aabcb69bccccb37b4e68acc6c1907db4d7d3c8c0b4c2c9b7b9bfcdcf -c8bea4a8b9b4a3834e62bcdac9995d5488b3b9a79991918e898c8d8d8f96979ba8b6b8b2 -b8bcc4bbaca19f9ca5a4897e79706b8ea1b4a77c544b5875878187a3afaaada49d9ba2ab -9790afbdbdb6a87e86b2b29289aeb9afb1bdad786a95bdbfb7bcc3dad0c2bac2cdcec39b -8da8d3e4cc986b87bbb8a375485eaed5daaf756ea3bbb7a7a2a2948c8b8c8b89878a9a98 -96adb3a5abb3bec7bfb4b1b9b9b4a49f96898ea8afbeb298807c83989ea0abb2b7ac9e9c -9797a39f6e5f9ec9c2a19ba3acc4bb7c70a7bca9bbb9b8acafc8c9b8a4abcee8c6a99095 -c0cbb2835678c6dec8854c6bb0b8b679507eb0c7ddc5b6b4cbd4cdbcb7b8a29494878a95 -89829594909ea5919299a9b5b5aeacbcb9b7b6c1bec0c3c2bdc3beb0b2b6abb1aba5a7a1 -a29a90989a98a48f5a68a8d0b97b75acb4c3c19296b8c39cc3bbb8bbc9d6cda97772ace3 -ce9c6861a4cdb8794868bad2c88a5b80afb4c5b38a9db6c4d8cdd1d8bebccfcbc8bca399 -9f8f93a0918688898989978a818c9fa9a4a5a3b0b6b7acb8bcc2c8c3bec2c9c2c7cbb6b1 -ac9c96928e8d90999e9fa3836587b4d1b37979afb1adb9c1c5c4c6aacab99291bad2d2a1 -5c4f98dbde995b6aadd9d8986084c1d5cdb7909fbfc4c1c3bdbac1d7e2dadbd29c88afc9 -ceb6a3a9b0a7a9af9d88818488868985839096a19c979aa1adada0a2a8b1bbb6a8bbc3b5 -c1c8b0a49f94958e858c9495a0a5a3897f91aacebba1a3baaf868ac1c7b0a6b3d2af665b -a4ccd195596ba7d3e4b57b96d1eae2c09ba9cdd5cccbb7afbfd9cdb8b8aba5c3dfdbd5bf -734979c4dcc2a0a1b1b9baafa08d909aa0968a88858a8c8f8b8d909a9e919ea9aeb4bdb2 -a1b5b7a1b4bba49895949889868e9598a3a9a28f776c90c2b6a8b0c0b07982bbbc95708d -c5965d60a2d0dab485a5d2dbded4bfc8e0e9e4d1bcb1c5d0cac6bba49ec9c5bcb3885e71 -b5d6cc97583d69c5e4c98f738babbbb3a99d9ea5aba09c918c8d8e8c7f89939a9596aaab -a5adb0a6a4a8a59aa3a89e979791928991959ba2acb19f7f5c578cb8a57f88bac1a0b0d5 -cb966a97dbac7b8cbdd9e2cec3cce1e3dad2c7b5b8cde1d1b68886b4d1c0ad85659ac3ce -b77b484f9acfcb91585f84c4d9ccb39091afc6bfb0a8a5a6a8a4aea396909b9c929a9b9e -959fada8929ea29ca0a39e999d9aa0a0968b8687969aa4a9adafa0755f89afbd996372b7 -c8b2bee0dbbba4bbeeddb3a2b7cfe9dfd0baaaafc6cfc188668dc9bea5734d81c0b89567 -5081c4ddbc6c5477a2c9cfb892919db6c6c6d6c9bbd0dbc8b3afb0b3b0b2b7ac97939fa7 -a5a7a397919db3a99fa19a93a2a6999aa19aa1a08f8882929e9da2a4a8acb0a4a1c8c8bf -a98592bdbe9097c9d0cdc3a8d8dbc7987b99d6dec6915f76aabab27a4d6fb6ba96614d74 -b1be996371aad2e2d99d7ea0b3c3d3cbb8afb0bbc5bcc6d1d4e5e0c6aba7adb3aebabcac -9ba1a2a29fa2a69a959db5afb4aaa3a1aaa597999e999b9b908f8ea1a9a9a6a8aaa6b2be -ccd0b7afbeaea1ada3686eafbfb59393a1a8a48c7983a1b1b1a18b94a9ada88d808da5a9 -9b847b80919b93858fb0cadde3d7c4bfcad4d5d0c8c2c6c9c4bcbeb6b8c1b8aa9d9f9fa8 -aaaeb2aba9ababa89fa19b88888d97928e888a8987878a88868185837b7b86989ba19fa1 -9d9ca4a4afac999695836e6463575e777e7e7982 -showpage diff --git a/Master/texmf-dist/doc/generic/psfig/figs/zip.ps b/Master/texmf-dist/doc/generic/psfig/figs/zip.ps deleted file mode 100644 index 783ec71b24c..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/figs/zip.ps +++ /dev/null @@ -1,21 +0,0 @@ -%! -%%BoundingBox: 301.0 392.44 360.02 437.4 -/Times-Italic findfont 30 scalefont setfont - -/printZip { - 0 0 moveto - (Zip) show -} def -320 400 translate - -.95 -.05 0 { - setgray - printZip - -1 .5 translate -} for - -1 setgray printZip - - -showpage - diff --git a/Master/texmf-dist/doc/generic/psfig/psfig-doc.tex b/Master/texmf-dist/doc/generic/psfig/psfig-doc.tex deleted file mode 100644 index 0aec9e81218..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/psfig-doc.tex +++ /dev/null @@ -1,292 +0,0 @@ -%\documentstyle[psfig]{article} -\documentstyle{article} -\input ../psfig.sty -\begin{document} -\pssilent -\psfigurepath{figs} -\def\Ps{Post\-Script} -% -\title{Psfig/\TeX\ 1.10 Users Guide} -\author{Trevor Darrell \\ {\it trevor@media.mit.edu}} -\date{\ } -\maketitle - -\section{Introduction} -Psfig/\TeX\ is a macro package for \TeX\ that facilitates the -inclusion of \Ps\ figures into \TeX\ documents. With the -help of a compatible postprocessor, -\footnote{The {\tt dvips} program developed by T. Rokicki -has full psfig support; it is available via anonymous FTP from {\tt labrea.stanford.edu}. OzTeX also supports psfig and is available from various ftp sites. Psfig is available from {\tt whitechapel.media.mit.edu}.} -\Ps\ figures are automatically -scaled and positioned on the page, and the proper amount of space is -reserved. -Custom characters such as -`\psfig{figure=pretzel.ps,height=8pt,silent=}' and -`\psfig{figure=cm.ps,height=8pt,silent=}' -may be created and used freely throughout a document, or figures can -be presented as traditional broken-out displays: -\par -\hbox{ -\hspace{.3in} -\vbox{\psfig{figure=zip.ps}\vspace{.5in}} -\psfig{figure=piechart.ps,height=1.5in} -\vbox{\psfig{figure=starlines.ps}\vspace{.6in}} -} - -\section{Simple figures} -To include a \Ps\ figure with psfig, include the psfig style at the top -of your document: -\begin{quote} -{\tt\verb+\documentstyle[psfig,...]{article}+} -\end{quote} -and then, when you wish to include a figure, invoke the macro -\begin{quote} -{\tt\verb+\+psfig\{figure={\it input}\}} -\end{quote} -where {\it input} is the name of a \Ps\ file. Psfig will -automatically position the figure at the current point on the page, -and reserve the proper amount of space in \TeX\ so that it doesn't -block any other objects on the page. For example, if we have a file -called `piechart.ps' which contains the \Ps\ code to draw the chart in -the introduction, we could use the commands -\begin{quote} -\tt -\verb+\+par \\ -\verb+\+centerline\{\verb+\+psfig\{figure=piechart.ps\}\} \\ -\verb+\+par -\end{quote} -to include it as a centered paragraph. -Since no mention of size was made in the above example, psfig draws the figure -at its natural size (as if it was printed directly on -a \Ps\ printer.) The pie's natural size is several inches across, which -is a little large; the pie in the introduction was produced with: -\begin{quote} -\tt\verb+\+centerline\{\verb+\+psfig\{figure=piechart.ps,height=1.5in\}\} -\end{quote} -The {\tt height} option specifies how tall the figure should be on the -page. Since no {\tt width} was specified, the figure was scaled -equally in both dimensions. (This will also happen with a {\tt width} -but no {\tt height} option.) By listing both a {\tt height} and {\tt -width}, figures can be scaled disproportionately, with interesting -results: -\par -\centerline{\hbox{ -\psfig{figure=rosette.ps,height=.8in,width=.15in} -\psfig{figure=rosette.ps,height=.8in,width=.35in} -\psfig{figure=rosette.ps,height=.8in} -\psfig{figure=rosette.ps,height=.8in,width=1.2in} -\psfig{figure=rosette.ps,height=.8in,width=1.5in} -}} -\par -\noindent This figure was produced with: -\begin{quote} -\tt\verb+\+centerline\{\verb+\+hbox\{ \\ -\verb+\+psfig\{figure=rosette.ps,height=.8in,width=.15in\}\\ -\verb+\+psfig\{figure=rosette.ps,height=.8in,width=.35in\}\\ -\verb+\+psfig\{figure=rosette.ps,height=.8in\} \\ -\verb+\+psfig\{figure=rosette.ps,height=.8in,width=1.2in\}\\ -\verb+\+psfig\{figure=rosette.ps,height=.8in,width=1.5in\}\\ -\}\} -\end{quote} -The \verb+\psfig+ macro is (unfortunately) sensitive to whitespace, and will be -confused by any extra spaces or newlines in its argument. -\section{Sources of figures} -\hbox{ -\vbox{\psfig{figure=trevor.ps,height=1in}} -\hspace{.15in} -\vbox{\parbox{3.5in} {Any program that produces \Ps\ as output -can be used for psfig figures -as long as it adheres to the bounding box comment convention (see below). -For instance, the bitmap image -of the author was included as a figure at left.}\vspace{.2in}}} - -Since the Macintosh drawing applications produce \Ps, they can be used -to create figures. However, the \Ps produced by most Macintosh -applications is often not well suited to be included directly as -aBpsfig figure, unless it is saved as an ``EPSF compliant'' file. If -the file is not EPSF compliant then the postscript may have to be -edited before being used as an included figure. - -\section{Draft figures and Silent mode} -\begin{figure} -\centerline{ -\psfig{figure=rosette.ps,height=2in} -\psdraft -\psfig{figure=rosette.ps,height=2in} -\psfull -} -\vspace{.25in} -\centerline{Figure 2: The rosette.ps figure, in non-draft and draft mode} -\end{figure} -Normally, psfig will print advisory messages to remind you that it is -including figures as TeX processes a document. This behavior can -be disabled with {\tt \verb+\+pssilent}, and re-enabled with -{\tt \verb+\+psnoisy}. -\par -Some \Ps\ figures can take quite a long time to transmit and print; -for these figures a draft mode is available to speed printing of draft -versions of the document. A figure printed in draft mode will appear -as an outlined box (Figure 2). The macro {\tt -\verb+\+psdraft} will switch into draft mode, and all subsequent psfig -macros will produce draft figures until reaching the macro {\tt -\verb+\+psfull}, which switches out of draft mode. - -No {\tt -\verb+\+special} commands are used in draft mode, so a draft document -can be previewed using any Dvi viewer. Psfig uses the \LaTeX\ {\tt -\verb+\+fbox} command to produce the draft box; thus draft boxes will -not work in plain \TeX. The printing of boxes in draft mode can be -disabled/enabled with {\tt -\verb+\+psnodraftbox} and {\tt -\verb+\+psdraftbox}. - -\section{Bounding boxes} -To properly translate and scale a figure psfig must know its `natural' -position on the page; this information is present -in what is called the {\it bounding box} of a \Ps\ program. The -bounding box is an outer limit to the marks created by a program, -and is specified as four coordinates of a rectangle: the lower-left $x$ coordinate -(bbllx), the lower-left $y$ coordinate (bblly), the upper-right -$x$ coordinate (bburx), and the upper-right $y$ coordinate (bbury). -Adobe has defined a convention whereby the bounding box of a program -is contained in a `bounding box comment'. -\footnote{See `Appendix J: \Ps\ File Structuring Conventions' in -{\it The \Ps\ Language Reference Manual}} -This comment, which must be present in any file to be used as a psfig figure, -is a line of the form -\begin{quote} -\tt \verb+%%+BoundingBox: \it bbllx bblly bburx bbury -\end{quote} -All values are in \Ps\ points, relative to the {\it default} -transformation matrix. The only mandatory \Ps\ convention is -that the first line of the file should begin with the characters -`\verb+%+!' (a `\verb+%+' begins a comment in \Ps.) A good place for the -bounding box comment is as the second line of the file. -\par -If a bounding box comment is present in the figure file, psfig will -extract its values. The bounding box values may instead be specified -directly in the {\tt \verb+\+psfig} argument, using clauses of the -form {\tt bbllx=\it bbllx},{\tt bblly=\it bblly},..., in which case -the figure file is not searched for the bounding box. - -\section{Reserved size} -\par -\psfig{figure=box.ps,rheight=0bp,rwidth=0bp,height=1.25in,width=\textwidth,silent=} -\par -There are two sizes associated with each psfig figure: the size -at which it is to be printed on the page -and the size it reserves in \TeX. This latter size is appropriately -termed the {\it reserved size}, and is expressed as clauses of the form -``{\tt rheight={\it dimen}}'' -and ``{\tt rwidth={\it dimen}}''. If omitted, the reserved size defaults -to the real size. Some special effects need to be transparent -to \TeX\ and thus have a zero reserved size, such as the grey -box enclosing -this paragraph. - -\section{Clipping} -Normally a \Ps\ program can be expected to not mark the page -outside its bounding box. If this is not the case, or if you -want to specify a bounding box so as to isolate part of a larger figure, -there is an option that sets the \Ps\ clip path so that -no marks will show up outside the declared bounding box. Currently -this is invoked by adding a clause of the form ``{\tt clip=}''. -Here a slice has been taken out of the pie chart in the example by -specifying a smaller bounding box and adding the clip option. -\par -\centerline{\protect\fbox{\psfig{figure=piechart.ps,height=2in,bbllx=306bp,bblly=396bp,bburx=486bp,bbury=546bp,clip=}}} -\centerline{A piece of the pie.} -\vspace{.2in} -\par -Some \Ps\ programs use the clipping path to position their output on -the page; if a figure is being drawn at its natural size and position -despite psfig commands to the contrary, it may need the clip option. - -\newpage -\section{Rotating figures} -Figures can be rotated by psfig using the {\tt angle={\it degrees}} -clause. For example, here is the rosette and its 90 degree rotation: - -\centerline{\hbox{ -\psfig{figure=rosette.ps,height=1.0in} -\psfig{figure=rosette.ps,height=1.0in,angle=90} -}} - -By default psfig scales the figure so that its rotated bounding box -fits within the desired size. This can lead to counterintuitive results -when rotating to angles which are not multiples of 90 degrees. Here -is the rosette rotated to 0,20,40, and 60 degrees. - -\centerline{\hbox{ -\psfig{figure=rosette.ps,height=1.0in} -\psfig{figure=rosette.ps,height=1.0in,angle=20} -\psfig{figure=rosette.ps,height=1.0in,angle=40} -\psfig{figure=rosette.ps,height=1.0in,angle=60} -}} - -With autoscaling, some rotated figures come out smaller because the -diagonal of their bounding box is of course longer than their height -or width alone. This behavior can be disabled with {\tt -\verb+\+psscalefirst}, and re-enabled with {\tt -\verb+\+psrotatefirst}. With {\tt \verb+\+psscalefirst} a new -height and width is computed after the bounding box; -the previous figure would now look like: - -\psscalefirst -\centerline{\hbox{ -\psfig{figure=rosette.ps,height=1.0in} -\psfig{figure=rosette.ps,height=1.0in,angle=20} -\psfig{figure=rosette.ps,height=1.0in,angle=40} -\psfig{figure=rosette.ps,height=1.0in,angle=60} -}} - -While the rotated figures will all come out at the same -size their reserved sizes will be different, thus -they may not be aligned correctly. - -\section{Compressed Figures} -Psfig allows the inclusion of compressed \Ps files when using -the {\tt dvips} dvi processor. -The shell script {\tt pscompress} is used to compress figures, and -produces two files: {\it filename}{\tt .bb} and {\it filename}{\tt .Z}. -The first file contains the bounding box comment only, while the second -file contains the actual compressed PostScript file. Usage: -\begin{quote} -\tt \verb+%+ pscompress \it filename -\end{quote} -When psfig searches for a figure, if it fails to find -{\it filename}, it then searches for {\it filename}{\tt .bb}. -If that file exists, it is used for bounding box processing, -and a command to decompress and include the file {\it filename}{\tt .Z} -is issued to dvips. - -\section{Figure search path} - -Psfig first searches in the current directory for a figure (or -in the specified directory if given an absolute path). If it fails -to find the figure in the current directory, it optionally searches -a search path of figure directories to see if the figure is -present. To specify the figure search path, use -\begin{quote} -\tt \verb+\+psfigurepath\verb+{+\it dir1 \tt :\it dir2\tt :\it ...\tt :\it dirn\tt\verb+}+ -\end{quote} -where {\it dir1...dirn} are the directories figures are to be found in. -\newpage -\section{Acknowledgements} -\par -This work was done while the author was with the Department of -Computer and Information Science, University of Pennsylvania. Ned -Batchelder co-developed the original {\it troff} version of this -program with the author, and was responsible for much of the overall -design. For more detailed information on the original version of \Ps\ -see {\it Psfig -- A Ditroff Preprocessor for PostScript Figures} in -the USENIX 87 proceedings, or {\it Bringing troff up to speed} in the -July 1987 issue of Unix Review. - -Greg Hager provided the initial pure-\TeX\ implementation of psfig. -J. Daniel Smith of Schlumberger CAD/CAM implemented the rotation -feature and improved the file scanning routines, using certain code -fragments from Tom Rokicki's dvips program. -\par -\end{document} - diff --git a/Master/texmf-dist/doc/generic/psfig/psfig.man b/Master/texmf-dist/doc/generic/psfig/psfig.man deleted file mode 100644 index b6388528674..00000000000 --- a/Master/texmf-dist/doc/generic/psfig/psfig.man +++ /dev/null @@ -1,261 +0,0 @@ -.TH Psfig/TeX 1 -.SH NAME -Psfig/TeX (1.10) \- PostScript figures in TeX -.SH SYNTAX -\\\fBinput psfig\fP -.SH DESCRIPTION -.B Psfig/TeX -is a macro package for TeX, as well as LaTeX, that facilitates the -inclusion of PostScript figures into (La)TeX documents. -With the help of a compatible postprocessor, PostScript figures are -automatically scaled and positioned on the page, and the proper amount -of space is reserved. -Figures can be presented as traditional broken-out displays, -and Custom characters may be created and used freely throughout a document. -.PP -The \fBdvips\fP program developed by Tomas Rokicki has full -\fBpsfig\fP support. The \fBOzTeX\fP package has support for -all \fBpsfig\fp functions except compressed figures. -.PP -.SH USAGE -To include a figure with \fBpsfig\fP, include the \fBpsfig\fP style at -the top of your document. -In LaTeX: ``\\\fBdocumentstyle\fP[psfig,...]{article}''; in TeX: -``\\\fBinput\fP psfig''. -Then invoke the macro ``\\\fBpsfig\fP{figure=\fIfilename\fP}'', where -\fIfilename\fP is the name of a PostScript file. -.B Psfig -will automatically position the figure at the current -point on the page, and reserve the proper amount of space. -.PP -.SH OPTIONS -Options may be specified in the form -``\\\fBpsfig\fP{figure=\fIfilename\fP,\fIoption\fP=\fIvalue\fP,\fIoption\fP=\fIvalue\fP,...}''; -recognized options include \fBheight\fP, \fBwidth\fP, \fBrheight\fP, -\fBrwidth\fP, \fBclip\fP, and \fBangle\fP. -.IP height 9 -The ``\fBheight\fP=\fIdimen\fP'' option specifies how tall the -figure should be on the page. -When no \fBwidth\fP is specified, the figure is scaled equally -in both dimensions. -.IP width -The ``\fBwidth\fP=\fIdimen\fP'' option specifies how wide the -figure should be on the page. -When no \fBheigth\fP is specified, the figure is scaled equally -in both dimensions. -.IP -If no \fBheight\fP or \fBwidth\fP option is given, the figure's -`natural' size will be used. -By listing both a \fBheight\fP and \fBwidth\fP, figures can be scaled -disproportionately. -.IP rheight -There are two sizes associated with each \fBpsfig\fP figure: the size -at which it is to be printed on the page and the size it reserves -in TeX. -This latter size is appropriately termed the reserved size, and is -expressed as an option of the form ``\fBrheight\fP=\fIdimen\fP'', -to reserve a vertical size of \fIdimen\fP. -If omitted, the reserved size defaults to the real size. -Some special effects need to be transparent to TeX and thus have a -zero reserved size, such as a grey box enclosing a paragraph. -.IP rwidth -To reserve a width in TeX, the ``\fBrwidth\fP=\fIdimen\fP'' -option is used. -.IP clip -The ``\fBclip\fP=t'' option sets the PostScript clipping path -so that no marks will show up outside the declared bounding box. -This option allows the user to isolate part of a larger figure, -by specifying a new bounding box: -``\\\fBpsfig\fP{figure=figs/piechart.ps,height=2in,bbllx=306bp,% -bblly=396bp,bburx=486bp,bbury=546bp,clip=}'' -.IP angle -Figures can be rotated by \fBpsfig\fP using the ``\fBangle\fP=\fIdegrees\fP'' -option. -Example: -``\\\fBpsfig\fP{figure=figs/rosette.ps,height=1.0in,angle=90}''. -.PP -.SH AUTOSCALING -With autoscaling, some rotated figures come out smaller because the -diagonal of their bounding box is longer than their \fBheight\fP -or \fBwidth\fP alone. -This behavior can be disabled with \\\fBpsscalefirst\fP, and re-enabled -with \\\fBpsrotatefirst\fP. -With \\\fBpsscalefirst\fP a new \fBheight\fP and \fBwidth\fP are -computed after the bounding box. -While the rotated figures will all come out at the same size, their -reserved sizes will be different, thus they may not be aligned -correctly. -.PP -.SH SOURCES OF FIGURES -Any PostScript program can be used as a -\fBpsfig\fP figure, as long as it adheres to the -Encapsulated PostScript Format (EPSF), which -dictates a set of forbidden operators and a comment -structuring convention. \fBPsfig\fP -is actually less restrictive than the EPSF requirements; it can handle -some of the "non-compliant" postscript operators, and the only -required comment is the Bounding Box comment (see below). -.PP -.SH BOUNDING BOXES -To properly translate and scale a figure \fBpsfig\fP must know -its `natural' position on the page; this information is present -in the `bounding box comment' of a PostScript program. -This is a line of the form -``%%BoundingBox: \fIbbllx bblly bburx bbury\fP'' in the header of -the file. -.PP -The bounding box specifies four coordinates of a rectangle that -defines the outermost edges of the PostScript figure: the lower-left -\fIx\fP coordinate (\fIbbllx\fP), the lower-left \fIy\fP coordinate -(\fIbblly\fP), the upper-right \fIx\fP coordinate (\fIbburx\fP), and -the upper-right \fIy\fP coordinate (\fIbbury\fP). -This rectangle must be present in any file to be used as a -\fBpsfig\fP figure. -Most modern graphics packages produce (encapsulated) PostScript -files which contain a ``%%BoundingBox:'' comment line in the header. -All \fIbb...\fP values are in points, relative to the default -transformation matrix. -.PP -.SH MISSING BOUNDING BOX -When no bounding box comment line is present in your PostScript file, -you can edit one in. -The only mandatory PostScript convention is that the first line of -the file should begin with the characters `%!'. -A good place for the bounding box comment is the second line of -the file. -.PP -The bounding box values may also be specified directly in the -\\\fBpsfig\fP argument, using clauses of the form -``bbllx=\fIbbllx\fP,bblly=\fIbblly\fP,...'', in which case -the figure file is not searched for the bounding box. -.PP -To control the amount of white space around a figure in a (La)TeX -document, it may be necessary to experiment with the bounding box -parameters \fIbb...\fP, also in cases where the bounding box is -provided by the plot or graphics package. -.PP -.SH DRAFT FIGURES -Some PostScript figures take quite a long time to transmit and print; -for these figures a draft mode is available to speed printing of draft -versions of the document. -A figure printed in draft mode will appear as an empty box. -The macro \\\fBpsdraft\fP will switch into draft mode, and all -subsequent \fBpsfig\fP macros will produce draft figures until reaching -the macro \\\fBpsfull\fP, which switches out of draft mode. -.PP -No \\\fBspecial\fP commands are used in draft mode, so a draft document -can be previewed using \fIany\fP DVI viewer. -The printing of boxes in draft mode can be disabled/enabled with -\\\fBpsnodraftbox\fP and \\\fBpsdraftbox\fP. -.PP -.SH SILENT MODE -Normally, \fBpsfig\fP will print advisory messages to remind you that it is -including figures as (La)TeX processes a document. This behavior can -be disabled with \\\fBpssilent\fP, and re-enabled with \\\fBpsnoisy\fP. -.PP -.SH COMPRESSED POSTSCRIPT FILES -As off version 1.9, \fBpsfig\fP allows the inclusion of compressed -PostScript files (when using \fBdvips\fP). -.PP -To compress PostScript files, the shell script \fBpscompress\fP is used. -\fBPscompress\fP produces two files: \fIfilename\fP.bb and \fIfilename\fP.Z. -The first file contains the bounding box comment only, while the second -file contains the actual compressed PostScript file. -Usage: ``% \fBpscompress\fP \fIfilename\fP''. -.PP -When (La)TeX is run on \fIyour_document\fP.tex, the file \fIfilename\fP.bb -is scanned for the bounding box comment, to allow (La)TeX to properly -reserve the right size for the figure. -Only when the file \fIyour_document\fP.dvi is printed by means of \fBdvips\fP, -the actual PostScript file \fIfilename\fP.Z is decompressed (\fBzcat\fP-ed) -and included in \fIyour_document\fP.ps. -.PP -.SH MACINTOSH FIGURES -Since the Macintosh drawing applications produce PostScript, they can -be used to create figures. -However, the PostScript produced by most Macintosh applications is often -not well -suited to be included directly as a \fBpsfig\fP figure, unless it is -saved as an "EPSF compliant" file. If the file is not "EPSF compliant" -then the postscript may have to be edited before being used -as an included figure. See the \fBpsfig\fP tool \fBcleanfig\fP -and the sample document \fBmacdemo.tex\fP for guidance. -.PP -Non-EPSF Macintosh PostScript files often -require a ``Laserprep'' prolog in order to -be properly printed. -A laserprep prolog can be included with the \fBdvips\fP special -header command at the top of your (La)TeX file: -``\\\fBspecial\fP{header=lprep70.procs}''. -\fBPsfig\fP provides `lprep68.procs', as well as `lprep70.procs', -to suit various versions of the Macintosh applications. -.PP -.SH FIGURE SEARCH PATH -Psfig first searches in the current directory for a figure (or -in the specified directory if given an absolute path). If it fails -to find the figure in the current directory, it optionally searches -a search path of figure directories to see if the figure is -present. To specify the figure search path, use -"\\psfigurepath{dir1:dir2:...:dirn}", -where dir1...dirn are the directories figures are to be found in. -.PP -.SH PROBLEMS -.IP Problem: 10 -The page with graphics is not printed. -.IP Solution: 10 -Remove lines containing `\fBshowpage\fP' and/or `\fBstop\fP' -from the PostScript graphics file. -Lines of this kind are usually found near the end of the file. -.IP Problem: 10 -The figure is positioned in weird places. -.IP -Generally, this is an indication that the PostScript ``%%BoundingBox:'' -comment is missing. -It may also be that a translation takes places \fIafter\fP the -bounding box was determined. -.RE -.IP Solution: 10 -Edit a bounding box comment into the PostScript file -and/or experiment with the \fIbb...\fP values (see: MISSING BOUNDING -BOX above). -.PP -.SH BUGS -The \\\fBpsfig\fP macro is (unfortunately) sensitive to whitespace, -and will be confused by any extra spaces or newlines in its argument. -.PP -The LaTeX \fBletter\fP style must be loaded after the -\\\fBpsfig\fP macros due to naming conflicts. This can be -forced by including psfig with an explicit \\\fBinput\fP -command before the \\\fBdocumentstyle\fP command. -.PP -.SH ACKNOWLEDGEMENTS -This work was done while the author was with the Department of -Computer and Information Science, University of Pennsylvania. Ned -Batchelder co-developed the original troff version of this -program with the author, and was responsible for much of the overall -design. For more detailed information on the original version of -see \fIPsfig \- A Ditroff Preprocessor for PostScript Figures\fP in -the USENIX 87 proceedings, or \fIBringing troff up to speed\fP in the -July 1987 issue of Unix Review. -.PP -Greg Hager provided the initial pure-TeX implementation of \fBpsfig\fP. -J. Daniel Smith of Schlumberger CAD/CAM implemented the rotation -feature and improved the file scanning routines, using certain code -fragments from Tom Rokicki's \fBdvips\fP program. -.PP -Thanks to Sake Hogeveen (hogeveen.fys.ruu.nl) for editing this man page. -.SH AUTHOR -Trevor Darrell -.PP -.SH SEE ALSO -tex(1), latex(1), dvips(1), psfig-troff(1) -.PP -A printed version of the psfig-tex manual may be obtained by typing -.br -``% \fBlatex\fP psfig-doc'', then ``% \fBdvips\fP psfig-doc'', -.br -and finally printing the resulting psfig-doc.ps file on your nearest -PostScript printer. -The manual provides many examples with real-life PostScript graphics, -see the text of psfig-doc.tex for more usage examples. - |