%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: thresh.dvi %%Pages: 8 0 %%PageOrder: Ascend %%Orientation: Landscape %%BoundingBox: 0 0 596 842 %%DocumentFonts: Helvetica-Bold Helvetica Courier %%EndComments %%BeginProcSet: PStoPS 1 15 userdict begin [/showpage/erasepage/copypage]{dup where{pop dup load type/operatortype eq{1 array cvx dup 0 3 index cvx put bind def}{pop}ifelse}{pop}ifelse}forall [/letter/legal/executivepage/a4/a4small/b5/com10envelope /monarchenvelope/c5envelope/dlenvelope/lettersmall/note /folio/quarto/a5]{dup where{dup wcheck{exch{}put} {pop{}def}ifelse}{pop}ifelse}forall /setpagedevice {pop}bind 1 index where{dup wcheck{3 1 roll put} {pop def}ifelse}{def}ifelse /PStoPSmatrix matrix currentmatrix def /PStoPSxform matrix def/PStoPSclip{clippath}def /defaultmatrix{PStoPSmatrix exch PStoPSxform exch concatmatrix}bind def /initmatrix{matrix defaultmatrix setmatrix}bind def /initclip[{matrix currentmatrix PStoPSmatrix setmatrix [{currentpoint}stopped{$error/newerror false put{newpath}} {/newpath cvx 3 1 roll/moveto cvx 4 array astore cvx}ifelse] {[/newpath cvx{/moveto cvx}{/lineto cvx} {/curveto cvx}{/closepath cvx}pathforall]cvx exch pop} stopped{$error/errorname get/invalidaccess eq{cleartomark $error/newerror false put cvx exec}{stop}ifelse}if}bind aload pop /initclip dup load dup type dup/operatortype eq{pop exch pop} {dup/arraytype eq exch/packedarraytype eq or {dup xcheck{exch pop aload pop}{pop cvx}ifelse} {pop cvx}ifelse}ifelse {newpath PStoPSclip clip newpath exec setmatrix} bind aload pop]cvx def /initgraphics{initmatrix newpath initclip 1 setlinewidth 0 setlinecap 0 setlinejoin []0 setdash 0 setgray 10 setmiterlimit}bind def end %%EndProcSet %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -f thresh.dvi %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2000.12.07:1101 %%BeginProcSet: texc.pro %! /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 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A 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 /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 mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: pstricks.pro %! % PostScript prologue for pstricks.tex. % Version 97 patch 3, 98/06/01 % For distribution, see pstricks.tex. % /tx@Dict 200 dict def tx@Dict begin /ADict 25 dict def /CM { matrix currentmatrix } bind def /SLW /setlinewidth load def /CLW /currentlinewidth load def /CP /currentpoint load def /ED { exch def } bind def /L /lineto load def /T /translate load def /TMatrix { } def /RAngle { 0 } def /Atan { /atan load stopped { pop pop 0 } if } def /Div { dup 0 eq { pop } { div } ifelse } def /NET { neg exch neg exch T } def /Pyth { dup mul exch dup mul add sqrt } def /PtoC { 2 copy cos mul 3 1 roll sin mul } def /PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def /PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } /pathforall load stopped { pop pop pop pop } if z } def /STP { .996264 dup scale } def /STV { SDict begin normalscale end STP } def /DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul /y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] 0 } ifelse setdash stroke } def /DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt { /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if ] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 setlinecap stroke } def /LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch 2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 % DG/SR modification begin - Dec. 12, 1997 - Patch 2 %itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a % DG/SR modification end Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict /setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } % def a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore pop pop } def % DG/SR modification end /BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg exch 3 index sub exch Atan rotate newpath } def /EndArrow { @mtrx setmatrix CP grestore end } def /Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill grestore } def /Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 CLW moveto } def /Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 CLW moveto } def /RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW 2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } def /SD { 0 360 arc fill } def /EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def /Shadow { [ { /moveto load } { /lineto load } { /curveto load } { /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto load } if ] cvx newpath 3 1 roll T exec } def /NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch cvi def } def /NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def /Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } ifelse { pop } repeat a } def /CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq and { pop pop /n n 1 sub def } if } def /Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto Lineto pop pop closepath } ifelse } def /Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx setmatrix } def % DG modification begin - Jan. 15, 1997 %/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { %pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 %div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 %d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx %setmatrix } def /Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx % DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) % setmatrix } def setmatrix pop } def % DG/SR modification end /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth def } def /CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def /y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul m mul neg def } def /IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } def /BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def /NC { CC x1 y1 x2 y2 x y curveto } def /EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def /BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def /NAC { x2 y2 x y curveto CC x1 y1 } def /EAC { x2 y2 x y ArrowB curveto pop pop } def /OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def n { NC } repeat EOC } ifelse } def /AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload /Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def /ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } repeat closepath pop pop } ifelse } def /SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def /ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def /SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def /FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix rotate matrix concatmatrix exch findfont exch makefont setfont } def /Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 y1 lineto closepath } def /OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse /b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } ifelse } def /Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add /y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse } def /BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def /OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } ifelse } def /ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { 6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def /BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } def /Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def } def /Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if /dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def /Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} {z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i w add def } repeat grestore gsave n 0 gt % DG/SR modification begin - Nov. 7, 1997 - Patch 1 %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } % DG/SR modification end { 2 setlinecap } ifelse /i y1 def /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt {z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g exch t L stroke /i i h add def } repeat grestore } def /ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c mul neg d } def /Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def /Rot { CP CP translate 3 -1 roll neg rotate NET } def /RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle dup a add ] cvx def } def /RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] cvx def } def /PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def /PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def /PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def /Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { h1 abs h sub dup s mul abs } ifelse } def /UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q { x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add exch } def /BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible /IfVisible true def } if } { IfVisible { Invisible /IfVisible false def } if } ifelse } def /InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def /Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def /IfVisible true def } def end % END pstricks.pro %%EndProcSet %%BeginProcSet: pst-dots.pro %!PS-Adobe-2.0 %%Title: Dot Font for PSTricks 97 - Version 97, 93/05/07. %%Creator: Timothy Van Zandt %%Creation Date: May 7, 1993 10 dict dup begin /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontBBox [ 0 0 0 0 ] def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup (b) 0 get /Bullet put dup (c) 0 get /Circle put dup (C) 0 get /BoldCircle put dup (u) 0 get /SolidTriangle put dup (t) 0 get /Triangle put dup (T) 0 get /BoldTriangle put dup (r) 0 get /SolidSquare put dup (s) 0 get /Square put dup (S) 0 get /BoldSquare put dup (q) 0 get /SolidPentagon put dup (p) 0 get /Pentagon put (P) 0 get /BoldPentagon put /Metrics 13 dict def Metrics begin /Bullet 1000 def /Circle 1000 def /BoldCircle 1000 def /SolidTriangle 1344 def /Triangle 1344 def /BoldTriangle 1344 def /SolidSquare 886 def /Square 886 def /BoldSquare 886 def /SolidPentagon 1093.2 def /Pentagon 1093.2 def /BoldPentagon 1093.2 def /.notdef 0 def end /BBoxes 13 dict def BBoxes begin /Circle { -550 -550 550 550 } def /BoldCircle /Circle load def /Bullet /Circle load def /Triangle { -571.5 -330 571.5 660 } def /BoldTriangle /Triangle load def /SolidTriangle /Triangle load def /Square { -450 -450 450 450 } def /BoldSquare /Square load def /SolidSquare /Square load def /Pentagon { -546.6 -465 546.6 574.7 } def /BoldPentagon /Pentagon load def /SolidPentagon /Pentagon load def /.notdef { 0 0 0 0 } def end /CharProcs 20 dict def CharProcs begin /Adjust { 2 copy dtransform floor .5 add exch floor .5 add exch idtransform 3 -1 roll div 3 1 roll exch div exch scale } def /CirclePath { 0 0 500 0 360 arc closepath } def /Bullet { 500 500 Adjust CirclePath fill } def /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath eofill } def /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath eofill } def /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath } def /SolidTriangle { TrianglePath fill } def /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath } def /SolidSquare { SquarePath fill } def /Square { SquarePath .89 .89 scale SquarePath eofill } def /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def /PentagonPath { -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto 0 574.7 lineto -546.6 177.6 lineto closepath } def /SolidPentagon { PentagonPath fill } def /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def /.notdef { } def end /BuildGlyph { exch begin Metrics 1 index get exec 0 BBoxes 3 index get exec setcachedevice CharProcs begin load exec end end } def /BuildChar { 1 index /Encoding get exch get 1 index /BuildGlyph get exec } bind def end /PSTricksDotFont exch definefont pop % END pst-dots.pro %%EndProcSet %%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", % date = "1 July 1998", % filename = "8r.enc", % email = "tex-fonts@@tug.org", % docstring = "Encoding for TrueType or Type 1 fonts % to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard Encoding + ISO Latin 1 + extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % % (4) Remaining positions left undefined are for use in (hopefully) % upward-compatible revisions, if someday more characters are generally % available. % % (5) hyphen appears twice for compatibility with both % ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef % These are the only two remaining unencoded characters, so may as % well include them. /Zcaron /zcaron % 0x10 /caron /dotlessi % (unusual TeX characters available in, e.g., Lucida Bright) /dotlessj /ff /ffi /ffl /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright % at 96 and 145 that we move the things normally found there to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % rubout; ASCII ends % 0x80 /.notdef /.notdef /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /.notdef /.notdef /.notdef % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /.notdef /.notdef /Ydieresis % 0xA0 /.notdef % nobreakspace /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen % Y&Y (also at 45); Windows' softhyphen /registered /macron % 0xD0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro %! 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 exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} def end %%EndProcSet %%BeginProcSet: special.pro %! 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 /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N /@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X /yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 55380996 39158280 2488 600 600 (thresh.dvi) @start /Fa 134[122 1[122 122 122 122 122 122 1[122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 10[122 122 122 122 122 1[122 1[122 122 122 2[122 1[122 122 122 122 122 122 122 3[122 2[122 122 122 2[122 122 122 122 122 122 122 122 1[122 8[122 35[{TeXBase1Encoding ReEncodeFont} 54 203.46 /Courier rf %DVIPSBitmapFont: Fb cmsy7 17.416 1 /Fb 1 14 df<963803FFFE96B612F8061FEDFFC095B812F8050717FF051F18C094BA12F8 040319FE040F9126FE00036E7E043F0280D9000F14E04C01F0C96C7F4BB50080040F13FC 4B49CA00037F030F01F09439007FFF804B01C0061F7F4B90CC00077FDBFFFC070113F84A 49737F4A01E0F23FFE4A49747E4A90CE00077F4A48757F4A48757FDA7FF0756C7E4A4876 7E4949767E4949767E92D012074948777E4948777F4948777FA24948787E4948787E4A1E 1F01FF8C4A1E0F4890D26C7EA24848797EA24848797EA2498B000F228049207F001F22C0 A249203FA2484821E0221FA2007F22F049200FA500FF22F890D41207AE6D200F007F22F0 A56D201F003F22E0A26D203F23C0121F6D207FA2000F22806D20FF000722006D67A26C6C 555AA26C6C555AA26C6D545A6E1E1F017F686E1E3F6D6C545A6D6C545AA26D6C535B6D6C 5390C7FC6D6C535A6F1C0F6D6D525A6D6D525A6E6C525ADA3FFC51485A6E6C515B6E6C51 5B6E01C0081F90C8FC6E6D505A6E01F8F2FFFC6E6D4F5BDB3FFF070713E06F01C0061F5B 6F01F0067F5B030301FE942603FFFEC9FC6F6D6C040F5B6F6C01F0047F13F070D9FF8002 0FB55A040F02FE0103B61280040391B848CAFC040019F8051F18C0050795CBFC050017F8 061F16C0060003F8CCFC070349CDFC8D8675E6A5>13 D E %EndDVIPSBitmapFont /Fc 104[169 29[85 85 122 85 94 47 85 56 94 94 94 94 141 38 85 38 38 94 94 47 94 94 85 94 94 9[160 113 1[103 113 122 132 113 132 122 141 94 2[47 2[103 113 1[122 113 113 1[94 4[47 6[94 1[94 94 47 47 56 47 2[56 56 38 36[85 2[{ TeXBase1Encoding ReEncodeFont}56 169.38 /Helvetica rf %DVIPSBitmapFont: Fd cmsy10 24.88 1 /Fd 1 16 df15 D E %EndDVIPSBitmapFont /Fe 104[119 34[33 59 39 2[66 66 1[26 2[26 66 2[66 66 59 1[66 12[72 79 2[79 1[86 99 66 1[59 33 4[86 2[79 7[66 66 66 66 66 66 66 66 66 66 2[39 45[{TeXBase1Encoding ReEncodeFont}34 118.566 /Helvetica rf /Ff 105[94 28[94 3[103 56 94 66 2[103 103 151 47 1[47 47 103 2[94 1[94 103 94 13[113 6[103 1[94 47 4[122 122 1[122 165 13[94 1[94 1[47 1[47 44[{TeXBase1Encoding ReEncodeFont}29 169.38 /Helvetica-Bold rf /Fg 104[203 29[113 113 158 113 124 68 113 79 1[124 124 124 181 57 113 1[57 124 124 1[113 124 113 124 113 9[192 1[147 124 136 1[158 136 158 147 169 3[57 147 1[124 136 147 147 147 147 1[124 16[57 68 57 41[124 2[{ TeXBase1Encoding ReEncodeFont}45 203.256 /Helvetica-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 @landscape userdict/PStoPSxform PStoPSmatrix matrix currentmatrix matrix invertmatrix matrix concatmatrix matrix invertmatrix put %%EndSetup %%Page: (0,1) 1 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 0 0 bop 150 3840 a @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1458 896 a Fg(Thresh)57 b(\227)f(a)h(Data-Directed)1580 1189 y(SNMP)f(Threshold)h(P)-8 b(oller)2177 1660 y Ff(John)49 b(Sellens)1752 2011 y(Cer)s(tainty)h(Solutions)g(Inc.)1378 2362 y(jsellens@cer)s(taintysolutions)q(.com)2295 2805 y(LISA)e(2000)2060 3097 y(December)-10 b(,)48 b(2000)5250 3840 y 0 setgray 5250 3840 a eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 1 1 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 2109 208 a Fg(Intr)l(oduction)267 616 y Fd(\017)85 b Fc(Thresh)48 b(is)e(a)i(simple)e(SNMP)i(monitor)s(ing)f (tool)267 1024 y Fd(\017)85 b Fc(Fle)-5 b(xib)m(le)46 b(con\002gur)n(ation)i(and)g(noti\002cation)267 1431 y Fd(\017)85 b Fc(T)-20 b(ypically)45 b(used)j(f)-5 b(or)47 b(lo)m(w)n(er-pr)s(ior)s(ity)h(monitor)s(ing)267 1839 y Fd(\017)85 b Fc(Thresh)48 b(w)n(ould)g(typically)d(augment)j(other)h (monitor)s(ing)e(tools)513 2176 y Ff(\226)85 b Fc(No)48 b(claim)e(to)h(solving)f(e)-5 b(v)l(er)5 b(y)47 b(monitor)s(ing)h(prob) m(lem)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(1)p eop PStoPSsaved restore %%Page: (2,3) 2 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 2 2 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1330 208 a Fg(The)57 b(Basics)e(\227)i(Wh)l(y)g(Monitor?) 267 616 y Fd(\017)85 b Fc(What)47 b(are)h(y)m(ou)f(tr)5 b(ying)47 b(to)h(accomplish?)692 966 y(It)f(isn't)g(a)g(ser)5 b(vice)46 b(if)h(it)g(isn't)f(monitored.)60 b(If)47 b(there)h(is)e(no) 692 1258 y(monitor)s(ing)h(then)h(y)m(ou')-8 b(re)46 b(just)h(r)s(unning)h(softw)m(are)m(.)692 1551 y(\227)f(T)-20 b(om)48 b(Limoncelli)267 1959 y Fd(\017)85 b Fc(What)47 b(do)h(y)m(ou)e(need)i(from)g(y)m(our)f(monitor)s(ing?)513 2309 y Ff(\226)85 b Fc(Alar)t(ms)m(,)48 b(histor)5 b(y)-17 b(,)47 b(trends)m(,)h(notices)m(,)f(nagging,)h(.)28 b(.)g(.)267 2716 y Fd(\017)85 b Fc(Is)47 b(e)-5 b(v)l(er)5 b(y)47 b(prob)m(lem/issue)g(an)g(emergency?)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(2)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 3 3 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1909 208 a Fg(What)57 b(is)f(Thresh?)267 616 y Fd(\017)85 b Fc(An)47 b(SNMP)h(threshold)f(poller)513 953 y Ff(\226)85 b Fc(Sends)47 b(noti\002cations)g(if)f(an)i(SNMP)f(v)l (ar)s(iab)m(le)f(passes)h(its)f(threshold)267 1360 y Fd(\017)85 b Fc(Intended)48 b(pr)s(imar)s(ily)e(f)-5 b(or)48 b(lo)m(w)f(to)h(medium)f(pr)s(ior)s(ity)f(tr)n(ac)m(king)267 1768 y Fd(\017)85 b Fc(Not)48 b(\(usually\))f(an)g(emergency)h(alar)t (mer)267 2176 y Fd(\017)85 b Fc(Not)48 b(\(typically\))e(a)h(histor)5 b(y)47 b(and)h(trend)g(tool)267 2583 y Fd(\017)85 b Fc(SNMP)47 b(only)g(-)h(no)f(\(direct\))h(por)7 b(t)48 b(or)f(ser)5 b(vice)47 b(monitor)s(ing)267 2991 y Fd(\017)85 b Fc(Wr)s(itten)47 b(in)g(Scotty/Tcl)267 3399 y Fd(\017)85 b Fc(No)47 b(custom)g(netw)n (or)s(k)h(protocols)g(or)f(agents)513 3735 y Ff(\226)85 b Fc(Nothing)48 b(e)-5 b(xtr)n(a)48 b(to)f(install)f(on)h(the)h (monitored)g(de)-5 b(vices)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(3)p eop PStoPSsaved restore %%Page: (4,5) 3 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 4 4 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 861 211 a Fg(Wh)l(y)57 b(Thresh)g(and)g(Not)f(Something)f (Else?)267 618 y Fd(\017)85 b Fc(Not)48 b(e)-5 b(v)l(er)5 b(y)46 b(prob)m(lem)i(requires)g(paging)f(y)m(ou)g(at)h(3:00am)267 1026 y Fd(\017)85 b Fc(Man)m(y)48 b(monitor)s(ing)f(systems)f(treat)i (e)-5 b(v)l(er)5 b(ything)47 b(as)g(an)h(emergency)267 1434 y Fd(\017)85 b Fc(Some)47 b(monitor)s(ing)h(systems)e(can't)h(do)g (SNMP)267 1841 y Fd(\017)85 b Fc(It')-8 b(s)46 b(often)i(useful)f(to)g (be)h(ab)m(le)e(to)i(tr)n(ac)m(k)f(con\002gur)n(ation)h(and)f(state)455 2134 y(changes)267 2541 y Fd(\017)85 b Fc(It)47 b(seems)g(to)g(\002ll)f (an)i(o)m(v)l(er)s(look)m(ed)f(niche)267 2949 y Fd(\017)85 b Fc(Wh)-5 b(y)47 b(SNMP?)g(Because)g(y)m(ou)g(can)g(easily)f(monitor)i (just)f(about)455 3241 y(an)m(ything)h(with)f(it)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(4)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 5 5 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1899 206 a Fg(A)57 b(Fe)m(w)f(Examples)267 613 y Fd(\017)85 b Fc(Send)47 b(me)h(mail)e(when)i(a)g(system)e(or)i (de)-5 b(vice)46 b(reboots/resets)267 1021 y Fd(\017)85 b Fc(Log)47 b(an)h(entr)5 b(y)48 b(when)g(a)f(netw)n(or)s(k)h(interf)-5 b(ace)47 b(goes)h(up)f(or)h(do)m(wn)267 1428 y Fd(\017)85 b Fc(Create)48 b(a)g(troub)m(le)f(tic)m(k)m(et)f(when)i(disk)e(use)h (goes)g(abo)m(v)l(e)h(a)f(cer)7 b(tain)47 b(le)-5 b(v)l(el)267 1836 y Fd(\017)85 b Fc(P)-7 b(age)48 b(someone)f(else)g(if)g(the)g (load)h(a)m(v)l(er)n(age)f(is)g(too)g(high)267 2244 y Fd(\017)85 b Fc(W)-7 b(atch)47 b(f)-5 b(or)48 b(ether)t(net)h(s)-5 b(witch)46 b(con\002gur)n(ation)i(or)g(por)7 b(t)48 b(state)f(changes) 267 2651 y Fd(\017)85 b Fc(Restar)7 b(t)48 b(a)f(daemon)h(if)f(the)g (process)g(dies)513 2988 y Ff(\226)85 b Fc(Though)48 b(this)f(is)f(a)i(little)e(more)i(complicated)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(5)p eop PStoPSsaved restore %%Page: (6,7) 4 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 6 6 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1787 206 a Fg(Ho)m(w)57 b(Thresh)g(W)-12 b(orks)267 613 y Fd(\017)85 b Fc(In)m(v)l(ok)m(ed)46 b(per)s(iodically)g(b)m(y)g(cron)267 1021 y Fd(\017)85 b Fc(W)-7 b(alks)46 b(a)i(\002le/director)5 b(y)47 b(tree)m(,)h(quer)5 b(ying)48 b(de)-5 b(vices)46 b(f)-5 b(or)48 b(SNMP)f(v)l(ar)s(iab)m(le) 455 1313 y(v)l(alues)513 1650 y Ff(\226)85 b Fc(Each)47 b(director)5 b(y)48 b(is)e(typically)f(a)j(diff)-5 b(erent)48 b(de)-5 b(vice)m(,)47 b(named)h(f)-5 b(or)47 b(its)692 1943 y(location)g(in)g(the)g(hier)n(arch)-5 b(y)513 2235 y Ff(\226)85 b Fc(e)m(.g.)59 b(The)48 b(director)5 b(y)861 2528 y Fa(org/sellens/www)692 2820 y Fc(is)46 b(f)-5 b(or)48 b(m)m(y)f(w)n(eb)h(ser)5 b(v)l(er)48 b(www)-10 b(.sellens)m(.org)267 3228 y Fd(\017)85 b Fc(If)47 b(a)g(v)l(alue)g (doesn't)g(satisfy)f(a)i(r)s(ule)m(,)f(thresh)h(f)-5 b(or)t(mats)48 b(a)f(message)g(and)455 3520 y(passes)g(it)f(to)i(the)f (current)h(noti\002er)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(6)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 7 7 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1554 211 a Fg(Con\002guration)57 b(Over)r(vie)m(w)267 618 y Fd(\017)85 b Fc(ASCII)47 b(te)-5 b(xt)47 b(\002les)m(,)g(in)g(a)g (director)5 b(y)48 b(hier)n(arch)-5 b(y)267 1026 y Fd(\017)85 b Fa(DEFAULTS)48 b Fc(\002les)e(set)h(thresh)h(v)l(ar)s(iab)m(les)d(to) j(control)f(oper)n(ation)513 1363 y Ff(\226)85 b Fc(Inher)s(ited)48 b(do)m(wn)g(the)g(tree)f(until)g(o)m(v)l(err)s(idden)267 1770 y Fd(\017)85 b Fc(Other)48 b(\002les)e(list)g(SNMP)h(v)l(ar)s(iab) m(les)f(to)h(be)h(quer)s(ied,)f(along)h(with)455 2063 y(thresholds)f(and)h(compar)s(ison)f(indicators)267 2470 y Fd(\017)85 b Fa(.thresh)47 b Fc(subdirector)5 b(y)48 b(is)e(used)i(to)f(maintain)g(histor)5 b(y)47 b(and)h(state)455 2763 y(betw)n(een)h(r)s(uns)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(7)p eop PStoPSsaved restore %%Page: (8,9) 5 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 8 8 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1531 211 a Fg(Con\002guration)57 b(Examples)150 618 y Fc(A)47 b(sample)g Fa(DEFAULTS)h Fc(\002le:)455 1026 y Fa(verbose)122 b(=)h(true)455 1318 y(name)f(=)g(mydomain.net)455 1611 y(community)h(=)f(hello)455 1903 y(#)g(read)g(an)h(additional)f (SNMP)h(MIB)455 2196 y(mib)f(=)g(/usr/local/mibs/ascend.mib)455 2488 y(#)g(big)g(network,)h(long)f(timeout)455 2781 y(timeout)g(=)h(20) 455 3073 y(notifier)g(=)f(threshmail)h(jsellens)455 3366 y(syslog)f(=)h(local1.info)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(8)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 9 9 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1531 211 a Fg(Con\002guration)57 b(Examples)150 618 y Fc(A)47 b(sample)g(v)l(ar)s(iab)m(le)f(\002le:)455 1026 y Fa(#)122 b(this)g(is)h(a)f(comment)455 1318 y(S)g (system.sysDescr.0)455 1611 y(S)g(system.sysContact.0)455 1903 y(I)g(system.sysUpTime.0)455 2196 y(C)g (interfaces.ifTable.ifEntry.ifDescr.5)455 2488 y(G)g (ucdavis.memory.memTotalReal.0)368 b(90000)455 2781 y(L)122 b(loadTable.laEntry.laLoad.1)734 b(1.20)455 3073 y(L)122 b(loadTable.laEntry.laLoad.2)734 b(1.50)455 3366 y(L)122 b(loadTable.laEntry.laLoad.3)734 b(2.00)455 3658 y(V)122 b(snmp.snmpInPkts.0)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2597 b(9)p eop PStoPSsaved restore %%Page: (10,11) 6 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 10 10 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1751 211 a Fg(Sample)56 b(Noti\002cation)267 618 y Fd(\017)85 b Fc(The)48 b(noti\002er)f(prog)n(r)n(am)i(can)f(be)f (just)g(about)h(an)m(ything)f(\227)h(mail,)e(cat,)455 911 y(syslog,)g(.)28 b(.)g(.)267 1318 y Fd(\017)85 b Fc(A)47 b(sample)g(noti\002cation)g(message:)150 1726 y Fa(errors)123 b(for)f(node:)g(www.sellens.org)150 2019 y(hrStorageEntry.hrStorageUsed.4:)272 2311 y(not)g(less)h(than)f (threshold)394 2603 y(threshold)h(2000000)394 2896 y(currently)g (2038055)638 3188 y(The)g(amount)f(of)g(the)h(storage)f(represented)638 3481 y(by)h(this)f(entry)g(that)h(is)f(allocated,)h(in)638 3773 y(units)g(of)f(hrStorageAllocationUnits.)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2531 b(10)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 11 11 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1683 206 a Fg(Where)57 b(to)f(Use)h(Thresh)267 613 y Fd(\017)85 b Fc(When)47 b(y)m(ou)g(need)h(to)f(be)h(k)m(ept)f (inf)-5 b(or)t(med,)48 b(b)m(ut)f(not)g(w)n(ok)m(en)h(up)267 1021 y Fd(\017)85 b Fc(When)47 b(y)m(ou)g(need)h(to)f(sometimes)g(perf) -5 b(or)t(m)49 b(some)e(simple)f(actions)h(in)455 1313 y(response)h(to)f(SNMP)g(settings)267 1721 y Fd(\017)85 b Fc(When)47 b(y)m(ou)g(w)m(ant)h(to)g(log)f(changes)g(in)g(state)267 2129 y Fd(\017)85 b Fc(When)47 b(y)m(ou')-8 b(re)47 b(already)g(using)g (an)h(alar)t(m)f(tool)h(that)f(can't)g(do)g(all)g(the)455 2421 y(SNMP)g(probing)h(that)g(y)m(ou)f(w)m(ant)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2531 b(11)p eop PStoPSsaved restore %%Page: (12,13) 7 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 12 12 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1520 206 a Fg(When)57 b(Not)f(to)g(Use)g(Thresh)267 613 y Fd(\017)85 b Fc(When)47 b(y)m(our)h(site)e(is)h(large)267 1021 y Fd(\017)85 b Fc(When)47 b(y)m(our)h(b)m(udget)f(is)g(large)267 1428 y Fd(\017)85 b Fc(When)47 b(f)-5 b(ancy)47 b(g)n(r)n(aphics)h(are) g(required)267 1836 y Fd(\017)85 b Fc(When)47 b(y)m(ou)g(need)h(f)-5 b(ancy)47 b(e)-5 b(v)l(ent)47 b(correlation)513 2173 y Ff(\226)85 b Fc(though)48 b(the)g Fa(prune)f Fc(v)l(ar)s(iab)m(le)f (helps)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2531 b(12)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 13 13 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1524 208 a Fg(P)e(otential)54 b(Enhancements)267 616 y Fd(\017)85 b Fc(SNMP)47 b(suppor)7 b(t)48 b(f)-5 b(or)48 b(other)g(than)f(V1)267 1024 y Fd(\017)85 b Fc(Integ)n(r)n(ate) 49 b(syslog)d(into)h(the)h(code)m(,)g(r)n(ather)h(than)e(relying)g(on)h Fa(logger)267 1431 y Fd(\017)85 b Fc(Some)47 b(f)-5 b(or)t(m)48 b(of)g(include)e(\002le)h(mechanism)267 1839 y Fd(\017)85 b Fc(Message)47 b(compar)s(ison)g(that)h(ignores)f(current)h(v)l(alues) 513 2176 y Ff(\226)85 b Fc(e)m(.g.)59 b(tw)n(o)48 b(more)g(b)m(ytes)f (added)h(to)f(a)g(\002lesystem)f(is)h(probab)m(ly)g(not)692 2468 y(really)g(a)g(diff)-5 b(erent)48 b(error)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2531 b(13)p eop PStoPSsaved restore %%Page: (14,15) 8 userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 414.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip /showpage{}def/copypage{}def/erasepage{}def PStoPSxform concat 14 14 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1391 211 a Fg(Summar)r(y)56 b(and)g(Conc)l(lusions)267 618 y Fd(\017)85 b Fc(Exper)s(ience)47 b(with)g(thresh)h(and)f(an)h (ancestor)f(seems)g(to)h(sho)m(w)g(that)455 911 y(thresh)g(is)e(useful) h(in)g(a)g(n)n(umber)i(of)e(situations)267 1318 y Fd(\017)85 b Fc(Seems)47 b(to)g(be)h(lo)m(w)f(f)-5 b(ootpr)s(int,)48 b(and)g(simple)e(to)h(install)f(and)i(oper)n(ate)267 1726 y Fd(\017)85 b Fc(Seems)47 b(to)g(\002ll)f(a)i(need)f(that')-8 b(s)47 b(not)g(already)h(w)n(ell)f(addressed)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2531 b(14)p eop PStoPSsaved restore userdict/PStoPSsaved save put PStoPSmatrix setmatrix 527.294118 36.000000 translate 90 rotate 0.558824 dup scale userdict/PStoPSmatrix matrix currentmatrix put userdict/PStoPSclip{0 0 moveto 612.000000 0 rlineto 0 792.000000 rlineto -612.000000 0 rlineto closepath}put initclip PStoPSxform concat 15 15 bop -240 -290 a Fe(Thresh)34 b(\227)e(a)h(Data-Directed)h(SNMP)e (Threshold)i(P)-6 b(oller)150 3840 y @beginspecial @setspecial tx@Dict begin STP newpath 1.60767 SLW 0. setgray 14.22636 false 10.3217 neg 10.3217 neg 257.217 193.31476 .5 Frame gsave 1.60767 SLW 0. setgray 0 setlinecap stroke grestore end @endspecial 1330 211 a Fg(Questions,)56 b(A)-8 b(v)l(ailability)-16 b(,)53 b(etc.?)267 618 y Fd(\017)85 b Fc(Soon)47 b(at)692 968 y(http://thresh.sourcef)-5 b(orge)m(.net/)267 1376 y Fd(\017)85 b Fc(Questions?)5250 3840 y 0 setgray 5250 3840 a -187 4252 a Fe(c)-240 4256 y Fb(\015)p Fe(2000)32 b(John)h(Sellens)1524 b(LISA)33 b(2000)2531 b(15)p eop PStoPSsaved restore %%Trailer end userdict /end-hook known{end-hook}if %%EOF