%!PS-Adobe-3.0 %%Title: (notes-1101.fm) %%Creator: (FrameMaker+SGML 5.5 PowerPC: AdobePS 8.5.1) %%CreationDate: (9:33 AM Monday, November 1, 1999) %%For: (Matt Bishop) %%Routing: (mailto:\000bishop@cs.ucdavis.edu) %%Pages: 1 %%DocumentFonts: Times-Roman %%+ Times-Bold %%+ Times-BoldItalic %%+ Times-Italic %%+ Symbol %%DocumentNeededResources: font Times-Roman Times-Bold Times-BoldItalic Times-Italic Symbol %%DocumentSuppliedResources: %%DocumentData: Clean7Bit %%PageOrder: Ascend %%Orientation: Portrait %%DocumentMedia: Default 612 792 0 () () %RBINumCopies: 1 %RBINupNess: 1 1 %ADO_ImageableArea: 30 33 582 761 %%BoundingBox: 0 0 612 792 %%DocumentProcessColors: Cyan Magenta Yellow Black %%DocumentCustomColors: (Red) %%+ (Green) %%+ (Blue) %%CMYKCustomColor: 0 1 1 0 (Red) %%+ 1 0 1 0 (Green) %%+ 1 1 0 0 (Blue) %%EndComments %%BeginDefaults %%ViewingOrientation: 1 0 0 1 %%EndDefaults userdict/dscInfo 5 dict dup begin /Title(notes-1101.fm)def /Creator(FrameMaker+SGML 5.5 PowerPC: AdobePS 8.5.1)def /CreationDate(9:33 AM Monday, November 1, 1999)def /For(Matt Bishop)def /Pages 1 def end put %%BeginProlog /md 204 dict def md begin/currentpacking where {pop /sc_oldpacking currentpacking def true setpacking}if %%BeginFile: lw8_feature-1.01 %%Copyright: Copyright 1990-1998 Adobe Systems Incorporated and Apple Computer Incorporated. All Rights Reserved. /bd{bind def}bind def /ld{load def}bd /xs{exch store}bd /Z{0 def}bd /T true def /F false def /level2 /languagelevel where { pop languagelevel 2 ge }{ F }ifelse def /odictstk Z /oopstk Z /fcl { count oopstk sub dup 0 gt { {pop}repeat }{ pop }ifelse countdictstack odictstk sub dup 0 gt { {end}repeat }{ pop }ifelse }bd /sfcl2 { /odictstk countdictstack store count/oopstk xs }bd /efcl2 { stopped{$error/newerror F put}if fcl }bd /noload Z /startnoload { {/noload save store}if }bd /endnoload { {noload restore}if }bd /setcopies{ level2 { 1 dict begin/NumCopies exch def currentdict end setpagedevice }{ userdict/#copies 3 -1 roll put }ifelse }def level2 startnoload /ststpgdev{}def /dopgdev{}def /stpgdev{}def /buf Z /didstop T def /sfcl { /didstop T store /odictstk countdictstack store count/oopstk xs currentfile cvx stopped { $error/newerror F put didstop { save/didstop xs /buf vmstatus exch sub exch pop dup 0 lt{pop 0}if dup 64000 gt{pop 64000}if string store { currentfile buf readline { (}efcl)eq{exit}if }{ /UnexpectedEOF errordict/rangecheck get exec }ifelse }loop didstop restore }if }if fcl }bd /efcl { /didstop F store exec stop }bd level2 endnoload level2 not startnoload /setpagedevice where{pop/realstpgdev/setpagedevice ld}if /SC_topddict Z /SC_spdict Z /$spusrdict F def /dopgdev { userdict/setpagedevice undef $spusrdict { userdict/setpagedevice/realstpgdev load put /$spusrdict F store }if SC_topddict realstpgdev }bd /stpgdev { SC_topddict dup 3 -1 roll { SC_spdict 2 index known { SC_spdict 2 index get dup 3 -1 roll { put dup }forall pop put dup }{ put dup }ifelse }forall pop pop }bd /ststpgdev { /setpagedevice where { userdict eq { /$spusrdict T store }if }if userdict/setpagedevice/stpgdev load put /SC_topddict 0 dict store /SC_spdict 3 dict begin /InputAttributes 0 dict def /Policies 0 dict def /OutputAttributes 0 dict def currentdict end store }def /sfcl/sfcl2 ld /efcl/efcl2 ld level2 not endnoload %%EndFile %%BeginFile: lw8_basic-3.0 /xdf{exch def}bd /:L/lineto /lw/setlinewidth /:M/moveto /rl/rlineto /rm/rmoveto /:C/curveto /:T/translate /:K/closepath /:mf/makefont /gS/gsave /gR/grestore /np/newpath 12{ld}repeat /framewidth -1 def /QDframwid -1 def /numframes Z /mTS matrix def /$m matrix def /av 86 def /por T def /normland F def /psb-nosave{}def /pse-nosave{}def /us Z /psb{/us save store}bd /pse{us restore}bd /level3 /languagelevel where { pop languagelevel 3 ge }{ F }ifelse def level2 startnoload /setjob { statusdict/jobname 3 -1 roll put }bd /devg/DeviceGray def /devr/DeviceRGB def /devc/DeviceCMYK def level2 endnoload level2 not startnoload /setjob { 1 dict begin/JobName xdf currentdict end setuserparams }bd /devg[/DeviceGray]def /devr[/DeviceRGB]def /devc[/DeviceCMYK]def level2 not endnoload /pm Z /mT Z /sD Z /initializepage { mT $m currentmatrix mTS concatmatrix pop /pm save store mT concat }bd /endp { pm restore }bd /adjRect { dup 2 mul 6 2 roll 4 index sub exch 5 -1 roll sub exch 4 2 roll 4 index add exch 5 -1 roll add exch 4 2 roll }bd /frame1up { gS mTS setmatrix QDframwid lw /setstrokeadjust where{pop T setstrokeadjust}if clippath pathbbox 2 index sub exch 3 index sub exch currentlinewidth framewidth mul adjRect numframes dup 0 lt{pop 0}if { 4 copy rS currentlinewidth framewidth mul 4 mul adjRect }repeat pop pop pop pop gR }bd /$c devr def /rectclip where { pop/rC/rectclip ld }{ /rC { np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K clip np }bd }ifelse /rectfill where { pop/rF/rectfill ld }{ /rF { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl fill gR }bd }ifelse /rectstroke where { pop/rS/rectstroke ld }{ /rS { gS np 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K stroke gR }bd }ifelse %%EndFile level3 startnoload %%BeginFile: lw8_safeclipL12-1.0 /rectclip where { pop/rCa/rectclip ld }{ /rCa { np 0 1 index length 4 idiv { 2 copy 4 getinterval aload pop 4 2 roll :M 1 index 0 rl 0 exch rl neg 0 rl :K 4 add }repeat clip np pop pop }bd }ifelse /savedstack Z /subsavedstack Z /execstring Z /saferCa { /execstring xs /odictstk countdictstack store /oopstk 0 store count 0 ne { savedstack 0 eq{ count 100 gt{count}{100}ifelse array/savedstack xs }{ count savedstack length gt { count array/savedstack xs }if }ifelse count savedstack 0 3 -1 roll getinterval astore/subsavedstack xs }{ /subsavedstack 0 store }ifelse execstring cvx stopped { $error/newerror F put newpath }if fcl subsavedstack 0 ne{ subsavedstack aload pop }if }bd %%EndFile level3 endnoload level3 not startnoload %%BeginFile: lw8_safeclipL3-1.0 /saferCa/pop ld %%EndFile level3 not endnoload %%BeginFile: lw8_level1_colorspace-2.0 /G/setgray ld /:F1/setgray ld /:F/setrgbcolor ld /:F4/setcmykcolor where { pop /setcmykcolor ld }{ { 3 { dup 3 -1 roll add dup 1 gt{pop 1}if 1 exch sub 4 1 roll }repeat pop setrgbcolor }bd }ifelse /:Fx { counttomark {0{G}0{:F}{:F4}} exch get exec pop }bd /$cs Z /:rg{devr :ss}bd /:sc{$cs :ss}bd /:dc { dup type/arraytype eq{0 get}if dup/DeviceCMYK eq { pop devc }{ /DeviceGray eq { devg }{ devr }ifelse }ifelse /$cs xdf }bd /:sgl{}def /:dr{}bd /:fCRD{pop}bd /:ckcs{}bd /:ss{/$c xdf}bd %%EndFile %%BeginFile: lw8_bubn-2.1 /$t Z /$p Z /$s Z /$o 1. def /2state? F def /ps Z level2 startnoload /pushcolor/currentrgbcolor ld /popcolor/setrgbcolor ld /setcmykcolor where { pop/currentcmykcolor where { pop/pushcolor/currentcmykcolor ld /popcolor/setcmykcolor ld }if }if level2 endnoload level2 not startnoload /pushcolor { currentcolorspace $c eq { currentcolor currentcolorspace T }{ currentcmykcolor F }ifelse }bd /popcolor { { setcolorspace setcolor }{ setcmykcolor }ifelse }bd level2 not endnoload /pushstatic { 2state? $o $t $p $s $cs ps }bd /popstatic { /ps xs /$cs xs /$s xs /$p xs /$t xs /$o xs /2state? xs }bd /pushgstate { currentpoint pushcolor currentlinewidth currentlinecap currentlinejoin currentdash exch aload length np clippath pathbbox $m currentmatrix aload pop }bd /popgstate { $m astore setmatrix 2 index sub exch 3 index sub exch rC array astore exch setdash setlinejoin setlinecap lw popcolor np :M }bd /bu { errordict/nocurrentpoint{pop 0 0}put 2state? { pushgstate gR }if pushgstate gR pushgstate pushstatic pm restore mTS setmatrix }bd /bn { /pm save store popstatic popgstate gS popgstate 2state? { gS popgstate }if }bd /cpat{pop 64 div setgray 8{pop}repeat}bd %%EndFile %%BeginFile: lw8_basic_text-2.1 /S/show ld /A{ 0.0 exch ashow }bd /R{ 0.0 exch 32 exch widthshow }bd /W{ 0.0 3 1 roll widthshow }bd /J{ 0.0 32 4 2 roll 0.0 exch awidthshow }bd /V{ 0.0 4 1 roll 0.0 exch awidthshow }bd /fcflg T def /fc{ fcflg{ vmstatus exch sub 50000 lt{ (%%[ Warning: Running out of memory ]%%\r)print flush/fcflg F store }if pop }if }bd /$f[1 0 0 -1 0 0]def /:ff{$f :mf}bd /MacEncoding StandardEncoding 256 array copy def MacEncoding dup 9/space put dup 39/quotesingle put 96/grave put /Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute /agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave /ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute /ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis /dagger/degree/cent/sterling/section/bullet/paragraph/germandbls /registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash /infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation /product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash /questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft /guillemotright/ellipsis/space/Agrave/Atilde/Otilde/OE/oe /endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge /ydieresis/Ydieresis/fraction/Euro/guilsinglleft/guilsinglright/fi/fl /daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand /Acircumflex/Ecircumflex/Aacute/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave /Oacute/Ocircumflex/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde /macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron MacEncoding 128 128 getinterval astore pop level2 startnoload /copyfontdict { findfont dup length dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall }bd /$ckeyd md def /:skey { 1 index maxlength 2 index length sub ge { begin /$mkeys 20 dict def /$mkeys load end dup/$ckeyd xs }if 3 1 roll put }bd /fD1pass { 40 $ckeyd //md ne { pop 1 }if $ckeyd exch :skey }bd /:searchdict Z /:searchdict { exch 2 copy known { get }{ exch/$mkeys get :searchdict }ifelse }bd /lU { //md exch 2 copy known { get }{ exch /$mkeys get :searchdict }ifelse }bd /:xs{ exch 0 1 2 index length 1 sub{ 3 copy gsave 1 getinterval show grestore exch get 0.0 rmoveto }for pop pop }bd /:ys{ exch 0 1 2 index length 1 sub{ 3 copy gsave 1 getinterval show grestore exch get 0.0 exch rmoveto }for pop pop }bd /:xys{ exch 0 1 2 index length 1 sub{ 3 copy gsave 1 getinterval show grestore exch 2 mul 2 copy 1 add get 3 -2 roll get exch rmoveto }for pop pop }bd level2 endnoload level2 not startnoload /copyfontdict { findfont dup length dict copy begin }bd /fD1pass/def ld /lU/load ld level2{ /:xs/xshow ld /:ys/yshow ld /:xys/xyshow ld }if level2 not endnoload /fD Z /sf Z /scf Z /sf1pass { lU setfont }bd /scf1pass { exch lU exch scalefont fD }bd /scf2pass { scalefont fD }bd md/fontname known not{ /fontname/customfont def }if /Encoding Z /:mre { copyfontdict /Encoding MacEncoding def fontname currentdict end definefont :ff fD }bd /:bsr { copyfontdict /Encoding Encoding 256 array copy def Encoding dup }bd /pd{put dup}bd /:esr { pop pop fontname currentdict end definefont :ff fD }bd /ps Z /fz{/ps xs}bd /cF/currentfont ld /mbf { /makeblendedfont where { pop makeblendedfont /ABlend exch definefont }{ pop }ifelse fD }def %%EndFile /currentpacking where {pop sc_oldpacking setpacking}if end %%EndProlog %%BeginSetup md begin /fD/def ld/sf/setfont ld /scf/scf2pass ld 600/languagelevel where{pop languagelevel 2 ge}{false}ifelse{1 dict dup/WaitTimeout 4 -1 roll put setuserparams}{statusdict/waittimeout 3 -1 roll put}ifelse sfcl{ %%BeginFeature: *InputSlot Upper %%EndFeature }efcl sfcl{ %%BeginFeature: *ManualFeed False level2 {1 dict dup /ManualFeed false put setpagedevice}{statusdict begin /manualfeed false store end} ifelse %%EndFeature }efcl sfcl{ %%BeginFeature: *PageRegion Letter level2 { 2 dict dup /PageSize [612 792] put dup /ImagingBBox null put setpagedevice }{ /letter where {pop letter}{letterR} ifelse } ifelse %%EndFeature }efcl (Matt Bishop)setjob /mT[1 0 0 -1 30 761]def /sD 16 dict def %%IncludeResource: font Times-Roman /f133/Times-Roman :mre /f148 f133 10 scf %%IncludeResource: font Times-Bold /f161/Times-Bold :mre /f175 f161 18 scf %%IncludeResource: font Times-BoldItalic /f188/Times-BoldItalic :mre /f205 f188 10 scf %%IncludeResource: font Times-Italic /f218/Times-Italic :mre /f233 f218 10 scf /f246 f218 8 scf %%IncludeResource: font Symbol /f268/Symbol :bsr 240/apple pd :esr /f280 f268 10 scf /f293 f268 8 scf /f306 f133 8 scf {/Courier findfont[10 0 0 -10 0 0]:mf setfont}stopped{$error/newerror F put}if % PostScript Prolog for use with Macintosh Frame Products 5.5 % Copyright (c) 1986-98 Adobe Systems Inc. All rights reserved. %%BeginProcSet: "FrameMacDict" 556 12 userdict/FrameMacDict 250 dict put FrameMacDict begin systemdict/setpacking known{/fMSP currentpacking def true setpacking}if[/fM1/fMi1/fMi2/fM2/fM3/fMcl /fMAB/fM5/fM6/fM0/fM8/fM9/fMBC/fMC/fMCD/fMCK/fMCR/fMCS/fMib/fMCN/fMCE/fMCO/fMef /fMet/fMeh/fMew/fMey/fMex/fMei/fMej/fMek/fMel/fMeb/fMGC/fMGL/fMGM/fMIT/fMIx /fMJB/fMJC/fMJG/fMJK/fMJM/fMJR/fMJY/fMK/fML1/fMM/fMCP/fMNC/fMNg/fMND/fMOx/fMPC /fMPG/fMPH/fMPt/fMRC/fMS/fMSJ/fMUC/fMUM/fMUY/fMY/fMdm/fMax/fMa2/fMi/fMk/fMSD /fMcu/fMsg/fms/fMTV/fmBS/fMdp/freq/sangle/sflipx/sflipy/pflipx/pflipy/xx/yy /xindex/yindex/fM1B/fM0B/fMdc/fMds]{0 def}forall/T true def/F false def/FmBD{ bind def}bind def/fmXD{exch def}FmBD/fmBx{dup length exch{dup/FrameMacDict eq{ pop FrameMacDict}{dup type dup/arraytype eq exch/packedarraytype eq or{dup xcheck{fmBi}if}if}ifelse exch}forall systemdict/setpacking known{packedarray}{ array astore}ifelse cvx}FmBD/fmBi{bind fmBx}FmBD/fmax{2 copy lt{exch}if pop} FmBD/fmin{2 copy gt{exch}if pop}FmBD/fML1/languagelevel where{pop languagelevel }{1}ifelse 2 lt def/fMCE fML1{/statusdict where{pop statusdict/processcolors known{statusdict/processcolors get exec 1 gt}{F}ifelse}{F}ifelse}{T}ifelse def /fMXN/statusdict where{pop statusdict/product known{statusdict/product get}{ (Unknown)}ifelse}{(Unknown)}ifelse def/fMHq fMXN(LaserWriter-Sim)eq def fML1{ userdict/FrMacBegin{FrameMacDict begin}fmBi put/FmE{end}FmBD}{/fMdc 6 array def userdict/FrMacBegin{FrameMacDict begin/fMds currentcolorspace store mark 0 0 0 0 0 currentcolor fMdc astore pop cleartomark}fmBi put/FmE{fMds setcolorspace mark fMdc aload pop setcolor cleartomark end}FmBD}ifelse/fMcu F def/fMsg F def /fMSD F def/fmSK{pop pop pop pop}FmBD/FmG/gsave load def/FmR/grestore load def /fm_l/grestoreall load def/fm_v/save load def/fm_g/setgray load def/fm_r /setrgbcolor load def/fm_h/sethsbcolor load def/fm_f/fill load def/fm_e/eofill load def/fm_t/stroke load def/fm_m/imagemask load def/fm_i/image load def/fm_s /show load def/fm_a/ashow load def/fm_w/widthshow load def/fm_y/awidthshow load def/RealKshow/kshow load def/fm_si systemdict/image get def/fm_sg systemdict /setgray get def/fm_sc systemdict/currentgray get def/fm_su systemdict /settransfer get def/fm_sx systemdict/currenttransfer get def fMCE{ /SysColorimage systemdict/colorimage get def}if/fMdm matrix def/fMax matrix def /fMa2 matrix def/fmSM{fMax currentmatrix pop}FmBD/fmRM{fMax setmatrix}FmBD/FmRF {currentpoint 2 copy translate 4 2 roll{-1 1 scale}if rotate neg exch neg exch translate}FmBD systemdict/pdfmark known systemdict/currentdistillerparams known and{/fMAB true def/FmPD/pdfmark load def/FmPT/fm_s load def currentdistillerparams/CoreDistVersion get 2000 ge{/FmPD2/pdfmark load def % % Procedure /FmPA defines named destinations. % In order to accommodate all possible scenarios, FrameMaker defines named destinations % for each paragraph, which allows links to arbitrary points in already generated % PDF documents. This feature may cause larger PDF files to be created. % The fmCG flag tells Distiller whether to create named destinations for each % paragraph. This prolog defines two versions of this flag. One of these versions must be % commented out, and the other must be uncommented. % % The following fmCG flag will cause Distiller to create a named destination for % each paragraph. % /fmCG{false}FmBD % % The following fmCG flag will cause Distiller to create a named destination only % for each paragraph known to be a destination. If you do not want Distiller to create % named destinations for each paragraph (thus creating smaller sized PDF documents), % uncomment the following statement and comment out the previous statement. % CAUTION: By making the following statement active, you may lose some links in the % resulting PDF documents. % %%/fmCG { dup 127 string cvs 0 get (G) 0 get eq } FmBD % /FmND{mark exch/Dest exch 5 3 roll/View[/XYZ 5 -2 roll FmDC null]/DEST FmPD} FmBD/FmPA{fmCG{pop pop pop}{FmND}ifelse}FmBD}{/FmPD2/cleartomark load def/FmPA{ pop pop pop}FmBD/FmND{pop pop pop}FmBD}ifelse}{/fMAB false def/FmPD/cleartomark load def/FmPD2/cleartomark load def/FmPT/pop load def/FmPA{pop pop pop}FmBD /FmND{pop pop pop}FmBD}ifelse/FmDC{transform fMdm defaultmatrix itransform cvi exch cvi exch}FmBD/FmBx{dup 3 index lt{3 1 roll exch}if 1 index 4 index lt{4 -1 roll 3 1 roll exch 4 1 roll}if}FmBD/fmkn{2 copy known{get T}{pop pop false} ifelse}FmBD/fmfp{exch currentfont dup/FontMatrix get exch/FontInfo fmkn{T}{ currentfont/df fmkn{dup/FontInfo fmkn{3 1 roll/FontMatrix get mtx concatmatrix exch T}{pop pop pop F}ifelse}{pop pop F}ifelse}ifelse{3 -1 roll fmkn{exch 0 3 1 roll dtransform neg exch pop exch pop}{pop exec}ifelse}{exec}ifelse}FmBD/FmTx{ /fM3 fmXD/fM2 fmXD/fM1 fmXD 0 32 fM1 fM3 stringwidth pop fM2 sub fM3 length div sub 0 fM3 fm_y}FmBD/fMOx matrix def fMOx currentmatrix pop/FmSO{/FmOs save def fmSM fMOx setmatrix}FmBD/FmIO{fmRM}FmBD/FmEO{FmOs restore}FmBD/fmSC{0 1 fMGL{ dup fMRC exch get exch dup fMNC exch get exch dup fMBC exch get exch 4 1 roll /fmRY fmGG exec fMeb fMC eq{pop pop pop}{fMeb fMM eq{pop pop exch pop}{fMeb fMY eq{pop 3 1 roll pop pop}{fMeb fMK eq{4 1 roll pop pop pop}{pop pop pop pop 0} ifelse}ifelse}ifelse}ifelse 1 exch sub 255 mul fMGC 3 1 roll put}for}FmBD/fmSW{ /fMOP fmGG{nulldevice}{fMNg{{10000000 div}}{{10000000 div 1 exch sub}}ifelse fm_su}ifelse}FmBD fML1{/Fmi{save userdict/fM7 3 -1 roll put/fM9 F def{{dup length dup 1 sub/fMGL fmXD array/fMGC fmXD/fMBC fmXD/fMNC fmXD/fMRC fmXD fMeb fMCP ne{fmSC{fMGL mul cvi fMGC exch get}currenttransfer fmcp fm_su}{fMCE{ currentcolortransfer/gryt fmXD/blut fmXD/grnt fmXD/redt fmXD 0 1 fMGL{/fMIx fmXD/fMUC 1 fMRC fMIx get sub def/fMUM 1 fMNC fMIx get sub def/fMUY 1 fMBC fMIx get sub def/fMk fMUC fMUM fmin fMUY fmin def/FmU fMk/currentundercolorremoval where{pop currentundercolorremoval exec}{pop 0}ifelse def fMRC fMIx 1 0 fMUC FmU sub fmax sub redt exec put fMNC fMIx 1 0 fMUM FmU sub fmax sub grnt exec put fMBC fMIx 1 0 fMUY FmU sub fmax sub blut exec put fMGC fMIx 1 fMk /currentblackgeneration where{pop currentblackgeneration exec}{}ifelse sub gryt exec put}for{fMGL mul cvi fMRC exch get}{fMGL mul cvi fMNC exch get}{fMGL mul cvi fMBC exch get}{fMGL mul cvi fMGC exch get}setcolortransfer /setundercolorremoval where{pop{pop 0}setundercolorremoval}if /setblackgeneration where{pop{}setblackgeneration}if/fM9 T def}{0 1 fMGL{fMGC exch dup dup fMRC exch get .3 mul exch dup fMNC exch get .59 mul exch fMBC exch get .11 mul add add put}for{fMGL mul cvi fMGC exch get}currenttransfer fmcp fm_su}ifelse}ifelse}{fMeb dup fMK eq exch fMCP eq or{dup length 1 sub/fMGL fmXD /fMGC fmXD{fMGL mul cvi fMGC exch get}currenttransfer fmcp fm_su}{pop fmSW} ifelse}ifelse}{fMeb dup fMK eq exch fMCP eq or{{{1 exch sub}currenttransfer fmcp fm_su}if}{pop fmSW}ifelse}ifelse/fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub}currenttransfer exch fmcp fm_su}if/fMi1 fM8 string def fMcl fMrw fM6[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]{currentfile fMi1 fM5{readstring}{ readhexstring}ifelse pop}fM9{{fMi1}{fMi1}T 3 SysColorimage}{fm_si}ifelse fM7 restore}FmBD}{/Fmi{save userdict/fM7 3 -1 roll put/fM9 F def{{dup length dup 1 sub/fMGL fmXD array/fMGC fmXD/fMBC fmXD/fMNC fmXD/fMRC fmXD fMeb fMCP ne{fmSC[ /Indexed/DeviceGray fMGL{fMGC exch get}]setcolorspace}{[/Indexed/DeviceRGB fMGL {dup fMRC exch get exch dup fMNC exch get exch fMBC exch get}]setcolorspace} ifelse}{dup length 1 sub/fMGL fmXD/fMGC fmXD[/Indexed/DeviceGray fMGL{fMGC exch get}]setcolorspace fMeb dup fMK ne exch fMCP ne and{fmSW}if}ifelse}{1 5 index bitshift 1 sub/fMGL fmXD[/Indexed/DeviceGray fMGL 5 -1 roll{{fMGL div 1 exch sub}}{{fMGL div}}ifelse]setcolorspace fMeb dup fMK ne exch fMCP ne and{fmSW}if} ifelse/fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub} currenttransfer exch fmcp fm_su}if/fMi1 fM8 string def 7 dict begin/ImageType 1 def/Width fMcl def/Height fMrw def/ImageMatrix[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]def/DataSource{currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop} def/BitsPerComponent fM6 def/Decode[0 fMGL]def currentdict end fm_si fM7 restore}FmBD}ifelse/fmIv{[{1 exch sub}/exec load dup currenttransfer exch]cvx bind fm_su}FmBD/fm3b{dup fMCP eq{pop 0 1 4 index length 1 sub{3 index 1 index get .3 mul 3 index 2 index get .59 mul 3 index 3 index get .11 mul add add round cvi 4 index 3 1 roll put}for pop pop}{/fmRY fmGG 0 1 6 index length 1 sub {5 index 1 index get 255 div 5 index 2 index get 255 div 5 index 3 index get 255 div 4 index exec 6 index fMC eq{pop pop pop}{6 index fMM eq{pop pop exch pop}{6 index fMY eq{pop 3 1 roll pop pop}{6 index fMK eq{4 1 roll pop pop pop}{ pop pop pop pop 0}ifelse}ifelse}ifelse}ifelse 255 mul round cvi 6 index 3 1 roll put}for pop pop pop pop}ifelse}FmBD/Fmci{save userdict/fM7 3 -1 roll put /fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD/fMi1 fM8 string def /fM0 fM8 3 idiv def/fMs fMi1 0 fM0 getinterval def/fMs2 fMi1 fM0 dup getinterval def/fMs3 fMi1 fM0 dup 2 mul exch getinterval def translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub}currenttransfer exch fmcp fm_su}if fMcl fMrw fM6[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]fMeb fMCP eq fMCE and{{currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop pop fMs} {fMs2}{fMs3}T 3 SysColorimage}{{fmIv currentfile fMi1 fM5{readstring}{ readhexstring}ifelse pop pop fMs fMs2 fMs3 fMeb fm3b}fm_si}ifelse fM7 restore} FmBD/fm4b{dup fMCP eq{pop 0 1 5 index length 1 sub{2 copy get dup 6 index 3 index get add 255 fmin .3 mul 1 index 6 index 4 index get add 255 fmin .59 mul 3 -1 roll 5 index 4 index get add 255 fmin .11 mul add add round cvi 5 index 3 1 roll put}for pop pop pop}{dup fMC eq{pop pop pop pop}{dup fMM eq{pop pop pop exch pop}{dup fMY eq{pop pop exch pop exch pop}{fMK eq{4 1 roll pop pop pop}{ pop pop pop 0 1 2 index length 1 sub{1 index exch 0 put}for}ifelse}ifelse} ifelse}ifelse}ifelse}FmBD/Fmc4{save userdict/fM7 3 -1 roll put/fMIT fmXD/fM5 fmXD/fM8 fmXD/fM6 fmXD/fMrw fmXD/fMcl fmXD/fMi1 fM8 string def/fM0 fM8 4 idiv def/fMs fMi1 0 fM0 getinterval def/fMs2 fMi1 fM0 dup getinterval def/fMs3 fMi1 fM0 dup 2 mul exch getinterval def/fMs4 fMi1 fM0 dup 3 mul exch getinterval def translate rotate scale{-1 1 scale}if fMIT 1 ne{{1 exch sub fMIT mul 1 exch sub} currenttransfer exch fmcp fm_su}if fMcl fMrw fM6[fMcl 0 0 fMrw fMcl 2 div fMrw 2 div]fMeb fMCP eq fMCE and{{currentfile fMi1 fM5{readstring}{readhexstring} ifelse pop pop fMs}{fMs2}{fMs3}{fMs4}T 4 SysColorimage}{fmIv{currentfile fMi1 fM5{readstring}{readhexstring}ifelse pop pop fMs fMs2 fMs3 fMs4 fMeb fm4b}fm_si }ifelse fM7 restore}FmBD fML1{/fmAn{transform round .5 sub exch round .5 sub exch itransform}FmBD/fmAc{transform round 1.5 sub exch round 1.5 sub exch itransform}FmBD/fmDn{dtransform round exch round exch idtransform}FmBD/fmLn{0 dtransform exch cvi 2 idiv 2 mul .1 add exch idtransform pop}FmBD/FmCv{fmDn 6 2 roll fmDn 6 2 roll fmDn 6 2 roll rcurveto}FmBD}{T setstrokeadjust/fmAn{}FmBD /fmAc{}FmBD/fmDn{}FmBD/fmLn{}FmBD/FmCv{rcurveto}FmBD}ifelse/FmM{fmAn moveto} FmBD/M{moveto}FmBD/N{0 rmoveto}FmBD/S{fm_s}FmBD/A{0 exch fm_a}FmBD/W{0 exch 32 exch fm_w}FmBD/X{0 exch 0 32 5 2 roll fm_y}FmBD/fmQP{fML1 fMGM or not{FmG dup 1 fm_g exec FmR}if exec}FmBD/FmB{newpath fmAn moveto}FmBD/FmL{rlineto}FmBD/FmAL{ fmAn lineto}FmBD/FmSo{fmLn setlinewidth setlinecap{fm_t}fmQP 0 0 moveto}FmBD /FmS{fmLn setlinewidth closepath{fm_t}fmQP 0 0 moveto}FmBD/FmDS{fmLn setlinewidth setlinecap{closepath}if setdash{fm_t}fmQP[]0 setdash 0 0 moveto} FmBD/FmFl{FmG{fm_e}fmQP FmR}FmBD/fmq{fmDn 4 2 roll fmAn newpath moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}FmBD/FmqP{fmq fmLn setlinewidth{fm_t}fmQP 0 0 moveto}FmBD/FmqF{fmq FmG{fm_f}fmQP FmR}FmBD/FmKp{{ currentpoint}stopped{F 5 1 roll}{T 7 3 roll}ifelse fmDn 4 2 roll fmAn newpath moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath clip{moveto}{ newpath}ifelse}FmBD/FmKb{{currentpoint}stopped}FmBD/FmKe{clip{newpath}{moveto} ifelse}FmBD/FmAF{FmG newpath fmAn translate not{0.0 0.0 moveto}if rotate fmDn scale 0.0 0.0 1.0 5 3 roll arc closepath{fm_f}fmQP FmR}FmBD/FmAP{FmG{setdash}if fmLn setlinewidth setlinecap fmSM newpath 2 index 2 div add exch 3 index 2 div sub exch fmAn 2 index 2 div sub exch 3 index 2 div add exch translate rotate scale 0.0 0.0 1.0 5 3 roll exch arcn{closepath}if fmRM{fm_t}fmQP FmR}FmBD/FmST{ FmG fmAn translate .3 fmLn setlinewidth 0 setlinecap 0 setlinejoin newpath 1 fm_g 0 0 10 0 360 arc fm_f 0 fm_g 0 0 10 0 360 arc fm_t 36{1 0 moveto 0 0 10 -2.5 2.5 arc fm_f 10 rotate}repeat FmR}FmBD/FmSL{FmG fmAn translate .25 fmLn setlinewidth 0 setlinecap 0 setlinejoin newpath 1 fm_g 0 0 10 0 360 arc fm_f 0 fm_g 10 .5 fmLn neg .1{0 0 3 -1 roll 0 360 arc fm_t}for FmR}FmBD/fMCP 0 def/fMC 1 def/fMM 2 def/fMY 3 def/fMK 4 def/fMS 5 def/fMN 6 def/fMNg 0 currenttransfer exec .5 gt def/fMib fMCP def/fMJK 0 def/fMJY 0 def/fMJM 0 def/fMJC 0 def/fMJR 1 def/fMJG 1 def/fMJB 1 def/fMPG 0 def/fMTV 1 def/fMPt null def/fMCK[0 0 0 1 (Black)0 0 0]def/fmCH{fML1{14 dict dup begin fMCE{/HalftoneType 2 def currentcolorscreen[/GraySpotFunction/GrayAngle/GrayFrequency/BlueSpotFunction /BlueAngle/BlueFrequency/GreenSpotFunction/GreenAngle/GreenFrequency /RedSpotFunction/RedAngle/RedFrequency]{exch def}forall}{/HalftoneType 1 def currentscreen[/SpotFunction/Angle/Frequency]{exch def}forall}ifelse statusdict /checkscreen known{statusdict/accuratescreens get exec}{F}ifelse /AccurateScreens exch def end}{currenthalftone}ifelse}FmBD/fmSH{fML1 fMeb fMCP ne or{begin statusdict/checkscreen known{currentdict/AccurateScreens known{ AccurateScreens}{F}ifelse statusdict/setaccuratescreens get exec}if HalftoneType 1 eq{Frequency Angle/SpotFunction load setscreen}{HalftoneType 2 eq{fMeb fMCP eq fMCE and{RedFrequency RedAngle/RedSpotFunction load GreenFrequency GreenAngle/GreenSpotFunction load BlueFrequency BlueAngle /BlueSpotFunction load GrayFrequency GrayAngle/GraySpotFunction load setcolorscreen}{fMeb fMC eq{RedFrequency RedAngle/RedSpotFunction load}{fMeb fMM eq{GreenFrequency GreenAngle/GreenSpotFunction load}{fMeb fMY eq{ BlueFrequency BlueAngle/BlueSpotFunction load}{fMeb fMY eq currentdict /BlackFrequency known and{BlackFrequency BlackAngle/BlackSpotFunction load}{ GrayFrequency GrayAngle/GraySpotFunction load}ifelse}ifelse}ifelse}ifelse setscreen}ifelse}if}ifelse end}{sethalftone}ifelse}FmBD/FmCS{17 dict begin /HalftoneType 2 def/AccurateScreens exch def/GraySpotFunction exch def /GrayAngle exch def/GrayFrequency exch def/BlackSpotFunction exch def /BlackAngle exch def/BlackFrequency exch def/BlueSpotFunction exch def /BlueAngle exch def/BlueFrequency exch def/GreenSpotFunction exch def /GreenAngle exch def/GreenFrequency exch def/RedSpotFunction exch def/RedAngle exch def/RedFrequency exch def currentdict dup end/fMPH exch def fmSH}FmBD/FmSS {5 dict begin/HalftoneType 1 def/AccurateScreens exch def/SpotFunction exch def /Angle exch def/Frequency exch def currentdict dup end/fMPH exch def fmSH}FmBD /fMPH fmCH def/fmcp{cvlit exch cvlit exch 2 copy length exch length add array dup 0 4 index putinterval dup 3 index length 3 index putinterval 3 1 roll pop pop cvx}FmBD/fmEp{sub dup 0 lt{neg}if .001 le}FmBD/fmQC{2 copy 0 get exch 0 get fmEp{2 copy 1 get exch 1 get fmEp{2 copy 2 get exch 2 get fmEp{3 get exch 3 get fmEp}{pop pop F}ifelse}{pop pop F}ifelse}{pop pop F}ifelse}FmBD/fmQR{2 copy 5 get exch 0 get fmEp{2 copy 6 get exch 1 get fmEp{7 get exch 2 get fmEp}{pop pop F}ifelse}{pop pop F}ifelse}FmBD/FmSC{/fMib fMS def/fMJB fmXD/fMJG fmXD/fMJR fmXD/fMCN fmXD/fMJK fmXD/fMJY fmXD/fMJM fmXD/fMJC fmXD}FmBD/FmSP{/fMib fmXD fmGb fmCC}FmBD/fMSC 1 dict def/FrameSetSpotColors{dict FrameMacDict/fMSC 3 -1 roll put}fmBi def/FrameSpot{FrameMacDict/fMSC get exch dup 4 get exch put}fmBi def/fMGM T def/fm4q{4{4 index eq 8 1 roll}repeat pop pop pop pop and and and} FmBD/fmGb{/fMeb fMCP def/fMcu/setcustomcolor where{pop T}{F}ifelse def/fMsg /setseparationgray where{pop T}{F}ifelse def/setcmykcolor where{/fMSD T def /setcmykcolor get dup/fm_x fmXD/fmSK fmXD}{/fMSD F def/fmSK{4 1 roll 3{3 index add 0 fmax 1 fmin 1 exch sub 3 1 roll}repeat fm_r pop}FmBD}ifelse fMSD{fMcu{0 fm_sx exec 1 fm_sx exec eq{/fMeb fMN store}{/fm_x where{pop 1 0 0 0 fm_x fm_sc 0 1 0 0 fm_x fm_sc 0 0 1 0 fm_x fm_sc 0 0 0 1 fm_x fm_sc 4{4 copy}repeat 0 1 1 1 fm4q{/fMeb fMC store}if 1 0 1 1 fm4q{/fMeb fMM store}if 1 1 0 1 fm4q{/fMeb fMY store}if 1 1 1 0 fm4q{/fMeb fMK store}if 1 1 1 1 fm4q{/fMeb fMN store}if}if }ifelse}if}if}FmBD/fmCC{/fMND F def/fMCT fMTV 1 fMPG sub mul def fMib fMCP eq{ fMGM fML1 or not{fMeb fMCP eq{fMAB not{[/Pattern[/DeviceCMYK]]setcolorspace fMCK 0 4 getinterval aload pop fMCT 1 lt{4{fMCT mul 4 1 roll}repeat}if}{[ /Pattern[/DeviceRGB]]setcolorspace fMCK 5 3 getinterval aload pop fMCT 1 lt{3{1 exch sub fMCT mul 1 exch sub 3 1 roll}repeat}if}ifelse}{fMcu fMCS and{fMCK 0 5 getinterval aload pop findcmykcustomcolor fMCT setcustomcolor}{0 1 3{fMCK exch get fMCT mul}for fm_x}ifelse currentgray[/Pattern[/DeviceGray]]setcolorspace} ifelse fMPt setcolor}{fMsg fMCR and{1 fMCT sub setseparationgray}{fMcu fMCS and {fMCK 0 5 getinterval aload pop findcmykcustomcolor fMCT setcustomcolor}{fMAB not fMSD and{0 1 3{fMCK exch get fMCT mul}for fm_x}{5 1 7{fMCK exch get 1 exch sub fMCT mul 1 exch sub}for fm_r}ifelse}ifelse}ifelse}ifelse}{fMGM fML1 or not{ [/Pattern[/DeviceGray]]setcolorspace 1 fMCT sub fMPt setcolor}{1 fMCT sub fm_g} ifelse}ifelse}FmBD/K{fMCK astore pop/fMCS T def/fMCR F def/fMTV exch def fmCC} FmBD/H{0 0 0 1(Black)0 0 0 fMCK astore pop/fMCS F def/fMCR T def/fMTV exch def fmCC}FmBD/fMCS F def/fMCR F def/fmPK{fMCK astore pop/fMCS F def/fMCR F def/fMTV exch def fmCC}FmBD/FmCC{1 0 0 0(Cyan)0 1 1 fmPK}FmBD/FmCM{0 1 0 0(Magenta)1 0 1 fmPK}FmBD/FmCY{0 0 1 0(Yellow)1 1 0 fmPK}FmBD/FmCK{0 0 0 1(Black)0 0 0 fmPK} FmBD/G{FmCK}FmBD/B{1 G}FmBD/FmOP/setoverprint where{pop/setoverprint}{/pop} ifelse load def fML1{/patScreenDict 7 dict dup begin<0f1e3c78f0e1c387>[45{pop}{ exch pop}.5 2 sqrt]FmBD<0f87c3e1f0783c1e>[135{pop}{exch pop}.5 2 sqrt]FmBD[0{pop}dup .5 2]FmBD[90{pop}dup .5 2]FmBD<814224 1818244281>[45{2 copy lt{exch}if pop}dup .75 2 sqrt]FmBD<0102040810204080>[45{ pop}{exch pop}.875 2 sqrt]FmBD<8040201008040201>[135{pop}{exch pop}.875 2 sqrt] FmBD end def}{/fMPP 5 dict dup begin<0f87c3e1f0783c1e>{3 setlinewidth -1 -1 moveto 9 9 lineto fm_t 4 -4 moveto 12 4 lineto fm_t -4 4 moveto 4 12 lineto fm_t}FmBD<0f1e3c78f0e1c387>{3 setlinewidth -1 9 moveto 9 -1 lineto fm_t -4 4 moveto 4 -4 lineto fm_t 4 12 moveto 12 4 lineto fm_t}FmBD<8142241818244281>{1 setlinewidth -1 9 moveto 9 -1 lineto fm_t -1 -1 moveto 9 9 lineto fm_t}FmBD<80 40201008040201>{1 setlinewidth -1 -1 moveto 9 9 lineto fm_t 4 -4 moveto 12 4 lineto fm_t -4 4 moveto 4 12 lineto fm_t}FmBD<0102040810204080>{1 setlinewidth -1 9 moveto 9 -1 lineto fm_t -4 4 moveto 4 -4 lineto fm_t 4 12 moveto 12 4 lineto fm_t}FmBD end def/fMPD 15 dict dup begin/PatternType 1 def/PaintType 2 def/TilingType 3 def/BBox[0 0 8 8]def/XStep 8 def/YStep 8 def/PaintProc{begin fMPP fmBS known{fMPP fmBS get exec}{8 8 T[1 0 0 -1 0 8]fmBS fm_m}ifelse end} FmBD end def}ifelse/fMdp 72 0 fMdm defaultmatrix dtransform dup mul exch dup mul add sqrt def/freq fMdp dup 72 div round dup 0 eq{pop 1}if 8 mul div def /sangle 1 0 fMdm defaultmatrix dtransform exch atan def sangle fMa2 rotate fMdm defaultmatrix fMa2 concatmatrix dup 0 get/sflipx exch def 3 get/sflipy exch def fML1{/fmgF{fMa2 exch get mul 0 lt{-1}{1}ifelse}FmBD}if/fmPM fML1{{dup patScreenDict exch known{patScreenDict exch get aload pop freq mul 5 2 roll fMa2 currentmatrix 1 get 0 ne{3 -1 roll 90 add 3 1 roll sflipx 1 fmgF sflipy 2 fmgF mul}{sflipx 0 fmgF sflipy 3 fmgF neg mul}ifelse 0 lt{exch pop}{pop}ifelse fMNg{{neg}fmcp}if bind systemdict/setscreen get exec}{/fmBS fmXD/fM1B 0 def /fM0B 0 def freq 0 fMa2 currentmatrix 1 get 0 ne{90 add/pflipx sflipx 1 fmgF def/pflipy sflipy 2 fmgF def}{/pflipx sflipx 0 fmgF def/pflipy sflipy 3 fmgF neg def}ifelse{pflipy mul/yy fmXD pflipx mul/xx fmXD/xindex xx 1 add 2 div 8 mul cvi def/yindex yy 1 add 2 div 8 mul cvi def fmBS yindex xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne fMNg{not}if{/fM1B fM1B 1 add def 1}{ /fM0B fM0B 1 add def 0}ifelse}setscreen fM0B fM0B fM1B add div fMNg{1.0 exch sub}if}ifelse/fMPG exch def/fMGM F def fmCC}}{/fMPC 8 dict def{dup fMPC exch known{fMPC exch get}{dup fMPD/fmBS 3 -1 roll put fMPD matrix makepattern dup fMPC 4 -1 roll 3 -1 roll put}ifelse/fMPt exch def/fMPG 0 def/fMGM F def fmCC}} ifelse FmBD/fmgr{fMGM not{/fMGM T def fML1{fMPH fmSH}if}if/fMPG exch def fmCC} FmBD/FmP{FrameFillPatternsArray exch get dup type/stringtype eq{fmPM}{fmgr} ifelse}FmBD/fMEd 40 dict def/fmPE{fMEd 3 1 roll fmBi put}bind def/fmgS 32 array def/fMgt 0 def/fMtp 0 def/fmSG{fmgS fMgt get dup null eq{pop fmgS fMgt 10 dict dup 4 1 roll put}if 3 1 roll put}FmBD/fmGG{fMgt -1 -1{fmgS exch get dup null ne {2 copy exch known{2 copy exch get/_notdef ne{exch get dup exit}if}if}if pop} for pop}FmBD/gsave{FrameMacDict begin FmG/fMgt fMgt 1 add def fmgS fMgt get dup null eq{pop}{dup dup{pop/_notdef put dup}forall pop pop}ifelse end}fmPE /grestore{FrameMacDict begin fMgt fMtp gt{/fMgt fMgt 1 sub def}if FmR null fmCN end}fmPE/grestoreall{FrameMacDict begin/fMgt fMtp def fm_l null fmCN end}fmPE /save{FrameMacDict/fm_v get exec FrameMacDict begin/fMgt fMgt 1 add def fmgS fMgt get dup null eq{pop}{dup dup{pop/_notdef put dup}forall pop pop}ifelse /fMtp fMgt def end}fmPE/fMND F def/fMCC null fmSG/fMOP F fmSG/fMKO F fmSG/fmRY{ 1 exch sub 3 1 roll 1 exch sub 3 1 roll 1 exch sub 3 1 roll 3 copy 2 copy le{ pop}{exch pop}ifelse 2 copy le{pop}{exch pop}ifelse dup dup dup 6 1 roll 4 1 roll 7 1 roll sub 6 1 roll sub 5 1 roll sub 4 1 roll}fmSG userdict/fM7 known not{userdict/FrameSuccessfull F put userdict/FrameEndPictStopped F put userdict /fM7 0 put}if/fmLC{fMSC{exch pop exch dup 3 -1 roll fmQC{pop T exit}if}forall dup T ne{pop F}if}FmBD/fmLR{fMSC{exch pop exch dup 3 -1 roll fmQR{pop T exit}if }forall dup T ne{pop F}if}FmBD/fmLM{fMSC exch known}FmBD/fmCN{fMND F fMib fMCP ne{/fMOP fmGG{/fMKO fmGG{pop T}if}if}if dup/fMND exch def{pop pop}{exch dup null ne{exch pop dup type dup/integertype eq exch/realtype eq or{fm_g}{setcolor }ifelse}{pop{1 fm_g}if}ifelse}ifelse}FmBD/findcmykcustomcolor{0 0 0 8 array astore}fmPE/findrgbcustomcolor{FrameMacDict begin 4 1 roll 3 copy/fmRY fmGG exec 8 4 roll 8 array astore end}fmPE/findgraycustomcolor{0 0 0 exch 1 exch sub exch findcmykcustomcolor}fmPE/findhsbcustomcolor{FrameMacDict begin 4 1 roll gsave fm_h currentrgbcolor grestore 4 -1 roll findrgbcustomcolor end}fmPE /setcustomcolor{FrameMacDict begin dup type dup/integertype eq exch/realtype eq or not{1.0}if exch dup/fMCC exch fmSG dup 4 get dup fmLM{fMib fMS eq{fMCN eq{ pop}{pop pop 0}ifelse}{pop pop pop 0}ifelse}{pop fMib fMK eq{3 get mul}{fMib fMY eq{2 get mul}{fMib fMM eq{1 get mul}{fMib fMC eq{0 get mul}{pop pop 0} ifelse}ifelse}ifelse}ifelse}ifelse dup 0 le/fMKO exch fmSG 1 exch sub fmCN end} fmPE/setoverprint{FrameMacDict begin dup FmOP/fMOP exch fmSG null fmCN end}fmPE /currentoverprint{FrameMacDict begin/fMOP fmGG end}fmPE/setrgbtocmyk{ FrameMacDict begin/fmRY exch fmSG null fmCN end}fmPE/currentrgbtocmyk{ FrameMacDict begin/fmRY fmGG end}fmPE/fill{FrameMacDict begin fMND{newpath}{ fm_f}ifelse end}fmPE/eofill{FrameMacDict begin fMND{newpath}{fm_e}ifelse end} fmPE/stroke{FrameMacDict begin fMND{newpath}{fm_t}ifelse end}fmPE/fmNX{load fMND{FmG fMa2 currentmatrix end nulldevice setmatrix exec currentpoint FrameMacDict/FmR get exec moveto}{end exec}ifelse}fmBi def/show{FrameMacDict begin/fm_s fmNX}fmPE/ashow{FrameMacDict begin/fm_a fmNX}fmPE/widthshow{ FrameMacDict begin/fm_w fmNX}fmPE/awidthshow{FrameMacDict begin/fm_y fmNX}fmPE /kshow{FrameMacDict begin/RealKshow fmNX}fmPE/image{FrameMacDict begin dup type /dicttype ne{fMib fMK eq{/fm_i load end exec}{FmG fmSW/fm_i load end exec FrameMacDict begin FmR end}ifelse}{fML1{(image)errordict/typecheck get exec}{ dup begin ImageType 1 eq{currentcolorspace 0 get dup/DeviceGray eq{pop Decode 0 get 0 eq Decode 1 get 1 eq and{pop Width Height BitsPerComponent ImageMatrix /DataSource load fMEd/image get end end exec}{end/fm_i load end exec}ifelse}{ dup/DeviceRGB eq exch/DeviceCMYK eq or{T 0 2 Decode length 2 sub{Decode exch get 0 eq and}for 1 2 Decode length{Decode exch get 1 eq and}for{pop Width Height BitsPerComponent ImageMatrix/DataSource load currentdict /MultipleDataSources known{MultipleDataSources}{F}ifelse{aload pop T}{F}ifelse Decode length 2 idiv fMEd/colorimage get end end exec}{end/fm_i load end exec} ifelse}{end/fm_i load end exec}ifelse}ifelse}{end/fm_i load end exec}ifelse} ifelse}ifelse}fmPE/separationimage{fm_i}fmPE %% The definition of the /imagemask (up to version @@/main/28) used to simulate the definition %% of /image. The structure of the code was the same, and both executed `nulldevice' for non-black %% plates. (/image executed `nulldevice' via `fmSW' call). %% This appears to be incorrect, because of the difference between `image' and `imagemask' %% operators. While `image' operator always paints with black color, which is why the %% definition of /image dicriminated between black and other colors plates, `imagemask' %% operator paints with the current color. Therefore, the discrimination between black and %% other colors plates in /imagemask definition, with sending non-black plates to `nulldevice' %% seems to be wrong, and is eliminated in this version. %% %% itenenbo, cahaverl 07/02/98 %% /imagemask{FrameMacDict begin dup type/dicttype ne{/fm_m load end exec}{/fm_m load end exec}ifelse}fmPE/separationimagemask{fm_m}fmPE/colorimage{FrameMacDict begin FmG dup 4 eq{fmIv pop{/fMP4 exch def/fMP3 exch def/fMP2 exch def/fMP1 exch def{fMP1 fMP2 fMP3 fMP4 fMib fm4b}fm_si}{/fMP1 exch def 1 index 8 ne{ (colorimage)errordict/rangecheck get exec}if/fMs 4 index string def/fMs2 4 index string def/fMs3 4 index string def/fMs4 4 index string def{fMP1 0 1 fMs length 1 sub{2 copy 4 mul 4 getinterval forall fMs4 5 index 3 -1 roll put fMs3 4 index 3 -1 roll put fMs2 3 index 3 -1 roll put fMs 3 -1 roll put}for pop fMs fMs2 fMs3 fMs4 fMib fm4b}fm_si}ifelse}{dup 3 eq{fmIv pop{/fMP3 exch def/fMP2 exch def/fMP1 exch def{fMP1 fMP2 fMP3 fMib fm3b}fm_si}{/fMP1 exch def 1 index 8 ne{(colorimage)errordict/rangecheck get exec}if/fMs 4 index string def/fMs2 4 index string def/fMs3 4 index string def{fMP1 0 1 fMs length 1 sub{2 copy 3 mul 3 getinterval forall fMs4 4 index 3 -1 roll put fMs3 3 index 3 -1 roll put fMs 3 -1 roll put}for pop fMs fMs2 fMs3 fMib fm3b}fm_si}ifelse}{1 eq{pop image}{ (colorimage)errordict/rangecheck get exec}ifelse}ifelse}ifelse FmR end}fmPE /customcolorimage{FrameMacDict begin FmG setcustomcolor currentgray 0 gt{ currentgray 1 ge{/fMOP fmGG{nulldevice}{fMNg{{pop 0}}{{pop 1}}ifelse fm_su} ifelse}{[1 currentgray sub/mul cvx]cvx currentransfer fmcp fm_su}ifelse}if/fm_i get end exec FrameMacDict begin FmR end}fmPE/setgray{FrameMacDict begin fMib fMK eq{F}{fMib fMS eq fMJR 0 eq and fMJG 0 eq and fMJB 0 eq and{F}{pop 1 T} ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE/setseparationgray{FrameMacDict begin /fMKO F fmSG null fmCN fm_sg end}fmPE/setrgbcolor{FrameMacDict begin 3 copy[4 1 roll]fmLR{fMib fMS eq{fMJB eq exch fMJG eq and exch fMJR eq and{0 F}{1 T}ifelse }{pop pop pop 1 T}ifelse}{/fmRY fmGG exec fMib fMK eq{1.0 exch sub 4 1 roll pop pop pop F}{fMib fMY eq{pop 1.0 exch sub 3 1 roll pop pop F}{fMib fMM eq{pop pop 1.0 exch sub exch pop F}{fMib fMC eq{pop pop pop 1.0 exch sub F}{pop pop pop pop 1 T}ifelse}ifelse}ifelse}ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE /sethsbcolor{FrameMacDict begin fm_h currentrgbcolor setrgbcolor end}fmPE /currentcmykcolor where{pop}{/currentcmykcolor{FrameMacDict begin currentrgbcolor/fmRY fmGG exec end}fmPE}ifelse/setcmykcolor{FrameMacDict begin fMib fMK eq{1.0 exch sub 4 1 roll pop pop pop dup 1.0 ge}{fMib fMY eq{pop 1.0 exch sub 3 1 roll pop pop dup 1.0 ge}{fMib fMM eq{pop pop 1.0 exch sub exch pop dup 1.0 ge}{fMib fMC eq{pop pop pop 1.0 exch sub dup 1.0 ge}{pop pop pop pop 1 T}ifelse}ifelse}ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE/setcmykoverprint{ FrameMacDict begin 4 copy[5 1 roll]fmLC{fMib fMS eq{0 fmax fMJK eq exch 0 fmax fMJY eq and exch 0 fmax fMJM eq and exch 0 fmax fMJC eq and{0 F}{1 T}ifelse}{ pop pop pop pop 1 T}ifelse}{fMib fMK eq{1.0 exch sub 4 1 roll pop pop pop dup 1 fmin exch 1 gt}{fMib fMY eq{pop 1.0 exch sub 3 1 roll pop pop dup 1 fmin exch 1 gt}{fMib fMM eq{pop pop 1.0 exch sub exch pop dup 1 fmin exch 1 gt}{fMib fMC eq {pop pop pop 1.0 exch sub dup 1 fmin exch 1 gt}{pop pop pop pop 1 T}ifelse} ifelse}ifelse}ifelse}ifelse/fMKO exch fmSG fmCN end}fmPE/setcmykcoloroverprint{ setcmykoverprint}fmPE/setcmybcolor{setcmykcolor}fmPE/FrameEr where{pop}{ userdict/FrameEr(\000)put}ifelse/fMSJ 100 string def/fmXC{FmE countdictstack userdict begin/showpage{}def/FrameDictStackDepth exch def count/FrameStackDepth exch def userdict/EndFrame5NestedPS dup FrameMacDict exch get put userdict /FrameSuccessfull false put FrameMacDict/fMHq get/$brkpage where dup{exch pop} if or{userdict/FrameEndPictStopped false put}{userdict/FrameEndPictStopped true put currentfile cvx stopped pop FrameSuccessfull not{systemdict/clear get exec userdict/FrameEr get 0 1 put FrameMacDict begin FmG systemdict/initmatrix get exec 0 systemdict/setgray get exec clippath{pathbbox}stopped{100 100 512 692}if exch pop add 2. div newpath moveto(Courier-BoldOblique)findfont 18 scalefont setfont FrameEr1 fm_s( \()fm_s $error begin errorname 20 string cvs fm_s(, ) fm_s/command load 128 string cvs fm_s end(\))fm_s FrameEr2 print flush FrameMacDict/fMSJ get{dup currentfile exch{readline}stopped{pop exch pop T}if not{exit}if(EndFrame5NestedPS)eq{exit}if}loop grestore end}if userdict /FrameSuccessfull false put userdict/FrameEndPictStopped false put FrameMacDict /fmIR get exec}ifelse}fmBi def/FmEp{save userdict/fM7 3 -1 roll put exch fMeb fMCP eq fMib fMCP ne and and{fMEd{userdict 3 1 roll put}forall}if FmOP[/fMef /fMet/fMeh/fMew/fMey/fMex/fMei/fMej/fMek/fMel]{fmXD}forall fMex fMey translate fMet rotate fMew fMeh scale fMef{-1 1 scale}if 1 fMej fMel sub div 1 fMek fMei sub div scale fMej fMel add 2 div neg fMei fMek add 2 div neg translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit[]0 setdash newpath fML1 not{F setstrokeadjust}if fmXC}FmBD/FmPI{0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit[]0 setdash newpath newpath 0 0 moveto}FmBD/FmPc{save userdict/fM7 3 -1 roll put newpath 3 index neg 3 index neg translate 1 -1 scale 0.0 0.0 moveto fmXC}FmBD/fmIR{end countdictstack FrameDictStackDepth sub dup 0 gt{{end}repeat}{pop}ifelse count FrameStackDepth sub dup 0 gt{{pop}repeat}{pop}ifelse fM7 restore FrameMacDict begin}fmBi def /EndFrame5NestedPS{userdict/FrameEndPictStopped get{userdict/FrameSuccessfull true put stop}{FrameMacDict/fmIR get exec}ifelse}fmBi def/alphaimage where{pop} {userdict/alphaimage{1 ne{limitcheck}if not{limitcheck}if pop image}put}ifelse /fmDE{systemdict/initgraphics get exec clippath{pathbbox}stopped{100 100 512 692}if exch pop add 2. div newpath moveto(Courier-BoldOblique)findfont 18 scalefont setfont currentpoint 2 copy FrameEr3 fm_s 20 sub 2 copy moveto FrameEr4 fm_s 20 sub 2 copy moveto(\()fm_s statusdict/jobname get fm_s(\))fm_s 20 sub moveto FrameEr5 fm_s showpage}FmBD/cd where{dup/cd get/fmRC fmXD/cd{ FrameMacDict begin FrameEr 0 get 0 ne{fmDE}if/fmRC load end exec}fmBi put}{ /endp where{dup/endp get/fMRE fmXD/endp{FrameMacDict/fMRE get exec FrameEr 0 get 0 ne{FrameMacDict begin currentfile fMSJ{readline}stopped{pop exch pop true }if pop dup(%%Trailer)eq{pop fmDE}{cvx exec}ifelse end}if}fmBi put}if}ifelse systemdict/setpacking known{fMSP setpacking}if end %%EndProcSet /md where{pop countdictstack array dictstack true exch{md eq{pop false exit}if} forall{md begin}if}if %FRMSetup FrameMacDict begin /FrameEr1(PostScript error)def /FrameEr2(A PostScript error occurred. FrameMaker+SGML is attempting recovery.)def /FrameEr3(FrameMaker+SGML has detected one or more)def /FrameEr4(PostScript errors in this document.)def /FrameEr5(Please check your output.)def /FrameFillPatternsArray [ 0 0.1 0.3 0.5 0.7 0.9 0.97 1 <0F1E3C78F0E1C387> <0F87C3E1F0783C1E> <8142241818244281> <0102040810204080> <8040201008040201> ] def end %%EndSetup %%Page: 1 1 %%PageProcessColors: Black %%PageCustomColors: %%BeginPageSetup initializepage (Matt Bishop; page: 1 of 1)setjob %%EndPageSetup gS 0 0 552 728 rC 0 0 :M FrMacBegin 0 FmP F FmOP 0 FmSP FmE 42 14 468 14 rC 0 0 :M FrMacBegin 42 15 468 12 FmKp B 0 FmP F FmOP 42 16 FmB 468 0 FmL 2 1 FmSo 42 19 FmB 468 0 FmL 2 1 FmSo FmE gR gS 0 0 552 728 rC 0 0 :M f148 sf ( )S 2 0 :M FrMacBegin B 0 FmP F FmOP 42 11.667 M (November 1, 1999)S 91.132 N 2(ECS 153 \321 F)A 2(ALL)A 2( 1999)A 138.898 N (Page )S (1)S 198.661 725 M (Version of )S (November 1, 1999 9:33 am)S FmE 3 0 :M f175 sf ( )S 7 0 :M FrMacBegin B 0 FmP F FmOP 169.685 53 M (Notes f)S -0.453 N (or No)S -0.18 N (v)S -0.18 N (ember 1, 1999)S FmE 7 0 :M f148 sf ( )S 9 0 :M FrMacBegin B 0 FmP F FmOP 42 83.667 M (1.)S 10.5 N (Greetings and Felicitations!)S 42 98.667 M (2.)S 10.5 N (Puzzle of the Day)S 42 113.667 M (3.)S 10.5 N (Public-K)S -0.251 N (e)S -0.151 N (y Cryptograph)S -0.051 N (y)S 60 128.667 M (a.)S 11.062 N (Basic idea: 2 k)S -0.1 N (e)S -0.151 N (ys, one pri)S -0.251 N (v)S -0.251 N (ate, one public)S 60 143.667 M (b)S -0.4 N (.)S 10.9 N (Cryptosystem must satisfy:)S 78 158.667 M (i.)S 12.722 N (gi)S -0.251 N (v)S -0.151 N (en public k)S -0.1 N (e)S -0.151 N (y)S -0.652 N (, CI to get pri)S -0.251 N (v)S -0.251 N (ate k)S -0.1 N (e)S -0.151 N (y;)S 78 173.667 M (ii.)S 9.943 N (cipher withstands chosen plainte)S -0.151 N (xt attack;)S 78 188.667 M (iii.)S 7.165 N (encryption, decryption computationally feasible [note: commutati)S -0.251 N (vity )S FmE 10 0 :M f205 sf ( )S 12 0 :M FrMacBegin B 0 FmP F FmOP 376.493 188.667 M (not)S FmE 12 0 :M f148 sf ( )S 14 0 :M FrMacBegin B 0 FmP F FmOP 389.831 188.667 M ( required])S 60 203.667 M (c.)S 11.062 N (Bene\336)S (ts: can gi)S -0.251 N (v)S -0.151 N (e con\336)S (dentiality or authentication or both)S 42 218.667 M (4.)S 10.5 N (Use of PKC)S 60 233.667 M (a.)S 11.062 N (Normally used as k)S -0.1 N (e)S -0.151 N (y interchange system to e)S -0.151 N (xchange secret k)S -0.1 N (e)S -0.151 N (ys \(cheap\))S 60 248.666 M (b)S -0.4 N (.)S 10.9 N (Then use secret k)S -0.1 N (e)S -0.151 N (y system \(too e)S -0.151 N (xpensi)S -0.251 N (v)S -0.151 N (e to use PKC for this\))S 42 263.666 M (5.)S 10.5 N (RSA)S 60 278.666 M (a.)S 11.062 N (Pro)S -0.151 N (vides both authenticity and con\336)S (dentiality)S 60 293.666 M (b)S -0.4 N (.)S 10.9 N (Go through algorithm:)S 78 308.333 M (Idea: )S FmE 15 0 :M f233 sf ( )S 17 0 :M FrMacBegin B 0 FmP F FmOP 100.483 308.333 M (C)S FmE 17 0 :M f148 sf ( )S 19 0 :M FrMacBegin B 0 FmP F FmOP 107.153 308.333 M ( = )S FmE 20 0 :M f233 sf ( )S 22 0 :M FrMacBegin B 0 FmP F FmOP 117.792 308.333 M (M)S FmE 22 0 :M f246 sf ( )S 24 0 :M FrMacBegin B 0 FmP F FmOP 126.12 304.333 M (e)S FmE 24 0 :M f148 sf ( )S 26 0 :M FrMacBegin B 0 FmP F FmOP 129.671 308.333 M ( mod )S FmE 27 0 :M f233 sf ( )S 29 0 :M FrMacBegin B 0 FmP F FmOP 152.449 308.333 M (n)S FmE 29 0 :M f148 sf ( )S 31 0 :M FrMacBegin B 0 FmP F FmOP 157.449 308.333 M (, )S FmE 32 0 :M f233 sf ( )S 34 0 :M FrMacBegin B 0 FmP F FmOP 162.449 308.333 M (M)S FmE 34 0 :M f148 sf ( )S 36 0 :M FrMacBegin B 0 FmP F FmOP 170.777 308.333 M ( = )S FmE 37 0 :M f233 sf ( )S 39 0 :M FrMacBegin B 0 FmP F FmOP 181.417 308.333 M (C)S FmE 39 0 :M f246 sf ( )S 41 0 :M FrMacBegin B 0 FmP F FmOP 188.086 304.333 M (d)S FmE 41 0 :M f148 sf ( )S 43 0 :M FrMacBegin B 0 FmP F FmOP 192.086 308.333 M ( mod )S FmE 44 0 :M f233 sf ( )S 46 0 :M FrMacBegin B 0 FmP F FmOP 214.865 308.333 M (n)S FmE 46 0 :M f148 sf ( )S 48 0 :M FrMacBegin B 0 FmP F FmOP 219.865 308.333 M (, with )S FmE 49 0 :M f233 sf ( )S 51 0 :M FrMacBegin B 0 FmP F FmOP 245.141 308.333 M (ed)S FmE 51 0 :M f148 sf ( )S 53 0 :M FrMacBegin B 0 FmP F FmOP 254.579 308.333 M ( mod )S FmE 54 0 :M f280 sf ( )S 56 0 :M FrMacBegin B 0 FmP F FmOP 277.357 308.333 M (f)S FmE 56 0 :M f148 sf ( )S 58 0 :M FrMacBegin B 0 FmP F FmOP 282.567 308.333 M (\()S FmE 59 0 :M f233 sf ( )S 61 0 :M FrMacBegin B 0 FmP F FmOP 285.895 308.333 M (n)S FmE 61 0 :M f148 sf ( )S 63 0 :M FrMacBegin B 0 FmP F FmOP 290.895 308.333 M (\) = 1.)S 78 322.999 M (Proof: )S FmE 64 0 :M f233 sf ( )S 66 0 :M FrMacBegin B 0 FmP F FmOP 107.993 322.999 M (M)S FmE 66 0 :M f293 sf ( )S 68 0 :M FrMacBegin B 0 FmP F FmOP 116.32 319 M (f)S FmE 68 0 :M f306 sf ( )S 70 0 :M FrMacBegin B 0 FmP F FmOP 120.488 319 M (\()S FmE 70 0 :M f246 sf ( )S 72 0 :M FrMacBegin B 0 FmP F FmOP 123.152 319 M (n)S FmE 72 0 :M f306 sf ( )S 74 0 :M FrMacBegin B 0 FmP F FmOP 127.152 319 M (\))S FmE 74 0 :M f148 sf ( )S 76 0 :M FrMacBegin B 0 FmP F FmOP 129.816 322.999 M ( mod )S FmE 77 0 :M f233 sf ( )S 79 0 :M FrMacBegin B 0 FmP F FmOP 152.595 322.999 M (n)S FmE 79 0 :M f148 sf ( )S 81 0 :M FrMacBegin B 0 FmP F FmOP 157.595 322.999 M ( = 1 [by Fermat\325)S -0.552 N (s theorem as generalized by Euler]; follo)S -0.251 N (ws immediately from )S FmE 82 0 :M f233 sf ( )S 84 0 :M FrMacBegin B 0 FmP F FmOP 473.132 322.999 M (ed)S FmE 84 0 :M f148 sf ( )S 86 0 :M FrMacBegin B 0 FmP F FmOP 482.57 322.999 M ( mod )S FmE 87 0 :M f280 sf ( )S 89 0 :M FrMacBegin B 0 FmP F FmOP 78 334.999 M (f)S FmE 89 0 :M f148 sf ( )S 91 0 :M FrMacBegin B 0 FmP F FmOP 83.21 334.999 M (\()S FmE 92 0 :M f233 sf ( )S 94 0 :M FrMacBegin B 0 FmP F FmOP 86.538 334.999 M (n)S FmE 94 0 :M f148 sf ( )S 96 0 :M FrMacBegin B 0 FmP F FmOP 91.538 334.999 M (\) = 1.)S 78 346.999 M (Public k)S -0.1 N (e)S -0.151 N (y is \()S FmE 97 0 :M f233 sf ( )S 99 0 :M FrMacBegin B 0 FmP F FmOP 135.236 346.999 M (e)S FmE 99 0 :M f148 sf ( )S 101 0 :M FrMacBegin B 0 FmP F FmOP 139.675 346.999 M (, )S FmE 102 0 :M f233 sf ( )S 104 0 :M FrMacBegin B 0 FmP F FmOP 144.675 346.999 M (n)S FmE 104 0 :M f148 sf ( )S 106 0 :M FrMacBegin B 0 FmP F FmOP 149.675 346.999 M (\); pri)S -0.251 N (v)S -0.251 N (ate k)S -0.1 N (e)S -0.151 N (y is )S FmE 107 0 :M f233 sf ( )S 109 0 :M FrMacBegin B 0 FmP F FmOP 213.894 346.999 M (d)S FmE 109 0 :M f148 sf ( )S 111 0 :M FrMacBegin B 0 FmP F FmOP 218.894 346.999 M (. Choose )S FmE 112 0 :M f233 sf ( )S 114 0 :M FrMacBegin B 0 FmP F FmOP 256.391 346.999 M (n)S FmE 114 0 :M f148 sf ( )S 116 0 :M FrMacBegin B 0 FmP F FmOP 261.391 346.999 M ( = )S FmE 117 0 :M f233 sf ( )S 119 0 :M FrMacBegin B 0 FmP F FmOP 272.031 346.999 M (pq)S FmE 119 0 :M f148 sf ( )S 121 0 :M FrMacBegin B 0 FmP F FmOP 282.031 346.999 M (; then )S FmE 122 0 :M f280 sf ( )S 124 0 :M FrMacBegin B 0 FmP F FmOP 307.026 346.999 M (f)S FmE 124 0 :M f148 sf ( )S 126 0 :M FrMacBegin B 0 FmP F FmOP 312.236 346.999 M (\()S FmE 127 0 :M f233 sf ( )S 129 0 :M FrMacBegin B 0 FmP F FmOP 315.563 346.999 M (n)S FmE 129 0 :M f148 sf ( )S 131 0 :M FrMacBegin B 0 FmP F FmOP 320.563 346.999 M (\) = \()S FmE 132 0 :M f233 sf ( )S 134 0 :M FrMacBegin B 0 FmP F FmOP 337.858 346.999 M (p)S FmE 134 0 :M f148 sf ( )S 136 0 :M FrMacBegin B 0 FmP F FmOP 342.858 346.999 M (\3201\)\()S FmE 137 0 :M f233 sf ( )S 139 0 :M FrMacBegin B 0 FmP F FmOP 359.514 346.999 M (q)S FmE 139 0 :M f148 sf ( )S 141 0 :M FrMacBegin B 0 FmP F FmOP 364.514 346.999 M (\3201\).)S 60 361.999 M (c.)S 11.062 N (Example:)S FmE 142 0 :M f233 sf ( )S 144 0 :M FrMacBegin B 0 FmP F FmOP 78 373.999 M (p)S FmE 144 0 :M f148 sf ( )S 146 0 :M FrMacBegin B 0 FmP F FmOP 83 373.999 M -0.308( = 5, )W FmE 147 0 :M f233 sf ( )S 149 0 :M FrMacBegin B 0 FmP F FmOP 102.715 373.999 M (q)S FmE 149 0 :M f148 sf ( )S 151 0 :M FrMacBegin B 0 FmP F FmOP 107.715 373.999 M -0.308( = 7; )W FmE 152 0 :M f233 sf ( )S 154 0 :M FrMacBegin B 0 FmP F FmOP 127.708 373.999 M (n)S FmE 154 0 :M f148 sf ( )S 156 0 :M FrMacBegin B 0 FmP F FmOP 132.708 373.999 M -0.308( = 35, f\()W FmE 157 0 :M f233 sf ( )S 159 0 :M FrMacBegin B 0 FmP F FmOP 164.078 373.999 M (n)S FmE 159 0 :M f148 sf ( )S 161 0 :M FrMacBegin B 0 FmP F FmOP 169.078 373.999 M -0.308(\) = \(5\3201\)\(7\3201\) = 24. Pick )W FmE 162 0 :M f233 sf ( )S 164 0 :M FrMacBegin B 0 FmP F FmOP 270.422 373.999 M (d)S FmE 164 0 :M f148 sf ( )S 166 0 :M FrMacBegin B 0 FmP F FmOP 275.422 373.999 M -0.308( = 11. )W -0.181 N -0.308(Then )W FmE 167 0 :M f233 sf ( )S 169 0 :M FrMacBegin B 0 FmP F FmOP 322.695 373.999 M (de)S FmE 169 0 :M f148 sf ( )S 171 0 :M FrMacBegin B 0 FmP F FmOP 332.133 373.999 M -0.308( mod )W FmE 172 0 :M f280 sf ( )S 174 0 :M FrMacBegin B 0 FmP F FmOP 354.295 373.999 M (f)S FmE 174 0 :M f148 sf ( )S 176 0 :M FrMacBegin B 0 FmP F FmOP 359.505 373.999 M (\()S FmE 177 0 :M f233 sf ( )S 179 0 :M FrMacBegin B 0 FmP F FmOP 362.832 373.999 M (n)S FmE 179 0 :M f148 sf ( )S 181 0 :M FrMacBegin B 0 FmP F FmOP 367.832 373.999 M -0.308(\) = 1, so choose )W FmE 182 0 :M f233 sf ( )S 184 0 :M FrMacBegin B 0 FmP F FmOP 431.914 373.999 M (e)S FmE 184 0 :M f148 sf ( )S 186 0 :M FrMacBegin B 0 FmP F FmOP 436.352 373.999 M -0.308( = 11. )W -0.181 N (T)S -0.801 N -0.308(o encipher )W 78 388.666 M (2, )S FmE 187 0 :M f233 sf ( )S 189 0 :M FrMacBegin B 0 FmP F FmOP 88 388.666 M (C)S FmE 189 0 :M f148 sf ( )S 191 0 :M FrMacBegin B 0 FmP F FmOP 94.67 388.666 M ( = )S FmE 192 0 :M f233 sf ( )S 194 0 :M FrMacBegin B 0 FmP F FmOP 105.31 388.666 M (M)S FmE 194 0 :M f246 sf ( )S 196 0 :M FrMacBegin B 0 FmP F FmOP 113.637 384.666 M (e)S FmE 196 0 :M f148 sf ( )S 198 0 :M FrMacBegin B 0 FmP F FmOP 117.188 388.666 M ( mod )S FmE 199 0 :M f233 sf ( )S 201 0 :M FrMacBegin B 0 FmP F FmOP 139.966 388.666 M (n)S FmE 201 0 :M f148 sf ( )S 203 0 :M FrMacBegin B 0 FmP F FmOP 144.966 388.666 M ( = 2)S FmE 204 0 :M f306 sf ( )S 206 0 :M FrMacBegin B 0 FmP F FmOP 160.606 384.666 M (11)S FmE 206 0 :M f148 sf ( )S 208 0 :M FrMacBegin B 0 FmP F FmOP 168.606 388.666 M ( mod 35 = 2048 mod 35 = 18, and )S FmE 208 0 :M f233 sf ( )S 210 0 :M FrMacBegin B 0 FmP F FmOP 307.38 388.666 M (M )S FmE 211 0 :M f148 sf ( )S 213 0 :M FrMacBegin B 0 FmP F FmOP 318.208 388.666 M (= )S FmE 213 0 :M f233 sf ( )S 215 0 :M FrMacBegin B 0 FmP F FmOP 326.348 388.666 M (C)S FmE 216 0 :M f306 sf ( )S 218 0 :M FrMacBegin B 0 FmP F FmOP 333.018 384.666 M (d)S FmE 218 0 :M f148 sf ( )S 220 0 :M FrMacBegin B 0 FmP F FmOP 337.018 388.666 M ( mod )S FmE 220 0 :M f233 sf ( )S 222 0 :M FrMacBegin B 0 FmP F FmOP 359.796 388.666 M (n)S FmE 223 0 :M f148 sf ( )S 225 0 :M FrMacBegin B 0 FmP F FmOP 364.796 388.666 M ( = 1811 mod 35 = 2.)S 60 403.666 M (d.)S 10.5 N (Example: )S FmE 225 0 :M f233 sf ( )S 227 0 :M FrMacBegin B 0 FmP F FmOP 118.82 403.666 M (p)S FmE 228 0 :M f148 sf ( )S 230 0 :M FrMacBegin B 0 FmP F FmOP 123.82 403.666 M ( = 53, )S FmE 230 0 :M f233 sf ( )S 232 0 :M FrMacBegin B 0 FmP F FmOP 149.46 403.666 M (q)S FmE 233 0 :M f148 sf ( )S 235 0 :M FrMacBegin B 0 FmP F FmOP 154.46 403.666 M ( = 61, )S FmE 235 0 :M f233 sf ( )S 237 0 :M FrMacBegin B 0 FmP F FmOP 180.1 403.666 M (n)S FmE 238 0 :M f148 sf ( )S 240 0 :M FrMacBegin B 0 FmP F FmOP 185.1 403.666 M ( = 3233)S FmE 240 0 :M f233 sf ( )S 242 0 :M FrMacBegin B 0 FmP F FmOP 215.739 403.666 M (, )S FmE 243 0 :M f148 sf ( )S 245 0 :M FrMacBegin B 0 FmP F FmOP 220.739 403.666 M (f\()S FmE 245 0 :M f233 sf ( )S 247 0 :M FrMacBegin B 0 FmP F FmOP 227.395 403.666 M (n)S FmE 248 0 :M f148 sf ( )S 250 0 :M FrMacBegin B 0 FmP F FmOP 232.395 403.666 M (\) = \(53\3201\)\(61\3201\) = 3120. )S -0.181 N (T)S -0.801 N (ak)S -0.1 N (e )S FmE 250 0 :M f233 sf ( )S 252 0 :M FrMacBegin B 0 FmP F FmOP 356.716 403.666 M (d)S FmE 253 0 :M f148 sf ( )S 255 0 :M FrMacBegin B 0 FmP F FmOP 361.716 403.666 M ( = 791; then )S FmE 255 0 :M f233 sf ( )S 257 0 :M FrMacBegin B 0 FmP F FmOP 412.351 403.666 M (e)S FmE 258 0 :M f148 sf ( )S 260 0 :M FrMacBegin B 0 FmP F FmOP 416.789 403.666 M ( = 71. Encipher )S FmE 260 0 :M f233 sf ( )S 262 0 :M FrMacBegin B 0 FmP F FmOP 481.02 403.666 M (M)S FmE 263 0 :M f148 sf ( )S 265 0 :M FrMacBegin B 0 FmP F FmOP 489.348 403.666 M ( = )S 78 415.666 M (REN)S -0.352 N (AISSANCE: )S -0.552 N (A = 00, B = 01, \311, Z = 25, blank = 26. )S -0.181 N (Then:)S FmE 265 0 :M f233 sf ( )S 267 0 :M FrMacBegin B 0 FmP F FmOP 78 427.666 M (M)S FmE 268 0 :M f148 sf ( )S 270 0 :M FrMacBegin B 0 FmP F FmOP 86.328 427.666 M ( = RE N)S -0.352 N (A IS SA NC Eblank = 1704 1300 0818 1800 1302 0426)S FmE 270 0 :M f233 sf ( )S 272 0 :M FrMacBegin B 0 FmP F FmOP 78 442.332 M (C)S FmE 273 0 :M f148 sf ( )S 275 0 :M FrMacBegin B 0 FmP F FmOP 84.67 442.332 M ( = \(1704\))S FmE 275 0 :M f306 sf ( )S 277 0 :M FrMacBegin B 0 FmP F FmOP 121.965 438.332 M (71)S FmE 277 0 :M f148 sf ( )S 279 0 :M FrMacBegin B 0 FmP F FmOP 129.965 442.332 M ( mod 3233 = 3106; )S FmE 280 0 :M f233 sf ( )S 282 0 :M FrMacBegin B 0 FmP F FmOP 208.661 442.332 M (etc.)S FmE 282 0 :M f148 sf ( )S 284 0 :M FrMacBegin B 0 FmP F FmOP 222.816 442.332 M ( = 3106 0100 0931 2691 1984 2927)S 42 457.332 M (6.)S 10.5 N (Authentication:)S 60 472.332 M (a.)S 11.062 N (v)S -0.251 N (alidating client \(user\) identity)S 60 487.332 M (b)S -0.4 N (.)S 10.9 N (v)S -0.251 N (alidating serv)S -0.151 N (er \(system\) identity)S 60 502.332 M (c.)S 11.062 N (v)S -0.251 N (alidating both \(mutual authentication\))S 42 517.332 M (7.)S 10.5 N (Basis)S 60 532.332 M (a.)S 11.062 N (What you kno)S -0.251 N (w)S 60 547.332 M (b)S -0.4 N (.)S 10.9 N (What you ha)S -0.2 N (v)S -0.151 N (e)S 60 562.332 M (c.)S 11.062 N (What you are)S 42 577.332 M (8.)S 10.5 N (P)S -0.151 N (assw)S -0.1 N (ords)S 60 592.332 M (a.)S 11.062 N (Ho)S -0.251 N (w UNIX does selection)S 60 607.332 M (b)S -0.4 N (.)S 10.9 N (Problem: common passw)S -0.1 N (ords; Go through Morris and )S -0.181 N (Thompson ; Klein and mine, )S FmE 285 0 :M f233 sf ( )S 287 0 :M FrMacBegin B 0 FmP F FmOP 413.483 607.332 M (etc)S FmE 287 0 :M f148 sf ( )S 289 0 :M FrMacBegin B 0 FmP F FmOP 425.139 607.332 M (.)S 60 622.332 M (c.)S 11.062 N (May be pass phrases: goal is to mak)S -0.1 N (e search space as lar)S -0.181 N (ge as possible and distrib)S -0.2 N (ution as uniform as possi-)S 78 634.332 M (ble)S 60 649.332 M (d.)S 10.5 N (Other w)S -0.1 N (ays to force good passw)S -0.1 N (ord selection: random, pronounceable,m computer)S -0.2 N (-aided selection)S 60 664.332 M (e.)S 11.062 N (Go through problems, approaches to each, )S FmE 290 0 :M f233 sf ( )S 292 0 :M FrMacBegin B 0 FmP F FmOP 249.602 664.332 M (esp)S FmE 292 0 :M f148 sf ( )S 294 0 :M FrMacBegin B 0 FmP F FmOP 262.929 664.332 M (. proacti)S -0.251 N (v)S -0.151 N (e)S FmE endp showpage %%PageTrailer %%Trailer end %%EOF