%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: tuning-openbsd.dvi %%Pages: 17 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: CMBX12 CMR12 CMTT12 CMR10 CMBX10 CMTT10 CMR7 CMR6 CMR8 %%+ CMTT8 CMSY10 CMMI10 CMTI10 CMR9 CMTI9 CMTT9 CMMI9 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips tuning-openbsd.dvi -o tuning-openbsd.ps %DVIPSParameters: dpi=600, compressed %DVIPSSource: TeX output 2002.10.08:2044 %%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: 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 %%BeginFont: CMMI9 %!PS-AdobeFont-1.1: CMMI9 1.100 %%CreationDate: 1996 Jul 23 07:53:55 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 62 /greater put readonly def /FontBBox{-29 -250 1075 750}readonly def /UniqueXX 5087384 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930da4f8d58abefd45db119b10eb409dd89792 3c6e705479464a4b33ae3d31bfe98efe259f07f7950237bbaee4f7b64ffea83a 757fa717d50c3298392891bfd60e34a056b0d6021da3fd9b8b01bf78b0b23dc4 ea3b0605150d20b27ff9ea5f2524661019d982a2e47cd7c21ee5ca9ed9227821 f8d07119397de26838c11d7b35bcedc43e011626e300f8249ed846d7b5ccbd89 02550cda17ddf113df658fb13f8162681013766863784efac128e01ef997e1a4 30312afac8f3d948edecd7d5090ab5c864b91d7f6e80256f0e1fc99f1102b74c 61cc456e2e1bedf0e627d5f70f738f963a13666405c51ebf23ca077e97570a2f 1118536b92e585cf1dbd5fbf36a0a5d197538c05304e93a15f3c931168d91d42 483ef428b1a3f1b7e548fd1d23b80f5523c8b8bf450b02804fb689f915c86693 f7dfb1c43f681627c7f027021aa3a8179148f1819cd94b8890a9ac63dc1e8a68 f254b64f6f173c3d02e3ebc037da05074017c8b113e94f4e2d26b467ef9da07e afd7ea7c86e025af52c5ceeb835951e67e02a38daf1e9e698bd21996c1071e84 ff7fbe77f6ddf9d06fa92b16ecebcbe0370b5cd9d450d0f2906a105cadf93ed0 0abc7fcf2c996e7c15e452006e35390d99b9cfc59925f1444c20d9c3e1fc2910 32cf9fa9d580eac1bc956334da391b870a757c3bee6aa3e005b20988d8587876 3ced20c6edf2ac2b22890e37ff7aedeb0986d85ae05bc84339bf2116df48c5d1 cc888bb33d409b06dd70ffd0618b2080442aac439aeb39c20a87ad74ef10629c f1604db8611e8e4224c5b21ab0c7ebddc77fe9a283b3a8c6a2a9508f6836e3fc 3eae1366b4da4f44cb7a77fd81d278c17775d56cb28b70f18d894bfd1ec1827f fb16b0d4c1a4ce155da066810170fea53e0d24874d6b91ca943e60e0abd086f6 d1e19ff6d69e91310a2f1afde9b4ed07bb6b718637bfc1093a122fb8b8746b5a eec496213ae78a10b3db0364bb3b25c79eb3a0ee4e97f16fce9fd90220619b6b 25b99cd6bbdf76032606cb1150065aa61e6fb778049097f2c1578e2c8b89e522 83834c87bb65531a81b01d8e800baa1a9066f5b7d6375704ddd81dc58ba6c6c5 b304cebc375e97207f8ff7a37f6fb5643af15055bd801e04ea77ddaf1f05e84a 3510104fa1362ee5033ff012f6292826450797b69983202abdbf1189225d8f03 0341979d08f55a8a04cae428cafcd1bb663783f5d5c5800fa0581ab3cfb3cb77 369e11052aab801adb8606 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTT9 %!PS-AdobeFont-1.1: CMTT9 1.0 %%CreationDate: 1991 Aug 20 16:46:24 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def end readonly def /FontName /CMTT9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 37 /percent put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 61 /equal put dup 63 /question put dup 64 /at put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 74 /J put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 90 /Z put dup 91 /bracketleft put dup 93 /bracketright put dup 95 /underscore put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put dup 124 /bar put readonly def /FontBBox{-6 -233 542 698}readonly def /UniqueXX 5000831 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486be465959b1188f76df7824c135a7fb382c4e1 1b0ddfe856b6f34552ca48c24b57dd8448fac257c4d93fb122e1218fd36b99b2 d79dadb8a66613ef11039be77816a7a2d6781fe0d69cecc36232ae87a172afe0 95532a8c7ff40bdd4a5fcfb6ccfd8f73c572231734e0609c6743ee11010f6579 820b367c49069ac1d45760c0ce8dc1e67e2beb72be6d287910547e1b4bb52465 b75947d224998223275a2c340a1c14c04328cc2935c53ee2723f1de6357a291e 14863f6c1411477b3ea074052b30a4c1ef03ab324d678307e1cb02c7aaffa90b 73975378b9debcd3f6aab626a361be8068c60edd0b2be4a7bbf4efa21cc23607 bf7e2556c17b5923d7b0fc036d5fea743c55f2bbf72e8a61995bd63d7104a085 b8dd5a83d9077376a4ae8f0c048606bb9e84c640c52d0a95b35d48cfafd6ebe3 d6eb0ed88c1212818ca93e40614740a77c446b792d02945642014a5d55ba970e f97dcdd5b839f621a052d1085a1e668161d3ac0227c7867324ede883589b39e5 d152793009cb5a08eb6719a44dd01b6147e3436bdbb28215ce3d29a3b1dfc72b d942f8cb3376b4e12cff53a793d935346ceb2afc3428cd9313c671ec1911252c 19de341556999aaf7417aa5085daa35ee71353fdc2c7d83ec2dedaabb1b89b99 e4cb5282159cbfb45a286f8d6bf3abdedccbdcebaf6994b17f1be07d10f00cba 47f2fbf66c0cf524494c53786b0f88f5d96a18a086fbfd22b6cd3108ee918369 8b342fe978502afdebf98632d63bc149de9eab94230a55327fb96b72a85ef6b7 acde791164e8f856e95058b875b02a2262b85a2ff02fddaaffc3a476f7abdb58 f5b1df019a4ca14695cf1f238756b3ce61ffa44d543341b9c1a3b422ad6ad0be db2f2ef0ad1d60a8589decb250451260a0dfafca04c4435a350b80b75f198c1e ccddca12489fe22c127dbb5c933103e2f510138a3617665e4bfb3614b7df89a3 6f4c9f73316c6609a6915740e8c5045c052e24289ae72ec8b7bfbc14ad84349b 8cc2460c66899089a130a9bbbc1e0b5b480aa6b36aab3b3dcf806cf365d688a8 048330cceaec4395d5ddedaeaeaddf393dba2dedbe016342ce8a46ce74262ab1 e49db6a5bb050fc7364df85e5408f728a49276b413d92ef5515a3a5223813905 5087ad4a786d33dfe24fc73d18a3930bcddccadc735d430e0963a3f116ac6ab8 6b16e808a06d6b92dd41c0d12b47425843b6b1e2ebc73e5a471a25453bacfe46 b5cd0280423ead1dfac535bdb4ca95885f1b3a9a3447f69b5a6a8e6591c889b1 181134cbe9adc643cac2cceac8739bb5f4d85fd712fb15e346bc439f074126ee 7459cde386d11f59ed2ea44da3a06a01020b6474646dc3c95becf88d8ce9af91 7ef36e7781a8c9d7986c02d85a82284e02112cd035590e619deeaaf8c3680138 f5f80ace21505f5a0bfaa45c4b3a2b0ada7bff7ee55b5862f995a318cf5b89ee 5249401be3b871b8f8d7cadfb3fb3fa445e96828c0e5fa7269117febc7ac78d3 8de49bb2ecbbec5459b691045ed276f5c553f5930032e9466b0c4639e5a5a356 e4295a4ce109e96d5b8ff620f24ef5f3e0c66cbc0568886859d95fb40a91d70c a2f1da6e8e7b076bf89a9d4e5069c90b6f5020dadebc4be22b309711be66973d b589351d1650f35edc701da59a2a3f4ab072f39489742d17aa2b2815a6c2754a 1e990df37bd91942f33ad93f521220f32b55c8bf02730e6a423e468f6f0b5e15 ba8189e0585fa8d28a8ae233c4e8ed4bd22d4fa0c781d71cba3ce3ea311f0e12 8a548d0e591f28fa853fcad32e60260f122eba422f6a23e05396051d7cda1b42 07578caded65ca0895ab6c266aa9cf6d3fa6e7587a484d6e9c256221dd19457d a08b05afbb272cba3cb2d7a801b2179b5e4877fea60af1e88fca249d60feb96f fed7660a18824180a6e300d81e169386f9fa2a3c786a40d0cef98197b9a45da1 3d75bcfea079e68027b07ffdc6c2245f7cd075c77b8429191e55cf23b9d2b5ff 7753323114fe63bf7dd81cf7c7a4020a9a98c6a26e4929ee7cf22dec977c3d19 9ed4f458d346a1c12f715b6d097d9dc281b94cad42c3e9855041fb7a914621d4 0791793e79ec79a1c89097f949efddbbaa95ce25f75529115d4c7196b994b0ba 72d77771898670e6dd5691415dfeef58e073bdbc9dc924f352a26a42da614bb6 6d9b24981c2273f5db21cbeab3200b0004fa4b25220d24d374b5b58ea247f2d3 f6933bf03df8d46c43173acc19e1dafcce81d7add9d8c37b16673b411f0b9724 c7b74d34a1b0e82b4df16c9ffcbaaed160f9b46aea6398eea5c38c358635548e 0089d2b107362903708501f4bedfc7ea6c4601b893b7a6b4da65073a0f58e4b0 8da9d5ccf6cf974a2c983fc74c4b265aa14c66f7de80992aa2e973733336be5e d20984832656c40e3d4d95ab14b441b7acda096c1ea69aaee6d71f5c72a28605 0c36c097031d6e70db95c613bac133645b059c771a6ca05015cf0f506a1f79da f4cd763505d8554115c3659ac2c139b59c2f579dd0109ea35db199755671278f 4ced78f4822df144b8bdc272e5d6414acfec99f7748d76f3e8d3d772c14185cd b36c5b5d30ab8f7ea4d1bdc684621c898b3234ea5a8dba9c5ff7f877df91e78f 935d71d1f96bb74f2c93a19bd1555116e4647b2992beb28d5d4fcb1ad3e0e792 3f9af329e988f21e50d876c44ba73f21075cd60c7b2250b0154fd1acb983c651 e85c1bd07a0ffbd344ae1197248db471e1fe383ecf1ad12ad9da2902c7286b1a ceaf54f5779f01eb3058cc1bc324d3aa551c43582c17ea6506f7f7370f625e39 204e84967efc287c15119e55ad00d9060bc1d9c4ca077d8048ef5efb3a2b661f efebb5951953f794208d6fcc3f2faa70279492fc3bf5ae914cbff8c5c6ee6d8c 6e09f92856703d12cf1ad09b5ec987f09e7ac4315d6a6e7318cc0e133f1007d9 588a076c50b8083dc78022b3a6a47ea716cbfdd08d1963c9ecebb0b18bcf28fb c3b72d8aecd6979c2fc79433608b73dd48337a84e6f9d3676d9a8e996c2bada1 17da9e7b1a86597f0dabf8e99f6e6dbe7f97f56d951fbfe55b0915486bbc682a 74002757b0d87b23135247f784780d0532edcd76462297ce7233311f89629166 ad1b8897cc25e576805d22479f557630fff96e9a41af1d4409366bbf87899dc0 ed6eb63daab522e646aa26a2bc69f2241db2aea2ea46d777d8a9d6e03c484d28 9e781d183ce8cc7474897076a6d1be9c1636b54116773160210eee7c4f3312bd 1a74527f8be865eb25b810b658b4dc71a058174ea40198652a8cfc0c6ab80256 087e2b762b5e0580f5e6a2be4b987832fab0019a5ae4cef40617021807461657 a219c762feb91d4449e57197dd4ab312f91b6e47dffd579cbd86c635bc160ba3 aba6bb58701dcb058c15edd7dd24adabb8ce9f7d6685223111fb1ae7cd54d204 829cdec18fd7d8428ebeb3936539a0c61480988bda524301d01dde586c3ead08 6c78aabd324edd852736009549ed65d764615ad0e29ee5965a07945731441933 47ab1414eaec531fe1ac3258fa3097ca5ae9927ddc6891dbc4a29f62ca043e87 b6e7c859c423f19cc7ec3621623b9b9109cbf4ad764fdd1b3ca7686fc29f1eec 8aaeff15a5079642b7e83ac3841e13de5ce7a60f555f61c25cdae9aaea9cdd3a 0736217cb8e9e3852064aa63e0f99fba13545b1c75f6e0cd9648e451ab709f94 6cbe43a3acd3fc01b025e95e662d9168baed7e97499f14827246ecd3b24a298f c1189d8de53710ec7465b66e60415e53c48f91da2269a8870fdbe5a48a4f50ec 39d3e2341178af77f20e36df38dc1b2d5696005b8167ca227819e03731e6d015 833ea5c142e53fa81769fd624d31270d16708ef9aef67e31d95d5663332865fa abd2f92e551bbba71427af985c4cbd880159135a1151b749ca24984498669225 7f3292b6eada3f68b41de814547ef4ee0ff0cb5506b3a7d9e4ee94374780a53d 00db087477a0e9ee0ba93775143bff8bb477d76a58a317a16ba1e6bc404cf1c4 89c2774adb348a9d8b4aef520ebbcb20f817ddc46fccb7d3e7701fbd4f40201f 993a693714b35a2ae7fc0b5f62470827d2844dd743235eb69e60ed57400f9961 caa5759083d135f2cac62b6fecac5ac9a38357040bc5a4488c104211537b90ff 833e3014bd9c02035dcc94f86c002b86d88c86cdbf0d171658633e4595bc352f 6b61ccfb56c1373acc0da255f0ac8bb9e5d2e86e76357d0ca8e6af5395588f9a 34ce66ad5c7a47f69ba140e1e62c1c4bebe1b5d1b0398f2ed13dad3b31e6fc43 436747fbd986f99bdc354349d67a6323f12a419ba35665b825cf433ecfe25b08 1c0e09900d7426f258bf38fec03ec45b42a459a1fc4713c37d0ddbfdaa1c4788 859628847481cb150a53fb421fe81bcd055dd548daa97564065ef2c6142963b6 1096ba3a4bfaa2f2ca1f9bafc65d85463a3ee896cb870b1eec16b83b8b6d0509 8284e6206ef0ef4bdfeb2ce7bfda95064bceb7957b81d1db9fbe484d31d33c42 2c6c02e87cb36663fc21778110ddf89c9495ff18e9eefc81cac4435adc0d2485 715bac2cefc5d942d13b290d34a4ab4d134b484437e6cdf292866d9a1b173055 a7b30e07049676c308cbee7902ccb106b44c4f81a557147b792e23e2f1344fc6 33afa316b0bfd90d348b37aba8b718526209142e26f89c655ed3ae6c9ca5567f 8e3b41d8599dda72c125ffd8d49f9367f20fe1d5479a5a8ac2a1cb34843b960e 1d3181193625cd318b3fe39891cfe7b32f8a0d4dd59e45c32e1fe00d18e61e61 0bb361c1624563b2aaae025191477e70a485e2e1e355ccfae7ea7b72c9a0f88a ab03aac93d161b3676947f1cf95140554225045a1f3e186ce7638f01d25bed12 0d1d65c4383b173e72f82c26085d62c050d08fa8111ffd1ec8010890c319eb94 bb4dda4227ab05c711585be8e6f9a1a06c008972a966176feb11ef78f3b35bf2 f412a582e710f7f38776a4ea78123495b40043d1582d1159f9c50aee54ee1672 02e41bfd3a8c363e9389839603323f6723bd8dd1d1014125f2867b67e5fddcc5 da5a4d8bed3eef6ab6462f3583a3afae1b7c3b7e1b6ba03d5dbd9c515c344f92 152b32e934d9401866943a3e0cb6fafc94467d882a9d293985d141d0f328ba7b 2407d42802408dcec056fc1bca1f8c7f8b0dff1981866baae460f58538e2e017 67d5315ea752b58f908c28b3900eba69e798132e7175f8d41c6ea5e4af483e36 51d56292c8ffcc8f61e740d1ec91805110adb227f4c5e59d3fcf0f436150aca3 f624d04f5b36bb1406031ab9bb5178b51312bb98d2ccd6cd1a3dfbee21d51e90 b64b21584050b7f759dabcd83cbb121e00b170d731e474da28f02d8545d759dd f974e78566786dd6dd1354d6b950f64c3846f1c4f89275cf4c6f2690c3be55b5 b1bbd135cc94378b31ecd73452e6d0c714d59dd6090d57fdcb60d7133d1ed8ac a16f5cc5822ea23dd1adeba0b25e88dbd64c85532d75ef03e0a5d5ce4e945659 f6c75af53984f9bef1f30f62f8acc0b55987ea5d3602a3fb5d5351798a57ecc9 87fde6cedaaadb9f8ce6b01c482db797d0867b926ad428bf68a836ef0a8ac3c8 49cd312aa40ce86cb091df4c948bf9211b5e16cec0a532b5ebbd7e0f00fb6128 558ddb837bcac67ce2c472c59b71435be8d8efc0efcd98aad1997738ac3514f3 086a6aaa715459911dad32ef6b7df90b09712d54f9d5ee9e71235debc2d9b5b9 40f973ab24245ee3045f4ac946682ea13bc1316eb47b159ddf7a36c766af6632 9dc4dafc31e7d42f5095f6389f63f70f4689bd8ea39ddf8d8383349033315d9e 1d2c1ce5dc2fec7b9edaabebd22ab2ade3bd3eda7d03403cbadb7474761380e6 9b6b7f3ec2df56406b43473f1c796a14d3c07a504740d8e7f7ea696cd15659bf 1326b1cc2102ccecd9a29b2644f8a02e365b0cfea329ea213add3a18abdd45f2 14d61add310c1fede2b6d0d59324114f22a138e4720249c8b19484000fc81385 30bf791c685431a7bb8399476167eefbf118454cdd3998b395ff34743312f5eb 9b3e1894c87d286734586e737fb679f8d06ef909cb51a291d20f2de31ed558b8 d7edbfff1b478334739f56fdf86fc897d2c981137b90b746aaf95a788a839509 f4e3e85365e85a99d20f29fa10bd40b88934e4a9cef0e4ee46a7e55df9c5e094 9d61a43b5cba55b5438f329631c3af1fc6c9f9ae6c4cf8b6905d3fc8cd069e34 ff0f9eff449865caae28c3d43ea5264b451080e2efc16c4ab5aa2615ec3c9168 61bfcbb05778d65a48debaad825de9a6bab45b1fd05637f132328dd33af860b5 78616ccb8c64efc09570ee5d9456372488f87060e22ed1578fc995284260b685 268d4759f3870c2269cfb81b9003a7499d2e06caf2fd24aedfe9bdbb08cd8c1b 889ace2ef0dd18fb0a429ead01f2dfc08ccdb4e70514c5856946ca249a78d0de 7f015f0014cbfb94697dd682a32471a8fcecb8967ca8010c168b4330a0ddc5cc e93fb6b206b0cfec37dfa3c25bb6a402bc6512166b1fd1135d8885ec6a1cce64 0d3786fd46a2406d360f705a30426af32ea38ea7a97e14c9f30db1f11c6ab15a b283c22e808d37ecc0d280161471665eff8a867fc201e6a107fefda69194eab2 2d5a3bf99cc67f8113040a4cd9c86fccf864dfd21d42b7950a646c3fb0a7b763 395be78426486a8b69eae6ea78893b2a954a641cea67519be17923b682ad9916 35d867ebdc797826b5a2fd85e84f06d7929721a8595409525218b25c0f79eae5 2e75de9159740edd3193daf198049ae7b810aa53a60e349f57bc1be57c161892 ea306478bad61c83e66dda69bf1703c8ac4f7cf28621bee798577507fb6b1959 a09d40590b3dafe6ac1c6e0c428ee8dda6a82510e1ea77c2d2f32a49f5f7c395 d06b7d8b6eb641efbbb53012f3e3ed202f8a439f62de003bb945594138581e92 3e633a83213d1d4f6dae96b508833b4173e5c451f685ff89ca3df227eb1b3164 69a624ea78c018f487c251779e8d353aef339e2477e4a22390abc512f674f443 717ea1f22b71e6ade75faecc550387e8b726bb69011c3aac831af592b5f2f53d 0659bda6abdec09f3958b32ececc8b6f3fd8a8abaa21417361959cdcff0e3e9d f04ca66c6c2d9938c54ed5ad79a4f60274b62ec0bab516a24368e1715ab7439f b556629693e88cf1c73f994369e08b8d68c4b721b1193c417f026939bc5f038a 45c2f802a9bd76041b1a5a9d3811dae67e8d24442173368cb902dd8736846c48 19562073576d8d95f82b0b5d0de6185ad923e21c67748fc55edadafbce3cb4fa 6eb275ded694cc0f6301b945c0c67c8ee1ac03f11756fcdbd65763f8e378edf3 c7e5f7236e066f67f8b3cd8f4417dc12a6110231bc9f23a82cffcd7a2e29cdf7 b033f434fa8635aee4d4287dd6cc8017cbc02b996b5dd18057d24647dfcc6436 1af110c3f86259dd23d253cb4e7d4d9b8eeed4293f233660b935ba9989b75d72 9d55305d5509670285efdc68b959f5a851b10530694ef2f1604be5d442d4e116 5093fae63acdc4e2145d250b434f290c33051c7dce3403e0e3591e21ff07a922 fe41c3309692609c150a4a892356de2310ac212d2843833b36948edc30b50d37 7b2bc004731be52b7faf4bdde8871b1af1e4f18dc0fd13039a225ef791d25e27 d42389b83092301881d3dcd1e919f1133755efc300ec632210028ab0cc1c5399 c61393360513da2bac6c132ce2f0078eee435d89350774fbad0651eb5ee31dcc 1900beefcece355e906922e9dec813e038fbce41f6d98bbe1d840d4f0fe7be8c 9268d721c651331499afa916f3baf550fb992f4d7ee57f64259bcb6dce5a72a3 d5b1afabfc59ce825dc954762007f806eaf8bbff86862e14437bb1cfa21ffb17 d2e9b80c92792c4312e7e8012c4cf030bef14ccf6dc0d6f3188157f638f6746b fe4b4add7e04c10764f0dd1a820cae8319978f3283998636673a6c68fbc996fa c3be6daebc0af4b2bc5a5f9de0038d4c824eaac33f30dc9a9fd9e1ff4f89714b ea9428f014a88a9d278b723412c6cc110f056c9513cc0ed46a74525111f12b07 95bc5e4647253d32d285b8bc08b7dcbad2f1938c0a901d75388da83951f5dc25 e240fee6c648a6e2d89ba32cdef52aff28d5f421d392de72e86269d6f5b16c81 d62f45742ba2c1bf2e011303bbe946d30a45cf37ee49bef5adaba26edf2e7be5 6b894771c6d1c19a0a6c0779b3c8aec6cefb08de68b7d138faf16fe01b3c994b 0e15039b495276737a0962a34da755569a92cd6ea4628d5da4574d9ee27bfab9 dafa930d5eb54bd63495740acf38c9627d3785a7a77c53ff647f18e38238ecb7 8635aa79bcefa51a4c7ad37657c13b80927dcee34f48d43edb6e929b0f727dd3 39a4b46b556a5f8c051001ad078d0d0e4325123982bf60f1e46d8b8219d7c3c7 547dc32b4847097551073e25bf92d005e5b4a5c2de1ce8fb8ecbb733ec2096ec b6524582a6c3e759b4a4407d1258c2d1b2fa7873958dc5397f757152a4228e3a baea72c0483b96ecfa90cdb076b2455b7db252b29b8d0c1b91e126da44693d71 fe09a864198091f6bcebc7254f9f2f2b1db4b9855a868c7c84dea0327451cd33 9bcb7f1aa11aefa6de5565a44514a7f951979c046391b86d889403ed7d10ee39 4a2899c3ed003f9dca82efc2bb8cdf613b48baac79f3d5af8e17321e4e712d7e ae02eb7521f1299c1f97de903c8d1bfbc7cbe90622758064af62097968fc7021 1f3ad20ad942ae5d86c5d1ca2ccea805ba379060e14735064e250429f4b81939 c3f9d86ca0512945b9a564c33772630ade7b0f43d23810ecae1cb1bed2ae4a3c 9206dc840de82f0e8c5b05d9bd1ead5ae4a0fe5059db0e2fcd74effbe0ee7a36 20aa98b8b437546c97e75541036a50f3cf2227c40bba0fc7494d4237902d0c47 3d9edf2f2773dc14f9c0023e33efaa5215bb894cc893b035e39d349e849fe370 0e977f507ac074626eb24f6eced6a915340f408ea98e648470e05f58928097cc 5262edb044d57941daf161636b13a2889e7475406a1803502b535511025d5eb4 852cd6117d1d356bae599e63a5f09c0c874fa7d53e54020a8701efa8e442f061 595f28d887008d8fcc4cd7e5b5233063a25379c8e314ab86f2ffd44bf3edb4c2 31107a5d3e89ac4317b2ba734cb8f62787857402fb24f6770107e0f8ecaf8996 f22f7820125fad03da58de254bf8dd1cdd47af41a65e039e4596a0bc7a61330e 88deba2728c72a9628673e45ac07e9b440bfb615764d913035dcf4a039b40ce2 8f2143cef33df17fba87bf6fc50c3f1e3f8841d4614e8e5ebaa4b7613756bfa4 6b44110ae9c1d6d9fecdbd0e667c409f851333f460fc63d08a34ecd2231b786e 832651d8a658ab9daeb7fc18c2fb80ef570522adbe68af92c9ceff1013e69be6 63fd85abece75d5263c20a47939918d45eeff104470dbb52cb1c9f96f414cefe 92135ec3facf629d0710a55e3f68080d82bee709902927340c291ddc08b2834a 80809c2ad0a8b02af3f901d2e828a1cffbc6c1c7956bcab10426a20667d2ac6a 8966e376b4e457835dbdaf3ba8afe0b80504f7be997ba4f9196bf87f3af1212a 9781919b8d351828a396dd161cc4ce1c2cd64e3d34afb564692b0025342a03ff 957d211e87db975ad36095a56956e145e69dd0f86311f2b0a6ca1fb9280b7d69 6ce5eac48a832d6cfaf4f4408d6625acb1509172c63fbd16bfd3d9a830eabccf 6546d8c053e8d07788fb36054a1fa0571ee2191fe96f79fcfe150fbb9d0b2826 fe5b060417ab8fb0e2facfba939f5012771e83373470d7a482ddf4fc35181f3f 555b8e9a39b8f2a828938c4a0ca3d7956a8a0107176538ae3fa9bbbfab0c9efc 1e8e0bda9652fb623c5f632e3294c49a0d8f7a78d67a04cb4a077c681cf7b983 b98e8c7f3d65ada914f3041a94f41b2b29edb37c9e96a99e68dc118c935919d8 10b0923906f0e75fe4e7ca7981475b431b2a47de85db6e7c62f1e15ef801cd40 c6eaee832ecfc3d862b86cc784079cad9add85b35a30034fd4b9ea06f98b213a 81a579d43c163a30a3ac1bf21d7c07a65e35a11a29489008b549b0ca24126319 5546859756a079696fbeec81f2819e8cb460ddde0ff69d0e0ecc6699d13d3fa6 7d3dd2681e4c8e22e70b56580974ce9a08294170e06d06ebc10498faf4e954bd f58466128bc9701b8872b906c301bb3f81296d36d25c8b015ad1c3ea92d3143f 5eaf896aeb195e5fcb737c13bf7214b971206647e7eb9ee69405005c3030d126 b2544845cc3f51799a83b95c77f7b2fd8105c9563cc7a9258688b79ee5f99e1d da493ad3a626d884202fb7f23de0b5434732af72ed118fee6f264724ef16a3d8 108ec14d2b8f64ead7cbda7b2049e4866b1f035c659868bca9154575b8c01137 32f9e77a6a3780370fccc4a00ae18ffbccf5153d86d6aed4348489a935bfd8ad 7b9f4e8c6f0e7c5d82ba398d574d53e5e4f30e2896c7536507829499d83701b3 df33ebd02a48c85a68f44d3925e0fbc83766cdf62b586477614337ca0850dfce 8a8da9a0ad942bee83bd55a2ee854458c135f22a5c6c22c390d8e3ecb1858d18 1422974a12afef4388b52f44ae9e3ad77f43e60176baee703a23b7c66d061c21 74d62771cae7ea9619aacd472e83cdf5b9c97b57bc4d09b4d3757765ae40ae17 bb15b23894e2e153ae3eb34973dfa3bb0388a2d7e89fd76dbdc545e20e5fb4e2 82ec3b6e35580513e679a00992b825247f5a36dca77c386c0fa6f256008fc987 44b132a98ca55d97f1dbcd8a65d6b529c67d1597fb81a85cb05c83a8f8de7abd 51e8c14f707abd0708c3d9148c852ec9c3b636981d7c2c431a934b01b2f9bf34 00984840074682fdbaa1cdc2d6c1775b1ca0ac1c5a025b0e6164667142f9570d dfc93021601f3f8973f5efd2b934c58a470759f639a0cf3da2507cdec12fd6f6 1f5fdb41e8b85174d63f2db6ce925b98cce341b1f91e19fc5329f55c0af9724e 21da1f6a5f7db957c580bb8d9dc91d99d8bcd6eb84b2548ae1c4d9aaf34c51c4 0f206f3b2169c59c6eca33b8b1923713886ff9b83a249dd9b23f533c9fa3f203 d4cff9ff8a3c283194dd9d9b59d82c16e7e7875d6e8af53537d69514d59fc280 afa6c9b3128f58e109984b1ba1f67bd2861a58e1ef708e0b62aaeabc512d91d6 eca16a66aa72a69c1c9d66510a77fcb354c6d4099cc421702f318b9acb5373f6 2363f29160736272d715f310865ae70312b039beb977974aebb5fdd2c097d3f1 996c90cd8b7159fbc58f0778914f36db6f3616b18d48cb5bcc3ca5372fbf4e53 147d297dac5dcdb3035a1752e74b7779c52ca542655f1da48c13743e3de939ef 2addf8452f5ec3080bac0dafc92148257461360f5ebeaa51fa7415e41facf7e2 eea2c56218d822594aa3c7a1eeb6a02b3ca6ca7229da60aaf9777bff4f7164c9 18953d2491d332866411e16990242d9f00724537b4d31812c490510b38d31321 2070e793b29a873d799f0f104a1022383567f28739c6edbb83388c46517473d7 8e64a2eacedea660f34059cd5b02b1debfe06d553438de231261a2c2ffa3dcd1 c6b24c641829b14acd089b9a9e9b828a10fe23ed7fd0834b3d873aa858dbda03 e1d7c97321e3a01311fb58bdc11bb918ff65b091a1da8d36f9025d3f0f976702 c45a51013ce97462e2f0d9c052140d6299d27cc4c6934c684df678e8cce551fd d02cd2f7fe2cb5295f7ac755c833fb381beeae7d7a0514f3094d002b4af15d80 15fac238366a84fd830cfc6e5112a18b192ec3bffd891a3f2489551369e36508 699970709d6b6d399d1c2920fdd98a37d93a0e420e7ae13ce39105b1c551f058 559b3c8c93b8617cd33ae534d796761cd878f5c6261433332d0b25df85fa5ce1 e8b074b83773d005e804fa5e0cc71f1b5bdd22b3300455836aff4e677cb943ba d19cf833c2c1ddbdff2c08e6e53ba6e2a2130e569c601add518c89f794637d92 f98b213eaaca1924aa1a6bcd09b7ce4bcbfd55d3fb351f33582832efc808d2c4 f515579ff3ab1c9279d684de22e4f7fae41272016554c9eceb8f2c63f3ffa5c2 61a3e620e541c4edd1294c496a5abdbbcf07c5a3fea8c6fdccc9321e1fad4adb 0a56de2d01e1bd7f8525c42090ba8baf15d450e448457f555336e9ee8c21984b 230854d14d94dea28fc5709e4d0cdbcbd74056f510760ba2184d0f5e2c2220c0 3f8a0d0a7fbedba3502e3c0a9131ee665ed60ad27c76c152a62c44bd6bdb5adc 1b605af0961ca8c2bc16cbd924a21168074c4cade013545175f90e24537c7973 4f6049a1590f9ff865ebf1ce2e251fb9d37d2e772d142f3e95c0da766fce66da dc226094476f18ca6488ef0a46ff696ede91d7e400dc73d7fc9a085e44daa86d c3df5aa14d3335b07e8ef1d2434011eba525b161caf811fc77e64b4f4cfbaaef a997b74410ae556212ee824df99adfbab8c899edbdf965bf2e326f6310e1ec86 755da7cdc11f7db5bfe49e23b174cdff322b9ebe60468e4cebb839a355e46013 564b2a62aafbc57a71e22754d1da86698d5db63f122397b05dd2c16df42a0305 46da87b8f78275ff3a58ae5a631c5501d0c7f51a1fcec09f45003563fc2fbe44 d5b524c966e6ef7ddba98e47717ec04d34cd13d83ac39a588f6b49d12173f7d8 b988cbf5f769e0fd82cfecda82ed3e7b3ed7a736f356f107a728c157751f4737 178f21082b6ecfca358635dc5f9be7f7430c11e930a72018ddef199a32401059 d799a82d119ff81f1c98d10efb166bccec68fa93c3a216aba0e035c99ba1f8a0 1ed721d2105916fb95e83768f65884b17e0afda9f1045999b886999c3d0a063f 179d5c9742354913224288c4fbe380a9254bb3df8099d0d18378aa75bc4ba4c5 e51e5faa0930c028cb7ae2a4bceb5be1f0eab4712bb58a3ce318ad86d360ec58 13cda198d281c1c431d7b9ab7fb1d5c3b7147d65f71c7442fbd0d047e68f80f0 2f6ce162e7dc3c8722e588b9530eb900becd268446255da5cbb16001e12b8bb1 d246d6cc0ef72308fda1df5334b3a79e28b25aa25c7f8403db3e04248ea4027c 3be703ec5abdaf4392c02da7cf5ac0572c4c540f1a800aeb3fb893b3ee1be60c 8719fc4d030993a144c05647a7472120c752a2488998ad1910e1b8151c432acc 9d700756e2fcacb32b898a603d9951e8c83b2ddd2b92cdf26333b433fa2026fa db06d7e9c1801c08e53fff14596489907b2b675e280478809ed8eceeee9d70df 7e8393ddae12927f83da03393f114244de229a0e88e50f6214a713674c371bbf 045ab30dbf8a49496fbb25e836f4206a75eac02fe0a6c59902164ab8bf3ab615 813c69d4914fe7c6625bbfe5d111bc8bc6d53d305bb1c74a4c5fe51b18536eae 033453073fa1bd5f2cc612b514fc42ddcb5493102e0467576daccbc95ed0b2bc c81a41181de39b1ffc9afbe4c587f7033900fd428551a9cb61b8a0c09e3aace4 3c8a69dde61bca1cf42f34083c1c41fffd87e4673de6edf1d33797a5f2a49b54 92b1839f899b5b9376ec323e4dee85e6a18b3002d6ee3933f2247b7470e1ebdc 62dc06e93890df553ea710e3265847972ec4763c8c6a72f8bc17b21ea6be23b7 0c5b31bd242b4238578329c1f50033c121d57f090a93e0a776799188af109cdf 74230271ffd85d0b3d08dac4a89d8e21e4fb5a792e720e5c825f6f3e099f726b 4022f4bcfa7a8462e7cb4993fdbc0ba358f0b3350084a6d8f461d32148a1f673 ab5ba2cf9ef23e04a3cab79b372c9af2ab9d4f2e0a62e1fb2ac8a1c6a2c5c8de df34cc217a36b6b66caf4b9b07d92fd343c21c3e5a202339f3fcbeba8e5e1afb 12720759bf8a78b65b50e9aadaa78691d3288009a54fe098568845042d53ff4e 5611ce5b235cdfaf2731550ad3dd8dc21b529fcd2615382fa255e05fc454219d 2bd4bc781bb9ba2f90a80fe7ce48a58a864d0fff93cb1641c66b84987411bf24 ddf5fa3ab7e2ad40b0a31da1ea3cb7b6f4edaec853ec6ba1bc1f74e47a854d09 01e4a8066c33bb1151912687c71afece1579823e4452eb82dc7a264b960fbde6 e38c18546fce9027775e9dcc87b85c9805b33154545ef9e6b5695fb8623049cd 1ee1e91b376483fb625617bd0ebf5f6f23e5e8ed6e124dc00aaef505b5331c5a 0f126ada68e8d297fd587eb541e7ef4c8f8274a5d8b921d3dbe4362721fb16ce cbc353f1f1f47e9c99714363ade3fdaa563cb98befd552b39176d2e87d884760 dc8e75d4816b025ba88a100dda8e9aa2725f0624b9f264f1f3070b85521d731d ac19a73a35f5905f1406044d6e2dba6b3fc7f12eab2c34e87b6e0e1562bea781 f3b3fdb8f937ea84eb1471b0e75b1e2091f2d64704539c8182266fe719e85911 b0053a21c9d006336caa255a7770c620c7fb6ec021e8529358c64f249c9a7455 a3e80e2a6d9280ec98820d915e0d71d6eb612ef47bf9e300faf59bf20f080e4c d7a5688c8484053b955e779a02caa6b051e1a56d485514f9798cd8e0406002b8 61930ec44799c590d460977e560a9425217995f7c0fea253d067d68d52fe6bf0 0abf2078e38a9d2e28ef3a518716591f7a844e1f57a81ac7836211bb6e9c5d10 d5fe38396ec4dd5a7f96aa9ca3f13006128bba29507207922eafccbdfe004197 58bc0a77f14d5354c97df06c5bf382cc0dd1bc1008105895d9d00beaadd8a11b 7b6935917a2de192619bbd8084ab9a561c3e0c33ecef57ad53c3bb5d983861c5 d6eb3f7684454bbf45fdf5699d370781da932e6926161d0e7158bdbd83fd1b7b 5f8e4e23dfe87b0436452f6a87959a1f5e1d01075ba2ffc8d952b44188187533 69cd82a7b088587f8b16d6067df486e75524b90ced50d9156db25f459c44c6c4 7dcc147f156ba07184123aadf52d63ec7888927021cf2a5c10ca7d3d76fc48a5 8aa68b04899b20721ce40cc7f396915da89e2b249d8c7c48ea81c8385bfcb48e ad3ea60a86d9992e485aad1a2fbfb8f6bfb0e4d2ff85bb9f2704c66cc427fc9e 9ea4d4d3e196688e0bf462b701fea1bfa62b7edde9b41c775c72fc1468e05619 656365f7ec4149fc6dc819ffba5f1f617ad55ca703f133eac3e0747d36895bea 1d629e6a8aaf5ca1f9d88d95184e3c885b940d52dc60098d687e87b1d3c9cd50 884d5132e9c3298e1be01e595aee9986ae952edadc75aab4a46e1a9bbcc0aee1 edc600a43271ba40523788686f3f264effdd60628cf3d4d9ec20429ed52f67ad a5fe67f48c861cdd31182a908e2cfb97e0118d824cc7e497dbf73e510a09d20f 6c0c16c8bd75c719c2e356636fb3fb958c0c5ecd1eb782385bee352188d3b39b 778ad23af46d3b935aa4754e9e2956cfd0dfbfca0ea911a659994b2547cb0c38 90395a13fe89b6709e2dd1025ca3524d9fa5bdfe126f7c65ac2ac6aa49d0b24f cc7d7e01937e0b78ba01bb72645c47665ba7d1fa248e568f6774a08cffe4ea18 67df148d988f4281e19be860f6c83c1ddcd5db40b4224bcc42c4c1e40e007559 f1ac29e4bdb107b5d100d029e79028cffc866ec895afd37395222fe5d89a5ebb 0c98cfbbb37a75dbacbcee2549b8df45045dc44e440afdbb23b4524daa1fa34a 8103da156043a2c1ff36e22ff7a7e935509482bec66228a379673dbd591de7d3 cfe5d04c10e5b7470ab9ad100d5bf8949f56c1e32f64a57fb6e565f7c20d1653 264c4577ac6b14e7dfa092bd1ef784d7352f2e71a1a13972b3e27c29792e58b0 15fb518ac58afdde4197d23f8aab56483d636d866dff7bf1e72c747c57e1b595 36e801c1cfe64a50da6cb3d3cc54095c78c629cac5a02c09dbcb4ebe8ca69e4b a1a66f458d79408f3d1b5588c720c15f4c5133c8d45fe33262ac44123c824046 15160a19dab820355f2b5279042cd8914c3b616a513932ad4d4e3da019c2ae4d 083bb40099ff3df60f7b58f9453fbc2fd5266c88a4dd80d96e6746167106cce3 42955d19a661f03c8676b1a7dd4261f47e857a4240dd124ad79d4ee60018cd2c 26ed39b68160d9314dd5acbf4ca69fc08e094d6dd215a754eceb4afc31a25764 7f25cd2c96407c221ab38cd4490ffcce7ce37c93420ab0c48f7586b2b5070a5e effdfb9c46efa4572eb4d4239047ab0ad510c8664695ae7a503a7fcb3f2f4ab7 46dddfd80ecc0cb97dfc1d65e7b6714e1ad9e071fb823eeb777f14a31205dab1 3ef59e753b467a5693037420cee55a459655af1038185561344e0a256af08093 254f963ab42be4fc6bec0f366ced42fcee0ba8b96898e421a5bb508fa7c156e5 59d1324ac30f14a1f5922e1103f3d7f53ef3044cfe4603c426ad47ec72cdc1b0 b2c42bb1b6e46a008ad3d9aeaf041feabd08d720698357cdd8550d92180fa5fd ff786a99d45cb2840fe56631bbd7afdbca294ff0715b54374ed9c955d16c8aef 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTI9 %!PS-AdobeFont-1.1: CMTI9 1.0 %%CreationDate: 1991 Aug 18 21:08:07 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTI9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMTI9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 50 /two put dup 52 /four put dup 66 /B put dup 67 /C put dup 68 /D put dup 73 /I put dup 80 /P put dup 83 /S put dup 84 /T put dup 86 /V put dup 97 /a put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 121 /y put readonly def /FontBBox{-35 -250 1148 750}readonly def /UniqueXX 5000827 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacee583a5c939393e012707b47e0c1f a47d284a1edc9d01a497d772bca8c543388e6dc0d1e2c4944740470e0914f65e fb0737b0851b2ba713a9a00b36d07da6bcb52920b9b59efe587734027a3c5e65 66aad332fe6fbcced1417802822a3b81d6187875263d6bbda04bbcf6e4870fee ad60f104bb3c5a766610dd11aea64a6b107b0b04439fa2888b8cc39232bb83f7 695aba81f0260cd5248b9e649cd800bcb325468c79ffacb9cd3036f2ed7bb65d cc883aff8d6350d6e8af1a9c1d2d7fcddc4c554c7e350f2420586f43e2124611 487cdb176d453854b51cb8f9100bf241899bbef87d57f1135e589813995c4d86 ce91db2b3757948f365186c2a4f32d845f659a8e95028f9c0168851997135c67 ce7654f2de4f22f51311aa78f440e5fc2c58f6df901fd071b2d53b2697bfcebc 43fe4508828b4756ebbe1f3e8512514162b3bb44493a65f11ab56deaf152fd01 bc8b642e6021af01998edc76b6a1929fbb9fa4fd1a430bfd4464b53f75075f66 c726fc037fc23cf09a178ffc60908f77d8ea9dea79c1e21fcb5a6a994e5a8e5c c6d6291891df7695db58a2dfcf3bc9a17888c29559ce8f37dd35c0ae35def3e8 daa6d8d574f457b0385efd1611c048b9ce76393fbfa006fd23d742cfe7016035 5fe95302b129a824c7794a9de47e463a7fdc42fd72b9da3fabc3e65d90258ac9 c1ecbd3654b103a488715f9e0e649b57146b786aa399c6ff39f362816306a1e0 ac83a4c83410030d740e15165683e843f69579ec1824c36935ed4705962f494c 401400303b590614e5daa8dc53fdda083fc854e535fcd575b38aa43d3d5c4a38 d56bafa926fb9e7fd69be1af2b502849500693dadd5f00b3185a8b18a0b64f28 9f33f5f1eceb14d6945a22d0def259076cb9b11d899318852053d98c379de350 8a8a7a3ae6c9a73e878f7cfaa856e64b993b13baa4ea8ad693b380171f4f04be 5464e1fde8190f963ad3dac489ca9154a9d35f479635781233c57eba78a4b34c 5b3f74db0cde46a05e26de79e8b958f6a99a3bbad79d0b461621fb80d7f5992b 3a4a42a45d55ac22fff1ca04d5e0b14713cddc23f7d69c6c672092d9c73ad09d 6cda0136c2563df97a3538f9eb3f04e4a2bfb2be69d2570bf1e9ed354bbefee8 2b107a0f2b039cd5b72e21782bb72f8cfddd64450991fa106948805a57a65ff8 02c6eae808d748faa4cee99d7c42fc20a13fabdd56f02408586732d25a6c4227 5d5cc062ed18c3f3ef116df19c2a8dbb0036634693057cd0156e4d78fd7248a0 3e00c5b34ca3c3b163fa2680c1b6639608d05b7f09b495c79f62a37aafb3e13d e3520bb7f9740850c37046d96647b9b63e322809819e8a7a7e25171d171dd97a fa2e10e1cfe12574185a4a2eca38ed4b37d742de82d4e58ea99c647fa502f987 719d7f6f0c1378c4090202856d2d7c8da8777422c7cba165d36bea4bf47ddb0c a70044cf5ee3139edc4b9a9dd65755de286d5094beb6f4b0365d9551bab83a3f 7d0332a4a9bde7ff8b7645581a937c2c02d8a5aa73f834e87c10f2390f86bdcc fd1c8fa1673342023b359aba77648bd213fd04e4ce49114a50f6aa13ca72d314 00f6a4f387e2660df6059bb9b89f09926273a1f9f9933e02d11457a8d709476e 52d3ee597bcdadd6512a20cff18d9a89e93a5f8f2beab633acc46f8a1bf87465 7c01eba47da495fee8b815edc0eb0bd788fc53f1e7635a1ec1ab943494d28a51 31d11f3dad8a9a0e1997edd05b30c803480dded6dc2d0d707312e5772714d4a1 9a4477f6974ff7a3fc8180e85bb1435bcc25390356bdd624089250484aaaedf1 ae3354038137cdda0ff28b5f0eb4c9494f94706a517d3e120a0e8eba9edb1eea 983e9e3f15d9cccfd03ada911eb1fda56ed6cbabd065f502a36c227298ac4918 aeaeca1d027443cd50b7b8860af9e72c769fe8c1bb2f6a84c28cc0c9b9823c67 2d5ab279b8883149c18b807eae78cf07ecb0f78da0213e8c82e8dc8ce206f9bf d3ec5a22f3b6a072c179ee3c9c16926de1bc3ee621285b45e57377b3ade1169d 8292490756f6bea50a720e03c8f399a405a4587684c9f19a35cc526d561d5151 83d8c0b4fd3b640e7d287ba7fb60c3ef470436eb11a91f43804d983501492d1e b158c5ee5b5be5cbfe578bc2572cfea963d8524ebf28a5d1d4a39310a9cd21a8 2a38fca12b99e0b15959757a3d9a009e981bebad3514f676f704e56c77fc5eb0 4ce1a61f94ab5eb7f68e76dc97b7f4ab659dcd53c9c085516708343cbc377907 80b5f03bf32d2730758412eca48879e56b568f48d8aa24da00f40047c21acea9 fd47dfccbf545fe9afe728ad4d840c27eb6c6d27171387c07faa3116128f0db3 b25e581969a614c5cc4dd05f82438cf9391c14e8dd8bcef5cd129b32ab2020c9 ba8d79b2aa6a33b7ea6524e5def3b0b57339679d9abce4d561cd5322bff3329c a973bf3dfe99d06dd8eda13d1ff2e99dab8f0358ce20915f63a0771fe805e77f a107ea3f3590c0cf06f1fb3d6bd3af189a9c7652c215d54f899188f1395a36b3 1f7b657d4e4ce1cdffc61a0ca30a0023da36ec58e7cf3b42ce15f0ecfb1251d1 98e2ed97c40923ccc4cd0f6e23584898562ccba82687972a1e37f522b923f234 aa7532b4e29365819da39a05fb0fe84d7bbeda0edb296397d97bc32d98c7acb8 face7b782f92c44526c3255320d6c141a42866339abf7d3532c75a5444eedd7e ccbf221d89a87917bbd3dc185556b6ed6b53081b51f2aa48a81f7f94c80fc9a4 485b9b7c59c25eceb49520931391d170383051152baefdf490c9b3dab9c302ff 3658d15cab258b486e5358e8e5502714c94ec1316caa0b17fb02d0de01c2ccc2 3cf2bfe6f7a044ef935b2443cbb31136b20ecbb2aa058189d36afa0a6f95c2d5 a52c45e44cc5186b8f8fc2b9ad68d6d8c7784290e6daf7a246fe8bf236247887 c689fb3fbdc47e6dede5429d1f2172b2fd08e5cf67f0b6a3223f7272c7ce8373 e6d2e418142d557063ae7c113e182f5e310349870328214ed7ebaf28a9d83414 6a62bf17a6c5d5fc151014e4a1d79fececb5cc2fbbe33567ba28b92f3ca4fb03 c8d5983b8564315b37370dc4c9b26ad05b6fef704707ba37489b283ad6eaf402 959d191775c8376f939adbb78afec3b7321a0a3e2bea8d8faa18c0dd8863a704 a1d86b9e81e6769f67f669fa1b54ebc00df0ccc602890256d2c73783f2356635 9b4246527b5edaa13f067627f8e7df4afa312396944f474cfe66f3a187d34291 b031c806dc2ce5493cdd933befbdb0decee912d43a28b7a9cc2f484bcc2494bf 7c6d0c5ed9f313a0fe77a0f46070f6e941c4a53e59dbc10c648cbf79a8d854ab 0dca46bf27dee9ac092ffcdcd80d2dc23471ebd6605bf51883178a8832e4809e b797b06aff362e6b6a975deda6216090df07fccd4ac111f5c34398a40c6b0214 8c2b560f90cc9a09551794343dee05acefa8b10c04be495680815ac192d49663 38f08974d3b6d4e02d2fac1b82b96e8eab5af4fafe9548885b9a3e379c93dfcc f04c3b7e5c9a8b84d41141c5fc08ad6457e1e8b5523d9c1d31ab80a093f6992c 65ee61dceed4dccef10402aff9466d35308c5b0f56f8ebd6be233ed16f12ce32 1426f91647866d5a12378b1cb769d58c35c79e81a34391c32fb4aba5a7648d4a e4b35bbc534b369b02fe4ec193300e7204b3bb96a74c96706aba1e18544a04dc 6769eff41a9e6afa7546efe0fba91aeb438a0cd3b03243a4c664079c827e6221 4c4b2e8ddac2f27a2e85529b9bb697bfca4bd94ab3e74162f133d0a1f47ba82c 647af0ec1eb8b68b33fe4e3a5007c4952220f61f0a206b03509a9a6b997e21b2 33ec7d257b5755d3d8745308b3abb7da0a2da2c26be2186772b0bf1e997a12b5 0d7c779519478eb7bb7ef7b9b8105360e20e723b60d2cef0a74e8d7262d7f4a6 75aab59ec357c5bc53c2dd10ff5ba15b6fb16042843ad3ad5b0573d55a5f01e2 df963a57ddd57b2dd60515c09164295f8e60d1511ee55748983e3b21f6917222 5d7b2e0ef1c80b4b8d98ad22bde945364b97752958c432f58cee2ce249839f9a 93dbf6646b7d468da390b4c38b1172753f2af090d832328082eadb2e3286453b f52c21e1c7aeb2984e8d781917f998f9eeb38779be3753cd74921dc0bd2b5245 9d4add87622a968568e9f6e39d1e30af3be783c7e8607ee1d416069b80740f0f e3efa63d94074cbc7e4df4291debe7819acddaf1aed86e6afbfffa73fe0a1aba 5352f3aac96dfc466b33557402b08849ee73b3dff4dfe990f2746b18f7e613a8 d95b2d611e95942bfad4ee76ea35b8f6327b4ffe1143145c7f60cd374ce5c7cc 87215ccce4b2090bf41017f7cbfabc1e648cf1baca0325bfd91c7517779a60c8 2efbaafd4b6912f6c98b46a6f5f3c868f0423bc8daac252780209b1078e1c5c9 a84d0a9a15b1a45525f385083b3dbbd1a6a45974fbac608b279216f3c7a98c95 cb127832423e2b53aefcc148eff04b40d66958b51cb5a240f35f265e1583952d f62c93edcc2db200330994b1f5b896a8553e15b41b3a1b67d8a98e5320f59a8e 15bc9cba4b481a9fd0b3a36d6fcdbcd1d48ea9dddd9ac4bc99a299214e6bee17 4e760d8bfbe808a3804790d59aef76e0ebe1c2f2b05a604b11782010a31a21fb 1b865b37d0cc140571677e2b90da7442379e6895b935f52c05af793336f1c9fc 877522ec2f5fb76dafb5ee43ec94b900d304ddbe77a6bbeb33c939293c416e5e 036eb42fcd77180db18b01a364529afc349378100a388cda75f16c9268dbdd00 7102a14caf29fee5a565f30c5c56d6bc2aa0973549f11a44760d2645d704ec1d 2683288ab3ecbe08dedfed2310f96eea5f384450540305ff10f12b2887bb03c2 b053f63ad1940090b38527805b0ea11807f1fd4287d31ab018c97a8069f29a3e 3e0b319420eba5c22893ed2517c6b7c7e8b39a63df881fcfaed2eab694952c3a 5d68acfb56fd3d5109e41a697f1d5cf9ba5c1133e29396ab43a6914400b32c9f c5e48fee33d7371869159238112be4c5f73fafa47ddc2ed1417ab821de993731 c77721e4fbec41eac1766947e4e8e6ffb39d82e0b710cbce4ffb271009fadf2c ef52139cd5e910e64f7fe4ff879261f8abd9d8eba60832d4a45b062b9f17de2a fa3f3b4c63eb97008222191d8f036026b84f8e0f7bfe28e484c886ef77720bf6 e00e0e67861dba6d252c9cfe5b28384f991381d015373827bed9e4a28ee9d7c3 364653156290ecb60d70fd6eb878036c4e70b72769514af28cddeb59c83b450f 9f7b0d9d7be5044de83f428f3389fd97db27bc86c41607843fd1054de8673706 4a3b264d0b603c01135d49c3a5b2015187648173512379d7fbb0b027226ca636 e20d6bb09c96ecd1c2d202fd31e9c93aacb557ee8b0f130e12fae39ef86b83d0 4e1d4a4da6b256fe68bc29ed8e69b0a52f86dceafee790338aa88aa6d4dbfc1b 2a12b15d9c65cb5f5c905f9fa999f74bb0750eb23a6187f6717ea1ab61c762ad deb8df9b0862ac090bb3a0d44ae3d4e970a6232f7ce803982a93e8e880c30ec6 cf9ca69d85251aeba30a945b018ab32ba68b6c21056477b0332e51deb702e209 9363eab7502f79c54b055e7399f435ad2d411eaaac8822ae086f65a036c60e07 b4328be7c92f138ccce786652c00e2de8416b2cca8eb442faf4913a843badf70 d0eb0bdf5c0c2d1ca8bb1a2aa4e059c04c0cc167b5dbd22443f9f7b9d692d3bb 019baa195e512f047301f71ebd12563d4125c1216c9ea40e2a10bfda580fae47 06eeba7e8dcc658d56520d9680a5ad6f3fa210a030c9a38eddd831cfc17cf4bd 5b0853e9e7c61a0174b389ef43720cc8240045706be85bc7f1c2d4b39a2a1375 9c34510c3c57c0b7fa28238e105f12b6422473e5ca8518d8bd11586f8807d3cd dcfea083b52d976f3bd7f952ba9415a77e8e6644e4cfcb28128290cb3058975a 4389902de133b2e085a0c9e9ba702ff58b8c8b7504869a253405a29456c81f75 329b58abe8f82df0180656acb4f28b6cc0ae5cd52c635d3777087b423add1928 902bdd9883e645df03557bfce23bd4e232fa8b93223423dd9f81533f3f1bf758 dfa72d6b32c13da4f70ac026cdeaacc1386183e9509b7007ec90e0c3a6d0d64d ba96b202db4faee46218518503b26ed2771bf8b41fa723c3ca44525240f7d9e7 5ee0645bd6d8655e5ec5a770ff432ba5a14cfe4fdc0cf6196449937c6adc44ba 492cf296277d185ddd87859d0a158ee46acf22fbdd292e457d509a36bbb455c7 0f571077f01ce8c0952e83280dd7ba08423f777da607e0d56417c08a72c3be68 71c1027c23eaaef1a325311a48ca30a20b3fc64bc8d737a2d87fbad2c5d4dcd1 6a78cb25e9a6627c56856f2fbd62fc6523dfdd106f221c15fb5ff4922a435090 a63fe545305c640a2887d30815faaa6e8e69c1ae4978c36702a6820141dc0da1 f3f1ad4ed8facdee0b97495f43874a29083b026945888ca64e41ca3edd18b02b 873e4304ea4852354f7f0c316a38f964df40e06e26600bf57ab0cbdaa18763bf 48ef693058a67e4f0f1a22f8965032127c54c63f3c35f26992890e16969976bc 19e4a9bd8dc94b88b73a8716bbfa8f021395acac1b53e45c13035139db0ffeba dd5e50b3dbd0f45c314e8bb1af75df6e4fa8dd92f1559bff55dbe4d0ef6f3080 df4436fe162a59fcddda489cebde7afbd3cc1e1950ba8208c462e49475721281 066a20cac60aa8917e6102258f682b7a412d14cc0703429dd2a665cb74ec53e1 9cf3a27d571df45774488d017ebbdee3e8221a5ce70beb805bb676546a9f5148 9d6238c1b5717a5b95da5d348bcb2b73345c7d27a7ffbaea1aa262d640e0cb6f af554232ff2e81496980782a83fe231c97a903faa12e5b6f532325e13e957803 aa3241d8fc6aa613eb9946969199c1b144ad474c584dae5329ddb4271c490a07 53ebe8274becbc31e8a17035c37675f93d74886d00c9d60d3a50d8f9dd994a17 53c4a3a7fa4ae920da930a8dacc23d0dc5d2c6c1b43b53bbe95fbfd2f02d3eac 557d5f6f91f70cd57167972e817919e7acdad6a2114e113ac2141cf6d96e0689 1d9e5fe7a1b0b9b8912793b7ff914630493242f245a0031dfeb9eebd7d8d9584 2128af3114178d307f40646291150b9b2bbdc3d09702c01967bed7316a1ed7d8 10503da1d082ef39c096f207ecbbe2687174f97b1cf4c24a210813b9186fc46e 9eeaada5174e53bab0c937917bc3119e498daac8b396a0c2ae798c8d6465d508 ab042ed37e427b71b12218817a255908d16fb2923bfe63c6c22ea3f5ddc36fe5 79e8a92b0a3e51ad8a128739b23ec61d228c687aebb090f799d02aa6fb97f913 78a7ed902ae504e9e48e94ad585fdda582d2486dff8a1496275a7b580c04e488 578b62830055aeddcf06dc818796e85f1286077b6985bfadad930dd10135a47a 773cb0bf60ea968b72eded450762ae66d83c961a5224d6b28d14501ba7a847be eb48e0a0dcd28677d5fd7dea8fb361ec09722499d42d876c5924c452da8421bf 6bc316e1057e6f800f3bea6b161f77e2d50a0c0e722ec02ffccffcc9a45c6ff7 ca106d37c140546c5cf17682cae3a54d85bbfe10ac00d781c92ae7037652759c 2c8288dcefbd0b10603a75cc1ecdfc116e1616dbde0553a769169c1f8b3cde31 1d465ccb8e9477f81cce94f8812071c6c7942de880b14c3672f087989cea069a eea6b097e062ba37195f1c36458d5e15f29a23197f43ba658fc1db4a31d15832 0f1a6b17894d21ce79447adea42b5f90358870ca029fa856b51ce4afeba728cb a2a716fa0fc8a9a16f3419440ed1b259742cb1e98f7adbe495794ac58ecfc10a 33dcdfd87a181c3f4e241107c05fbfb0e0a8962796047dca31c44ef45606f19f d7dc6cf45e9af4c8ee88c55ceff25bc5faafa10f62207ed5772cf75886e16d80 cfcb80ac6eb1cb07f7abe1d0a9c2a577baae1015faa6e5f126a35fa4a638dca3 e666ec0f0341cdc96d74ab175b8adacf04764c79ed4cb3dd64511fda956eada5 e5750a31b8e8db29f33a7f6c4449f0d0922c6b292ed56025f050042051d3db8f 6d40d9bafca36363396645a94efc29046664c4e55258fe2a614260663b33e810 83534710b1ef764c175ee4221fd21984d8046ba9d341c904f5f158c7b6625d4f 93fd17b53c3aeb4097fe5bf25e9591c300fcded710f4a79f42d863f99596f292 44ffa7eeeaa7b4d341870fa07e35128882f3fd95f57f147ddc68affc9749b897 472eedddf9e00174e82b832a618b7774c4c17e183518d1892e303b4d537b8f52 777ac6aaf3cde409ff4ce02b9a8423c398202b31d91885658d3f8bbbbb074844 f5dfac08461ab5d3fd5470e07c2a493ea6837a1c2719ceb5e86d998b0f39d7d5 adf57547401090ee4aef74a7cd1c843be94af99da8f465068154725ea1fefa05 1a4b573de61830b118ba3e29b49c3e415d576561810441528be73ea05f6b8fff 79a8d6863a7be88c8e955a508f0ed89297316f1826e03150eb7020d6341ed28b 12807ae49e64cb808470e7b0dd5e1296d25b4598be9edba50c6ba699c11fb347 cd3ed5f7bb6a74fff89751c52ee3a106667648aa4a6b5a846823b7fe0523d7af 253c2758e4df0c6e877479a160b9ead903c389c9acfe2bb6f87dde86683bc96f f6a1d386570dd83eb69f35974736f8d0ed0244190f56dbfa5bfc6a2ea386836c a67a65a811bd8cf40566d91faf223a0e1c35ae7ac07eb67217e53bdcb603133e 0f29de3430c09a1e095071fc14dae47e1bdcdcb5c9cd80fe483ed0751f8be558 0519419de1f710e4861c26de79419795faf2b240938b30ac837df662b4033de4 dbf5151be84574e751af844dce51dbfc9c2864ebcbd0a5cebf82f4724674a453 b8c462a60c595ccc8dadd6967354b8161d6acf30856108443ffff6c4c4b6419b 62ecad70c14574405f05d816c2a2419989aecb784bf2c799f8f48687ab987c73 8d919f59cf1526989255f9bf29fa465ea3fc5c5fa6230e11d96a662b8770a9ab 56b0dfb43dae34c95f8a4e83249800fb8f006c2594d2c2f7a71c1cf2ee66d3d7 8d73f3e7f9e1366fcf793d909e84898ce4bf5e81322aa5b8c37133b4859910f2 137ef44d6405c3c4ace92dde6fb7111b7b64af6e6e9369b6f1fa54f996a11d4c 39f61f50a2a58c139148ff483aac19bd45072bf86322f813ee2ff2235a41b218 d7f9db5a14048ce7778d2004ebc3266c853876a9cdd17a17c3d1c0e0fe04dcb1 edd2cfa3644795c2448020596275c1fd165a7fcdc6690d7d86a3fbe3c73b5358 5405fcee7bc81c23bd4e1b4c41c5a543181bb71cdbacc6196c086cc8f3052549 f3b385a5cd2250b02b74fb973f8eb1c8e101be0827f0db68de67d8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR9 %!PS-AdobeFont-1.1: CMR9 1.0 %%CreationDate: 1991 Aug 20 16:39:59 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR9) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR9 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 14 /ffi put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 63 /question put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 91 /bracketleft put dup 93 /bracketright put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put dup 126 /tilde put readonly def /FontBBox{-39 -250 1036 750}readonly def /UniqueXX 5000792 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b448685bdd20eb05d5e7c2126132e33a59a7170609 dcf4871a5d023c9ef57d3362d9f2d7a440bb69bf653364105f16f4d0f03582f9 aced3d05cc76489b16e3fa8a446094d30038b06ecceda269f2eab9d19a99c7f9 39f9548f206c5a457a19270b2b82c43b091dfc5573468eaa3e7a4a32f8042891 d85e4b180fcbcb3091d2800e54c87d84ce9cad6869b5aabbbe47f40c68799893 d22b765295e1e69e33aa048b7ed98ba480ceca91f3ebf8ef85fe9a3976909626 b95ac5940d53f9b02215d84a44837ba25ed15cce0d504f1d335065594f3bc824 5405407591cccb11cfd4645da60d960c0b93f187b0cf7b105543c0b70f89af5d 264b6c026e3ae646acf145950202ec73282111e3e601cf2bcde22ce3edf6db23 516481420f26552ff4472d749811f27768150450d0d0ebe3c79f999e99b5c0f2 2eaebb12d97782b1bd91b2a1f62a76412548ad53c0dd411d4a08c0f071c2c218 63d9adb75a4621803ecb84c2bb235b620b658984b2d8e0c4637e2811bc8f0d04 6c8935afc70141e1b2d9c23bdb251d304b3378faf8928bd09686aa0340fb0cb1 dc48c996ef91530ff078666fad227a3589f50b605267212d3a65ebc1019a8eec 9a0739a00279471a01e1505c17658c10030fae32f274fdc8c8774b0d5406c384 a1d17068dcb0c2575c562fdc5a2176609bad9a2c255e426a4325a4fc3053c7b3 2f35f7bbc9aa50135f30223360fa2fbf019294b2e1d1405e078341097090ddba 1561f22f8738fe105c0e3b84532bed145d51428c9cb1807e655408807dc69161 1109a98af82680d6dccc987cb312835dec4ea0645f47a15b6707d654ae54846b 3d3301d61150fdea8ae2da33e79976812c7764050a3e86a2a819ffd3c64c38ec 16b2d0bec3922847fde375ffdd82f8f8bcdfa39c53068da393b35277ba7af682 9e48b1607f22eeefd7d0eea93ba1e2fb9b5ecc6c6fe1075db980999f0be7a234 5d3274b66366f698ea7fd38fcd321329b223febd60ffa18d353dc40584e5a01f 8bc3965696aa71aea379d748fe325e57816bed4864d5cb458769c05ad7928a9b bfc5b889e6cc82c5e93d2d09da11610d4033cdce002e758e59d4952711fb58ad 44d506ddeaf55fd46d890c1fd1a9b63b13c0e833362eb2824be0d01162dcb221 defaf26c7899498dfbc7b5464c9f853cbb15f4e0be766373e78f425d12d16b31 d7cd926022d05e4a86a147153a1a05a0c6675b839a98766f6b977a1a0de1009f 9a33503dab1c05be3df8b5c30109837377e0bad7674152c516b164ad650784c2 20ceec890ab9e8be4ed848e0d755d52b1cbafa95d9642ba831392afb4697fd7e cfc82802a209e87fa5712a069e3de24a797fa850e29023e818202b26404ce357 1e7a6d6a61eab3ec5e6a6d32587381056818bbb9d1ee2031ac433be8424b9f0d 3c7a6794de205447f69336e5e740dbd3df7503d5c63533bb8c5f4dd8f8715bad f35d1ce1f64090a203849f8b13a54d883667f1b886daa8cae28a369e3e9be530 8528b7180c6dc249f79cbfa7c4db986300b414ef076fbf879122187e6355c6e1 89344892dfaddb9d6b7cc5bf6380559e304c63f1d760bbbfb46cff0aef91bda3 f8967f56d1618d30d6e81ce83848110fcbb44e14accb364579d602d190c2f114 ec3c63c62db327c55615684eb31c0514d0aa7cd0f5867492184b147e3a7466ee 9fac8cbe8b55fd812583fc9bf74a4861e9981541b561b8873b6cdb2eb7d33328 2a9e37cd05c6591de8efc7cbbee023acb5a99995e676ae87a992c7b42d7b3aba 983bcb2264909212860eaaf768d09e9c86eb568de25d1cad884cd60a782fe3d0 ff03ff99f0ef798ed8f2d7386c97a38ddd6fd6ba3ca4a17bc4f0ffd31206aea5 215c04b5749fdc00ad893276d014e03aaa36212afae0dbc1bb2b8e439a44b7dd a9727fd5191a0de4c34c92611c56f4b7608620e453cc5840119221d18a2f99c7 f5ddc69fe833065f81c55e6921b6b49d912c10dade855400e6708c9a436893a2 2e059e129cc1056896c57add2c466da8a04a743033f2a0701105013f03d79c8e 701d1209e0c7735020a6be3050a0cba45c49648275a06bf34577b3fac8d2fd43 c65208875167ff5ad6b8e65d8a7359414b00fe12447c651fbcd6383c512c8f15 09be1c1660d6aa0be2563956f725aed19b7786d77f966372be2fedf1ea5adec9 b822812894de4cbec38608a68bc3291320b0b03e518f2542431368059afb3a54 fc61ded9a10035c0f9e14b1daba9107b653d0cb8f4d05591f1ce49d5e2acb2a8 f05ec58712688141acdd80410cd365b4cb685a299384c5be115e187a1399d3bb d519b3f079ef5d8ac261889c3198a74fe6385188d1b7c9f3eb7505d378ff5859 a782c4df80e7d0c3953cfb14b88616fe7b7ec299f95d8d151bc40fcc475b7833 961c573b451de56b0606373283445dd331c9cbd70eeabe2c7763e814d61413d4 4794653edc2e00d57a3be0efb4b3fa5165893da719b71e59bcb6f373b930e4ea cfd246499180ac5b56c85683c73e1d96f848fedafa0fa239ca6618f02a81e711 1a03309b74f34deff09da74d9aa8446e2bba2ec9639b434df60855d40e6d3451 288d61c8f1819ada4f88c9386a345492ad24d504e99c3ea6fd55dc03a597af3a e70a5a43fcb5b0033d605b04df95dac3caf86512f6c9445c98ba1d25c9db442e effd666ed5a7801b0781332a6d7ff69218813b09527152b605ccf4ca0d23f6ee 791debfff9a5f72f0a179c88170c6c4c648a7700f65d5e956d5ffe3f3fc8fdad 42b691862e648e7966848745347642de4192bed57bc274202eae9a8542a640b6 db171edd41903d4d484363d1588892eb8478de9228d29c3d7895ff5ef7fc1344 ff0a2cb69868aa5407586f757f1a122738fab9473bb7f7a41365b2273e4ea469 23387a57cbbfeb1d5878596d6e074eb38b304360e4c17e7e1bbf36fe75e7d48a 16f13d17e8c6a6c9a7ad3692b8ec816c9073ed97c5f0422c7feb123f8f8476d4 b28d045700a2bf1e9c630b915126f3a946a6509aa1791604112cfb8b6da24fec e81ebd1ff10b2675e9e683e069740dc64f1e0ee7574bbfbc01afd068a4e90a29 8e1a4e2f7027ef5e32195e91db9ab74400e838dfa97ffec4b53f3601cdde597b 2a0f8a9035c4e4e41f19876e239510339b74cd4fb7db3d8e527514acefad4db6 29e0ebf78a4882a38ec63b9a8b3692a2bf4360d39d1519832467e444ddcd397e 41504c5dd1f4c70e10559302c1be496b381636ec6528640a60e39d6199330be8 f9c3f900585520e570c816750363c3e68b1ab973be7dba24806eb32c14f11412 279fe900987f912eb8c76192fef73bd6af5c4a48f5c9d6e2dde7941a14a9f8d6 6fd8f971dbb66a3a981d5dc6b72a5f27b9a9bee4e6bc3988726fc5beb3a41be6 9135ff7443040d4ec9b3a67511e514ac1ac9dcce2f3963ff91d4f4660de6d977 828c7502305895149327d8a59359b11dd123f84323eb24ef47ad110b1457db50 bbdedfea6257aefceb6970280673da320c59106305991f5ccb17cbaa7f6d68a5 782616854dcfb71bdcfa8bfb218ae1309e2e38209e7bf2b1731776f7fca7413a 9519d0a501fd4dd09f1a3b0228692d8c4631ba434f61c16ae15b28e1442385a4 bc1953ad286f37333cca141dae68ec35c3cedb3cdf9e796a147825651f7a6602 aa35279b3ab3cd9c48c6841990ccf41e990393c6f85122e55cd19707b70ad019 aa6c974eb6401d7867a193117ab4804c8d0ae4f8b3a21018d8ee1f7c78dc3ee9 8da7d5e05a5960464b59f023b3a104889a463c087e6c8940d1b0d049f7050234 bdb591b1d5b11b3dd69ae7502b05059f282d070578460d04a424c1980af70f1c eddb384a96900b421ac0a8d2da945880a81f90090a81ea62d0983869bbf0f4cb 0b42633c0269fa50bf1645ddd35cea74c66c4d4f08e0861a33808d7572b832a0 67e518a055348e78590cff7d5ddfc4ed2447e790b5703ea3b0e6621bc76723de fd44640553df3084fb86182eaf153418c031ad9da5177b8e47351d711f56725e b50615baa39283a0c1f851bec02d9f31d561b28a14673ca8db723564fac191cb 6d72aa5277b40c4dfa2f695cc7e52f8b93c43c372071ba7e663a83c260285a90 10f6e99fe14a7b8b98409b0be887cf0e70b09615c8c4bfae85f5194802b7ef34 67cf7ac6b3ddbfd795244d062019a767dd28156df6fc3926f6fa33b1c53024b0 3dced70bebba4053b44f770540f417979923cd9cad76939d82b3c0762adbd4fc 8d1f6e91a857fccef7852280b96e92c688e0409f0b01b893ad0ce7b8f44403a2 568e3a13c7084477201eec2238c7b6606266deef504206daeea2bf904ad43aba 5f006db8d11d6290e5bcbe22617ded8ac67b25141dcb2e840a74aa754d7994bb 207d7b73b6152b7424de24471a4eb7dc062edd01256059320738d99419266b07 2ceb33a1e1e47d05b5e71732f5e29453332cdfe693f8469e1931eec0b63915f5 b53ccf72c1601eab65d98c154515c18b61f2b7badc413654d2feda3cf077fbc6 833dd8810fe18b04cf801cf99b2f6d1f699e21c52c384f37c01a08b9a4d048c6 fe1ecf7774099827ccd63dd936d825961e7f5f81a2c41ca3b9f719c702ce27a5 9d2bd8195429b600bb0a91799f055f0df9452d517f50af7ba244e464e42b3e97 e92b5422279ec14267ffdee31141cb27ab3d9ec461e96650bb52aaded7a28e96 20020b00e36097cc14e4af05d18578f317c336e483b164012c993d487530628d 297c1b25ea7b94225a9d5c60b412f1ff55d30b6eeeb03a0bf7b1c47df32b77d0 0d77e0ff652fa096d57bb871cde2ba1e54d7b423efdfd62371eb272751c46c6e 1798703ae5980d1de5661b8494bc281e4e05620faabd34fbdd1542dce741cad6 18c853f5911ab78db5a0f24dec2a66cd43aed5c58d5a5501c31f930f7d051ee4 d68c17f96e825d54144bc7085e7f89c5141f710e08814c50069be2c5990b8323 9e14454e841f82414577c06d4f30bdc0b8c1e3ea7ec9f9018b159cd8408a9414 77e0f1d0a7e3bdc6c92e4d3b87cff5b0a76864833b9c7303a3347a9ecb539d79 a2c89568c8102d248f190b70bd115773771bedc3f76ee96cde44f4531eae8e44 544e9b952963c9b23b7670da5b134dde93d0cb2fd516bcec45b8ad0f57d5ba75 35e86f629b72b0068eeac4b4508d6e3d9870f0eafd5d3ae4fd31d1ce9d46a043 4bdb571bea4d59603eec7e6008c843df2e46c8329a4f33424b6bc977d3a4d48c 8dd286bec9c89b24b385d38236a069f2ec5d31a1ced2a191740fa89a9932d82b c62b53706286ca0bc3b7ba00ccbca6aa7ec5a000449e95c037b6c7eee3834af9 2c2df70cee947a9efac7525570a3f98575c8214b49f5f1f7caedf6ac03a3decb fa4d719dfc4556a8eaf33b0700b579654b5dff719ebb71260a0feab57acea8c4 da2bd1b086d38aa0458b932e7e213319eb31495f4e6c6fc20cfd8f8ec6998171 f7fd1e1f2009d992746c133819eda487cbb76a23342a5b15de1f99f344bfa0a8 e32198bdc3af0d9c021df22a753a2538e031027037337f797b052a3ad43eeb0f b331ec3acb7a6505ce113073721f2466d5ce362c35a82c4d0e7e6c3c8da8b9dd 7113d4c6c7d74d7bb57848bc226640fc10ed34d2045019769e81eb4f98b5cc23 e360015753aa67fbfd0e9a2291fd24f00b558318bf8e82674a4fbed79609fa35 1b8a7de275f7b59ab868186923edeef5988fb2ff52f89cda6232ef79591d5c1e cfe22735226844aaaf88089ea6cd01ce82564e498271aa85378d96201f430897 9a180476639fff1744adddb6187e226b1df15b313b9487ea2d507aa0efc3c88e 5ce5ccfd6f4e1885c590938e060cb23c5d6fd088d7c751d11f68b31691ced9b0 ba2a8858a98d8985a686fb6dbe8e585a17eaa03c70babfb2af1d6aa6cd777dd2 3710d963c8ac664538648c9a1470104daef4c40ceec8feb58c5418593f837fc1 ca04aea11617106481e712af8517ff52b8cb61394ec073a9e2cdd0c4af7020fe 235484cca4f8e70aca8b7e321888f55693e975f9ef21829670d62c2eb32b1f3a 5a103b7906a36d00e1b30f3650ebb417f3dbedda49e20a90ae4637d8fd1615dc 6a143997f99b4a85d1b7eb85fb7fd185fa167a443065fbee5913d450f8d05336 0ef23518d6968aed216369eb64d704328e5a23b42f2ec30a105fd1e318987fc3 fb4f8bd6b1d511d73aa80293fad8fa2b7aa51e62a245dfebb8222964dccb53f2 d1ddec3fa846c58eb6aa49d6cd0315042484c79840cc03b6c4df2531ce20bf24 4873a3cd7a2b956f8bbee3b3bcf1bd267fda0020e1c6e0cfe345dd48069db19b 36569833f4e81d3f33bdb9dcd77b3034acc55226659cc16e40cfd14e5cdc1857 5e3951704e3f3417836f244d9700363d83d3d405a7a50532ddce2adc5051990b 55c71fd6666c4dabf347ff37001f0f3258ebe23f5e435ceec99cf3b320f6ea51 f52d41f5e28f68174fa9a1b72b85491083da6a6638858cce3bf080e8268ce5fb 83f8bb05ab9b05dfcd364eeea6bd736a27303ce0742c4dda32cd7c01e7c9ba61 fb706cb91a3a246567fc81d03c272a250c7205179fa17eef5f7bb1db695c7ec1 c5f16df81f0f3b73ff2ac284da6caba3de1650715b2077b3655b8a7b9d36e3d4 88be9ec4460166fedde19fa37885c4018836946a100366f1618b32581562a05e f57ba820caa39be5ed428481d95659f75297d60d7f566411ff2b1f06c0bcc782 fe0e365642e97f7eb99f1ee24a0ed10ac57a91e0346f4cb4ca8af35f9150bbab 2170880a8117694468686d14d45ac3dc358b2fe48dd23fa0bf3299ec07db16a7 0175964ca7fef569bcefeb44439bb67a796da6b2c4900944537dd094e6947d69 67183796ca9db0440feb12486481531b2a65532dc994a13cecde676442cc985f daddfa9b552f41153390c4eb87382e500c258028716434fa5a60bc173c7d4557 9b908ea10ff5bed379461147a91e9d3cfd2c29edee82de56c810bd2a1864e857 f9f1e98b448bb155e96452ebdcc52b3154928f70e20dfe9fff8b60090dc56337 b7e5c70aa71fc5f0973b93aa6f7e994622992b7e35eb53cb03289474814d5ff5 919eb15b02b6ba29753649b237e435fadbddf2ac14364b76bd3ef39fb95860f7 e4d70fbdeff6331693ff9cd753bb7497452bd75eb74b1ea68c9c65990309c0f1 d50d3182ef000c7a69625bfdacdb70d5ead862a57f4ef41d4cc3e9c058525db6 a1a90e3086c960656182d1d8638919e5b9ed0d204a649b10eea2626b3dc4081d 72b0a4cb6477be7428a8998038ae12b4d5ac06dc6d3183a337cc5c22b3ae8b70 636c44953023e94e53594c4cdb36916caff38c285f04a6bbc6b5851da78a0922 3385365da5e044ed11559607284de825f81f81a530794602c025532b7fad0e90 ceb4e96b723309a776db5934a2365514ff84153e76051e8b563e8b93e39b45a0 193795be8615b8176eac6696d9f95a798292d652a85270e578ca083a6771b400 c83791693d9d31e43067a70cfa63022fa7ed412e535f4fe3a96e0ca05df445aa 5af6428fcf4e97b804a2defecff261538f040424c0390c6ec67b1946ed542a55 73159997eba302f113359a719bc16f7f66b41a1140ba61e6e138a896eb30b5a8 3a6a545a8a71bbe7c492d5f8dcf07cc74b42f4c91c530cb2df4a3c0cc0c1e05e 58ca0f53425f82f54bc4ebe90277a63cb173ce8231db6509ccbf6da59cdf9c79 e37df12349939528b48a67bb18ea3a17f9b83dc757f01b876f61572fc6f49408 81542b4d16202e7babfdb724868368663b3a9f9546b4be3912ba81b6418f817c 7a431644ed5f563be349894e2ffbc9d229749f181cca6201cfa6c3abe847ee56 e17e0cedfaa12b77713f8e75d78d96438de3d0a8bafc6f95077b4cd8dfebe4a7 a345dd3fedd6e2ddd041589ded87844df735d84a8731aba7e7698c8b768cfa33 983efc672f286ceebdf8430c0083b046607690824d731b21ae73fd327e436a19 f790abf61a58410bed1ac39476a3fe6a0d23911c6e6779765e714f880cd37185 0666e97cca138036f54f076f82ec4a5ec50bf60c9502e35925d2a6989488c9e8 c259598210b5029db8ec93a141213c755977e586da77cb0aa8214e3534f494b4 32cd3feb1fbe2a52c2f08470766df045a3bfaf726050d4d541cc85c5c25d0d15 d95f6b875640b738349f8f4e4eace06f18ba8017bda38bd249995daea9886cc6 13b10c94d1cd2ff1d956a5482cf5ac649ad91aea4c308c9b32ff104557955c87 ccf720d4cb7f701ed87853387e6b98ef29f635c635b97e5bfcd7c42245e34d66 dedd923a962f5033e91e8bf8b11ba2b377a10e437fb8cf2bae44e4ce9a99a703 53b0ecd3294a678e0d68d03536984b04818a5f63eeb8f7db71b796e5d9f48eaa 56e854fab35e8be61e053b7789472fb77dcd3a02be420baccf815384457fafdb 2c0b87ea9c560aa93d51529784cb41612eb07c76c1c7581a61fdb4a0b0cf5996 0afaea6d4bbd5c826cb53878ee0559640dad0199325ced60641f874c7bdc9add c88d0ca35156e07ee07485447ad8cfcef6d22a83c344623b369095d11e554cfb 230ade3042741b7a419103f56a83eca46bac8a8346c3a711395717f379a507d0 81c609ff8dbe3750b30082dbcd5b853275e5f78f6cca0f88e6eb27a187b10984 c0345bc7a5388603464a3327076510a3b6d755670ff86489a183455fcfd0891e 7cd6698dcaec7d60ac24450b304c3ca9e9e5197151ef9e6273841054ee81f885 7c0f042d21249055f22f3953edbe050de7c83d46f415ed77b950ae83253154a2 1467958016f19e10eec746f7824348926317d34f25052480b73f8afb2eaa5a24 14ac67f8107a9628d1cebcaefd432820f6cce064787b8162150aa4e47b44d657 8ef7ff8f7f58772cefa9a2c08728fe277e1e6c503307f91f257b52e101fd9ecc 7b7f9540149a7ba88d2b803b5f600671ecdec6e997cc56b31d24a76c3c600ac2 f851e611f615698b17593df3dad4051f064b51439e3f4427f05169f98c8cdfb3 1e5a3a2d6693dc4fd8cb9d3d0b2e648c713b345581cbaccfdebd9c2fe20adaa3 d34c21d391e9735b2f76800f07d38ec379d0bc1335b2f20a6821d735abc762b7 2390caa4a0c9d117ae5ee592469abc9911ba37d7ca69fb9f2046f3e3d5e6caf1 92bb84a71e5413998df5c874227cacbd2b9ee7fbece4649fd7a2a785e173e8b2 0ef1c4eff103e099499b85235f1f8f6af240b7172766843511444cf08e5d48e7 569a442daac95e41b0303ecaa993b66aa964514f90d23e187cf2ebb31cc3519f 3efca423793aa26e6d8c4338242d9d272955fbf946d2abb1b46751466d0ad269 8563e614c1f669ad211bc10f80342951d70912e9c5099d756a082b50943dcebb 9a2d71c1b58b7fcc28c77b50c1b84ff20c8379db18ab95524c884af2420fb937 57fece5e87213d159a83b1b907d7a977e503442f9c049bcf88b9c693561f10a9 d28fd566b7421096a9e420128638df9db7740b58c7ceba601c7ad7c8e1da9022 48b85c1e7459c071e5f981f8f657e2fdd5dd1fe77ec1e0d76dab881f38998e10 56fb532befce30201d5d1b38bd8553d885227e9165da7bb790963e30c7d66100 e8f76f330baf07c3b78242b1ed172abf4e72fed853afd29bdb3338022242100f e6605e25bbe00e2e076791498c9288f7d0045b98e4861d14cc09c02f657d2d3b 3de9f6e0ffacf574484fcd388abdba940481dcb7425189035b8704196b7e0b24 543d01019de6e33c912338865a54e3ff13b517eb9fa1a58e96dc4bc81f61218e 499fa169118ed748365713475f86539ad120448f1aaccab04ff01ad3a6512cd8 b581d840219ebe4e0262063cde2c7c09d01f424b1122a4b9a4629dc8182abae0 a9e22cdf14671d3f7ff242cd7c3d46a27694c140acce2e6b48b848cefb883ddd e2656fed879fe640bc1a07649da2d17274d1a50bdbdb205ac57aec2a72e7b8b8 58d89545b5620b219702602fcf75b13b6e8fc7c8256f33947ea62c40b253bfba 97f00b05e629f53724fc27b8e962cf8b69f2d8efb1be7cff5d8faaa476aaa98a d95fb394456657d5832f58a39a92222c802b4851a51c12e32c1a2761205d7576 da45287547867ef35f6a4dd3296a2d35f0d8f16f9d73d55daf2bd87796750872 bccf91bba28224ae4eba5336c1eab0cc75e4e4d2ec6456534be0daa4d72973cb 15573342df20ae1c476cae2c494326c93c257456fadb430ec8ec8f1317e4154e d7b3efe5957f9f379fa23254bff49630a49029f2cc66eb8c9689975b4469b1ba ddcbc3b5ca84aef16a5fd867298450d6a4662b1d7784b6de7fb7eece70007996 a91bddd92e87b566abcc4f038686ccc626f0ef30c77667b7c66f7df640f2f6df 95c2ccfa4442c629808ed3a8d84b67f13e05821b86131afab41289305bd6007f 236464b954ea3750f7c9e046211ee0e86da12d2bebfca692eb4855587404e6ef 2ab27f35cb58247a58da2b4cf830ed1829e159abb59289defbcd0a7756765526 cc47fb978035980a7bcfbb509f561aae9fb441522a812deceb16e19e7fe93bfb 756a2784d1a9c18617280eae1e26bd884d52be84695a984adb2bbf553f8721e6 a3565aac56139bbd999dd67e5f0cc412a29791c55faed56085d6d9730690c62b 0fb1e52a2de33a4294a113acc9360feea7da02767489cc63d2d329ebc06f8ff1 adee1da58ee3f5d8b715db8b60c5d40c615738ce8c269ec26e9ff9a58070cd23 dc604c962cb55e6d3683f80cfa71092a26eafb878b395512f8d9576ae545ed37 4360460a9917357437274f75496bb744fe315a5ed16eaa146f5bc7a1c4a12fe4 6d33336468c5968879aa13479ae5a8f471a3afc0a33d6c611ca2cdfe9ef0f0fe ebe39b6729ba97f0b52f3f1348875cf9fe9c856cbfd0b75f8e42a39e318fa55d b416dabd37e765a5bf6fe4b7c79a4bb04fdb1c472ff036273059e058cf51801d fee72cde4004aab31cfaacc7a753c3c70d547b85dc7e089b16e1b4208f4c2968 c53e93ec192a24a754a2dd212083646252be2b75f9b631f2c6a5e134b342878a 7d624c691e5f162e6f1aa321a30a5de978760071d0de280267977ec1aa01edc8 5dfa093d00f77afa9fb409aebca7fc4b2d765d41d18a3cb4cac95b8c5f430527 5c9d0da42e0eded7a5d97a96c3a600dc6c9b0b6d2e0b4820c0cfcf5cb11e0dd6 eca172887938fb73a3cf3004e8967d157ad18e43579076f803bfb791efc60bd6 132e028ee145baae3ac1dd1040a4c54cab2339a569a103b1b1ca7d9ce6f6c828 2deb68d00152a2416f23630f21d18597b4feda28f68fb6107dacb65d7b1c00e4 1d87f8b117c30b0c7f2021b6db18cd20f32be86e7ef5cf2a5d706418ce1a8768 3d126d7cb9439ad8ff560e1e6f90923941d0c08304e14868449cc954b5194371 dff2f8f128ab0cc22409a993ac84d6a2efffce5e9ff77bbba1dcbd0679d0a624 8c426555992203ce68662d0b5e6c9943001fa11e47902b8673f4dcfb87759f3d 59fca37708d872ccc5a0f19b74403282894b6fae5ddf786d8a91ce4bcdf4145b 9077bf816cc189c25b6f703fe4c63f76a1ee7df455253769c2b86913e84c8d6b 165cbbfeac9342ff51ded8a16c6925da617beb0d170b0f8fec8e10ef4bb6d055 f7f4fe164165ec712b1fe1ad4e4258b0a6b049e84c09c2010f40bfa5e116af59 8537bc763aae8323c661f59313cb8be70827d39a50829a215c248a78323c3083 ddedb19a7bba188b6e6255bdfa3e74c4b05757a0a0e2d6d67c5a20b65a7bccd5 5a1e64dae9fc09a34a3e131be68d8460c0d68f17a82c359487f8d0d71ff44116 fcbb379def60327cb2113622c0464860c43d94cf0c760c059c2d341c5a40806d fbbeb293dec09882c5bc19673cfb378435e586ff5701ea0f4152430ae22c8bd1 677223ce20c44557249cdaa13e4e8f212f1ac771319461f0e9d9787e6814c546 d6ca2e70805cf57eccb1e5c084af1f4440e14e7af1410dc50919c2c16709ea1a c991a663aab906f2d2977515bcc317c067f73e6ae842b694d78a30c733c4d929 62fe7fa43eef55e54442b85e77424b7c9168e1186958b8aed0f36a0722551ebe df45304906c70e44031adadee50c1e83fc1c5f3d8ebf86334ef4b6ee4eae3d5e 860a5dde9a89756af17802c4342ad4269e2ad8ac03347e9afcb09dea90285a78 e8e1854aa37d4c6e51e084512c62f709cb1a7031e41e389673b746c316002697 00ed6a388d4da2e093911aa640b9f08292b08f5e66123c54d2abd64b5cd2bd0e a933e0c4b6be0807b8649c8c02f5146d333510ad2510a23f781d30f08394104d d5db2f66951b1c157d2619f869f6d29440d0dc099d83696788ec557cafa2a440 fcfe52e39947e161ce64792b850842c59d674ca9caabbdf3a1cce313e44b21cc cebd19b1ba24658f94a208baddffc89655caaf63ecfc60d219f65b8a3f227cfe 6240a7cb9e721cbcc26b49752f3b126fc88c0987f9e2d2df8b4e8665de9cd372 04e4317834fb9fcabe0aa3ac9c6a70b23dc31b949b753bdf45f40df238c1a647 41f94723bcdb59914c1c476f54545af8f5e1847d0be4d3d0d5cb1f8a3dc86ed8 791816642921c8a5910efcd71440f268e7c14f262e9acde2ad48025cf2e224bf 7a1cdd6a8b624227d2b6c2722ceb3d3a719b6558c9a78e97f2b3785874fa12a2 dc03a79479c2edb59f358674e5bc4ecd3045fb1d155dc69a6a9f8b07bfdc8897 b2164f227698b669f768fc8981a79206f737e8fd90d2605df97a2dd2682978f4 b016fe131fe14d99a7dffc0739fa6ad3f75c7e47b2e9b9b0cfff3022b5ed0d0d 395e908484c0169b13bdbf79a357b4300e690af6ab26e116a4e913d7d1812127 ade041b7bc017359df3af99b904ea6246e445896e0f245dc14bd8b0050cb8ac5 f7ee5f25d37768f34eb8160457fcd1b8e5f6bca8f3cf1b66fe9f253b722623d6 b2ef81e5acbb45d9a5508b11d7613756956f19e7dbc9f9edd3fba90cf743eed2 2e8ed0b351e0dc93167963c5dbfc091abbac3a2b416027e3405a007bbf50ccac 42fb6255dcade9ba48abea50877b6f4f9ed1fc8fd35c5f7619c2ceae072c8b4c e7f5f6407ce62a2e18f08b7bfba603b09c6b4d6e63014108b586a4d352c2aefc 6fa99fcaff74aecee80e567249fee559af179ac298812fcd2212482a28732f55 62f968cdeadba2776bf022aec948751464230cd9c975e995c422fa60491f722a c66c722187589faf4e2e0673c605302474c446e3bfb6b3c8d3c392edb2708715 db96c337597d7e4d2f304e2aca54fa98086501ba5e30925f8e9c9dc702b30409 1605546110b78de09f1505de044effce5f25cc4409d81dd44ba8382a9e68ad0d 867ae8389334174d814b7a43486a97f363555067ebddd85d559e6674374d23bd 87ff0eed36e0ad4721b2ec32a9f15235955c26d5d7a2d888cd88f76da2ef169f 28a2d6c6b53c45bf627f18bc14739b366ed3865c0a0c5f41aa35014819271c35 d8bcf9aeedde8ccec83c06a6bf5ca681966ed2321fa2861546f82f906267a70f 38ee8635ec29acbb476822cfef828c14d06559469dc1252bd76a1ff3599f9c79 cbe0107b05053ec910bfad3871d4f00cf39927baefb50ddf879a12f0f3a570bd 127ff0be0385278a43b749c3b7a79a290ea20bdeb2b2cd534124dff78e6658c1 b814d5979a912a8e8cfa4b4d8d755fc548246deff1c3d63d159108383f3ec6d2 bc9d3d86737b354e1ef7160dd35158084a8bcf02b308f922f7ba17d9ae8e1bdc 34326c27f68533ed6a7ec48256b65aca02d06374f8370a58300d054483bdf462 eec554570fa6f707d991c1ced819c774d98325473ea66f2c33e3b76c81590ce2 ae6663f3ee074f18f26210f364f22b1dd589f1430ecc556a97d418f8f230237a 4971390d183a5f34054afa5276420bd274434ec041708072df41904b47c40f72 a7e68d553f6a08118a13c89c378caf7ebc249c16f07b166e31e6e433c9ebea81 113fcb697379232d190305ea9950bd73c6eb29fbdff8b2be2b9a602b5286de08 46d586425f06e01e4061c19f1112961ef85303063b060a6796f25442b6612d8a d2a38baf0066f7d8cad6ee0f80a052a982d53fee764906696b3f53abb5c19883 bd0e3e4c881be3e2fe69e2898d93c2fea48f22add256be3b5aedc0e8c1eb3960 1c1c3dbffc558184c49bcbbcdc1410d53bd3d3eb0d8e016ebd5d28778d5c03a0 b016b86c3903ddb219daf9805eb4aef0584da8444d0909b2c2448ad20f27d3c7 2e8baf1aeb25556b3a13cd5dd869053e78c691476608c2228fd77c361cab0900 89bde39a87eb98051174a9a79f3663488ea07819146134f2034fc14565165b70 c413055d2a9d5eb97a37817fe6883248c4e1cdb2cc57ba0c39ed9eb60d76546c 1cef3a60959927695b8c55bc0397011658b56f000a4b3c53c70582b3a455e759 abbac4bb7f40c2cf9b1f7b59ae886b19d357ee2ab89790af71fe5302d3553d59 31607846e13d89c52674a30848f285de6ba6f3abc0840360eee367c34bc842ac c854c378f3914b46c43a8df52d0070775c051d9d63b60f476985490b94af8264 9786add5090f901d080ab59da9c56f1f1a3791a6f1d7e0277b88a0e7e4c7f829 9e6ca69826dfa8bdd171dd2ae1dcef85dbc56829348017f582583375b8fe1ab1 3df4da07b233dc3e7a1dd0895c71187bfb6afcb20b496632414b29fed1659e08 6c667235290a9715264708a19c9fa794fb4f6fecc9ac42f32bf7e3171404e713 641249e80581f5834891d963f46afb153e0664f1022f8710b313143df4586a81 d5322fade67b37ec10a181b63a013b577a2925050f3278da2621cc3ed89faa2b 6e3215a055dcccc41e6e8e56c5ab21b46e71a4c76f9b8c8386a50eeb00177182 451d4456a47b7bb6c16b1523272fba367c3c165f5e0e005b7a4543963073a0a6 c23899e572cef904f06c256c60235b4dc63ce5adf2d874e0e97fe30b4aa89b22 99a4a809c24c16865ebd8b1e836098d4ee31ed59e730eeec6e72a446ef3ee38f bc5e5bbe0e5b6ba72da7ac45c7977013ef9315717f455a45302183c8ec48720e 51ac1168cbcda0d6232f0e20196c54c8731382cac4aae1bae8aaa99db6300090 ce8d922a978afa4f97cb8a0334aafa27e4f93a569ede4f419f0312a0ae51889d 5815a46916486ab84103737c2d3e7226c68c26367930dfa1b3a6bcb0a68f20f1 c138f8f0815d2666d3f5adf6f76ea6753c2424baf66e24725d9695333f61a313 35a690aac7a8897cab0290e92a609979d89c55332b685254b3a4e79093d4d0d1 4cad42d9e1afb890e8a77340f2b8093371aa5a22dc59f6546c0b4a54fe1d95f6 442bbdec8267bbc1a5bbe119b275db4daed8c5ffe5541b585960ade435bd9b3f 8af56fe93a0c188b0ab392a1852897b914f3a809b517776ec9f69004304ac25c 20f662aefecc384510f100a5201ca92252a4f9b01dd539eb705417ee68064973 78a6ae731681fca382615494cc7bbf286dc7ba38dff2afedb29f2dd641f92f22 95784f1fb25ddea5250a63f79fae212fd8609dbf206acc05c5b2f3c1c842859a af0c4f045d604ddd6322c28e9f0d1fc9747bc2df74ccc88052daee9dd777f587 c459a6f7568d4da21622f6b5dba977e99183e678a0018ae7ea9ed29ccd823315 3066ca17a9149a63867ab084d8e20fb6f636f56f400c1e37ade5805e066cc642 ee9a239f5b112a70cfa038c3eb9838058c6b67acb71672902cfad10933a149d3 37e7fd389ffb7f43d69df7316ccc3d461de03e1856fabae934bb69d24dcacd29 2c33ec98fb31e5ffe312dcc498fae299ae05842f1c6ed24c41b48a9879847720 80ba71abc4131a128c44d731e569f8d3f6533975f1cb1ea447ed79d7a9d71553 e7b93a15763cc9353d3f4c4c28986e7493ef5b932e7b9549b5258d9358f1b983 bb5f64ea6c120ddc0eb60ab06ab738bb9ec3ddcc27a824b09e957a8e3fb815ac 0edbd032057b9f7215a115eceef5ba9f8af6de79a3c5b8b6d972a295a2a5bd25 830a15b6a75393160ec588badbe5f99e1e66c9b2cd08ddadc0d6df8005fc1f16 50d1e620c76189b8b68b36a725ddc765ff7a7365bda43ca02d10ce4c84f221ac ebf8bdc3e68cf1dd3fb7b330b8f1126e0a54d0f66f4cff20dbbb6c7891f76d3f 92ab5896ddaa41c1599b64d790d403e66f766ed82be25b043f19405647e3c916 b9801f3deb922274a61400ad445cde00a031fd0595b2d36efbdac94671d1957f 24e7d43d2e0457c442e402a23ffcdfae26a8636a6606bb3e4c11772f49476c3d 4ad07ce26bc242464b185515c74d6f029ef9b7cb4a7229e12bc88ba7dbe6c347 56ad8eb7ac28303990b740c121334ee44dcdf36357cb45a5ec05aa48a6431146 d1404d616108352e6025716d586eea47e97511113d93d71f10e18b150157ea26 6614f86638727c938e2dd9a7533765ce32981bf9cce7e664c3a982e5b83951c6 6968fd2616f1d41a70884accace6101251893d58e6b9537d1247b43d54a4f3fc 95c491b8796e62ff2421d5ed53f8cded2c1210b0ccb69c15f4beca8bddce7a42 411a5a1ac50e5e0920c12640a7895163b663fd43ad4b7d10569924ba401270ee b543bee434a94b35e04dcec1993c113c2e7ae2f7c9ecabd969bc4699e0e11f31 94749508078e9f8a996f4cd3a4f90ed2fa6e1d559395fca6cd20bd955fc83115 0126104a32ba36d13027d16aad6a5fd74ed282c208de78034cb716371f2dee1a acfe7234a51906abb7961e788c2a5084bd6c63aa8af2754269bde9a4edda4579 ade158dc4f07a88d 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTI10 %!PS-AdobeFont-1.1: CMTI10 1.00B %%CreationDate: 1992 Feb 19 19:56:16 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMTI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 75 /K put dup 77 /M put dup 86 /V put dup 98 /b put dup 101 /e put dup 102 /f put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 121 /y put readonly def /FontBBox{-163 -250 1146 969}readonly def /UniqueXX 5000828 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3ffd20326947b1065649b533eb5e9e3 a88a87fe987918a687950b26f647d6e08bf14d983ed1d4a8ca1e2da8d985f944 2eb916f5b6ed0697ac7c33e1e36a3bf460d34ce45f1631871097cb04f18e3889 4cf4ac1538eb19481311d24fe3be7beaa4a3730e8b4831fe59d6d9ce2e46116b 629c7ba2f9ce3ecba2f43bc162a5a077ca1b2882a42afdcec3f4b75b5d63e0bc 8e5dc95257766d8ea467ad9cbaf47be60f797580cced6884b3a68f70c91f4fdf 80fd00ed9139e7f480dc3a76af72ad9b434187730bdfaefe4cbfe5c7edcaaf24 9204fd703011932e5a3c27be468b7dab69daa18dbbb6335ab8ddfdc607961c7c 02582763fa069d43563ba17704029945cf42fcb19cf78c51df0ec4d851086d43 c1ab38e865ef36865fff3a08b01cbcb070ba4893f7482dc7819ad03d337e520e 7d8cd83bb8ac7aff4df36751f4f12aaaea2b6d7260c09a26e987c904003e0723 7dbcc4a8e4e85cd3259f40d3caf55c742cbb40ad0db1044c20a4f122a63f7b81 1d945bfa69662189ce4d089464d2ead9f6ed60b581b04114d5d45e97be27a576 35154e9b8464f2a0df18da855eb51b8f64d3054b0b2e84621f025a0776d16fed b988a43d2d64c32768dd106b9f541ae8e68ac0bb7399e16f4d4ba074b2152d0a 4e9b5bfc21bfa0d531e28165e518ffc054dd4ed0d74eca079d20e79670419f92 e03bcbfeecf3554d661596f6f29e12170804d15a250d917ffe7a8b6e8fa53047 1ed97ba56481589a65ca13619129f1e26affe6c22f0c38540f8ce37efb6e9e9b 60b51a5a9cb4454fd7c7f92f2f9437159687ab590f35b946a54491a7739c9269 e0f1fb48b129811c82edb3171cbd5105fe65906974db8a7da92f4f43dc7f6b36 6981146d86d23613a0b38d9d6191db9fea0172e982cb1cc50e382f69da1b377c 1be9407f88a2a761b56f398467a057f35d18c01cc377e006182c891ec80272e2 2e3a5c7123cd27eccdc87392a9fdf63bb40f02b7649cfc53ef933c6518744cb8 9cbbd437830ef5b1d58b00b67bbcf4426dc1e6ef583b0b4ad3aebd741e3ff0f7 29ae271f032019b1e7268043fd215be590f9cf24da14a90f1683afcba8006cef 5d5632c2481fbc1bd8224e8952debb7c4596a237e5505ac143180956ca1f603e ec70cdb4a33e1c4ca1744ad706aeeb2c12b26a02b2f19a8698c0e96668179290 1b572ec83f35fe7b30f03ed45a2867558a194ba83a6279e52397a2f2b7a8ada1 528379f5c95d41a9ad00a194ef03fe07399722f4e7906c75025a6f47ca452da5 f447740aa05acad2a1d814c39eddc0e03d4e8520ba241f9dd9d68287ab6081a4 9958576aa5bc6101f2b410da4a93605d3b3c995edb85e2598994dbf48fd18c78 894534d5bad1a720ac782e3f8be3ec66442e56624640070abaf2453e13a5d429 f3cf07268645654e861c143342ce8d45bbf241d962e053eaa7de11a082384db4 9f0c1ac822faa3ec330777e9cb1f1ca24d50fe62b08957b6337dbb83d71214d5 c341301e9ccde9e007e9f868b7693ca73522793104cf810e5957a13311a4e4cb cd81b405cab85cda6cd1183dc036de36ece42b0354e51f1b2c49c30222f5167f 387cbb70f0ce4e0226bc895b01fae6cc09ced83684d8ef2000fd86eefdb3d4e4 21c3f46437afb234b274c28818c241240285062d25ff45ad5fa35abd11ad24a6 26db840030d2be49f468be5a6beeb97c957bc90a4763d710e53422424b8292fd 9978e4fcc4f5e845c07b11ff5f361bd738dc2bc5749388520e3091b522755b95 8ff99890231b506e9ce7390dc6cc8bfa8f59a620f677cc79ea1e523a0387e057 55a3cfee29650c37babda26da139922fa4193e46f626fefb217ef8a09fe745e4 d75c80f75768d02f719f70914e2d767cd113cc8a57623daf6b8b5830e6c6e445 259b4d6c001113b1dcaaa21d6e8e438f7acebab79b8999aad0b0206903ea510b 17cd549dceed5b74310f9e83d92cedf99c4fa45f28b2db13e2f8ae109fc00ec9 9cc8f24381d3905182335729dbdc252f66960bc441b015db0d6bf43ed484adff ff7462d7d8239ecedca62eb649fc46008430c4a15908f2f02f17e0369193ea8f 89ebfd4d2b0b82e263ce5042df7c409cb2a7f65e55a1a9645cb045d384813885 b663011422cbe1227cc223a2a1ba35cde8564725449913c1802e223b211fed9a 95fb1d56dea5dd4f491f76d49f0182f9d0d1e7406a08d46b1bd29914e2825fe4 dd6cfdc4fe35a1e52b7f17a0dd5e759aff2f96900b91b290384ce2bb530c106c bcf3111e085f1805cec7f9816c8842260ff748f23e3cbd6e85a2ea0c14968971 2aba782f1bdb7d3415ee5dad0b344b7439e08bc4e47bf715d45447c43a34738c b2fc32bde21cca51aa5d4cb3732030766c38c9cc90d067a916331af5738eeee5 5392a1a35db1311b85406c58517f5184fdecf61efaea874dde176c4d28259245 3bdc12b26b7fa42aa0f0bc8f989e2944512e012beff50c65c77761773ae6bd3e a91bb38d68033c3250eedd269385846d1fdac6c134823a2097928162dc040545 68e0dfddc5329a3de33e84d03212ec83eb56d91a3408d45f8c57912aee3fec85 246031c22f0a9bcb1ad5f728511bfbc5d9ab69e8c85603f3261449e04e88d7c8 ce933153799cb3950c05a059c89e0c50116ba11c2b63200958c1d03b0de844a6 55f96bb06a07cdd952c8ba4e8f5203a7bd90583e9258019451baaa86de7d26b0 80dcdfa60bda228d5bcc65e2c6e75f9dfb9f08d1b710a92dbe4d0ba8fc2e89d6 be2d9bad7c635f62876bb94ce48373f8ff596591912399d323d9c010b415ed54 80048786093051bacfee65f925f262c7fe76d6f2e9596a74dc01b445a6df7ed1 bb61f49112c01cf974a85855a83cd28676600df6dd0a3096371ea0b98c98c023 6cab96286e9c80ed96f1080b705b25ae70e400e05f6fbcb45254b5467a31eec7 e2884d306ab47163487f1f49ac1909c554431e3dfb3a21806b5093904d11dce9 f12c5ed690fda311dc60fca3e4034e9d1de1fe70f5f7df5add47ed9233ee15bb 0f58894ce3e06a07e65e1f0765608073305a44869c18e6f4dea8ab784ad6fc99 7d34d7ae8f07511d4dc3bb2ba2d64125b93c33f34d2d6450792a59811efd692f f41a71d50e4416de0450059422d87f732465f98175b2a7afb253b4f1795ba3b5 2459ddee9210d447ed1e2d785fbf2a0e5dc53688040d15f1e57f3701eb2ff7bf a7d5f2deae4b570cbc2c9935e952582d280e375782fe59be30336bba468856a1 2bf08134d750ceb5d03a6cbaa4cfd651219978c1ad933670af11d4d31e60fdee d656041df516dac5708506648c1500201979fec2dd46cd53b1b1135c8a9951f7 d4cfd2bb8f81238ac64fb02db05fa0b509b8f46d787010f5d95097a2ad376674 a36209484192b5d97f16b098b8d485d724d8ab99e222f4b9c94de2339c875834 24d4cea85bda1fddfd854763dca0a4bb72b1656f3e48bfa762be9dba6f21be9a 122f3246464b148d7ca2718db343576e2336f8cdf5634514cc32645f57742a0f 4075e51f1dacf029b3fdc106c661690c2b84674b8e06dc884ec878dd1b3ad6ff cf2c31d8e19c2cb1f500eac3e5857c7721dfb9bbfcbbb998759ab377a00b1f60 a51322f94213fdde1840d6729e0d66a935f2583c08b0b7e32c1447a93fbc541c 137447b8854920748c066c5e51040020bf191aec1d81ed069e224f16607bb212 daf7b4b25a71d0eb68f3cee8cde47ec04fe5d9476072d67c1c460297c34d8187 b6e0e336436e161799bd5ebfd164c8c30a2affc722af8e133b7aebd9cc6971f5 f6b2db85901a2f88412ad2ad606857bc17746b7c6b8bcf7b6d429364c7d0a11f 6577ce12bb99f72ebadf6631e2784ba0193d1728d65b7f8e9f4fe314bb5dd952 a4f87072107f2ade291839eb237eea82f838a7f5a47adeaa0f6b7c62b07861c7 b8f3ef51035338b0a7a072565a6bec441c82181ec827ba726a61477a34b3e467 92f1d04f0d2fe83f05ddb0f5fbf649f8da25f754e0a7bf516699ff1e67e90c59 9e3d5556bdc1137ce196070953c9f345ae235647fee7f0125e3a67fe994dec37 1add22281721c54e69cc2a3aff96b3f8c5d4ff3cd1d190a68189c275483e528b 98c3a19ea10068bcd5174f7e522ee07897ad58d8a3af5c7590916999f8425ee8 7a942d86134baef293e897466ea672231e5c929bcd0fc170354f36aaa30ef573 5b28346aab71e40626e0fed069a50bc3a25e50163bd40111fc4a52778f29e82c 870d84ef82cb1900bd83ef996074b78464c7dde1d56a9b78a5499d0d3379ba6f 21ed9bfdfa9384a94c6eb9150a4042f2fd0964ea77705b60fc6f75ae6d0711d8 7c57f36997a09b9c1db5e0c4e5cb815f7919d5728ec278f8d3e2ddc1847e48c5 6ddd7f56cc50dd75447b30f90480d870eefba2aa287f1e60a24b09cd52399011 7c47dc8c3019e23b7d7386403bf1b950034b79044622d5d33ea722790455b80b 7699d085b41dfd9383ba49ebb17688a4003b858ba9a9b3a3df5d392f2601267b 2d4992e2a08e639ec8593d6657405a7efc0e250e3fa3e8ba085678bf2d075e04 4416c787e034cce0fb624243c9a0a5111bccad737db496319f70ed2f85eab010 ba6ee00d7ee66d7fd0ca59eb23f81e1e541abfbcb385737f04f9c33ee21a67c6 cc542bbf3e102063c3bf5e9ccfc59967f20812b0a5444036c0dbe57d85173326 c1e644f5db3e515bda847003a2c95f11d2aa1adc5b7e74318799ebc5141de1cd 062cb07275288ad5bbe83933b5033c6d28ba79acdbe4f0014fa31b6cbb0ba9b5 33efe0a06e65c3fce2cd734ebf4c864dad0873807cdcb02134661cf7fe66d34a 01378562eb64c539ac62190f8165e47e401067626e1373a80116bff0f1dc9c9e bc05a4c101c7a30a0c60e05ee1f821072a163a0dbb44a3f3fc9f953c65c0c9de 268af036be9d5fe2a2a46b4148acb8c391b4cc5ee92e3675f2e7c3f3ca7514df df969ecc3ca5c8c6b8dd61c5b94f05c354bbde0a0ed94709e81a47a39eb08bf7 62a4962b49b9e91b43aa6161d64d629549ca4346d5087f24fa4d9330743a19aa b5da0797f5a030cdff91a3ba575064aeeaa2b04cad6bbbc2cfa8660c66ed268d abf6ef4ab2592a481fe62febc4f3ec4406737e7e8732f0c9fe28c32c3306a5cf b55c51aface6c0a5346a8e49d1f309d9613ad17f8d9c7218c8b432abf18b676c c4c13eaeee3e80afaf33a0de7ad8d576783695167f170d9cbe9c43effea8728a 5d72a765a1e4b130a0b5b6dc5bd1d4164e1b120d6752a97f714278051fb6c60b 5462a1dde63779da8bec00aa7022065e316f2b472aa3dc0e94d9ea2013023828 0127d0a3912e7a47e3a95bf4817bf069784137b988f6c1a15e684af7ba42fb67 ccb755dcfe36fefb3a46d717d4878a128277d9339c5feabf6b261fa31c128172 a0ab133c1b1f1a7edba50118ab5261f2722740aac532f7f6aeca21de34d7a5d3 a5f16e4aebed20f5388053f14178fa75d5550ee3d45a75139b5c609437 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMMI10 %!PS-AdobeFont-1.1: CMMI10 1.100 %%CreationDate: 1996 Jul 23 07:53:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.100) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMMI10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.04 def /isFixedPitch false def end readonly def /FontName /CMMI10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 62 /greater put readonly def /FontBBox{-32 -250 1048 750}readonly def /UniqueXX 5087385 def currentdict end currentfile eexec 80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98 74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730 48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f 15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427 bdd7da12534ba078ad3d780414930da4f8d58abefd45db119b10eb409dd89792 3c6e705479464a4b310b58348c4b42393988fef4925cf984423aaf65fea9f0e6 4629953bcf50b919d968d99bd185f83112b2759cc411764e9bde677f57c5ee5a c555448d5f81a16259ded1e11bf4119d53e8ab07a802df900d3a2d5ccc1c6876 d29c5e9effb7af3ef83400b0910c07873a8c56fa7b1eb1ba426043b00cc95dbe dc6e136cbbbcb3f67509964f9f281ebf81fe5b018122eaf66c4a838487e82e18 6e006093042848a903efb3469ab6b4049767aadb95c30408dfd58d8a10f4cb22 168decd9f3ee100f07b49aa44c92139b669cc312ba20192454eb2375be6284b0 26659d964b96ae82d4942e758027fcf23c25ed01115af27ce7f20efe2a822bb6 84004f20243a49c9e93301fc21b80815c033c3e2ba58ef53da2157d524b395f2 b37abca13bc6a2f42e824ab7e47106176b0d6db267fbb795ac7425582df2e3dc 55863468a9200742bd7b552c48f8cf58bc21343bd3b95abfa140f33f37c6f3f7 8b0d8a5154eb7c1f62ec598267f13e841a3e64172663935ac8b665d86540d316 ddece329c008049c5e74b27d59022c5515059bc3b89370b1bc6a169c888bb325 e0b74282d6f053a50da4024ed1e433271a32ab8c17d41c632b41cf9f3ecd5fe1 24daf7aea7ce8a63047b245822930d517df7baaafa69d2d17f7d93cebd45416d f3459365434123a76ccf883a4973bab19807e1f0c4bab03a45f7ed69ff2660ff 3963e4def11001eec4238c368a39d874fd30b3c14f4186ec7700fbce22abe468 eb32baf7b0164f8f21a9b5e706b91411faaa44467cb2180ab03de375c1ab93e9 76e11ab92fdd4a7280a6d1a8dc65c4c89d04c8ed6988045a2a3de9a4c7b1efd3 75b79ee3d49569213fcb818f6f1cf250f5e595c4b2c7c1af70ac5d2e0c6460dc 1ec49ea5e8512f7db9a3ea1e7f62d31fca3dcd885125f67623e749c6d05209c6 83be0545748dce3b76460f75c794c37689b1213e5eabf56332a51b4e9fcd612e 45a122463dd68f3553b127d8cce7b8f59941af67fd54c656a810ccbbaa59fb1a 05aaec0aa0263387e31854cfffb805e05c05a5a68f4ae4336f5a593904fff23e 9406d2b68176d3549c81865f832f71c467356d962005f580b42d709b393ccfcd 40193f29bcf84e1200f77ce6505d146a1cd2c9ac708cd9c2a8fe39504ed888cb cae8be7c586701e18f68f7898e7988fa4c5f5d40bd926af409f1cd65211db2fc 513df180c0746e6cea0660 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMSY10 %!PS-AdobeFont-1.1: CMSY10 1.0 %%CreationDate: 1991 Aug 15 07:20:57 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMSY10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle -14.035 def /isFixedPitch false def end readonly def /FontName /CMSY10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 3 /asteriskmath put dup 15 /bullet put dup 102 /braceleft put dup 103 /braceright put readonly def /FontBBox{-29 -960 1116 775}readonly def /UniqueXX 5000820 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352 05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23 b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145 d026957276530530a2fbefc6c8f67052788e6703bb5ee49533870bca1f113ad8 3750d597b842d8d96c423ba1273ddd32f3a54a912a443fcd44f7c3a6fe3956b0 aa1e784aaec6fce08dae0c76da9d0a3eba57b98a6233d9e9f0c3f00fcc6b2c6a 9ba23af389e6dfff4efec3de05d6276c6be417703ce508377f25960ef4ed83b4 9b01b873f3a639ce00f356229b6477a081933fef3bb80e2b9dffa7f75567b1fa 4d739b772f8d674e567534c6c5bbf1cf615372be20b18472f7aa58be8c216dbd df81cc0a86b6d8318ca68fe22c8af13b54d7576fe4ca5a7af9005ea5cc4edb79 c0ab668e4fec4b7f5a9eb5f0e4c088cd818ecc4feb4b40ec8bd2981bf2336074 b64c4306ccd830661fcf3c47ff3eae8fd094a16831b518021a877c9e4f08cf9e 034652fa2a58b797348c077218011e8bf2d777751ca3677e5aff2287f4f646cb 8b5498e159521e730d860d616df05884bc55663b9e77e70c873836bc20c30ba1 a2a80da3d1cb896435db9999d23da0c5765fec045ba0432816e1138d912e3e9f 5285156d4dde5bdb33c99ab1404fb58d154b8cc3814e8c9998f444d0d181254e df4b8d6b015d157ca695a3e4877616858ffe1a10b3f06946a468e51072973111 1914492c68a08b17474aedeb5c155dbd3e872bd7d6e0013b1564c2c1878b48c7 1b419186e4d4c6b0eed23d0ebc712a84ea3730161cbc9c8798307e7ce25b6071 5ef26a236db43f5b568b6d1866382cea28b6c4d7d5510ee183db84cf2b1a52be ad9f5af47894f95a80a8ee2fa301af887b08c139f758606e54343269fa0a8905 f6ec57e464cb41404b95b93a39f7d2f767583ffbcb3f7eb630cd95f3d18999a9 73ab19df949bd9d588512def1fa668f0c518aa5dc06ad2d47d00ac59acf19174 c990124c6825b7bd38741d57c6f17876efa6c5c0633d48ef04f6ac507b18941a 343656b8cd5c30cacc558c122492f9b528b3370696e309bf9eeb27e1ab1d5eae 597e96c1e5afb34a83f35f0b3d005679f46546d9df2a38bf96f8516fbaf38959 be36bbe3a2d5136ee7d9cef52bb05b4ede5b88fc48b08de66ba9be000e69ddd6 26bd3b8469fb96bf14ef95c6b4c4a41c3756ee56448f4ba3fbde643306ca844e 27d20da8b8ccd6aa813a20deaca29064a05196b96721064ae8edbe4b75d078d0 691ed793e4c4dc2c5096519d296dd27a98e09d954d6d33db30d913dc3dcc0949 f3c599741cb342957e4c4ba444524ca8196be3e7eb92cf71d64873a22a5b9716 a3ff9bedcdc917b4959bbd96b51fc25ccab8afa57c03130236fdedd487196ca0 5a7336bf3b8ed378b72ed14efba67087c54e38937ef639bd1e056fc2d115756f 6db4d7d08fd2eca6e177a43edefdf8969488463d9cfe24068edea27f9a5c859c 49042577c2ded6f086e5587bc26b4181dbd4099af03687dcd8ac95c49aad02fc 2c744176227418b1bd4aaa2966544e8e682893fe7fe66fef70346fe498e469 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTT8 %!PS-AdobeFont-1.1: CMTT8 1.0 %%CreationDate: 1991 Aug 20 16:46:05 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def end readonly def /FontName /CMTT8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 34 /quotedbl put dup 35 /numbersign put dup 40 /parenleft put dup 41 /parenright put dup 42 /asterisk put dup 43 /plus put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 59 /semicolon put dup 60 /less put dup 61 /equal put dup 62 /greater put dup 63 /question put dup 64 /at put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 92 /backslash put dup 95 /underscore put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-5 -232 545 699}readonly def /UniqueXX 5000830 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486be533de8dbe3ccd493ef4c9656d5d5b76d531 9e704539dd76b065f45e6d6f62ec499c9ab91923a364237ef75e1d62d52df3a9 43713cbc63b16c1880feedd1633766248fed9d060ff709951f2ec84ecdc06bbd 9cc4a865e1f275455525e5ac7e2e6289615e98cf7ce3763b6914d3a4c5b75b29 b8043dbd898ccd5be448064cf1af2f80f969a44b4f9b801c42f6d6a6d0c3ff42 e0b1cff748c1fc49b598eadde0c2802dd591c54b802ffd24cb7a7639295713d5 4e639514ac78460672c9c51742ae2014e4137ba4303051c06f686395aaef86c9 9d7f9a97009436c2ff55b770de3e80cef0d53f4df46aacecc21632c0c676e2f5 ca7bb101a239a0ff67ebd37a6b8c4c8246dc2c90b759dc03fb26bde8f134f552 23ef3d6496aa0c4a2d7b6398de6e6a0474ee1b0d78b2d865614609f1db92fc56 4ab5921078b4944e11a2162902f0e04f4b29448aaa22b4ea92fac48f8dc47535 d717dc7acd08b25d391c97c6c540ae0a98be5d6a8da564ab73e8b5d3b5e1989d 6e25c3a35ea44d596b5fd6b2373b30de7d59c1831245edb76d6a67816ab91a80 a27a6597c6dfd274db8b3e45cb01aedee59ba6efa1428e41ed557f051012a389 9b195ea44a4e4d0067398d9d40ea26195efbffd2cf785540bbeb8964f6391361 904fa5e187e4af3baeb4e8cbe7558fb7049c94a1769a2ff0b44f679bf6f14d8a 974bb8bdc734077371d2d1b09e1a5c2fa63222c67f004f7dc18ec42bff9736e8 04079c457059bcaf6c180ebab7ad3b0f93c0a843143600b18f6f2b7853a05cf3 97493d825b14c2fe7db788ace9408790c928501f123f9041610206d020115cad 3243f145df5577a91772a69c8edec1ce5b6ba16d583c83696f25a3a3061ba431 3196743b117ad89a3712fa486dceb117b99fd90039a656083a9c78eb5402b547 a08ddc567d4b415085f205b0b18c39716457b7498c815256288a304e0ebe2156 a6a906bd706484937da7650cc5735ef817f94a86ea67576628a2cc5f2c777db3 8507552c2557e029e1dfeedc773cee8dc4b2bd6e6ac2990da0f8a63a944aa38a 6dc3f3ace42648c63d81f8c013f412a8b0a8ad3dfec2a5bb6309c30128f03ac8 d60cafcf915cd411b1fc3145c973576c5b243fed4a26c6b26e3d5a58e3441d2c e5b171bc929513f15b4deecaf751e44c9c0e192e38888457cbca5d221f5d8f53 43efbc9e8667a876a5a8cb27006b5b25e8e1df74f687a093d8b23811c5b6a7fc 19d2f18ea01c755f5ca5c7ab884d447518a15cf18f600643ec0d56d14cc8ec0d f303fb3d1e2a7bf56571d2ffd199f8e49555490e30aabd54577e0a9326878b79 62a2fe299b219d08de4d542efd38f487d2103d30a784ef65a06462c21b190ded bf77b6439f396cea6cac03eabf74a86b802f13393fc803d4914d34978808fa67 184efaf0ec459fd8dcac9d8cfcc04d8fe9a32f2ec119a049de4ebf5e7351897a cd94655c66a6918e8ad188aed0bb032cf0bcf8fcb873d0cfbafddfdde505de9c 6961ac2918e00df9381599db3ee7fb44bffa6d50604bfc9fdcf5ce04de5f9092 519bfcd3f6953632b6c3de2eb9f393136c77ec6d046728bfad43aa611d707969 e452ddf69770946f59eb6258c238e5401c6467415edcc3e09dfdc558c17db9f4 d7382241d8287d420b0a84917c8ea17527717f791039e38725341d5d8f7eb180 c9cbcffe620be7253eddddefb3024667d6d05bd83fa73f0639ae88115b26d1c5 1c69be4f8ed9ecf23222a92a0c30a5357526f24e0b906928f9f17e225ffc31e9 854b421a58cd0c456f7076e523ef20b7f27a9f4d84beb0d0f80c34dd800a119c a823fea9361220d88ffcfe7b4939ac2f3df0b5216953d3575daaccc6b17be329 1f34469673b3eec878d7f4fec19d9d691a6ce8cfd2497f4b043d48e6b420afd5 fa7907652b1c33667387925e68d2606cfd30a077c2a93788129d3160d2a4a447 e8776c0f8524f2d5b01cb87748093e6ab09709ce91b126521a8f83b38db99767 811f6648ef00a4a08f33052717f1fc40e40a427bdc75163c91781b205c7a7eb4 e7d63d231cc6977d6191a09d82b98a4ee9b8e63faae9c21cf492f06d6cfc7179 d2094a49970d303b448289b5acce2d94d43fc44b9a66210a5bd998bfb15af8b3 1e2a790958d406640460653fe16ef1cc736f15fd3d91fa689fb76bc28355d6e4 7f16084c715a3a3c2f4c0f47b745a618b72aec1167db795a407069fdb74373ff 04e262107f973a5f5dc7fe893cdeb6938a99057b21aa9cc62043179a3cb16bc0 bbecad390df65dec3308524a494c8cd767e6c2735a1edaab64a0102786a93d04 3cd82985ba4f63eef33f399ed4fc8aabb6a6beb6ad9912af13b6f301ecefee57 8f9bf52403478abd15f1bf0d749cd88a5e50b0c52905cb3111b5476067344b0e b51293d9d2e7b6d6a4e365c3beef776a2552a9e46991ca956cf708eb7ee8ad04 3c1b38b076e1d8971f00d54150b01f4480d6692ae2397625fcea46fb1d592e35 b11241d1d812d8c02179116f39a33280dfcc4edf80fed133632d3e56f866aee9 bced24ff591ce7334943932a1e0fac587937756e1a13cd4c8b63352c0755d75d 0c56d20c8c50df1ef739c0c8bf4f501988f78f41bc75533cecbd27290fae4c7e 5db58764a48e1633655706a75d09cf5a062fc86ad5f7d6d72a593d53eadc6fbc 089cb76704c31a602c09df23565d18ed5b9882bdaa16860139bae27ea191c096 204e967206c031f19e7917a596c88d615baf8028672b2d5b3057a378154bc18e 81dc500fd32da8a305f9c19a5154bacb37246499f68fc4db65391d3b36fa7a7d c215cf0415297beae31299483f6b88ecc2d79f0171479b3ae8a51f3cf2cbde0d d8f132d312a9961ce044281220cad74992bf23fdb9993495195cb0da3bce106c 5ac8ff6726b79cb7040bca9b731dc8169d3750792035e7e56171642dfe7054e1 6452fcae01983d4385d5e3d4112e4c8514923e6a1c86a5f12adbcd5e056d0e57 5c8d4dab266ddbbbc6564b45fe73f282c89337a7c2b23195fdbcefa36e8b8db3 eeeff7f4bbbc1db37e625df47ff7cac8404287a38320e53b61f899e6b141b6a0 0ccfb7f7e7b47d7f79418c9d8415d487ee938e282972847a33f5455a76abdbf6 6b12756892eca95e2c400f2e92675426d397ebabdc51468d2264a804aa8a2275 7b5f95ad26b68abb21296a092343e2013db19715c97a208aeabaf633514b2239 40b0048508b859dd35e987e32a74f4e098ba51322513f94aef8319c6ef10efa4 e445b150f5be6791d5af5ed7f88275a7d300f5ff9b3e99c041c96042c5e545cc 810cc8764ba354f4d9f1eb164df037519c98a6af20f61815b9c479170e3975ff ed93933b6b5299f18e36e6b67ab8477c4e7268b87d581f22cdb3cb45a2365d78 fc4d7c0c687454e53d0d8e8a52922208ecd77132864f3b96b39340e4c43ce385 e7114cb80ff4f2fa6200f8a0eb34d2347bd00784d86a732e0e181845ec856a02 7ad435835fe6bef9c355fdb5842bed12eec3b02885c15426e494a3b19cdc2608 e244102a7fb4bcf9cc6bb7f67effb12ec38ba9fb84ae4dfa7b7a3797939cffd0 202df399dc836c26cdbbb10094970aeb6fef0878b697197de59e859dc6f6b6b3 61701c387d1a612c940f0e800564b623867513b2e7e2cfaa08672266cbcf4c89 88ff99e8bc0a22ef8e266bccd6721554fc0a71aae7bfac82cdee03161cb9bbce 8262ace2b4b81bd8f4cc30d6aa31348d39d368cd731a3b9c5e4dd6ab8b162bf0 2a0c18c50e5f2b5105a54336a9c272d8ae5f6929b74878c1a3671a4de6e1a59d 68a52542515af886bb9fd1b011a0e1f2a56897c0fdba5609a2c6b31c055e2591 2901f0d31646eb7a6e53d6d50d6e354c988632615f58e739d0d7b2e02311fe41 0afd6f1f71a91fbf0b65b61c3d8465bfe5e2579ac14c7824b78a18daec8ad076 7c0364afd7c9bb16d72fbde3c462d08c386afacc5b4a0a85a8a700ef8f2b6381 7e33e27d18c1238dca0e98affa60bc19c542873e7b895531582273516987111f 1c7ecbda4b6b8794c3307f7e7de381dad6eda9e66db09ac482170c69f53b03c9 f079d521dc7845d56949c72e466bbbb4da17ef7b750bdbc85650a9ba2341b6d7 23aa6a9e7a711614d3e2ad0df29f8247f672b13d8f67a00d1d51516a3a7fefdb 29e45fe75e81bddfa8c60674ef25b0f7e0849f911ce928d9925ec09bc8b6dc89 5d98af00f25de69e7e56dfacd89cb5a3b8c30aff91bf20d4544e184b43a1c5a4 b9f94e31ff615392cf8b771a7ceef16cdadf733c5a01e4be22180f0d8296adb5 47dd60a012a542f46fea431d69efe6328ffc7a2cdcf2511bef2d2bf8c25db881 625b21bfdf3ffb6c1f5259fb21f497d993cbae7a723fbbe5f782a20207ff94f4 4925ffd0657374c336b8c1282a6e2e7081e96a4c65f7567e71a992d0d126c622 5c5113afd96f0233aded73e964245fbbea8315ad9a0e08638c7229c0f84f75a1 219a1f22ffbb330bc5e691b9edfdbf5681b59f503516f72a7c3880e104eddac9 fa74967526a00869feb7ef80eeb1bc3fd0db81647f54146069e5694b43e394eb e950a72b2044cfbdebaa2595bd125dd26a84f2de862061ca53ef1954e29e01dd 2c24a2501ebe494f4496e4a3293c023b2f37e853024726663c1c54a3c50e0a3b 162ef7fe359de3596a235e5b76cca4ffde6acb9547bd20a0577106347aeb60ea 147ac50a5d35dfc0bc15a702c5f2ad4ed40681dc26d2b3126795dbfd5f6b07ef 813e82e70ff0dc3b03edef41c4becd340c953a8467608976e78af54ff5225cc8 646a0a72b9060ba481f3a5247c7d0a7fed65e9ad817d8f284e2aa08832ff9f13 0ffab41b1871899087bfbbb328161c40307ee089b7f6d6952cd02a895246e2a5 cf9340681e3ef1dbd789b274b26b31338e37812499e11e8c8f4ba77d4e1958c4 b7f724853d8c764e32ad21ad65cbe8dc13a40fa752843d074ea90f05afe3923c 0c1d14d44fc4efdaa1bf25043189fd93c43f8449b9a8b0341b6b689efb804ae4 ee3349bff4d000c602bb3e414ba47de00470e2a7f7e0a89fb630e6d065ddbd8a 5df62f22ea9bde4764e33174f10fc204600550bdf7d19510ddca71b8b1324950 84edcff0e7d4c25ac1968ca83db158a258485b79b57f34c1eda763ce8a8ad09a eda9a3a3d90aea324eb0043aa3d22a35b135cbbce5fa60d4d4d806da4ac4edee 4c2ee38918ff1d17797337859b66c6d5535b58dc56472eedfefd6adb256d2bd6 b241bf0dc2e7778292de0527916e74c885dc28bd75b08bbdf9f55d93b8bcb97c 3054e6acfa6f41e4fc0c756d5e4679264b3228ccf54fb77bc19d61fac0637b9a 297ee880034f2f519f669833cb167857da25be252006830192b32676014375f8 9f3aff0d689065b5ebdaa4fed12b9d3c10de8e3c2ebcede040553e115f7e6a03 159738502038e3fdb6bb46aba378c3c20ce1c8d4d3f6e21f940b756f7c6e1013 af4b9f1b3c49b8071fe52b2a467c5084df730c6e49da8a92db32d7fa76c3d625 26e86ec559e3a8216c596a78ed197c66bfe08e10f54974e2527692aca37ac487 3329c1b6b4cf94fddd422a2e4b2e71a0efb91b664a5eb586ce2f7e42b6ecebf2 445483d816ddcc4379220ecb0c00c4f9c33e90d298b618f0ba8df180f4f7ffcf 5704f0267ff9f8e8b0ab5e958c61c89d531777b141e172f3363bf2ff30968ac5 cc20cd5951f592906948ae4329b028fc94511ba446ba4540ba81a181a6ffb78e 976f5106317295756b9d8cc8eff082f0f3e299f1e7969ed0fa3cb89779e177e9 03b64ac7b698091544feb470b3c52c16dfe2ad2e9d081e035d6c2df2f319eeb6 b9a8eadf7470b99b84d16075243a5fdd93f905707d161962099c64b47592a112 8ccef8a115b468201cabb46086f5ad74b5ab25c3490c006415af04c646d41686 bfbaa89e51269de1f65bbf042eda6fcc795243b287d04617fda2ea384f8b3393 3f70122ef34eca9eb41706c9558f27c97837bac7df1132e045c17d4457288f88 e354d0cee55c71276ff14274e7f51f8dd29346c8b46ef239cd32a0ef0a3289f1 f77230b0874acaf9d589a21f34bc3aea75e953562fa146a1c53a17670c32b244 3cb5bc0580fe1da580af4f21ab21ed4a4a5f4ca0e57a3fbfe12ced9bfa9c74e9 7bee93c0b1de67c28f6aff968b5701ba1c688f7d654d4ff74b2577e5b7c9835a afa433be0bf57b1ebae326bd3ed909a174501514d864496376b35f36ceab4f80 c5bb3c7d6367f83bd145491fa90bae3efe5186e5d5eb2b3e8c4b4b71d5731b19 bafeefcbb23b10db2d225ed99a1c435fced464e18b56762dfaaf463630583810 68748e449980b48538a252d5d04b11b21e760d8e08d618053d9a8f23f1a26cf9 968cf0b9dd448af0b09e2923ef8447c12ab4bd9a7bba6eed64fda6a32f84b5a0 8ea9dde30aa70cf7d851f11634189c801d305aa522dfda585b071802905a2188 c4b1d51315705727ed7053a4e1ad864a5b85dc71a0b5e888ceacf0b78651f10b 436e57e5ccce24a6848297f099cf1bfee261f8d43ea1ef242ad284b818ebd1b3 f51fcac0a5ab10ebffd9c4f6460a9a1c4a7e399c41baa07af67977dc37b03b5f 6f369a49e6b9d42a3551ce51e2d6fab7376f4c02806e39b50abf37d5090c3a35 84188a27e689393b1bc7099617ede9242ad9d0a6e7373dce0c0a47e3e5f90cf3 3431f88dce05e3fc2382ded114c49acd05f798e1f69a4b6457b06734bbe78770 940ba3ec951c7a7787f0fe735677125477aa53b87c279a1ef571fcb13aa9e850 335d5d02d3c72d86b8fc0ddedef34c75d174b4695c8d03a5131c18cf78519e8d 93c6a63c193d708f3db72e37d14cdf0185e67c802fd85fb76b75573da7ccd8b1 00b17a73c9b51b1cf3c3df4a3cdde14334c9a1c36ab2e6bd90bb6624801e0fea f76d1e04217953866f0a207b432dbd6252a9e892af8e318f67b970adb465ef29 f949892b1762b946d5c8cc909a0acb0d20368b1f733252e48013dd05fe905e25 7246155e78eee10cb24d6dd0cee8284b91202b5af0406eb3ddf3518a2b22bdbb cc5a9fba2750498582e112437f476865208ad5ead03a5dafd902153c213e3ea1 3087235871dcef7eec3e3b33be4889e583039828b533f2c7b12aecf006f32a50 f8c4313fe98ca563e0ec413b444fb8a53f75360a3d9905f61eec671152c174d6 20e93e5456b0509a81e0d13c29d11d872537c0659f074e44c39eb4a5790e8c44 f1fc2e22f215dd402f8c9a5723a7379a05607374f7c9acf887be6348a284b1d5 d1dcd680ab8382293a805c171c6958ba9f1649f62f7af90766a287c94b4c4c62 7118112dfe9ed2638ecb3125c6fba2f12bb7dabbc85f2dc767135c17cc8edbfc cb318ac07905dd9c94fc17316f8332662cb287d3b646eb14d4ac191beb000bae 7cb38bf1e6118084d1643ee49e0773ddbed078d0d2f3f34e10faa7d0b483784b 436884d87d29a54ff6d5a7dce98964342c4567d44583a14d51d343f1ef0d11fd 38bd528ad4a0e28dd2990d0fc53da31dbb886e22079c182aff39024d784ce1c6 8e0c7564677155edeb9edc7c2ee41d4fdd33c142f17105e2054fcc3ac42897a9 895eadb4050d2f3a58922b2546947b620abc56ce5e0c34ee3ea5ad1f0ef2c331 73dc5e1f438e3163caf377555f587faaf8d76cb5c148596d71e4e01749f2db2e cf5d2b0ad95006a4b9092f91f2fbd2e816603972f393e78d35fa9d667340279a 2db7279cdc2592f0e8d5098c7443997293d0657df0a0d57cfa0aab7aef87bb76 23bf095d6ba0e4d21b418d466ddc04412eff641587699678767a13ffc8abd1d6 db9a54efb624968b8444ed3e624335a2ac58d6dc048f1bc7e33f824497a14c17 d3e540389aab46f6ac5504be3fd21ce74cd0cf39a995801ded92025ea9a629fe d38a6250f179e271fee1c32e3ffacbdf834a8811d4f5b4b897a8612eb4e51247 a2c5f483e71782297e06898b21ddefe166743d7b553f67aedd7b135ff5efde83 385cdda40b43e859e4714ab11ad8d5b2dbf94b438a72e130ef5350680af53328 49f348c2d3fc16703ab07c7dacc711b8193370a745e3b55551e8c0b2af8f1b03 3e58c99ef7c5842d8e122b0b77261a5f1d89456956ffebc566fbc771d9fd3f38 b55a5c474257e94773424f13c9f336c19f45d6b536594bcf777120d70a6b5907 a98678fc410277752b31075674adb6e9323d9b1094f196094f32d2d2f28cd7fb e6352c367126419b239d7efdec8affdb213b2c1998dc3fc7c2216cd56124deb9 30d5050bf479dca20fd84f0458922a848adbffbace2ffa20179deaca0b4b67d2 09da28e27937550ec48145e14d7c274646fd06ea20935f07465a1a3c1d31e0c3 30b3c278d7642fee942ec9e8f9a3cc2b48cd5ee2ffd2f4659a06a2e6c58b50dd f90467928e0ec03f5081737a58cd47377293f598ab68225f7df27f18ada1b09c a912db0a4cb3a8a8f377e3cc39f8cd8dd39377a223bb3ebd8164d2d63e7d8c92 332a20cbee00655367b81e92cf122c61fddeccc3f25275275c652f317ad0fd74 00cfe639c8f45a56653782d8c1b1deaf497576942c61d84b9792b5a41e5d3567 1fa5c081cc6a74e3e88ba2afad36a8eef0fcf5a02827417653015b12d18995e8 5659ba6d9a7634db4ea9418895d5c80aecc84b859be8fea6ab174ca7079c8cf4 cd9fb468d24ebe286ade7be8324163f26dc37b59afe55b212ea75466e1a74ea5 975d81036d227c500a9c4e21e8c50837e3934295c311f2283482240adb99d374 9cb3a82e689b73b17a5640116558284dbf4d03dc1e2d25d0d80cb60de7945036 b12dd62816620da91edf7c83c5a91eafb6223a80a17897c91794252adb700fcd 3aefb74f3c9b25a52b58b3ca3a65dc29b77084317ad229b463418a4539e57667 f71bf1ae5b1e4993769a086cd470061a725757630d6ff4ab4a028247c8aa5595 52cd32ca3ebf1a1e03c37eefacc75d91af2b64c4e0967660a484b0d95ba619bf 445792b6d3646b2b087996d7ec0becdc1ab387ec8a38ec6fd83a98796af0fbad 591a4237ea8872070afa5e63e7a92a4514b21f159e7fc9b4ad507d0d7ec144e0 8665f0c7d67409d0cf9032a1c31c132046f0d198e331545a6313c93d69fdbadc 8b9cad30139c3526650ed556196b915d2a45e6246adb0ccd0412ef6422493418 cecc0ed5338c86c92bea4ac077b768a3b9b4b600b8b87ca14088e555ca851805 f71d9917619573d937a40c50a496a77f890c7a552f92dcf0c61331a46c7223ac 0fff24d90dd4d0b994b3ef5cae871731d2237ecee629b80397ab8f15e122832f 56d114650a516c33d483815438d2c4548865d6ee9460cbf6e9a1df6f77ffa9e5 1e71b99381655dd1af79e01ea91cef491f55e1819de406debbbb9514761f5a87 4f05e20f5ca6682187eae34cb676cc5f17c5a01d75394e91657662bf0cc89d30 a2d3047e1d4d512a8f912f4f984eee353ef74df4cdbf2dd9b1b2fcb09c425ba8 85b729da9a8d24e078a989489cff06ecfa6636b8eaf81ce91af9d44038585b55 cb2043849432ad3cf0e4e39adcc098361cd819fbd331ca240ff6175dd4b0c6d4 e6ddc4c0086b10c9f48f80ec12ab69adf04a9f8cffc8d2c7054527a43590c694 dd25d284329b6de193b29449da0082e6a497fb1266d85bed904218cfce3467b8 feb610bd50efc80b0e46162dcce5b85c359ed081c34988e8cca1f62e2f80223e 24705a2081bc26e9803234e9a9fa9d2822d6e84ae46980a6b13fd57888f3460a a9d0788833bcb3d2e49ae5cbfa93f63c503494e139e96a3eb12af46e6bf9d319 72ef98baa7a3b6d3ba34506ac55d76a2b910ec846c17d9c5052a6ef3e559fcda d51c16fef870b3477c197699db2b46d28ddcbe4acab8edc383b52b2b6c09eba3 3fc1b5b3939dfd5be577c837cb968cae41bda4317413822d61c411ff2b5bb1df c25f4b9206f1281673b24cacff24e0a9185af880b1dc0f1e7a95fe3b9f3b6054 078577bd36e4fd905a70ee11595d929032f388c851510e0978c1bb3ae0e02079 5a89bf306d2d2d0b0e05e703bc616201d8e2bd0f48b00e856da215f2652c141f b3142ae1712b3a689647bad62e46a31725035011c0bb6fa90354741d05a4abc2 951b4ccdbf9ebda9b8d3508fb8a1ae6a9ea2e3de39a29dd40429a3d647ef8682 915b0cce9a3a6c3166e6f605ebb24e6e413ece6776536c437d31d4df1fc661a6 876614ddebd53e30ab851b2e878f44ab59baa9731f14f162ff14ee85f490e0c0 3a471224b08bf1ca24d283ded2da6d448a1316430901e7632a5501442ec6bd4e 428b38ca0fab8337a9fccd27ec6a77266ef356d51aa0c4a16ad87155c3b791a9 e6bca0d1ba520487f0bf191a69968e6d2182e7faa6855ec0a9d511fe3add8b18 0cf37a286200952e5a15b22ae36bfa3c77408944dfec046ecf9d2292005e06c3 c63aeaa15593bb755cd46d67c7cc4b61854c9495557d8f4fb8a0c14d068444ec 9f99c2d17bd59854764469337ce364cd2395a2adeaf4602f4d5075a94bc3e576 b8c9eff7dad2a0c4b023c5eeb5e937a7934f6b6cda5112e6cf5f479da1887bae 6d69971a3bfe29ba278c93aa49398fba32ed0c2c783db9f2e492f63be96e2017 6548c347f8c0ada85010b6c6c633b1e9ba9b6a0e3b0635be5ffd3fbef57df41e ec558073e4700145b3dc2c70b653d51fb8a6cb82c0b513f17723f8de2f55c660 e1a27458d9e9ce225d50bdcc65b548a7684fe00dc83d526220797e791784422b 35bb1d592017b67f352c595a09ae8f810f0560d2b0b60737c535646e14fcf9d3 d4a1e543382caa344ef2f2b38595b9c4b7bc9491ed467f37a568357459811a16 b4d177031d7ee9cb5e72bd4612f01dc297af8307146335138c663dfb4029e33b ed50b0509576eb94c23076f9f72ee922372eafd7cd79ca68e5cd1872ead00f16 735833e4172f2f84eea4bcf71610700f55a8e2febdca8f579859e161e809b79a 395ae501c226ad3448d7a11db9b1bdba002053a940c76a18f76103857362b781 d9a393bfefaa4242e938f78597b8332410681bb02cd6741720918d11406db481 9904f145b7538362c949a4c23532cca21cab7837f571e0bbefddb3f32839ad91 b290d3c9faccd78b62c81c43ba2ef664ca97c6a06b4605f04e2694327e86e94e 6c9d5a0ffd101e555c12f34fb8cfb60a21b83cc20618c1758edfc391eedb8bc4 e8296c3c1d2e78a9ef55a5c0dcfe049171f51f226035f16e20cd0e2240c1ae94 9dc25c80708f14947ef8700dfafa4dcdd89304fc2e07c69593e4927f1f3b39f3 9bb9ec73f3ad167756f098e90d0c94485d7c0dd3c2f97fb076a405081ea23f8f 6c1ab6d48287c2a1b373ea503f10e5d8ef7d684990701f795505b24320103c67 7b86a0e1f35b8f71894c290dab15dc2cc0d7f51591ce5dce6056d860b09e45b4 17984bb762aa2da0774e84eafd8b9ec04ff4e9c451d0cc720183cc7625927940 c9682ea0f576bdaf4622eda3f9d6f062e1c1b8f2ead9ef0c20d566e9e1bbb5ee 7ffe4ea49d8482b4af90ac3bb99f44c9a9a40d5dc1340d4f9fd7dafe7a8cd122 c4914e7af51cc2502fb4b6a6355964e974124c738aaf8f0b5bcdbc4d9994a870 b3246c4f635ea47bf3607844dd12ca9e0d07311e46af439b7a6f5259ae47eb10 7c44af3b0da1fd9ca785a93158eb9f55ebf055e5d2e0c59a0f5d4cc919f5aafb 580ec170e380e25160bbcef1c7f9a5ab271b372f7fc998c5943030c73cc38255 0f632a5049c4f6ac76951c72a88c96c39e935c9845e2c9a04cd725353530d191 416cfa1d665fbe4fd8e6f5e17ab4ef123f31b7f20625fa3e227516a57c26066f 20b9119aed2aedb581c0d779136ebcb06595e9833d9298c0dea02e1e7b160e6d fd84e6cf166fb6b6fad4ff368673fddd3f8322a070841dde4e5b80e30beefafe 008b32981598e8c88e83487558bb5a43ac1621958114bc27ade5abb3a6415333 670fcd9a1b5e4f09f1000b0442aa187ec6a32a9f175623e9518803d45402fa71 2da0741aeed75de867d42be91a9a36a6319264ccdc8a10cab89f6a3413faf34b f46a9647abb5c70c612d17a709754af64d869e1960051e3241280821ac95b974 35ee8a55668a7750117f83e222670fc8d9be9523f6ec204bb0a55b52642398b4 61f9e9a8cd087b45b9fda863210baf5e4b75be12a350d1f9e2488aeb1eeeb334 1439ffc9269775c7ea78fcb829858f65c959f9031cf4b23ed0139b9a2adcf1fe 2f52c5ded6a3617ea4e7a827005fa8829780d900ec1f299d64cb4acb97a8296c d93edec8c7951ab019adb8aa0f7f64ea2a7ae41c742f0955430e02d3f0ef858e 2f95208acecc8532ca963eb0362ed3c3dea8abcaa09c2950478cb012ba4c9f7b 709396c2d3e5d729024d5f7a09846bb295c4fe367a4be9166d627cc20477c5c0 c6286b47c1fe1962fcfdd5d50e4e90bc038bf373f69ea1f97e237292f702ba6c e051ec46984b8d36cb61023278cf92a9ec61d2866dd51e6233d29a1272a7530d 576b55ad7464a12e2b0fc2bc54ddddce142334d7bf82313ec08b4b110d2f9cfe 7767783f34bbe4a3a114d054f28a5a7a09e77ea63ab5d7194dba0f053fbd61d4 8f6ca8228f095427036350f7e18923af3826986ae5b71ab9ede892f629b8a753 938f436d5d98add9fc7448bafd45b20a253520534f51bea551133a050a19dd7f 235451af2dcd02f235938dcf18092a2f0cf69b1332fab39cc9676c13c5a12401 b46dd3be217cead88f4cebd3dc57feacde87f07875378c1a5432a1f19026dfd5 4648f7638da1ca4fef29773c8f1323673d49d589f6fb7cc193a4f070140a2c9b 2aa53d486c0a30c0075469bf75c3a442a10a66184d6038f964e7cb2cb2faa714 66750fc151e1505d3bb4db38e900ddb822dc7003b02b10b8880f6e896e9c376d 959c8b4fbcca6cbe6eee156abcd890d62ba356ca3c38b1a9c6c47ab505cac34a 71bfd12a13c1dff8131aea0c5f6b0cdd53397b674666c93030a8842c6d982e42 6a63ad701ea1289fb169f911a901993889da809c7eafac0c6ab4e310adb2894e 9fd63f495e2bc4139cf796dfad63f1ab48062c1cf8c8544cdb78849487ee8850 87be515eddc9df87eccd574843073ca2753e7db8673200013fd0a4673d98da40 3635ad21af5adc22bba037c75d579061752f0a5309c09545c5d72db85216666f 192a76c346a51482e22bf4f9ce2b7798af1e7a795d8656c43c65edcf96d6731c 27c7cab921e188a487e5adc6c99beea3f65cf633fc7b73106d620ff5d3acf77a 7cc3d2fbf66e565fc80ca1a023d38f16cbaf329737b8e5491025ee0b8754ab14 4ca4865584ac6f030f9c6d6f680a06b397f5a8aaebf102864d5414f752655a1a 2a01d01e0c5e6219918eba17df330ea3d1fbc51ffd8f75335f8915c8e40d9978 ffc8a1ca04bd921f19902d766d418dfb3fb9f110c2e507eb899a6bf4ad994b42 504976a9445768cd7756c5cc19ffc2b01a0bb48f5cd172d39d23d78a833776c1 902aa282ee77632d9cabee92fb62a0418539afcc0668763f17078eac45cc5aad e3cf41c075c4b0f225d94f14024dcaacf95dcf715fb011ccb2a9a098ce9563ec f028f9f2ea63a8fcbe81dad7a22c0b4dd085f80136b216f291bdd2894b63fe4c 6a34859de3b78724f52f52e88adfaff6f14192e1637bd51284f12c7c919abcf8 c8ad1dc77066b4764a4fb8e9b85639504759c9c9598a9027224e1a8cc4a29522 76605d27cee1e7d3380b9ce17736b7802765ea9694f6af7efc1cd6ec32f16f61 59bdeaa5e54013e11b900d3e7d53b3e5cd721d0ea4d22cb32773f555542d5d46 a3440392e1f2b90539aa597064276b304b9c3d80c776c56fac99ca78ee35e566 32914a2beead3c7b253f1b14aec27b4a321b8b080de584e0cb7012124c7e2ed6 2524319756c94ca102333a7f3e6e85719604eb6b352c5834dda11565cdfba4fa 346bfdaa3b17c8328c8074809dc7b7c8fe642084f1078f9bb606d3e35f0bcd23 6b3dd15567be39c66a6276251847cd43d1e6de06acb1a9b36bff30eb286d0387 15d40f04ebabc9d1ef647119eb4e3b78313470f6ccef3261e3bc7b855bdb4c2d 407a7536d15bdafea3ecf76ddfcedfb43dff7be6edb2321f0a50941e1473519c c8b65310d6de6dae1d4bca95d103128d2f8768ffb9c68e2b1f81a9cb81674178 8931a2958357b1cbf6535d35fdb19e3f67c87ffd974b6da756c5c9b74b2a7706 e46e2b4165ee19b77aec4b64e153784492a7d7fcf514e3e02c32ffa604d14e91 960d1256421be4adeb3756578a2f5d27ec9d9ac5db3ff410b5e4716c02b1f355 3169746fd9114894252fe5b590834ae0cbb2b5feeec739d4539c7a396bf7361d c6b9fa67d259229a70b307049d7dc8fdd5bf5701392ee971e9668bcc3f8a6ed1 51e59c6bec7b3cbe4a3d18ad2c5d1aab9b3f6acf18405729537065680cb8fb13 340899759f32d419da0e48883e4c0c5276c4c01a3a9e04506df15bc267f84da1 d6f3d74f395a5e50dc6b73180cf7808855b61adf6b435dc6a4f4ec3c05224e60 cabe7cac162da8deb3f7ecd359310802451bda9ca97ba1cbe961aa8d9e335e20 05c39fc5d300109e8e8ebdbb79a31d90287286603edd05be1af408123b5aab3a 322106ccf27340bc55301896fcbb4133f191033112d36c73fd6f4d507aa04f93 331ec1fa4273a8451b7cc3a377f4b810b78083ec4bd3c0be5325296b5dbbcea7 a41aead2b22ff79447dfb4da6c1b61b0840546594a575a40e4753bb1041dda6c 2d1dfc24c2cc2954cb7bcb6609cace2eba93a1c385e0a7148989f89338d1d6aa e7919ff1c9a50ae9b696fe749cb04cf1a887f44b104dfc31b28a9a7c53221312 54c6669d8406c3684b3f8a4c3314abf32db5ccb5347241b47f506bea6d37d797 9b7f8f874f8652d453c6141a6effadf10695cd16ff9b62cd77ca8ba4b2b52b11 4a112204f07f753d7e4b6a09c53735d5d02f053c6ec56053287faa4e826c2655 a720aaa58a68867f46582702bfd1fe02752bc5160517d69622014c87e7b4a01c 1e58cf7a0289db16c42fe1e4f62e2b90d3b02fca8aa613d722bc7d10f392c6a6 3a5b30aa701563476dd2b985dcfb88be10990df26d8c954f58c6b719a0ca0415 f0c7e86fc0f0ebdca5b419ee153366b43d306ffdaaca5d7cc30a0e0b819fac4a 6ddb5611759eaa06144ad04da051ece83bd7df7ce9702c4276b4f6366fcc62bf bf6d20e4799dfa1171208991d47adc21f366a79584636ed445877248967d4c6a 23e75a434630031289f4edf405698d1cbda18bac11597e82daae8bc68bc0e1ff 0021867c23fcbb58ba672758e9f9e8dbf6c9baa9aba1cec3dbf6dda2d92cf109 23888a3bd949de2527032db7d343ed19317e1a23f321ea974d50b1f9ddbedabb b04d1f50f4959e7f40731d1d4e139d5baf0f515d894e6a24c6038148e4cb5349 a3421e0adebfc38f873387884cc0b0fad256b85c65c1417babfe6c5ad3b54b34 7dc7d7936821d762773397192d0f757cf5d1df9152ffd3440098d1d77e1db220 58afe75f1f96e42472075ff7843e983fce554a6f0ed3f4d273c6bfe63d84b8b4 ab86a2dfaf05d284c55b25051fcf330983ff4cf93da172651077729c606753ed e3880a777ab431376296ad61fc0a786c407a16e4ab39f3ff2bb323328987021d 248b158fdc9341d82364177776a65504531408716404329299c60e533c6430bc ebe1aee3f0715687b7f3169761e983e831838b413692e8f76cc3167f107e0e54 19885e5fb591bfcde1203ed6c4c6393601a983567f010cf911ce93b6c3b8348e 5f98995dc397a958b96d5e1a4bb1d69b969d7f19f93b85ff86f8e87f6c379d05 a69e56e4b2ddbbf9153c3c8051c780621b5f14c4198e337c421ab1bb465ae5ac 4a3083d93b03af98abf7c467a44a94f321ea27cff0fe42fbae0cdeb3d20bbddc e6196f5b7888143f9a1e416ee8b10aabc1c5c1ba955565998190f0fa3a4c8d41 f581555737557e5cb1b01d23e791a4a10384bcd3a34f0f13e42d9d1ac6848f5b c30eb9db8a125ee01ea9ecc6619036dc8bc20fcdfe56762ce884ed14e38cecfe ae997a9560a8f2fbf58615e863bfb9446a559df63a180c8ef3ea357c38473245 b7aaafe5fccd7cc3a0e5a72fa5e3305e816fd2e7cfc5d583c9a7305f74c49eb6 87d928c7f3a3b75b46f55a37296692c0301ae7880e790355a9a10335ddc1db40 15732a08455826832f2f02ddf88aa5abbcd5851e12974d7ccf507dc8d0152b67 c982fb4877140cd6860253d65679c7f0d6ae20aea76223daa0f9b30b83e4ed09 90590e96d528ebc3d8b8723a8296dba12a0c0d9ee203856d0c58ce053b17356a 437a531e423bc2d4fd4c87453ebdf8b98528e3fb5215fc3a81dc2e102c04473c 7d838c6726ba7ce1ba7df2b03b1cf62aee6ad4803acb9dc6d3f82fd745b23470 179662a332773e10bcf0287aa411287f0e8784b40fe51bca7c281fc0bab74e96 6c70b478279d602d6265ea6af4cf7ee7701069d09df242d7eddafeb6c268ab13 885690872fc7f7e966287d9c53abd52a6d301509c95520750eee0e6a828b0989 2bff4816c20517c3470a0cb2b2a21f259c4e4e6317331fe080bc6bdab5119d26 a22cf6754d3793bb56b8eff4ee14c78d017955d7d4ff991f5637369a06fc6203 0b77ae023e5e7bdcf382bc54eeae114690353625ebf985a0b9c24cfba5344d33 25c3a283e4ef55ecdd75d165364a434d35f8fa7128a4b478c38895604406fadb 3f9b94a75f83e52e0724ded1147261df3ea0512bf56f33c7fda265e0fa42cc0f 43687f7c7c3ef65283e16e2f61deaf9e7e3e04fd48db7e0668e3a13b44e07772 726d5e47fc6eb3edbc7a12b5ac0e907621079ad57fd537aa7650d45690edbe88 f756a30ff4b988bc8ab8d82f2bebea15023a70fa9ee94418026c637decb0c098 07403dec67fb47351b9a7ca1217887a9165af3b5c64aa10322a32c52023c53be f01359bc0cbec688997c61cbc5ac8ca4892d20fff8e77e71b963f7c6d8019656 7402df2672c9463cd48228a6311d437c16a0214d5e8d6d36aeaabc21891c2c6d 1280d311ce100c14cebca25c27082ce9b6eeb802f68137198672d9309ebf3128 33f1b6c8b5aa4c54dc4eae874846dd6cc007b442d4483a249ac33f4a733b38cd 4e8adec9dbbc2a2681caa0e3b996d2ae7994730a4930ef7140a29efb50911ae9 9ac4a8345b24da054ff3d0b45bb81153a1d8b3d1d4529941fee9b54f99d82769 5ec353ad7db26c6f9a47efccc3f0e8caeb42514338c63ffdad057b73ad70dfe4 fa74cd6e5c8db37c4826114c7a56c0de9d8ce3fb5a11b7a5b35010687c49af23 b252ff212bf9d1caeea9562c5b 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR8 %!PS-AdobeFont-1.1: CMR8 1.0 %%CreationDate: 1991 Aug 20 16:39:40 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR8) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR8 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put dup 12 /fi put dup 34 /quotedblright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 51 /three put dup 54 /six put dup 58 /colon put dup 66 /B put dup 67 /C put dup 69 /E put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 83 /S put dup 84 /T put dup 86 /V put dup 89 /Y put dup 90 /Z put dup 92 /quotedblleft put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 121 /y put readonly def /FontBBox{-36 -250 1070 750}readonly def /UniqueXX 5000791 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf 5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b edad3b72ad63c2918b6e5a2017457e0d4ebc204b094541f345ec367ae85ca9bd 24568a01d3b9f8095f7420e6c423c414b3dcce6da48dd1c89a56d078e0d0e2f2 62a13640a06d17e44ee3866c3471fb58fedf5a3b77294517651c16bdd7267d39 a54e7171752dbde63ac19bb4b3021ce95eb5fe67390b09ae4d9ed4d704a67443 f55dce17acd996c1f5e023c9e5a18cbeecc3097f23763acb86cdd7cd13381ae7 4e48495ec7fa520539d87f8a8dcb3c826275469b6800876a457e7d1e5be867c7 b1ccad69742a8c9b0ad943482bf2a4ad0aed40baeb69a0233bad36b4ca2d2da7 322956c70375d152653500b2f22d2ab6990cadde2da14b4917f7515e64bc3d96 bf775258fc7dae4e42a4c9b6da8eddec4a800c8aadc8d75e48cae52137e05c03 677f5d6a82fa46d9f2fc7f56d62e5c605a1b7898b8d1401c2cac1a0122a2c8a7 aae09607f2c5f29293a09b9959399283be89051452898238b777db9830ff4318 a298b221c4a820c700ca964fc99e6b1d9eb0bafc39be9aa9dffa2fa326b2a466 1e67261bb3dbc85844e76f9313ab533ee16bcb478166de5502b68e6ec1ea6110 f53206cf1cfea419571b0243244b32ea38b828a01e62b03bcf476a32c2341cec b8a0fa2a3f3f339315d5f3aa7704408f6617d026ffee4925aa48537a4b2e556d 225be09392546ad561cd46cf766f0ba14c6854c5af1a528c3842b0c5aeefefcf 19f19cbce5d967153c4f88e51c776cfbe10d39328466f7a3b83d85601ef4d1ce 0cc136610fa6a74d9676e4e99291d565cad27b9eb2337b0eba4148efd0eb2866 ebf0a4209ba135ad1376cf9cc2d4110f36121055caa3f2e000340c27eafea465 91284708594570d01632a2abc184e887233d08a28f281539c292f964c5c0e640 d78b01ffc6cf42bcca67c1671e8d2f5d41dd2f4d53b971aedec2d5475a335c1e ed0c4dadf5dfbe885c9bb05997cfb0481e4b7adb9d33930f1e8826709cd49e2c 335584c02e25cb19edb783a41abaa85082c746c0dad2ce91448fffbd003582fe 881848d550464220610beeb597264d709efbf026417d4a959dc8b37cf526e57f f33df2b1e54113f81b9a9ffcbafe2c557df0ac4dd6f8eee6613f9a7e27795480 2decace5004147b165336f531d32821365a04c9dd06f760019330ee6b26735c9 c7960b2c0d747aad61a8ed0f18612e91db115aa737f813ea3491574b290aa301 9e4ee637df3a77d84fb30b7506386b434835010c5f571292c76e9066f378823b efaec92799ada334a3b9a2f4aa02951210818a1ae2390d59f32bd34da233ce33 3793912bd97030edab9787eb7aa8311a21346d04e01b583e8f6be533ebf7b602 09a1ea02be0e7fe5840114c9e588f2385125b1527920280a32b2b8fdeaf50bf5 9c2227ffc5108307071325e9fffcc3f4c4abc39d2dddf1fa39aea939ebc5e00c 871ab82473016fcf42c669e3e667107b57e9d02f1204f2c3f107255270252e3a b4b7912c566adadb28ef544cfb0903fc4c58f07bc1abff9ebce042ea0074408d fcc7c64124f956e081d9fed1b56ac973987343b729bf5e1a4e261e2311ac793d b03f91f41380da8ebfc5a025a749a37b7d7374eb77f1b87a915c6eeea879f2f2 4ddb2e7e48b00e068bf4662c122461d7ec070a3d91f3b15ba54d7506bdd56106 aaae19f5f63c2e433852754d474830cf56f2860b014e8ef2ac8207c9c84cbd5d b19f563bdec797af40f4707e938c0a633bbaf3de1422a8090d68bb69796ff5ac 76217ccbbb562130f4a062f59d1e20e0697cd6c2c5ae8346bf04d0fea53ca665 0de401478c743ce749a5934ade90c6811ecf79fa3e730b76b5c356fb2a366bdd ae0c9dc83742d9dab5a19011554fe7dcf1dc86723d3b30b930364a2a0374294a 21710fe59fa8643e01cd8b819322bd98eb450733603306f85709f952bfc89de2 90975b45bd71bcea3ee8c849f8bfcd838c3bfa4a7c49f36bd706bfb606195f79 091b170d749777464db7ddc55b063428143eeab8d75604673edd942a468bda6f 67a5a308affac553ec8704ebba6599aea0d81c55c7f79bed116e528f4308820d dbc4591f11ac6d85af03a79bbc5acc0828d1baaf7c603861c6424ff48c7878a0 c95488505d6afca13b885586d4ff8dee3a8883e457d37a83a5a83465806a8773 3db6f5111c3087ef23fcebefb04c2dd0cfd03de48ed51778ae09cd63d97a31f8 c6cf2ef97a507907651b37f70fc524e7eb5efdf6c6122c4d108c2fedd735e4b2 4d90427b908944c19b77e4632a20cab328d304349020c27faef12b95ade11215 95b50d8a6f45cb063c10aa3549703e961d58b26ec5475bf4c4ca2d16206e2751 8a376528808db299a54f8b0a607f361c072ddb3131dbc0eb5a3212cbb4889313 eb16114520afadcf1126892035577a18564c1e233b812d3186f9e1839e105290 a159797268adf4755b7d678aeaa578fe2068edcd7592b451ee4455467bac2350 7b1e46a3c1bd28820587f287fbdef6776e5ebfe8e2df3a567997a07889169ff9 53a8cf18fc11af183aa801fca0982301141725a69f04a8e9d1e8c20c8255caec 044d0891a0db62013b5451e3213fdddfbdb37c99ff94dcd4814650a9a013a1f5 db318c30bc4d6e9479965912c94d16cf0ab8a946b2919f424f87e70d926827e2 18ce130b1e2ba31c4256ff7fc74899b228fc2a7728a71730f83a2dae5627d825 fa31da311d5f2a59d4f40bc9c5d24776f21a825d1503c1cb179fadf8d5295255 d75718e21c2dfe571593121659656f05461fd4cee9c7f30ed39f786d7407c15a 7a57880678170bb22f57b5f29b97fe8c9d51f3f4599efd89d958dd7fd53576a6 2751d362f92e50446c707a86947f1f12117425c7500e52fac45cbdeb277b4321 430ffc39a193f0de0ac92a47c71c916b6275a0ddbf9e48c9cce4496c1d718c33 d383ae5b85cf8660e8bdfd97fcb4d4b013343c1329f96b8e77000ebac7aca7dd d44a94ef58a918e6e0e44469a9356d5dae3d32a2e4ca857b5e37f810d41e244a 6831251edce5228e73d7aebd836a7223de60625dab0711809e1e113282cb26f5 49b1cd23e816c06ebacfa8a8c66983f450abb4747b268c75c8d051e5ae5d69f6 c5aad37c8d6e06a6e8cb003ba9dcdc0a6af9e349a1878220361df4feb424ab10 71ae817eb8031e6157bdc8dfb008757742d90eecdd779e48c23c8b141d8a6d49 b2e013327f57b4cfe453b14eb0cf648b992395329361c4b0ec0570caa5fbfaa6 60a347bc79cf4484baddde681bb6a934048f70b2b00a74bfa12f98fa56212e0f f0b30ad60ff05980267428ef7476356ffd11ad5dc5552f66f2b08f7e71fbe13b 594633ca14d5922f513eb198fc0f9b47258ede564a22dedb42b3eef840314b18 65b5130052035f196efc204a248c36f502eeeffe3549f88c307c30e98f7e949a eadddb3c68a556eb97c252cd6a30de6fcf27e43a9ea31b9115d3d23d9b011d4e 5d28ced7ce41a2f75e5da82d11cf94fe81d9f5004bad012f7a041ec17543d623 ee4255a8d5095f052cec0b94c0cdbe17de57e4b2c701f131539ff3ab57778711 b108ddafd621735c60b76c2d733604b521d6ad47bfcace8dcea1df71280a3a81 ecc72e2903a4e4325d5b9691d793d129d5d8337a54f24f7b70f6a5a01bfe9f5d 175e5e15d0655f441b0a6c3c05ec86904bd2d6257a13fda62a4fa9d841e8bfbc 44d5739f415f4916d8f4e31f01d36bedc0d889e6a59c19c1df5ff33f5224e465 cb47ad56690fbe49478f78c18305a2618baaed5d868b38044235552fde044910 4d80771e67aa0b7215ff4393c1d1c2462a14ba421e8418304714c8e946153724 cabb92809a6da5749aece654f96e754a7fb43c5dc12fc68ec8d99c87def7478a 463718d06fdec17d7942ec22a93679ef4313c34019212d8b57a7e4558946f3a3 09b12f5dce682a2b66ecda2c830d8e594f79b61bfa11cf3efb54580a2b78364a 733e105da22699c5493ed9b38c2f2a75b165f57aaa23a99b2bd1a2d1c076afbb 5f57d9ff4fc524bdcb8176fd6280fd13518302798b1e4fc1b7b70cd6579c10a8 cd2cedfc4ffe19c46aba23323d01c1f50257e1d5b0588cbf074fad6f6f8ba743 3aed32c126ac09de89891bdf3eebb8f296477c1bb263a14108d270514ea0abaf d49f296ff295331fa7ed650cc0bc2e6c5b6fd52365ff4d50280350634deae39d 3ee785aa45a2d0bd404950045ea8e2bb9adb0a63550ecfb51a5013f4298bfb77 59d374b99cf93a4fe2ef1ba4a7ece37f11be122f85c6882dbd7eba7419fe6a4c 616abdfe6da1321a037a78deee745152eb8be4a4345b0ccc9cd60ff120935083 32e1735533b391ee3a5ed75ff039e4050fcadf615f433b488cfd395962614d82 c405d8bff71761a8cc408f809f2d329e4ad42f2e401178b47f9c57f556c31839 299a0da265be7d7829d49f1836dfec3990d337cb30d2e6d12937483fcf9a4efa 63a1e8635b7943600b5aa34b90316648cd35e166400bb4cf858d728477f28732 d9a8773ecd91bec98cfd949f465e4237635d9e1e9c24426ef38515e8e53b7809 bad66bc7510b3c0f699e87c0262c974625659f60a40be4dcf95cfd112bf6b91b f79bc53e6cff5de95c6a6c8e2e7c4ede543c7bc74a1ed948557040e2ccf7ca3b 2837b884c73b3a1d7bcf69b6e95366edf32afa1ec4fcb402710b38dad6f323e7 68db7b1795c57deb0f73e4dada246e74d6a54b4eeccd26c24c084de86c808c9b e7f10a92bae0192b778127f84bbcb97d88e42c00845e37124c43eb1eb718dcd0 072888751887edcd0679f9fb4ac3c645b6e63d8dcf557c0e6d3dd5237958ac8f ec34032da5314e1aedfbebb75fa20deb7849abfd1a1a70c346c2517d06c72b13 34e9132aaea7fc1403d48b9fb0479492e96581a272cef94791b8decd78d6864f 5b12b7654615f60ea97a703d890100e4bcd362760ec4c86287d882e54d86caa7 63155f3c4939e2c407aa30d169fda571b0b38c7db772db5360ca95d9672c0824 c530090a533290d3d135233bedfd5e7e9edf970c9b9d3726f0b7ddefc489c9e3 1521d5e70d7dac10b45791143570da15b29a7f37cca738814c907871c03ee052 fbc3404b58acd3014390d07292b1da3138c8ebcd7a4fb2c2ad63242eb65855de c4474d5f83ca0cf3a62ac9291d7405363dc600228e1b4fec14c01370c829a2e3 94d0ba4f0e50f29c62ba886a20d4a3dd6c4cfdddf854ae784abdfe27a0d89e94 3d66b5f313badb1ff41e3cd55ffaac132e7903512e44bee689820dfd0ff91415 d480e839c704cd91115f431f9a3ddeef89348074a6ca776e2885773911be7784 b845740916de906298360ee540360a4ab24f83a27357c0f06b91f6832c8840eb 6f0bb23c821b3141f53176f0ee5b5e5d22e751ab2ccda4a68a9161c75134940f 75e6c28e0d22401f64b1ae2a9d87b784bf6e212738106d5953ae1057b75f852b e438f5ad234da3b69c5d2161b51cab6d8dd0f9c3dae3e882ac30866763b0d039 338ce913fd6360741fb94ab87e09cb13c171a21649c6bbb09b2229f89d2fe15d 6d4a9c4ae3c5a090898d320ac7ad988c1c072adab765d88a7adfd4ea37bcf6a1 d82c71de9432d22f63597f8f49b59484c1092021ed8dfd679edc65405d0e1eab 4d7a4e7d8b1383188fc7abcdc3c2bcbf4c331b94d791ecfdce6bab3aba4cecf6 2a1ea0607f5c0ccb2827b4c3ce9a928a6b3a64f963c00904ec0f52472d2261d2 1a50e1271b408952e82d5198d83137229a809eae7be02f0bb95f8b3ea2d4850d 769cb2f081c2d18f0064760ddecfa7f5575babbb5506bb60018d88378f3ce4c9 b383188193b866a65ed72e0484abc11e7245d0f28e0f29eba663f48221137ff0 cdeb500fb67c3a4921789cc9c643bd39b54877c2e611417975169f6966211e02 92a2b922a2770519374dc863fde0ad20297a5a22d3b9b20d428ac2f8cb4d7084 15aec77cb8045b6fce3057f9156fcd7c35e0c424c0a2de31793e27f116718e59 0300b4412502cadd75e4ad7159ef698742d34fa16446c589e42abe9c9c027a41 ebe15ef3d72f13e64d60ffff4d009208355a1ea94c6670595d3acd4316b46870 a2a800fa8871eb821d7f90abfee1a762975df32fa81391637e996472833d8921 662a865ede5334400cc11e354cddf96f70daeb205c611b4c5fb1755ab36914d4 ed2c91d15620d17a4cff301b91125e7ec4bd73cbf25eca8d9724d8a2c898590f 79db55f58ac10d214334ee933b45b3846d2309fceabb1826f10266eebf5e0581 d40780fc87c069d110d56318d61a028fc44f7e4b0bf84576d171675ae9b0ba09 8d3159a224ecbf114d7e7c76b55f0778d7ec5f429e5eec50f80901a94774da7b 85b9c1e70f1b7c3e6c87c40b2a8938018bbcbc14f8ab64c9cce983bfccc97eb3 a22a191b72c9242596912249a2af5cfcf8836a6a5141609a67a483aa73554a9a 127f8c8867bcb66b9e2fa28a89dcbc83ed7aa830f8c737c693ad8d5b25b1b7be 7e91d9c9db5feb0f68213d50d299500e0667655e5c7ff9980354cdf097ff59ce f40cff9afc3a0290c205eb19a12b45660fedcd08da727d614a8e9a5c4a7b19ef 4c468310ebdd153bd4460e25ab2ac858be4b268293e2612d30e0c5fb3dedfbb4 c7c7a4bf0fd05224bed2929c2c4327269e87da6e829aaaf05d7bc2a0868ca338 80be5ce4a935be3a0b4dcb0ac7d3d07230a5d1aaf81b86926936476f8c2a4332 940f2af197f122e37b4f45d4304c21a442e470c606bbf1271d8831b071928e10 1948e844c6bae973317dbba78cf62727001c0d1b12716479e3380dea2b8d904d e8030b6b2e22e4b9a38ff0d47833275d1a1a5129d776bf59504ee074395300f5 0692fddaf610ecd310808b9bbed76b6466b34fb500ac57fe10dae4bb65d9b5ae ce52b8ea24857d7b03537af787668cad8014ae832bc0d4a96ff0bcc3a6c82d0e a7ff591039af5a2a8bc6d7bb71c6da03673263b4735b2507a3d28ed970ae15c5 5448851634405380600b7649d645ea9d2f8593eadeda61efdcec5dcafae3e30d faa73a19946ea8309f57450240f9edcdecf6097890ee0b79bc219c3456be4f33 093e4dac2c33025f2327588bb3cccfdf8470b7a0625eab8b0dc0c777de68c293 df66d590050f4fde045d53b99f044a5de0b2deeb5e1f1e8aca0a5755938b5215 cf49cb8e9296dce05df6d4da43b1d202758386999c94a5b3b6d92c77cbf21afb 383ac902c976ce99f4e4157b49de3c626c13c190f3fc5b0a270dbfd1485ecd82 b4de75c8203ea60ad27768fd8fe469db66568cad46783918297510c817932376 36bdcbb362167d827b897cbe07cc38964b20c65d44b8352683303e822b45374a 4b638271a0ea4a01392c1f12cab3b551ebebd7fe9759a6a65c4c3f7e8fb576e1 80434ed3631c8341cf30f51e699dcea0aa1df26d338a36e1d6ae775101bc12de 19c70f5e2d3777bb2182f766ebe1a969dd2ca54113510ead1602d3b797a88035 898d048e6385b133f8ccd587a0d0747d70d74acb071dd594940d22e85958325d c7c51cd8db26349aa4f31e68ca598bad8c02b81d9982c0c8c211eb3ec9bc6ed7 e1884b0d95f92dfc1487289eef82ea27f25ff42e9bb1e3f899e87acb167e2265 fa327cf71ca2886dad4eabb727fe2b22f3e41766d2eaea15d8d0b278b7c08fd9 83946ba9357d481fcc18d36be7c912f14c44eea09b18c9aff1bfede323d77444 78707290a01517dd99aff3a73ada77da6ab71aac7b5fb925457b28f9c8760d5a c7ffa4699a403a78318eecc5976a21f26e85d97f4d23c0080cb624a045a1c69a 974420c74f76ddd55724d9b63cc428b564123c3013179b171f11e86d70c20887 3e75c5a7eea665d29a321eacdaf4437da7d5bb0e15dd70ccdcfb8c2232d851a5 fe575d6373c8232e709df30e39bbdf0dc6e60110b9a4979d643e5299573dd08a 186b8216fc037e71c1ec9173bd90f7a13cce816870a9ab03e77481dcba427358 798626dcf2aa55c2db33b06e529253e2b6c4601d9132c85bd020de08cd0af5a1 1dffac790737b73dbc7bd1300a4d912fa9d66da6101a409acb84971963783b71 a4b625ab784f5badd4d2a30338d7fbf7b0a142428cab4f54c6305550893d7618 cd3ab0a3ee24affb65168639ab4cfc716014f03ac60a3d5b7a5b288b1dbfc0c8 5d6071408c44c97611265caa22fed20ef5e1243a9cd7e0c2e58e3d229a93614d 194561595348043b033fcde0b6ef7845d7a90169e05eefdea71ceff4e61f4d57 76a7f608b1e8a9807a1927e07a74a73d3a4b99213d2189a624cfcb240933b640 159e8f223bcda3f15b0a3556bfc80529008037ce0628c0f5012af95d6a3e837a 1e060dbea4aac8ca5dae772ea281f58b8c9ccb5a97ac275aa891055cdf7d2afb c3fe2d01ca886d7163264ec4d9469b272e2952941c11955c01fc609e65e04e06 c52da06addfe8e1b15082bf139546e83eeefc49e5e3fe8a306cb84c87ad0a77d bf631730391cc7612059e27d98a4dd17a6155973ae3a1ee065c85f1020c62044 b97face63c8e476367aeb1571e1e58306fa170350f4fafb23da29ff6d28ea111 41e02de9124846baac611ed35702e39122a8f2068502070d94a49dfc359a4044 e0daaae4909d2e65fd6ac07f8974657cb5f2cfde18f92c44968230fb9d9cce72 91b542ffc27d314a0a327ccc591aa985b34fcb6a94fc86d0be8641e0d0757c74 053d64237587c2f4c8aa687fd2f02c800773bd92d7ca9d95f344a87fe67d841b b381184209dba76e8fdf40f3ac5b06a483ceeb911b2addadbf383d7a7bfe882c 71cc3ebe58530db13f5ec2e60aa2500223fb0c9f3337bcfaa55a654ae2555a0e 6a99a5e331a22ce862d34be86e625b8f70b1eb3de9ae7190eb3a32458c0707ad 9946194c36580187823d7e283c1bbed34323fc176f21d08a0e442b07ab66b65a 5e32c4084e6dd33fa0955e537382415347c2aa8b48a1dc3b0e89280abbfd51da fbd1ecb4f88b9486fd815d2b54964749de77420a7a1a24c8f976bc0232c4bc8a 2c5c5dbd96447677e79664f3ad1e60da945059100cc72ddfd24f1bf0ff6bdd49 d9656522005b3c89a131c3e35322435e9b66215c0ec5226c6da0e05b33e001d2 d7a5e0e7ac2eef28d140c8539810e8a393bee60d267a6a599f5112d8479bfef7 1eab99e8ee82827d6c3615d4c76620f69523d695f54a80efe7d6bd98b4ce8689 aaa9ea8f28a431c7cdaae86c64b49d1b64b3865dbe824da74e7187b287d39c85 9b94d3b1b01864f91c65367feb56316bc01daa580bdd1f168660c94ea94716c6 6e550b2a9b72369372a7bbc463fd287864f5722ee14ed1587460eeaa657e7568 6d209a9af889f284312e1be1b4bb397264ace66fcbb2706d300b1cfbea770a2d 9daba69e1d7ad531fac191ea17b8073b67f741f3e036ecfef4613e073c259a7e 95baf7208ea13e04928cced849246da615c575ec0bf5ca83ddb96721faf86037 07f9b9ffa626b6e35d8b650d00b7576c0c2fda0a04a6ce1ea5407185efc44972 78097e56f41855017d84aaafc08f931778c58fee845307a4fc6eda7090464350 304cb84c07da1ac388d3486ffc38965976dfe53e7db33381279b38c013758da4 06cd3d8a2edf1c6d12ca18f99a850bf993b5df10ec85c0dfee968a72c24f48c4 15f527681615adad61d46d62763359a2a505387511782b30388e8e5cd7da74fc 6c9779bdde384d9acc908d68dc1deb313a1790e0cac0e677d7991520ec8ee160 c6a9c49e90bc36a30dddaaaf2cdf63336dd0f107bd56b41d7b2f6e480d77e949 0f936844aa00473f9c2a7c763b688edf0c33a3ed0512be210981738598ee2a7e 4bea20866a3f0278a0e4c58891b41be7e8275ab7914f654855773a0dd637c318 be51bb7c540365b90ea6c0f1209025bdc6bee0a9f0ae20ef52bd65fb16968c90 192c45c0bae7f6daeb7ca021a32559be2a2a85872cca5454f36b2de06e8fdf60 db37d642f20ef6bb988132bcf444edb05e7589c5ec8f1c45cd7a3600db1feeb9 72ad057d27befd99a6e611ffa1b587fc849eb4573009933df11247558e10c751 b091747da745097c4de137ced46e4f1504ed523c3a673b03eca0d9952e4130d7 0f7518834f28de8ee84691fa5f61690926e893698e8c021384c493e3a0eb22f3 6dc4d27244ee9303277dafb88587c3e4a7b610f1ea97411e92a237444f7c8b5e 7735d60f3cba56dcfa46d40df755ed44b1a315924da37e7857c6b4b760d77b05 d5e25a5c061de6256f76c9299d3bc58cec295e55d4d6c9aaf9864cecf0646955 075ce7d3519c616bb20e1b6801057d25a1e56f4e252392a3b2826329b04f8c79 810320774287fb788454fc05e34e5981ff10facbe7e52d89aa15614c9f017421 847d29f29acaba8a9bfd700d01c27c5783384ea0f6849982961a14a9967a990b 65ff7d36426906a3e1ed76880cce178e4bde7fdf49a5e824618feef8a0272648 eaa5671dccfe452523153222675d59e84423cb473277300167f10a5b73240fa1 ce6e2824804badaf3fe6da9b16c4d836d3c8a8bf44df1657b1b3c0202c697ed8 2286b17a795a8b9a4029c57a7586874a2f6d39ee044e3af42c3d571cd304f999 9543eb5b1e879315b676e1fed3bac3a6bd3295d4048d781d080b898fdf18b5ee ccdc3b0d4c892f0306443aafbe89fe8509cd8d439993fdb899d65a46b9304acf bc55aeef132ef2aa0853d67dea77f1321dd7cc8b4f6ae59204d62341b65aaa80 bd1bf308e3dab34f904829066013d5c5bac344baaacd5b44466bbcaa09d2db37 b9c6a83cba379c964c5babd2852eef0cc835a051763e8653c0e9dd8baada171a d8053114126afefaf5e2849bcab496df5d39a393963ffd4b0213f74d5a7ae622 d6a552479b46f3926c7cd932098f5b9171ad8c4e5c2b8fb1dc06500372a091be 2708f7bbaa8a72683c3bccf93824f57f86e1f03c1549d7a9613eb891c3b9a0ba 8b22af9653c30173162b1c144a3847cb37e3999764dbd30a4cfc88fd8c84f066 6b13e79164050229ab600a92e13efae57f3dad42ea7ade3e0e239492a457022a 9baa894ff6359f9484330950382754a5ebe592fd7c57b7dc3ee4be538b081c 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR6 %!PS-AdobeFont-1.1: CMR6 1.0 %%CreationDate: 1991 Aug 20 16:39:02 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR6) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR6 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put readonly def /FontBBox{-20 -250 1193 750}readonly def /UniqueXX 5000789 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf 5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b edad3b72ad63c2918b6e5a2017457e0d4ebc204b031f3fc6c13d7da7277a94ba 018e9998b3dd888011a5d7c4204989f30f908b95533bda845746b673ab71ea57 65a0d14f4350707e47c8276305b28513cbe1bb0dbd269a53719bda46e536685d df78ca0146b6b93e760256b74d939d4e35b5e77238f04c92298dfdd188feea30 e053eefbcbb52f2011772b3aae39f5805597bbc1e8bb75a446ce014030f4f2f0 f49f9e962ee4a1024a746fa92a3628db5270732b54e43fe5ecfa524f127e5fcc 788e77e66098336ad67fe4cccaf0253272d5df79864bf4b734cb9a5859d557d8 bc11b8e00221ebc12e97de4b1f466ead83a4c894709363bca9040410a52d592e 34ee40cc7e5efa920546b981aa659513a24b1b85c221a1875b62d0b89e57a368 321b8043a5b094e0379760a443d632892b14ad6d19dacc8c78093243ad67e6a3 08e56e6b68412ee690b10dac6e17708754a00d51fc957b500eb80175716eef4b 2ca1ef867614659bee3f2b7319e97b6fdf1efc847bf3cee3156f72f21751da8e 5fb6898919e6799820d3de0642d756e09d6fae4ff08dd3deda3173bff4bb11f7 9109c97ddc05897af709ea199a90fcee8ce4c7a3c15b18170c41c04de2d3fba8 f34296a95b8e1e8de3739b17273f8f2c85e914615e8eac5e8bd2387ba3b1edf4 7968f06e2067d836d0f9f3e085cdfd2de06a62c81d786b304326f7002e83160a 36598589228b4dddddc43c85e1d126f8fe81b828028e26317af5894aaccf4f69 6301e1a9fc45935d8a414957f08febebbc3a72ada80f101e47447d019ade56e9 f4fab969bba2b44e47399fedf5caa1bcea216d7ba713d523dc2b1a89801ad4ff 2a26c7929cd309eeca94b69eca57ca332db286f97602a69bee8e37936b9346cc 0f6d2e421c4e5512be432fce589448f5f84cdfa8f096528c8dda6e1db031dc03 5e66de81a9d37e3d450af0aa8f8333ccb9dbe51fb4a5502fac0a0abb8dfb643b 2d3323cfd843331fab1d8efb4557ad4e5bfe7801b7f7c63439a617535087a1c2 8fd075da8442bf40379354ccd398a111fcdc9d73c3111b31a3b69d2312b6c377 ae21dca966b5e4fc26e60405fe586a5ee1c8a609e245338f75a891c51463731d 867a80d846e317122d616e4766adcae7c5f0a6151eb4da1305969cd321bf6434 818eb8d67bff536da6043e5d8bec3cb2a48fd565fa9e51a68fabbf533d376351 f7c12874628ae554478ffa1cb9de8dd27edb02366c415ea540b9b168507ff660 57135fd2d0e24550420f68ecc804715f65d48434d8f6ec629f01e41172939b1b 6513f142de44863de3bb5a56dfa8d2e34cd4f999d090e189c8fc8b2b7eb2644b e5e8a0bedac5914d70c4384ea11909eafa2fe7012105e423923c8f6aa46ce71f c6519c4dfbcfc84fff41119db33a9eab8dc061250b703726e05bcc86cc5b7577 57fa2f13f00eea413d705581f0e7c72b8b7f8ea60814aac19bac4aa062aff864 b0c96e3165486ba090fe3154ac42d6c7d520e8678dde7a65c469b7c5ab1f69d8 25a789c3f4897b763da31f99f6895e5d6d80f4b15eb7d7ab1086255ae04a1cd9 7f0f0e2d7d76849496b78541a28ee991f9a3325147580aab26d90897640bb6f1 a84860aff36bc9e60d9899770cb607702aa9f71f28ec9e1eb3d373851131331d 916b9d8eaec1225101add4fb091a56338d2b6dac4934144c24a680fd7d322df1 dc246a228ac75a430384d5f91a1e2def9a3decce71ab09056601550e5a9beb81 1d3d3e602bcbf01f991ce66dabfbdca501c3e18527e53e24daf9168f92e70f08 9709b5ede3c0f3005b8f6302c97043ebdf163274624758925d68012ef835755a 477a4f7cd66b7540563a13047e88f063674888fd87263217d88c3c31abc5483a 304d632fb06eb2e14551cd53204ecd350232161b8f2982a744106de0fd09b45e 807fe4d555c4abca492cc0c09920b02a8931454f2d1616735ed9962609b5ad15 dccfc6b57782e550cf651dde7654b2db575254c2e187f5e3b0b09ed44079ddf8 a3f50495a4cc55bef95f2ef51b613b65ac3548a00c22332ec7cfc0e6831bd209 49600c0e7ce0aa57a7be7d91f131eb06b8e1faca502f13502e80ab63a17746b0 19d8bf55ea0d68714d8a38ba2cc591b75a5172cd18aaf26f3ae519d5ecbc57c7 5335d7f38aaa8a25256cdb28f7dde3262d25ab3327ec38ee5a9e8db68b3c520b 59cca53e002ebdb4de62566dabd4c8507a51a376bb5cc8fb19951566328f3718 319b30033c27d88409c4bc6d10d7a47221257ec700ddda6d2aa4248e4c1aef4a 6ad488bc6bd8fd5241022744d97947c680e2c3f1b1266b4006a0687aa93f550e 23e9862d28c30d245edd3442001265c83d9bb8d3a4ee2970da4e2853eae8c019 99c2a660069ff12f3371f90a12a2b767bfe17091a709496a35a694e43cbaed4a 04f0566be69a84f699403bc1ec40b19f28fea5cdf4c5bd62208f4063366c4877 6d7d1656758d24318ceacedfd4fa70cc76502cbdeb58a8071d559a9c43e4794c 94419e7f8f15635ebc023721471131f69ec35123f54768fa00efc5da8779058e 5d6f53415bf0548f1a231a05a4d2ab60fd9023dbdffe2f7c6d29827b7ade2a2f 1e4400b11cf8864cec09b0b74a43dfb2885322dc79855c9048681ea8b8dcc65f 29360a8020e0db02bbd28bf06076dab63c480fa99c4025f2a4671cb03a55b8ec 83c19c9d2cf8cb59cc2188a0fe58d00471f9dea9a832cace08caa73a983f5992 fa55608534f91120079312ec86b6f9da938c4088f1b5c04a5e169b61bd2b1750 b31254ddaf9ca5efa696fb2e53ac1edf2a442a52d1f930a207439c83604d338c efbb3045d66e1c0599c4fc09cec289f19b92201b4eab541b805909f2e7673594 4b41da04eadd7a8ab4416704608a280930917fa81a2ec1b0f6fbddaf07344e4b 256b000dadac578b6e7c5250b33750dee374765de50eda0d4dedc835cb4eec07 447c0fc1dc70ccc6a9674a07fb7e146ad5aa87c71cfea89b2c730772b1849311 bee0567e1e275f23fb745ae7fa749dcb21b0caac6e711126a102d8c2bf87c8c8 66559045d5045daf826f2dc235878c1a5c1bec2a6108ecad8af749f25705a47b 9ba49b2cf4446bdb44ed5b9ba4c198c00a4967477c69a5983c7705fe5e089db7 a57dc77d16337626f4739a821522f8a6f9957410d034ca3a09fb3e47ca962a34 68e0d8e1b7111246a34e7197470e92debe6d15a1577612b4ab5b5b580407c1fa ca33eaaf6a16f3e42e3f43f9e54a272562965c4fbe5493c111048a019ac54a01 a6acbe32cadaebb926dcc2c9a0e8adbda8c5dd2f4032ee56f6c24720b484f5fa b8ea7616808f8871412de1c24d44bb1324ecedc653719eb70399695904e0a052 b2ce2b09770f0a465c9fbc7f2105c0d586da9b 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR7 %!PS-AdobeFont-1.1: CMR7 1.0 %%CreationDate: 1991 Aug 20 16:39:21 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR7) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR7 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put readonly def /FontBBox{-27 -250 1122 750}readonly def /UniqueXX 5000790 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b448685940729e6e22f4be0e08c6505cba868f7950 93f556b64b808dd710eb936d3ac83e5783b5f7e56d363a59a026a5619a357d21 c4e77bea121eb24b09027d1aad93158edf912940e91cd2f17922b35885894644 7773730bb19af9e70453e1b78d5edc123b273a979891d6d5e624f4a388f3897e 13b045e34b4ee2f5e4fc5e996d3549640010c671de14d18b0b3cd300e57dac03 22e59bfbf7b29422230870f5897fcfaad4b50c7c1c58edcd119218163d6f6e56 25ccb882db7b6d09a1586508e8cb642a11c29a46915e4a96e282079cb21922c1 c2e360b487a45302fd22ec8c5fab63e54b5e844d4b17ca2fff37c69c366dd72a d02922c14c0932f65ed03e4219c117962edbad2dcdeaa9c10ce8af38a4ae52e2 b377245b0be19a77d6c936e7530cc4d0b78d0cc4a92698fa2870fa54f2d8503e 2d17b3d52fb2febb09f2b2af0c2a1892039ebe19a690098799a858e3d39631bd 6925a154d161df3918074ada6bd52baddd0adc3f07e2d9f15e27cbf7fe8b98c4 07205c811121fa91e059f2f99322fed63f359ac9da97aec383f067f23e5de331 51e80f0a88ab50fe8fdae4a5de93c1ae2fdca06150b37246140c0e87cb2325a6 0d2349162ae3ac93144eee1e665a1289105318fdfe86b6e76251cb25adc967d3 d0b97fe5e279e1161736ab22b4ca510b964342383a840defd38f96a7280e6ac1 34e48d740607ff2e7804164a16d47735864db847c97335e6d4215cb99911a1ec 015a3edaac1f28fedd56d2467130d07bae9416c15f0827d27c6c79f59054282a 418c12c157c91223a829947f47592f7cafd93ca182b25a73a9419127e3b12a9e 5167ac3963f2b019b338ac46d63880f94dda4b538835884d2a5538c85528d6bd 977f844d32b43b0e48caed5a4bdabcefe71695d69ca784df9e0534b6b46e66a0 cf2fff3b9f9ebc955ffcb67277f7810ca1ba5be246c53a4cb97684ead524ba2e 3f16e73e8bfae82c35c6cf8675e01b9f4001e0919583538809b4f08f241c0f8b 8cd97518b733bf907e314b14b8bf192b462d5767efa68460b3b18692bae2b231 e53b068d269d4bc957754daa09e8b5a6f619e69dd73c989bfebb39ecc762e2d2 c29652b88b8ee44d20a31a6d4e276ec08e67101c94c804ccfee7661ded6912d9 332fdd5e8cbd8899f9b2380e5d0117bf8a4d0e6b69b5e55f891c4051e1505ca0 94b760d9a600697143d23fae65c6631792d7d329027dc9669757a259baeb5541 ffa46c74928f95333a82e0d65138743698b755fb579e01d7d148666460f0b19c e62f85bcd780acdc50c6ddea9a099a14a81192d316ec0cd76de2ca35fad8c81e fe546dd00cd7fd3c55be2786264778464b3071cc3e6b9581e630aaf3ec5cb4fe c4b810cf98aa42eee5aff85a313520b001344a29e75671d8a2f17cdbe45733ef c961a73f6aae95f1d7817aee87131653664808067b1f521d7bf3ae05d4b4b6f8 42a69ace3667d322a1784cc0c71a692a5248db47c61d90a0d634233053f6e10b 1159c39d5618fd3023b06bd432187c3a820eab125e31f825f143044f83d5a534 95146a4551dcbfc89ac4274aefbb7de9c826447005f41c0da5d1e9ed3bead775 ee7fbc0c84c250783e716f9321cafe63e83367734aa648d589528e2eb472af83 5aa9997bae6c4df5305f33b88077e20636271b5fdd5175588256a871702b23e1 831bd2f24eb25590d17f225d78e2da86197700185a135f79f1b876ec436015e5 6d00e53170629481addc9532cecc40eb964c0f3994e7b771933449233845d6b4 f2230c4eb1ca7ba46222b5ca13968c005e7832a0ac561604f871a9ab00ed74e6 9f3f0628037b533b1620101716cf7fada166362f873bab8734e70bd0dfcb5323 bd33ecf2d6ad5fdd9f00dc8609c79115ee7dba32dc6f0221c9131d66d542cc60 53ae6c74328c1dadf35d44f13a86c7520b34455458f5dc2a614a14553e9da539 81c47b22acac7cb00d66b01b5b8fa79a96a2e15b225b7f23cd96317cd288aa19 c4b4f35072a627f57a4289cffc003a56030e207baa63e51ecb4fc5ff676680ab 7bd2a749c5718b42fe7c5a34ad99679e76bddbf301b19c43ff08eaebd0c5a015 82a8748a4d798a0bbacbe3e4b0995dc9a6a9f6dca958a37b77cb9f57c3e4fc65 c1e24f38c4f52d7dba1e1ee23f081c3f5b4e6f06bd899b511b31cda3ca8f8ac5 dbec40456ecf25e9742312c48833ebe7fc29e998c61266527680d25ff1c1f09b 726635b9f12c00f240b693a1e07346d333de37c660bd36fe00913c4a7e876494 e8e38aa8fcb42e3732e74b4c6826af5038daf986ec68823acb95f727beb80f5b 148b56e37844d1b560a7c4357c2cf495653be25fbb3a236f15df847586bb2c05 794ea5a975aebf7c208fb1decdfb7f930adccbab537248856e5ee7658f00b30e 50ee48ec8b587a2ffbfecfc6cba48a9af33a362e9b4fb9730a3e587216c08ac8 e5c90ea88e917a6d29a361dd7ba94313041cb1eced69a2351278ea4c71d4da5f ca65590376e7fff4d621d39c06c541c94144e3b6fee2aeca7cfcc3aad469428f 5996038704cb97185ee203450958cba23290c0b3d1b556d40d790cf2ee57e4dc 7928011af03dfa442d5df5e57e0c77c08c3d56980bbb4f418be451f244e29a23 930759743c9998c94ef8797f6197cd0bbac6f19135ed7c976c9914d441ef65cf e03eac53b7e0272fe54a8fbc5699b45998c86717dbf121dd62cb7a8a05885802 c045ef8e809f0804f50d8f2fe4d6da846f772d00489f2283dd53f4bea2c5205e 2cafbea1338c30d46755f541c92483b8f8e92317ff63baea7432111633525a23 d42d1255bc02697ba7a87a1eb9abfdb366e25ebe1a6eb021d281d83b69e8390b 44cfba7075e77e45ba9dbdce24db97c6646952ed496a651756b5e180f5029477 1b0bde1432bff9534387b05f5e551bfd8a262d04f6d785b82ae8cd0bff01586c d1c6901c8af6275f89f4316d11a35709a2ae79d870a38f62053ef7a8a08d5672 ad198a8ede6316aa7240c747d035c85481f166d94099981128ecb1720aed0b61 130163364384558456ec23dbe3a158d10a19a7fd8fe2da2ef13eb724d5b50a7f 4e4ae0c681f23103e6e8d738e83276e15e7422f0f844833745340c2a040bd6eb 952c987a50dfa7db0d1cc9bfa2385f2b30d09c026c0775ac005159b9d82a2ab6 e2e4f2917e69ad8ba5ba4d45af5d1c2f98b59778f9af9214cf956c324225194b d46e04144e971d67b1b8d8f7f7e3ca9e7f1fe493d3fb8a167ebc9f439e45337a 2228a68fdf3961f2bb9523cc078fc5908bd87d0696d7a406785cb1ce61eed61b 4070500e53143b6e0d18dfe693f863378e13ee700f23d37451ecad1b74f37052 881167554e62e20aa19d69e4cd44c97a5ca01fc851aec425659c545aac108101 a7079a41190d6ce7bb8c97aa60da0beed09e0aba1b2c07e1aa717481e07e361a 0f63cf8659924bf379b129ad7eb31f76d9 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTT10 %!PS-AdobeFont-1.1: CMTT10 1.00B %%CreationDate: 1992 Apr 26 10:42:42 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def end readonly def /FontName /CMTT10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 37 /percent put dup 40 /parenleft put dup 41 /parenright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 65 /A put dup 66 /B put dup 67 /C put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 87 /W put dup 88 /X put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-4 -235 731 800}readonly def /UniqueXX 5000832 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306462c563d51ecefaacd079732f12c29 315e4b9623a5752c6f1d8145869e120d910b2644887cea7e30b15676a92537c2 9d3aa80dc30082aba94b40990b82fb1a877e805e0c8c48f61e9f2edac05b944e e4d8084ec1d5cc517aaeec5b3ea379dd011eeb454cecab3ad2443c887c582789 72355673e503affe0394fc7db31de364e4f56c24033c7df2265c56445ec63a1d 5695a6041ea1b94407e1cdb7c5635603a4fd047e6edcaeb2d0da6c9e0e9396d5 1a4a58e8fdc1578730f992435560a6e2d3e3687703ee2f78f5896389ac8470bc 806169eb01762e89b6dc9adf857ead656620e2589aae722c37a2ed7a2941c360 b067ee34d8d5ca3bf68db725614d936bcb207781f4d4ec2ac67b13a5ad161f3f 059add7b5e3d904831e31c20c04546fae83ca93a35989e65c201756888f727b9 7e5313c9870ec96e4cec3901ea03a5c744754485e7d169bbc98bf872d0796e18 9d43b712950c3786257d8be06ab6080b9d9392313298327549a8a41c00a2cea3 690b4a333e45aa815a64facae1c2b44640860b8b8687afbefdbd5b4a541a7251 4ee7d3e0752af3e96a88c95d31fa16d34ba2f02fdb0088b165844f02611c734a dbcc2037bf741fdea7e8bcdc130c70c33772f777d8bcddf4611db99001ccff14 d7af2bb05defc3480bdab312a0eff2f375afb4e0df2f803c594b7c93f71ca4af 861ae1711932fef19bfe2f9b7adb69d68e5a70ea4d1a3d5bd85231b16993f65e fb37a0a823f0542f8c2340a073dc1be4a8347f9d3068a6435cd8278b0db1809e 8af9664c2c989b9f16873c009449b6284b85da4dee11c96a05ba83292f0edbd9 2cf674aad6ac1a5ff966ffc37e88a66048deed053565b55ef6bdb8c2f2f67832 f8939a32442ea54f13d003494d6350a2864b427a9126a9c26a031909fe53fa84 63b80c3ffd536c9a5dd29ceb03148dbc24c0033ae3542e26551168a474b72c73 a7e2c34e90c8b7c4125d8657cd89e0449b5969f05212e64175cce0f9faa61069 ed82a8ef9276f14e2a08d8dc7e5a15f1707902c2b2f41cb1fafaa593385c2ea4 1499e485ac560bdf047680f9ce615f750000e1c30ff1b6ac44e0a4425d941622 24e74d9a481598245aa1a2b368da7c1f71bba518d1327a44d8b4770fa08ff5f9 1134098c0f6d7aa2c2270ca47c418152e453602628fa113422c703ec5648a554 91d86aaaaf1ac92fc3e64e0e403a73c84cb4fb0a0232e1a153b61bc15d3597ca d921e3b3b1d02a8dcb0bc8b62d67765e1fe4e78acce9ecb284f8c18225d324e2 6c1658f7cadabdb3e1231fb1c1ecc63492f3d3de4defdb9352f17f36e6053b33 88e75f0a1dd6ed1a29681d66f23e2d7744832623960d919d3d43568232ce9312 5977aacbb8fe7894283ff2841be77c1ad9b5543d6802d41ca0414284cbd3bb3d 354deff981aed4f443aae0c448baad6439ae88fd1946510e3b63c45b99b4a574 ecfb451d7bcb8b70d4351c23b4f629673c18471e0cf890df367c1964d97be3fc 7a748717b85a08861ba0b9b391fe883e5ca814d0a177ffd6254de8b52c5996e3 434de464afbfa04362cfc23593dae5f564a629e735bb6e9431f7f3a947466e47 66c853e76e0f70716dce014a67cfd57e1d7153a2a814504d96f7530917e21c54 4983c17fd20c4c3ba3ebcdb4f21fa6b601a721ed0cf863cd9df35492dcf9714d 9cc574ec0cfabd0ebbb8af259da4d6a3aa4917f2624856b3d812d8e1627f0f0f 77874df1a5c233740f66096e66d9e0645257a16c9b6a7b9cfdc0c4bad3b04890 b202eb20b7de6903db9429cbcca77eaed1d417bd88a412f0ff011dc893da081d c875f9f6ee50d42fe47ffe1ac086da487c77b02de814c6274960056bedc8ae26 91482befb17509c87b05c294b0afa178a0ed9fb13270325e71aab9b46a5fea21 cc8776680c18961d5031c234c4f66bfdc245af846e836a1e0502f2c95237640d 4bcb81aab01aa588cb48440ff550b6569d052bbdd93744d9e5f7e78630122f4e e8ca980f1a95bc3977d458eb0851b7c7d9defc0d831b525f918c6a32ff6d5375 2dcef6135e4ca5bd8c10cda7eea39d3a9ee3eb8d151b4dd1f637e734d2bed623 f973e6840b8dad1e2c3c2666dd4dd1c1cc65fe0df938403a4133bd3e066f9e8f bd66d815d97796b0f5f48e9039bb3281137f46413f84ad210db30304dfbab129 5414c973bd163aab218f3994aa209d0a602a6b93f94b1b8f34f80d28d3c50e00 95107e45898a1795839a0cacc40ab094fc22de5c86114193792cdeaf7d8c3e80 dd32b0b216944c73325bb939a28ec5d93f8f60c177803fe3f1574b67a20ef617 8246c29036680b86231c8fb62d42f1ffb71456adc9f221bb939114b20449cacb 08f382db4fd8bad8c81caa821aeebf4f1b323084ca3dff115dfe9a1698c37b92 8eb081284d61b860a460e199e5c4b27c36d004ba219843ee1f617d15ba5ca39b 29bdb72aee266dca18fcc9cc44bb5eed1ddfdfff57715f257706c2263fe65e77 18d6cc88a5a528cdef92c9c54f6395a34c60e0cdf99d5a7eefbaa23cbdb31dab e3c1b5d4b9b7ee9c08a7681aacfea5003c773848a9eaa61810ce2c15721637d0 6236c9a0b2047f4a36535dc08839467c27f2192a80b7bd429725af2e9282c33b 0ef227a8bef4bdd106b811ee98b5d8380d98dd859cd891240b3a59d3905b71a7 21dd0071f99216bf06268dbb9989dfd2d8cf6ba5ab59c20c33fbafe060b1d7b6 abf385d65bbeb25a36d4c8f4b581cb1925ac998b67dae2b2b9b24143e63d9c1e 2987a45a2282f0547a968b3bf905d574140e24a04d60bb533efa1d8fdec138c0 6a3247fabc407e30ffb340b961e329e0615c35c59f0cfe8086686744d086ca46 2cb4c47eeb68b71cd919226702a8dc328d73ea7f24c3949ab8d19e3149e6694a 2ef94afe9045e0f26543237f143fdfdbe5aef66d8dd8a21f734a6e0673bfd56a f8f2aa2883600cab291cadc6003eb298120106d4b2f788dd708b4af3ab5dc073 43b0a3552db7f22d5796223ad0c49eef4992828aa5362d1730d7399b7da8b65d 209274949df3abebffa4a23fc119eea42280c03b635642ad667c7b01bcbbdc03 7bdb6372773f2ce824a9f5a822b07110b689f15e1a71187ea5d1d2a3a1754a7a 4ac3c5b4116dded00c4bea473bfd34fbd591e1bcdfa2d95028021118795a6336 e47a1dbcc22a54a3bd57545ac42518686da0aa298f953aacbcd87f226d053a6e 2aafcd887fd6f279d28770d1f797d4a20b77ba42634bd9311883528ea4745e11 6279b24268155334d857c3afcf0bbd6b6c08d0aa530a03fed9081d5e84c1405a 446dfbfc1628d047ff082c4b0795ec05b33baec15e5297cec28409aa3af260eb 79dabe7770a6994b371476f2e41a64a13092c87bd2e2758bb0409758ed93f142 aba99862275d0a64bfd03fcc1f6217ff9558989e5bdf3bf83b804f0925ccf2d2 73086f7c5b1c1c5b97f0bd1222f105940b5bd010028a0564936a30b9fb14dd2e 95587fd4b2dfa3109545e39c3d64cbcafa0caeaf7ea5d0cbf1917ecf4e560e81 361d3b9ffeb739d1b76c3852ae4839528dca261f30994e66a2f09ec7c96295eb 8f7776c46b6e10ad91a0ba0bf6f83a6b92a1314c723efc34e04885a0138a95dc b8da19d64e205f551b900221af4b7cabb8b27eb649e35ec43dede35296bbbe09 9cf2623b720f46300dc42619cb887e85f95d7c886da7d369148334cb638d8dd3 74804808e9e24dc1ed47d390b7d469be4b9046d069d5ad1673519fb220c1ba1c 243cadbbbe4200583ec6add0b87d8999a759b8617a4c6b242840add4199b72e5 0e4dd77ce348f7724d0ded563b50b56785a7ebdf7b5b75be088b1a56fe01018d 8329d86ace886d140b0d33c91cf6f16b9c01ee240e31d55e7d66b4215c3afc06 b4561a600c3bd5b2fba297ba0a4fd4f9bacc73313ddc7fd40d22ed2fa9791d22 7d8c7ff93755f759b267e9544fb71bfdf003857c69967bf4d60ea6f97d3d1a35 024adeba4e19090accf7e2b6f22b2fb603e0c0e562b1f4a4169fffa604ebd66d 4784aaae23bdf5df7ea391a2c3c9851ab90c9930dca2ebceca5f330564540cc9 7b54e90267499d0fddacdc596a3f717f2799bc4d0bf0fa2fe0e7a0c88bb9d46c 276d2bfac776e9211524708165c196daf24ccf05189df968f221a3c387cf22a0 88b30d5d8304ce5300f900a33091e8ca70c58386d7fd21c95caa3d073bf1a99c 1c119c9d196840edd42ed297466784cb05d529493a998f666de362b87fb764ab a4814c3bd7890ef8b973f8d8ed509f9c68b834fb9218a9d3dca0359d1e874d42 db9f1a8c4a41277f039b4bdf65c024500f472ee19093c1674ee3f93ada0bed00 74afac939a9a2958418383b7188f50d8f68dcb2133af314159cfb04dba6c12b2 2f6f2f587530be79cbed4f46c5a2d613d28685ddaeaf047aa3e80327a911ca8f ca648b963028dd584d607ce9ae0a262eb9257d756bd0db3055ede8abfeb5f2a4 f87aaead96bdb052b079a67b8cdc7abf1fbecb2ce5eec605c15304a3c065cf78 6f1c2bc6c63d67d551a6668de72084349040a7ce57e1b96b62827aa9d5cf7dac d4c6c35d303f488f98df0b61648fa3cb4910e410167a0f606a16ae804e68ac0c bbfeec4d0dbcfe49012d29f74ec3f0d1935b3a390c1fcc58452d81efc6ee648e f3d4f5ff0696660f6b67a84c0f3362a592ee3f24182709388d657218050ba203 75d88d753e5eeeb36beac9cc153a738e3cf3765ecf782db8f5100c8e4fb3257d b2f53ff8de299ea9e42b7dbe58a83192249afe92e39b07903475ec66352a3edf a12b9e81945334a7f9a209a6a9a20935c91342bc33f1b9f11b7329dc8bdb63a7 23a74511ad79832a604cb0dfcb566a4c6a0a1d9cbe32e7033649cdd70ac01c26 1cbb11c007f57878515881446648a794b263b87687ee10b6151ca83c1401d46f 0d8c35a88a81643b0a712b025f893050088b86e9c3dfa9fa2d13eef109da70bb deadaff8e9dec93c71a1e7504e00e0914a93564acb9457a8f7ec9e8a3f861aad 2c9ea4ca563e25a34dcf4b104eb221be075a0b39f194137ef0bcd0002419dab8 18e0caf97733ba037122a73d7528b98a5df59507eb8734f5e73ee9edf95fb141 9f630f44b2bf8d63ff612f5a66d228ab3c77513cc2cc90397af072aa62fbf56e 2880b376dcf2ab18ce7403f12cd3215ce81ddeab1b37297548a695b1dac0a2e3 af397bc624829aee3e96647dc696eeda4cb14c4a6045ec026179bb5047ad6b29 e7434e0bd5c753f02bbfb28684bf679c6baa912f7121d76a92a7d67d1036bceb cb64a39556ac319c975caa3f73aa3b76a9d40e2554b1918b7786ae321da4318d 06bed766480717d510cda3b73a86ff0d9ab204ce76acb6a044c94075551bd14c 774ed80a9023a18e76ee7e5fe3a19cc6f5bc503b196502fabb98db73d8faf969 6e99397ebe04314f0d3c133e967649d5a28c425001bc7f99eab17ce2345d2186 95bd267791f72dd6030e2f9f27a5e052d272cac8c43cfe0741327deb1becfd81 ad03daaf640f960145b77968a9b858f2191af54451fc7b0b3aeff9a46a482e7c 97d73a84b0e112c46c8ca17199887a3e5787796b547f7939f9d83372e52af06d ecadb539489d7e064f44c585793993960b77a6b194061263162ae9883d032782 6881504273f3d783af8a72721fc5e41feacadae216ec4ea54912831037af0deb 3f83b4688095ff741f454514c253a2d71d3ba78e7b3defc91596fff17d959c0e 9aa94f87deca5cef1613dbf0e4bbc6d5efaf3f59cee697527461537f30f4cd03 35dc77452b4e871324c1330836906c0f00b8f731ada88d16e0edfb15672fb481 eb0f7b58b05a840828ba886cc4a1d80fa4ea24107fee40bd3fe013799ea0919a a5bab0cdde26915b55bee6ad13f259f6188c06412c3a193656e4c40a5fb6ac38 1eecdf40e37afd38d29b78d4a2dc659beb4b45472c0388262181b84b6d8fa393 090e5ee8fc21756c9fad6e5dbee2d394af89a16b3abe10cf97b9a2862954ca30 19abc56ef3ff582ef98b1f91db019dc85b765166f368dbbffd26d7d8cdb92fdd 0fee86f5f181d811f7d48293e2b16fa291707421a76e38aefe3b1aa633f436eb 891ad3e1e23d6287f600ed0f811865febe8bde13d9cb9ae425b228e38b2590af a5f6eff2d4ee603e7c6591e79f1ca147b346d75a6db2c2d906e21ac1f4ee5922 049622b6de65c0217332c8005e9e27884a70701520eccdb330d10840a455c3a5 2c863a754a6af632245eb881d56f0700c50f13c37f75d237142c498282a26c17 4185ef4db4431a9bf332d721c2093195a9b1dd5d8c23a9bbeea5e938d224d504 72c1a37e66f3c925ba2f62aeb98f2cc1cb51d6a91b2caabc16b74b08c11c0262 da6087db7bc9233414e7a0707ef0b8027e447145c8d101320f6bccd4c8bae8b3 a8d5f2ed6831dd2b94926772b64d2075595d9ace3e0bf02a6709150dcc7f7104 43857b653d3d68147a317cd1a4514f219a5548fc1eca5c3f5bd60b1c17bc6714 6130c1bcaf8319a5eaa65b747066c2b8aeeec943238a3793f3e8576ceb04f07d 4f505573b350e2d1f8e3ca1d30eec2db70ed6dab8e051e7f8bd7ab62a282f650 1a84de8170304eaa9d66fe768804783eedab396d2c275a5e7019a56c17319122 dfd0226ee066541d7536d2b434adf6662f6b72e0a12d53d3c3f799f481db3a6f 9ee9eb6c45f5014ebfbd4019051a139c9a56ac115d5ea25a298980cb291a6e1c 7be2c6e136897458f79dc41912721e1e75e097ca76085c70498a48d47e86fbdd b280b06e056e15ad3c767c224cc35bdfce95784064ce023104dbbf99def65a58 b422a83246af6123cb26020c19b6743c8145d887fee42dac556e5150f0ac2c41 23384d6c491124a2b7cd308c45fc6ba318e96223be0dba436fe409b1fbf80c86 a15493fc20b362b751f35900b56434c0f654421fcf6c13931827623712c44415 54c712cee854858662e57558fbafb381379173402ad7b9584014a72d775b1e76 c45fbb44c22bb2e1daafc66c2ba77f6fca72ebe4774dbc7872fa8b39e0bc5bec 9dd959f9bcc65ba3a5ba53a21e4a752a85cb5d76b3d859ce7c135ab823cb520c 5941f8133a13f4e0bffab798932fdfb28749e3cc36e6fc456cc0ee90cc3fcea0 b2f5e051c3b6413a562405fce76c862a8d72aa1953fa47e101afe23731bcfbe0 13607a1d3d5a701cf5d9be20bee8032eb4aff7341a664ef05be27ade90b2a23d cfd1b3eef547cf57e2df99fee67325abf85706c41960a4bf47edfff5067d47af c6b926fe8c54a7507be5c47192d000e7cee06f74c1fc72dfb71bc4fe28753f89 7ea609f51d45d82f663959bd6f5ac826c2c9a7445e1280f44bc21792cc11f75c 29cd5f3bc1d808de9fca799d1f242f8d50396a32dbb56414cdea500eb7771b45 aa32730542f260bc1a03bcc08bc3cb6ee2ad2a426efc8a9adcddc68172f6ee86 1fda76b5b6a8743bbf0b9f68bc859fc1a7710a40350324af36832bb274d95215 98c6fc73120d89cfdddbabbe4583c70145f53d42d747efdc9bb7cc63ff9f248f 3419e094b8803b0a73da45c34d7a9f3115f15f3c78a27849ed238e5985ed840e 82540af9ad6bc4ca81f34dcd29e5a97ce6dbe8d0496d1ec25470e6dfd71ab971 5642679b2798a740c439d8df55b38f14cbc46c88b214f061cd2f88cfb28802aa aa68bc22c772422207e340ea065c80a0c1939872527d51375370a012660b5922 8642d294db7c422e266c44c04241676969531b9ca9a7bc7b46d48e3bf1743e1a e640852677fcf718436cb44e8c44afe1ae79c6f7bf641d41af82fd93ed06499a 99f21005d2220a1ab188a33fb2740f492d478678c80b3f8a90315eaabbc7a978 9dc81c2263bf3152c339f0cd5839eb806499deaecd52fd4542a33df67e86ed0a 380524710be976ab5ed2c83ae699933ffe45f12df4a6ce6d4781b6e361c4703a 40ff2091bc561d780847a02821ca640a0ecbd4bc6b08d75edc4a7b9d661a8668 0c4e997fa1a2764be1958e6a0d231e8598e7ab63247d902be045e92b46e4c905 1d3115a406feb5f8d54c4e52bc7714d2a4a6ebebaad616c59acabdb1b64cc355 97b28d4216f5611dd6c31385f0e3e5ce474a65ed5d3017806893624255ea2519 07c02d4fcf0c465e2cbebe0fb1b771f2f92cae501cae397ecd8cb757040cce2f f758265679b65b8892b7807f01e1859665be9b5ea74f3d8d14056696c5bf904f 50e65ca9408c52f02e3a74048cad028029cb6ee9efc588ee250159147a790409 ddeea5d06ca49174f5fa87330d9404564345eb389b29a80f1267de3fe8504096 1b9fd0285f7dacef6e0f8daabef0cd5441dd9cf8555a3e87e2f9a6b22391a804 dc6e4f66e78d0c4f9b7dd4484fb1f2f6400174c6f571c8d3ee686fde5aaebe37 2725ac3c16c7936e82054cb4b0d95df0042fc944632a1ddb3397255a0120b62a a429d730be0d330d2e4c8abb2b6e3d2ae4994b4aecfa037dc65a7fa96f55f8df fc85f343391b81fe311fbc064d3293e0fa54dd8ba4638f9ca20d33bcb49888f8 701782882c90226a902018865f3d51e091bce6c1b1cfc30b0b27a0b623440dec adb3f45df1aaeb9ae8b61ce3ade5100282c5a269da995ff9ce5a6f0c4e855b1a d73d01c040b12f237dfaa386a069ebe90c8734d499817c91973363aa0138732b 6928c4734076d1bcba7fe73a69ecf81079ba7af3b4daa3a601b5fa1aa943c37c 654a229a7d12b9a1bd928a75a080ead246d60486d5a6512fcdcaa4a480a76f1d 4cfd127c6123b74f0afb361b6ad480bff52e14be05a519bfc5e23f92355a9a6e b7f17558792f9fde26b5901c916e9efbcc039cfcf695adbfb7e4287223f56b7d 8f63bda20c9669b897737185ca0ce4d130a2456ba819b6be13df77b6c26a9897 a7e03fb1ec28d023db407448a82d7f5f703685fd0865c351969cc4ac93d7996c 4389f1be99647b8dfbee062f9cdb615c189c84160eea950eb5f236a5414c4b5e 46eb68c1a83aa5f1b08b53aab051e6bc7fe2d4c2740405a69721486913c4327b 8c0cc5deae651dbd5063e2a2d6c41e2a4076abced22ab12281ad72942c1a10a3 a4e0963047dba55a5beeb0a4d98259621129cd2922771d03916eef62b336cca0 d1aea805b483d77462a581c91036ef5c7be493e8ab17c634d9bb7d89a401fc34 2a94c26bb9d84920d685b67b5bb9bd4e3816889234d9eb2b71f11e81f2e73388 6571eb897d2fefb16dac3b41c104b94eaf3995444a644a0b70b333d98818ceed 28faa48c7c2044803b96319dba0e6d57b3f31239ef83a4258285d47a0b1084d0 d6d12a114fb152ccdb432bf29940a7e97373af3e0d6768cdfbfa5b7613d4ab09 a453aa7b8cf62416fc65c822024af1b381722840dc1f1e52fe6babac08e646ae 41fa7473afc63c8b14e2c266bb724f03126d4ab5813ed9b537fd7237d3faa0e0 94b876f5c01958c58e69545a5490650fc58a2be4e7053c5355ff1d3b40f555fc 667c9c9c7a1ff38e530a553b175b3ac5d485141ebcaf59f6cc28ee5a1bd68332 9825044bd82b6678aee9e3f1867dc3de4b8783a62c120aecc9feaf8c410f5b52 56e7389b3c5974fe0698a1840acce5bc369774b8749ca1100b587a884783ce5f f199931859751dd08819337307b98032142018c009e202599ac05796452a47ae 649b43a269c238cc97d67e43c1d965b4d9c5ad7c72aa76d1bff6634003d4ba48 6f616a302b2ba8ce7fafa7d66974e04453e62e6867b50394257275ef6cd71ea4 6335c5acc30dc0706c8a151f8fe4d3c994c627948d2f97ff03b4939f236bd869 6f6698c7513da9bfed9d3ad996b48110a3bb7255687661ee7e4100e93c7217fb 1f7eed80edb4a37635d76ef465b221b07cb61a382a4d1d9cbc67760ac984a169 7afc2d74c8473af7e6bd74cca2883d2f425866ff92f35c0317ea8dade6c65ef2 650d1118312ba133d95ce0a10181e4d42c014469147f9e2278bb166bbdfa84c0 5b013ea7c8b95f09c4bbd93517de8f819a367096dad8c9b3c1205b5eb0c6cce9 8d6e8c001214c82f513e9a4b783a2b627394bf7398e991d3e328ca6cc402dc04 58e6da390421ac5b2b6ae7e7eed42dbac1e14239aba11a109b541ee34cecf2e0 af7a59d2b56d4d1c32ec5ff71d1001dace87e234744a9fd7dafe7a96b2207346 d5e7e7f25b804382acd48da2f4c4fa570039d5fef0489416b7ee8180e5c12f74 420eea2af511704cbb25f5e593966fefdc0b49454d8383e845304fa1df1fcda5 7f3a3939243c7ae6ee9a9a2481a64ecac2528350d63b4b3e0b29cdec79dbb151 fd5977a6434f43fd94411bf725b8478fe81869728d84b6ce0ef25248ce666bc6 53cd35da36ab03652d61d161bd1f89cefa9f03407f6499860f5f7ca22c7e8300 4909c2416f4f1e755c523a51eaee6ebd56b5a6f948364c2be103ad921b48617c a25ea03a21ca72f71bf5a9333710b4f4c8985a5f1691176d7409ebd668ab3685 dc93ad8143b3e6596ba0b92f5db3cf7ca4a952ef9085af0c9b8b11cd1702d9d1 f3298fbdd1b8ecab6ce9432051dcbb32f731fc3699a23088b7a390112bcc7f89 8e881e0103bc683f6aee392246066fc892cac79476531872fc9329589158c9db 172b7b0c541d3c42663be2a592032c6b7622e8b663730f29351e7ea57cf3292c 9c66c1e91023e509700d5e4d6cce18fa6f590712ba5b3358230e9d60c22df8e1 0509f8c1b4c14083220e390230b07c8175635b3db4b2d932a06b22e3f8bd934c 12f4e6cf777c44872a0d17279fe6b1e0d254754430fe8eef105ec2cbe4749c50 1927779efc56f1d4e92b0ee4a93c2df155cdf70893a7543178580789e5f83773 01bc099a787cf5500422c589274eb4c5e591c2eef80e9e2e6c3647613beaa5ad feb7d30355ef183b3f48b9f1c2bfee273b78a3d90b637647b5b3690f6a2366a5 a09468aadf8cfa8fa29b4e91b9eb2dae524cde48c11265ea4376782f87aa7eec b9fccef7768f288f81ead39b3e501c530978430567d79d64f7e8ee74c0cb03b1 81ada2e23e7ce60cf748f50fa4cf91b4b951a3fa9eae0e33a3cd439ac7939f33 38b02468cd9d5b850940d19ed248d790e2731485fea479e232cf542a778c4a77 e6ee48e9c1ecf4fa5e6d7a7456d3e69f07ef8c584ec8846f00edcda3e9f0fcdf 5c2814c22acfb70aaf5f833021890dc8f358ec11da40eb0f19e20a49bc2fb515 5afad23e0a39889dec5e4d83574c199db5a759830bb20ec9f488d96fa0b9244b 0d1fcd04bc23c69191566a253a9ab88dbf225e026caad1a42e487b83c49f15c1 52e45c4dafd77bb2e6122a56ce64390328bb65fdb0c5ee8c9ea19a160a1236f9 0f2c8bd59db6f552027299f6526360b9ce60eeb092e9a2099fb36d9211191e10 36af271865895374efee2430c721bcde35c12e12456b6038f9e5efcd5066423a 11c4084b420c252d7c03d5a7c2ebfbc8d291f2dd3166d43933d27409611d8b89 4d7553fad0ab4f88b3702969d3a06441bcea42f041bdfb556f8d891f060021f1 d6cb5e4c987751ce8ac3ca29a674638b9a3de2cfd06811c5223419a1267d8e60 a41945e9b69e884599b2002adecf00700850a750697997519815692a32db8e32 1c45f7c510b3944bfd3640fa4e2272ec4162f9b07fac9a393fb1ac0436ae8a4a 9b45089a6137623807a0a7150c0861744f81073c1288c57c4daf8493b3f9494a c0f6398e92ec4390563f0a49fd00d11f4a86b1123647b26788d00989356e7e16 e4c7307a6693872bea8a4cfc8997069d9761e12956855d8bc8fb8f2512059237 a93db9d36f31a4c1abb0076460f97729b4f7d22453db5b7e2435a1ccb7a323e3 01f19d5e7c75557211fd85b129de7b8831fd30212161529448618066351ae970 a07117edda77d235b775a2b01353d9dddca520c0441861cdad8f064f38652602 9894b55044e61f732a464689c0a79b99fdc7f63c6ca32bfd4b217f49965e0513 b1c1f083deb87800466768a180f4c7557d56bffae4c2ce9becf5b8acde7b16d6 5f8eacffbf82067d4e0247bfc0e6b1a52f8c3247c7a3df58df7d7200e5e6db54 14e8d59f6dae4c70c9cb75d8760a8add66e93abb93888a071b06bf0bfd430015 5599ba6aa6f6c272dc063d5b1c18dd107e1e1f41fae2852128bf7d2545afa91e 00defbf15a251b519f989ba4f16e87ff5a5d499d050993c5ac4fea19c5e4c129 aa7887135853a95d7b22dff24bb3328616e53f487fb9be894053070e51ae8c0b a5ab683daa64d75a8276b6c1d88be6105eba29fc13c92ad6d2e28efaeaca9d14 b7b7b8420c426f38a6db11bd052a05f00e92fc43e5757fae9389c14f0aac8189 c135da5258361760b33b9dd2ead7bc389203daf1f2835e895fa7bd1444881dcd 5b6d7580b68767f5c40042593fe9b0fb5d0ee233252801fd69604ec6fff875ab 4059a901a138180ab33c1ac344e823849917564257195873aaf679a109dfde2e d58fe1e32444e993095116f5a45d59914a9ed4bc494a8c2d976b7a4b11c9ab27 a36315e9daf879af17d5faa52df8efd1a9e44007c8f588c8d514655d0d183019 ce530329276dbd233390708eea150aced350d1729473a78f10f1d10c06d4d997 0e3a21895669ec76eea5fe4f29b04b9e8b16f2cfac1552698441a68ef7fa2a24 610f7e9bb86f1307c19085a12ff39636b0692cae18fadc0fbfbdaacd4a66a6c0 de9072e875aa482523fd689c6c5e9b374455be0210972521569801fb72e136d0 502fc497cd662e9f50a1ec85ae21cbbd4ef1864bd2199193d5a7e84470366099 c4b6aaf2531f99de9d3834def7c3ab5a5ea1870ec6cf669fd700b0bb742ac78f 0c89782e984cf87974c897b129f3fb7dce25f698410914ad522b4821f6aa4165 60cee8e6650fa25c3fa622032c4d6d21cc89b01c1123b3a8c633321b64989a94 a6f2004477393cd25babb63820ae1aa18c0bebe36c6755561eb5b3695b34321c cf22df3dd09df4902b84b5281d0d886a76578fd05abadfec5f1de037f0617f6a 1a684c00728ad411fb0404c12d605860ca307b6208f02dbb53cabd40bab2ef74 5c3be3fb95d45e9937447701ffd1b84191f5a5500fb65153d15e404cd3ffe0ca 05f1c6b1b11a4c8c104c3daf469e5d9fef70bda6ad8dbef1b91adef7c95bac7d 77cffad8e3ad853f129ea4f0b847d7249948d99344312ef8665b277f500a2c9b 861eb33367d5c17b5dd33746c30fc57cea2e7502c1fc32d56d784e116050b828 f3538d9f723b7239a42b414e970c5a5fb7f2cf35cf7a183c7619965a0d735bed 518e771fc3048e8e19069e4edeeba8f0f077bd0ec2e3fb082834bfc524412c0d 513c924ca1b08ebfa909d32af257526dc759eb01b9b3b694e444e2f32ad164cc 8594086d28bb8f930dc14e26bfe1be2c85b2ab3bcfeda670a742fbe56f457b6d 1859b189497e887a312a94da00b963aa33030c7df88de7170b0892bde9dbda1f 701837090910ce2999b3b5eb87492b3b471a4f6732df23997ea296d977a5b16a bda9d8cbc90a1b31cfdb1154be44b91cb8ffcd4b573f081b44f8c036672438f7 0d5a58ced841f828a5b94907e276a77399444b99484ae7773245b3a833fbac76 c29e14e6c5c624bd1d72b40695b8aad9e8ced6b69f7d800d55c6f26c8ee2e451 343f5def6415b3068146d69aed62e172cb8f6288ac346ca9fede4aa559c9c06a ba02f48e321a7cf52547f1b24b788d8edd9692a6a00f2f8dcf3806747a3b4e87 12190f0a5b223310421a4a84043d86fa2d21720739588dd06298b1c28f60132d 24bd38672978f0abf485c58897ed56fa7c95de4087965feb1308f5e596ed5567 dd30d3c9d96c3bd22fc10a6e7c53724da727e0426ed9a57d345ca532962403b6 a54088e6492f271397f9c0a2ff622c13f772fb4e5bd8e549ff0f41bfa0febc9f 989b78425eef6aa6c39bf32ee73b8b541c84603b5b31639d70cd440504b3fef1 553bc2b90def258d8ad43367c647b0efe5a44b0700a52a9cc66d7d39374b583b 63678a118aeb4c4af891249ac59c568a75e8dad2623a28d2eb2914a6c6a74d34 5767414ad9bdc6d166a0a888ae7eda6a057753135c917253473d52bed3fc5df9 92d7eba530b8d252b55dbe3760b5fe29e3fa742940373b41434c614fe493efd0 86ba98f7cf889600893fca124bb3bc48170e60391c1abcbc741c22817515f895 b0c86db978724022a065f021087e5d5a9804739d3bb34c5ecc339be5d602f189 435ef9cd839854647c83bb84377566e70649576537b214ff309a5732da08a5cb 1994b8d782e89eb04b2df9588bd1a38dbd1060f338a045d71c011fbde4cbc7c9 c192266f046a7f6c6a9f8525b07e31f9d42f985b725ad22d251cf79107b5a588 fcb247bc07aa2298d23f97c95cda1f449486fe2d300232cc0ad0d99fb8668fab b7908af822e8faa73601fcc6ff04dd19eb799b9b8419ab2d2be0625152e6115a 4c2bc96ce83df5fa588464b36203048e560bee965972eb13998bc851128e401c 596ffc7ec768c674204cc5892ec9e2527c3e93fbe946980e5bbb31fa591fa79b 873ceb87aefbb4dc46ebe48813466a8ba9186949f2a0eafbcf01f2e71ee8f83d 78b3cd308f41d984c95825b9c4022b7e510a9b01dcd18fd7a66458de921dd096 a0753da6da5c7683adfed9e7cd7d050035e82c0d18b8bb6478f771fc08263923 9ef905de416c878f94c1fd3a35cb6e475d86929aa1cdcd4c504984164bdc0cd0 ff1b582c99800bc173825bd181d946c5d79cbb0baf10a0eaefe523e66f966c39 33ed33c9bf273cff139cd43e8e3ce5eb09feaff920612e40fc1256a3e722a78c baad8ba96f42610a6ec1d62b3f29e9f037c2e24a19d6c61d90e167299e030a01 8175edbd931f2f8b94d09fb5d72eb9ead9aa5b99a64500c99f8861379eb9bf1f abcbb1508d30902a2d2e2868c95de74ddd69f06ad195478f196a3088b34d1da7 733dd58a7739785b5708cbe358211026ad8f900d8c1288ce1e78564c68b58798 c3a6a30ad6186049b0596078b1f6d1653ba586ca1b3970c8be5c6c63603d3351 14a3adceebd85614fd7d1c355d6b726026ef2c59b216b422d837f459a3b9a107 debfef5ec50530b7c3fea6c381766084e1a3d0192c48414a7e0fb73b0d4c1f50 3e8d2eda0676449b7d4911d85c2f340a0770681c8bc9844d48032b33b4173236 fb9b982703f035627cff49573addd1608ec36d9dcf7f557ed591d13f7018c00a 71bf980f574ec748d9956b2bd8a1a425a321b3b455bba0ec8f3b0a5d20029bde 371fed9a24338a8cab0f238d72acf2dc18f06660da99a0f23f011ce362f2e2ce 44b950948a3d47683290e74447e2f7c778003712cdf63941655009a7b5ed3d70 7c641e3e63c7476e88cf3b3240 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMBX10 %!PS-AdobeFont-1.1: CMBX10 1.00B %%CreationDate: 1992 Feb 19 19:54:06 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMBX10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 40 /parenleft put dup 41 /parenright put dup 46 /period put dup 47 /slash put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 58 /colon put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put readonly def /FontBBox{-301 -250 1164 946}readonly def /UniqueXX 5000768 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306462c563d51ece66fcc9c831843ecae 1fefc1a232e2724f7baee428ae03aadb95c3035345c15e9922fe49e1f2cfc980 237316572dbc57064edac9b0db8913a5e2d45e97e19a91435ccf8adfc835b585 48e74b291446d689c7f2f8c4325e8356e974ae30c3e2977477baeaa33d141fb7 80f59351e84bfc88c87b3a4a1d25e168b9d134554f6a581378c7d2d6eca8ac09 045cc3a5e0ed86f147133f094029e3483bebc81cfde69942cf645ea20d0a2b64 5140ccc2f9cb4a3d969f4b0a79cd3329b440dfcff5285494406f3dd08d804c86 df191e57232f6f1f83df6430f214e03fa5412b1e13d83c60c52a698bc9a38159 19a64162af7b83a9468fae9507c6cb55ea80df8c696dfbc3296c663902d77e89 a181502627281181ac8624f65be9de5fb32f056cc7dd7cbc7366a91717b5892a 34ef6b441871c6993da3a81afc9bf70ff3842a21a29c0e49da1ccba37dd6b920 2702db510b8b1109acf4c27ee8d676bdbd16abe189f34a9b61532eb777457698 cee0561838eaab2d3939c5093afbb215bac433d1918c739b62566906bb2187f3 378521fb52e70c18886e1aa15f53a1f8a169528cf2ddd54c203613ff88e619f2 6c9c50c2c3b8b8c868a88afab1dc8472e7b6f3f992a161723a3c0904865a7c42 3281601eee91f35222c4a71f343739f102eb43145a47e4fac3bd666e4c114a90 5950618ecb1bdc29f90f6ebed1d8325fe6b52e14a8870e9b4bb088e585c71b91 493c12845a101937e3473ac5e9ae24f7c358f06d590d7618e1a1d5834d87621f e3f5432b655eebd4ca61a7b00dde0aa740796ce88a43d1c6952f8d2ca63d30b6 dcbadbb0dadf13150a442714675dbe51ff838f2e47ebe8cd44f1eac6ae5b6ceb 0b07af03f5d3896ff935a198aa635e337e367e1e128d15e31afe3ffca8245e41 a3e17011340e49d52fa1e322b435b4f7f2f49ae01f6a319f68d3d786c24be810 1e1c975a8feb5dd7e4922e00e3a08cacae5a945e1e8f8a20f1fe9534153307aa 5ac7424759743e08af90b9bcca7447375222a66934e1e47f97f8985b0c694a87 1ee7eea9e0d7928e555a83f7456ba5f235a1b5ef8bad622dea313825a43446bf 0b300d86f38133965120d1dc43eb1118d1fbb2112412711a576c4cbbe90ca05a 8865da40d9bca6bf94a9dee1596b6ce5af218492f0f13797305d5ce027a15f62 e97b1a96f52bfdb35d7fb3291fc270beede6eefa93e4979c0133bf56ae6ba3f1 5780cd62e482645875d638a9a3452665b2f8c9428faf9fa1530a7f486ddeb242 d6b88dee354fe924ab2f20bf5c8b3c5beaeee1b9229a62cf12ea59d410305ad8 e012b5a77d5a7665def45b5d883f52a159754fe99a1408fd1e8fd65beaefc7c2 8e3394ec653526390d19da5f8b6b7234a2425bff7a8cf4cd6351abf48da208d3 fed9cefc442c571b71df8dd163cf5e8c316375f344437553d32a6138b076bdd8 97b615e64a39e2afe725cd3cabb9b2a1cdfdd6e6f18d274a1b24a98b004a12e5 0d27be92891efc019108526b6835ad5165a39fed620e9e00a1782ebeb525e37c b6628b4203b2d029b113bc314e82957b9f1fa22438b7360aeb8ae88048aac7c7 6f7e21d717be26d3aef96ed9d3941f5dc39ef7142cd02ae4ef3490fd72b8eb16 34aab87d4de2a6f0fa4e3af8e9d019b06c0e393383036cee8079eb9f0a54f088 7d0f5ed56c987b89cc4e96152e27231298267acbde9e7e846906abd144dbb41e d57991658ddc4db9e3adf0a7e3877adc6d9143666eae3f5d9f335b563b09ffe5 cb2845dff2c1c7f1ed7d09c9033a1e9ff7b925ab5e110a9b56b86b1a4b4a8d9b 698ad16e8a004424ed0da6e9e5a3aa58148d3b6d1f0b6036e79342631174d726 afcf4346ee5ea1e803d5bce9365df37e55b10450e6027c5ca7c5cb636c5d621f df776a189d0cfb624c298546a5fd9905c426066c739358a038854213ed5255f2 d483ede1b797094ddebf8ee1353e4a271aa14fdde972e895b2fa207756f9e07e dffb6b93a1a2cac6bf7b883d5d0ad260f21e90ba79dbb3ec383a78098b5ce782 6862b28b5febe605ee4fd23003317c465827e8a0b3f8ff46e56c56a2cb613070 ba268dca64be0dbc31afcce10af74ba4c9b38df3f4b115a3d23d1ea4c2a10e6f da9dfa61da3ae06fa0aeb3d5e558e2eab409b1deb5968f57d7cc972bc697e822 7dd02f460e2c2e70be53daf6c658895206b78a8858017a53c5930caf5cf6baa1 f5ccfdece08ce7bd1d3be08d3d1ba662a8432a3335f58a87186d841d8e29390d 240eeabe52591b67e70e766eaec0be91b545a54390858c63b1bb8516099bcb35 3e7bc0c630ea07ba36c887b8bd61956c27a81ac38f429aa487865ebfe1c9e7ef 44c3bb72d659c13d6a8e0ce492e1cd6182b172a292b35ce2c72281c403b742ef 0931ce991e948f1e6d7a138355ed2e5b617c16eebb48682eed503948566d1a6e 88c6a92d5cbc73447d0f0d6b8dda91246de03bdc22f9eb9fce1c4dbdf07381ba 95510fd100fd964628c43086864e66a3f871f81c54ab8395976fc292c4ca7785 84cb7507d1bf58be03ed846b49108d68cbc31ccabe56cb11d1a2215881e6cf72 187a40a83530c929e17e3c1dc08e851b09fd77aeb840d23b21746d7bf49062be 2f485f1c090e29991d4f1d7e54e6377ff69b2f1cfd93ec756e95faaacaa241e6 aca6243043f6c83e52af06124560174a1516c235ffb501b2a6cf6e20691be7f2 671cbb0c8cd11392852a67c61c379f3404bbde201758d023cf3af29bd114401c 4be27560e6701735d55c8c4cc6696a5d3511bb3f9dd0455f321f6f1d90ce07c3 f87907731d5025d9bd5d6398f9a968f6ecf427415e1e7ad68adbdb62046be066 8aa639a5ef01e2c66f3c5323baaa24c99767d473fb90c344548cb62cbc86ea0b 95b9629d83644bf61bcc479a16a3a1f92935952158f5dfb468c9cd3d5b0ef5c0 3abd63374d633b91047f51866006170b4644a9adfe24b8700d2ff764e29fcf44 1d225ba051b7aabbc09a2736d6a89afab7b620c5a23e77ce34c3a7eb4bbaa1b4 6e4152a3b4bbba9d94a3a4159048fe3e097a936b2ab51512c84cab1f2b083433 4b640756e8262e2345be1c49f91f392ace7c14929fe75610885019dafe4b12f8 4c32019e47107a4d99336397b4a4525e7a4f25cef6dce730337f593dae9bcab9 f6edb8f9e2a60b3708e976d7fee19bfb3bed00c3f7ff26100094d600bbe6fabf 20fb41655c4b8b80a9d9c86421854b502b0d15d7534e0843ba4e2bbb60ab3229 05217d2959214a9227f5856690268ad95a57e38f8d21143b542912b9a137a004 de42f107df6f0092255474ea6c24d73764a4796410c8891f3efb73602b52ffd9 e0625340f8d7bc01f3a149c8c7abb0d9c377145a69963c6ebbd7692708967300 1e0a89da6e8aa7816552753032e927392cf88202d211c8e68d2630fa6a7399f0 a4429eaab80cb9e989c4aeea6d867ef7a7ba05df527f632b6b3315e2461057d9 d12cbd962611656617f56a218bf33e8f455041d6c1f0a7719e1de4c2e6c677f9 b98faebb5de1564878f5dba24c9c1faa9675d15f8dc1575057f20456934f7fd4 6a38ec9f3cf790beb1024173658d7665ed7782c00c64caefca78d164cd70ffb3 82598ab2fed66812916be5cd0a919843c5205b61cad1abfee60827616f428f7b 3b97e89e77411f0ab4a38442ec984f19ccdff7f6cbf9ed081860d4c70ef532a5 70abf4cfc809386ba6d1de4af55652e6957cb7dff7b2e7af4da168e0167a172f 32fa0b5fc58fb56f4713667b393d97e362a515c9ede7e81cdee1dbecec5821d5 7d8a764b6165ccd40a1b18560b7c59b71d7e352053c4b01c8c32d2dcbdb1ba0c d10ded48e35601735731e33d6a3c5769c77dddbfbb74869da57b05ad648bafdf 57a271781549e82fac5216c87a63e1adae6f87bdd672214cdbc35bc760107021 cf58e9a96287d43f27cd4e88ffc3d9b96ffac0465dbe6f997f23e994e1093def 2732fbc1898f6e2e5098530529e291561eccee35ae4ea45ad08d550705beff60 21d5035efe1d98cacf759891cc79ea3737861e6ccd153597a4941370b9ce1177 38b7566297ffdb06419ff2d8e9455832ebbf4e2289be7f83fad3b75f4bc75485 a2701047921f8efa6a40d490bc0efb4407e765d4e769561ebe70c68d5dd392bd 98aaf6afe6eca354218e8c472dc78ea1a7717ea9a907b4b157e097f0a442f001 21cce7d099b39657bedee5b68bec7be1b66eb765aa35351152676ad5334ec86b 6e045226ebc5474761f1d615ca9e34ea86fe951c717bc8925e244b0d0138cd73 d7efcdb95b4a0ea27b3c05c32ec45f83ad89175764d9ef4ad9a4ab5d36a32091 493d9a89aab6c5acc99e7ba4a8b81e426441f11f278d83ba5aa8bc6f5024ac91 9c5ead46414ceb3f52d20aa362a5fc0d025899fe405217fad2991ac0430d5941 a6d6d83abe876066399e2c05ab4718444b21d4b39838fedde42fa597108ca0b2 6ed0b795cb2e34030dadcfec1291e6382286b81f87c12ead805aed9082705fca 7d0ec31e3b26e49c2554760d637b705c62921bf588cfe3809ea808e454a3b76f 3220df004508fe112db946c477139fb6fd684d78a945cfdc264d9e3d1e66a55c 0a80d307380e6df2ddadb1d274febc5a4224f1b433acf81ad1aa356ccb23ad01 66e9686ed502f2d4218a591c50fc3989b569a03a591eaa2f6b039fb9104118dd 48ccf220439fdb955f9a298938ae81d14f7f8ce25c92765bc25e4ac1a27dcea0 a5450ced1cec753f3446fab5aa0b0456a7584fed139c49e30513ffa1d91d0205 9f06e5a0f7c3aede13afc199c60078b0e04b7dc2718ca3824eaff17a579fe0e3 ae89d269834a6ece40132c74a4fb4f3ef730e940efc6b4f39d99617e102a143a 1fcc746f475aaeed8f44fee47e73157cbfeb36df7ffaa77c46f84e4c6ded980c e2ed5fc67468bd6ca096af1fce22fac3dc511363c51ce97edc10ef5f452d31fe 8b698b22c8663358c4105be01729a110d0372bce376187ee2e09c184f0475a8e c6eb49fa1de3ccbcfdc5f208e0628908a5c63e22d2a9a6d826b8a526548b9ee0 246bbea3c859e94365bcc50efd5d49d730e907e1f81c31e46b4f7e3612b037df d8838f9d7e582767ebe0854a782df65612b2c4c2c5d0e59c6bb1f131f0a7e6b0 e2f10c295b6ebcd0dfba4db46f7a27a36775aa0d8d792ff0e62713a45450c1c8 a9ccd302cda8d122bd2a5f4f86961e66ba2de187420e126b0e8bf7fbde27acb2 5e2f7d65b5c0f2196bc822b5459dadfcee036feff93606980657ab0c478f0192 1491c55d8495751a7170ce127a87667df8e6ac40c5134d62f910b86f375bd57f 142ea058868be32f31a45668e36c3cf2ce28785bb48198a1fee1d08621f54498 fe3179b7b87003c926135ba1c8cf62bb6ed8b381ccf1dfc5b73557bc55d2c412 a0f937edf1a98924b54d16d9a6f37eebaa90bf2fa4c2f6514a24b77b17c19a8a cf10d4d1e1e5f17b89d324138a2741472acb53069ff2e524bb0a7e905592985f 4cc7c48ff2795b666369d6cc97f514f0eff85484022e983b70d6495f1bf20029 a7e3d696fb61146ed89ff0e8aa55e6360189e53e84c8d46eb6222c584f3a543e 8050a1c04f8f026cd58f74632c974ccf27d248a538e05c9cc155a159f8859520 31e78d81a76eed2b1478cc6593283401ecf13a6eb90b54e36f0589ac51b08bdc 52d007c84ae2dcfe16f007f4ca14a3dce9e2ed7dc1d59e6b7e1d7f98ef0c92f3 e8e176e0cdffc866a9973548358e9a6eb9457589d730356dcd0864bf2234d740 3bdf83f481f36176f44271dc11f710eb2ecdfba2b7194729a22397c48a2c4f25 56ff20553666b479699efa5d6a81b0756366d6b3bfce14313025d24a49f6d55d e7165fa72b1d498ed32ad588e4de9778f547bb8775ed42dd39e3ff837de3f287 652f3f94ab91c0c07486e13b6d43e0b04e9c814eb1002383b0c773f8fd511a63 c9750230bae0f6b8dca9ab6e48fb1f3c48305ab7ffab8b9e766fad6787b0c56b 4cad61ad0bde80d9e1f41a0c62cdc12001074b2884c5ebd9f1ed4e2d6f9a7ca4 410f7ce272f2a58f1f09cb0ffff740a08c9b1e5c07c99becc1ed22fc83695512 bb1a3fa35c0617360b9693877bae1ba04e361e3195cfcdaeb8a485fd2c31f07b b2c6b61ca6af7c2110ba9a4689045069b598d3b571ab11df944ea1b67a1c733c e8b1c1ceb19659b08d662605c6af7ce2f8d7fb3ccc36c9b9e9f4083d7f4e09eb 7f840f9c6e6cea9c4198e2b8c1388f5b099f8c1921f4d103e4ff2a25ff86aba1 cba1eed020ce199088d7f0aa8c24102dec3bf6c2118833a11e3e872ff2b17c0f 1313fca5f3a9d1db39fabe892e7acbf5f85d3cc9568a92c6b8aeed6f1559c499 42ac8e9e8205199277f7c91d472289b4f3a4185f380d8de7b3127368794d338b 6c11051e816da74a0d643c0af4324afb022af60917857cdaf1384c47c3360131 b07e08af20b4e616f191db8ad115ac8bb5360fe9f82984317caa55216c94023d b1e203bbc83f57ed8abe0e1926da7f9c75099f2476700ba25f02d4d4f37bac33 c24a170be47b85e0df88ebff97970b026543969ee04b783c1878d85d61c209ea 89b8976acff613b45d6fc6e82d3d40e178433644cfef8496ea78961d5d5c34ad 4d5a2e9f114c2b4619e709bbc38a2a0525574e14f373f0e95014b890858c035f ee6df892f1355005c2cb67a0ba31c3b0d131b3592852b9f06dbda61357759c89 de69559c84bebf6e75c2acca3c489c70a61aeecd49e8db451e08a724c8ad1470 fec5bdc0cf4011bd9bf9c51251d2d2359d881f1ff26e78c78658c9700e739160 96d01c1ea7fdb90eae0c59cbe7591ed47f874e3d5f83a394b71922811de5e95a fd43f434db180ac57caf643c880bf2b2e99af427d586ba8dd457b6d66943db1d 0f0a6367c4cb99b47c348d442a0423f0ceacb961aed6b9f34dc1e960ee5d2c06 7f3e031d0e33ba25932d18ca9222d736724f125c3e6e941617e34df87ae33870 5840cf49e0465925ea3aceab77e361c57ac63934c3cf6cc2973778fcd5e3bb90 0594781ae9750b014cbc6910768af1ce924030939d80de42d0768b0b5708505a 0b537548d932a1f417452826c15bdf2d691ce6423d9c9d71f72b1ea8fd0fe82b ecc9033e53457d0cf0806f061f38957b6b2b3a56246eaf46260ecf98b0639ebc 2ac5788ebc00de0f33e6ac559a1758974fbf821f1ac92c48f0a98ac0bf07d9a3 127f7b118ac0aa1dfcf4e3f80bd0730b6b6cbbf24237ae50ae48a86dca7757fd 35953d5f9016bc6e9b7ba75ded1731bbcf9fc4eb1603eac15782d32485123b9e 94d743983b9d62a12c693b18bce110fa7e6ae127da7bbc29b6091adad7e02a79 5e0bc4360e88f4b360295a6bd8f52bf035f5f8606d0823cae4eb208a0a67c6e0 288c6e4741984c1a25faa65e1aed1336e80e3129cd600eee8d2caa69c19df5b6 d988876f306f75bda8b750b152ee664d132bdf2a349963e0823500b4da22b502 d9f44e802b1a776db24812b6891efeccb23631c69d77d9afeb199c8056f6d8f5 b04f6fe18f09353fe6ee5a6aef87ece8e9aa2e050e33d72c8732974d3da84e3a d47eee6650f4ec4d74b992548ace6a28e9366d2048a7bd7b255c4eb768f9e2d5 5eea4c882ab55fd52eec89444d974d4ba325e84578c2b7c1eb603b0a668b422d 1083c22e83081511523b9a797c41d8495c4bfa46237c6e13497f8cbad481e963 3d90edec57afa346298c66ab473348b496291bb474f6f929c68f6a315b670f3e e7582bed97a00b51b58f12c792a7374b777933f76136e791a448effc1dff876d d8458ab3cc2c224ebb60e4ea5980f489fe185d315d662de50154a218d4b47ae5 982ea6738b713751ca816b169a2415648d8fab922f2775e90e839677c1e32fb3 ef66c6947930ade11343ec49dc3a9274bdd491a4b6ef51c52127869a0017757c 9412563e3e3fe2df2ab312668e51a607409c4881bf74809a77a53d40c3b2f0bc e47e0bc8b203c7d31043e29b379e86d7af649c626064d478b26776477d5a5ea5 186c692341a848fdd5352d04f6d0784f2c68bb0ca1ab14a7679b238ca562e119 838b25d2eddb607113616c40ce0669756969fc8c1d3fe8763fb9cf9d838c0d2d b2624b6c8cbf511e2c4d92fde646e46e46a0a9ce8a6eea6abb5764ab52ce2145 d939d5d1bc9caf7f94713a7d9ec4b76f9e661630070be60c981028af6420d943 bfd3ee3bc926e47950f3e715f4705b11883fc38404553fda90a4846aa6de0be0 59d8aabd831fb2ae13c6d56ff66011ab03535d1b23b366efc5e22039740c7d72 66cc5cfe9fc27c5431c278eaacd2002c64cbb58ab0f723c3ca4a1bb9c9ec22a0 27faf09a491ddfccba369ed776e126d516a8cea84ba173b2ac9fe9d2722f112d 8beeb4069f18f394a3788c64b96bfea26c44de8928a65d920c82885f09b16adb 4baf3e17a328e9f2da4c3e728db1dea731a3b57ba56bb0885a4c65669ea4c2cf ae8cf7a5b404978c0dac8854681c6c4d468746148424ff2a70bc50f6caf6e32d 374ffa3386597d8ef31f6f37e0efe53a2eb9cb0f49ea7bf01ababf12cdf901dc c109c4ec0d566dece2c01ea29f397631ae38c70493eb8e0c7d88dcec4227e11a 21b5155fbb3815295c9b9af84049a722e2631a908b1638c589ac21b2b7e6aa9e d9fdcf1c3ef694ec0f307ea3a9aef3d9d2da3dcd62c33bd7a7dd1a84422cd29a 445073cd1ccd02699b7dc36f95a54417f60f58623ce7f13d19f173af9a7ffb88 c9cb22fcee303c4b35fdab95cf91242d7d8081f91cdbf9f47f8d07fe8f822749 fbae5716e035560a1866275ca4f1272cdf8ca16e1ca1e20dcc8c4431cea018c8 d477686bfc4cb07f451640170ab26b8cfb4821fc7ea61830c89db1f28c026de2 f530e59dd3ca5b0f8fcdb18e11b9927742e3dfe8060dbfc898ce02b5e648fbec 245e8b54f8e9f568f249d0096041c1562c3824d6a23c0a9784c314a12c593478 91eed6180e242da3077146615efbcae029b512b378d80605bb127ba78abae993 b14f867da2f1ffd4e837352e07228a2c8b09b725af6f69304fdeae1dbe2e35a7 5ffbc5121d3a619c0afcbd02a442bfcc9af4a82f1d6626c42a6137c02be79d66 31abfcc38f9e876ad01ed5f72e3fbf9619860ea90deda126d7485a5c343cf54a 0859cf188ae9dfcaecc3d1dabdd585ac047deaf3ec9cc7f77667fd5b49f4a497 67f1023cabcbfa5848d15593de15803abe97bf89a23fa537e32ca2b72b324d9a 4222b33b36d0a22bead1483513b6aea7e3f3c659e8efd915bf96d833141b1858 84e0f5ac5104473db17e806055e38fb4d93a7cc8084a8f8c20585030a2dce911 001b238dd0db5ebfca75fdc2fd3d3d7681d3ae4eb5bf9347b1757c6914eb5ed5 a815e7d15038ea629003a8ccb8afd3a7270564b2bb9542a9a095d7165bbbfee8 ec38c79be25f60c6136cd30c0e96a10a2c449b414d895be27849e721378dbf33 fb46ed40e359115843cad139494809b488ec0c7268f45a974be0761275f1c941 0ce1a6ed1f3e28b6c5e2de5b700671b77c5c8e4f0e9cd309e09936a0a1d739ad ccb2f1826e005b9d313332a735d533622bb46367f968d998f7b6d9f37a6e81e3 c7c892fcf76ea058755f531e50f7c4a6117c93f4da302ecc01d3d7c10fffef11 1504fded417d6369ea45c24af871f10ab5bc19e35c8279d3cc213d4a0275173d 26130433f80c1926b5474035272cf1189093e2ceac677622ca1e8ff3719b2938 4a525c1995f75fd9573d6c31809a359ec9117fc1fe63829b95ef9d8be91b688b 3db41822ba8bb4b01ff5c121fce92ba2ba045c3958a79083f5202b28f2f11a84 3a94c43d7809a92972334db6a329a273aa60adefffabcd6849d60dd7cabc5c75 308b170305d4156c9a795111f6a3ad72c360b7251b502a52934da6a25b3dfcd2 47cce1453afe2ae4efc26ef383927db65294f6c57fd87ef8b19f031ce956b9fa 42f5ea935de0e21bcd4b9d545f5dd96be4674e8f7089ee21dfd0aa1dc9f7c130 c3a86ddf9a1cbce8851898b25d7272e37420712fd29a05b236e544017cfbf46a 20bc998b7e1ccf3ccae5ebdbbf6ecc5b6ecaaaeb7b433e31bf2c971ac358c98e bd2f637c02ade3b8c9ca0910ea533ad426dc358dd317e1cb24ea44399899b266 7477ceba2e1f1afff075e4e7cf2395ae96007cc562c12a26ac07e6124b30e594 14f100531f1da24f998c668a1919a626a8d542d76b5b196d7e41e9e59027a5dc 903dda31daa781adf88e412d14ebc3fd3b45c4a29033172143d2400f2188c7c7 2c0b91bcd16599e0ad6db5ecf122a94ff894db6c8d443a883cb20d65712c52bb 4bbe8445a1d40b087b36e8d56b54ce5da0ff5fa6df51fc52ec2e679f8ca96cc3 bc47409303228daa60a2199544ea5be3281d7115c93d2e41dcc509eb695c6456 84b847fb61224e51f48ed8af51d3765f31ede8908b611a94b8d29ef9303dc4e8 1a6836dd635d180d82e806ad22fd7edf9f45cc3c2fd9615ebe64b8ce522bbfd9 dc071de159fa0414a12289340c45d251a8321c43be4d97c77e52f7b28994ccd1 01226545158abbbc8d3786b333ef4e9473b8267e3082211a822cc372fea74713 8188ef60c42a6479e3fcc9bf35c2081f5b7c164c0aa116b0aaa1714c72e7deb1 02baf1df798cc11e63d93ff2101e2d618a576226bdcdb447beaf20c86d9aab58 ee132f572739cf8423008d8fc4e2df375f37f7e2875a3574377ae4be51a90156 b6e1c35690fb84dee40b45bc88ab026640ec5b0049c1dd99ac25f82ede5fa39f b9de1e56ce2424c7c809d0eac61c774daabb363afe66bbd8de94f4aba9bd3ff5 be1b2446ddec960e554d295551783ee369b0bf5a3dd093a8c9b76e87f4677853 af03615ea40e9a389ff4bf1885936899e6a0f943eab7667bf2faf02ca6c3d7a5 3df5e0572916cb93a688b9f01345fb9902e620a51d6e11d3b4867a24e663aa47 75bf4585d63e84db3435c9ca5042670b399547cd16ae4e67e86ba34e45b911e8 a04c8962f90bda3ba9b725a3c2609f470736ab5ce75fee8c94388b81706b2b3b 45ec0d1dded3e9d73308e6b0fccf79234c29014cffe4b90aa912153b0d3589c8 47a48a325c920505342732bf504ce9b4abd384d1ac520fb720dfbd0278092661 db4ea664a5f28fc3ba38e7504b96b90cd10691d89a52f2bc0201c217c09527f6 30a363c69f238393fea856e64bbab9ee3f95b27c82afcd9455a1e33a1bf01454 65724be51e6b86378b144334527d43766862f6ca936fca8e0a72b404640b6b6e 54e2726da368b37ed65d6e6cbd83b5633a640acef1a22536d476acd2a29528bc f862e943d4952aee9bd890a9ecd9f76f301d6bf187b4d81d2c9f62f56357fe6d 8c6c91f71dbf11dc8caaf61e5e067e3ac9d8a5b7d60d03e70a7b338f45cbe1fe e7236e28644783aa1302ef413fbad653810dba24cc8226afd2f81c34f4d8d248 862fa3662ca2d56fb198dcd3fdb7956947195592fe3d3038be62670c9b1e1b2b e9d337fbf2c1f3e010e51711c0a06abb0d8943b24b570482547b6f7425ce4e1a 67ce8eb08bfc3106755afebf3ca63c50da3861bc67ec66aa673f1556efdd0ebc 8f4669adb2853b5161b051be2abe488e4e0a27ebd848ea2c69896c21da835776 500a308fde4bb5b252fdbafd6390b89f3ed6cea742843740b09023c34aedc109 e06dd0d67c8bb7d9d4ecde8fc6d443e5834afc1595bef96c580135a68a5d4eaa a28e247b8c001bcda756f26acfefbf4f931aa55bd66d6cf8d2cd33d969533cf9 e90c87cf3d96eb55ca564327c183608f688afddb99cc5ec33ad9ce2167edbfc2 56e1531634763421a4a23db12b99cf7299390ce8eef0d5833d7da4fc3ff13cf9 693be74c1a939dbbfa4f0b3c7a9c3c6d04281f87bb0059b2a99019f811bee02b 8846aba6b2e4be9b66f6e25b9ebfed54c1e7892735ac79038949888bd36ff72c d57432c117ec2e87d28d932d874b5a6b8b8f3999c2b1b24431bcb206ce70cb97 7dd5decbea7e7dce9ecc482ae335154d2acb5b169d2ab5f51ed19e69e49a057b 0fe8db77d3cea2e58cac1e52200b88e53a19afb8123c471bf795dfe385bd028b 3c4ce51a52cd1bc6b4f82d309fffe0f6601e7f039549120519e549857ca341cc 5d0611de6d8c9836afd187ddd49dbfbd7b98c9579729b932f322aa55528ad6ea 02193c532852c76043e194d18b4e78f7ce5d42d7e6b02247e57b6f0c2bcdc0cd 400a51550cab89931069d2c4f7cd1ed8197f16ddf373417bdcb0f460dc23adc0 299b4cb1ae59020bbf31cd16607afc20831f152d96f6f28d6b94233aa6676513 4520bab84554e753189544c8da966b5a1159badaf8ac04309e229f33cee47224 3948b513fd942a237cdb7b473fe8f036edba685bfb80aa8ef70ea18485135e88 ac33e7ba66f59f6107122176d1cf93b5fff3a1a4b29e0bc6eda0204d7ad70129 0bfa5da30c4ac58ad0d2412c6d0b2494b29e55bf8fcde04e7d6ab75d052aa792 238979383857c6e0e551ce0878938641dbabc3814f3b941ce0669d202fb1d756 7e7e8beff9e823dc6ca7ed461049c81b526a872df03bf1060d4c8dfa2e4dd0d2 aefb573343bd2b133abd7d4d6654bde37d4650dc32d2b4a6972fd208b95b9b12 df46c25d6c267d5ab7c001c883ba8a48b658231f473d90505d23ed1ef5c3ef92 6c409b154dd6a670e1e46b4d370cddeb171271a1dce10ec098aa92c5062ae741 617699f12bbeadf175e4adba14b6722f2c721b1fde376215bc270aca27ad615e c0318399649c7815caf27ad1d32532e35e69ab9b93fe2c67396a048e7129eca6 420c37d1f39627bad02468bbcc7bd423a46ffe9630d5f8c4b73eda7f3d352316 839fcfad2fe8432bcebacce42ff27450973891f9bc2fc667ef91eea2e4e586c6 a3ff211dd4cb465d2fef9984c7a6e2b8df0dd88f41ac4a0481c1de8249709b3b 4a416fe633a51c4e71a053d97b43c4dd8be1c5d92b9e8d68dc6ddb2819ebe148 4288b5d3a66e80dcec3d5386c05d5b85f7828f4972863a439c6b8edeeab31768 14d3770c51ef03a7e106270eab424ba1547f01a0105f04784ff51bb23f4262cd fce0b19e519afa286db2096b1ac258170a600a6950021e0399fb4db4c269a9b5 69a73e3c23a1e6106bac9babd827c206b577616289e3740581bcebdb572165df 996ff1a9d680029f4b97b50060c8be7f66903d27562390d2b34c126349775cb8 f653dace41047a45ec0bdd36de411a2db042bcbcfc3b90345b8686d4fd7faeb5 f2bfd659abc165b28ef6549dd0acfe831b555e64944b053620d77efc2156e2fd cf8505018ba2aed4f72abc8f035cf35c932de7d138dbe327b94bb3c648eb6697 b9918724bb1039412a60a98a0ddd034548792d2d2169dc37864ba171a3482f58 80cbc4b7f45a47143a6e915cbbba5e69c8bd2e9fb984722685a532f7a84da1ea b052e7eb275039a72668706387e966d9547ed184ba1df3ff7bbd87b1db14a91d f536dee50aaa823358691dc1610673561f191df143dd6fc10508413ce6881fd6 2b448e11f0913c82e89839428189075a369b08abfba46fbfd43abe9d48328ad7 5a943c3b9d00ed1956c4d4aeb4c3c9e0919f81559dc5952bb580ed46571af260 317822925ca9cf152e57f5f706314ebc284b7e7e11569930a231cacf96d1fd62 80732da886ddc52600a224ac6ebe7b960acba7b5b4ef4f5e8ff49a315203ac02 9b6f1d63d82e0bfd08da2094592cf8e847ad1b710de00257596f1f44e4e5dd1b 17e59e28f98b9ac96791803b919e59656f77cae80f15fa715e40a938adbce6c1 c80943b7e4fa191393b2f0c260e18cf54d29cdd26dbf1289c25183467de1ef34 8d5b38295cb6a46f64d7d5c209b382dc1a4c4a022b0c3a67012c753f16010aba 9286fa57146506e7d57ff41b8af933982fef53cbde28d4b9bf02d5da28a1936e 53ee3e615bfa0add0147599dad5b0f2e57f7815982bee5a760e5b23ae1ee44f6 23e0daf294d1be94c9a67b444d34d7fdd67bcdf851e94a99031aaf603ef8d164 ad0b57a0ee93de94e850b44cd3c822aac8da9efb23512a799a36fe5dc57092d9 720b20b68df3691358e0a59052986cd3136f40a50c7bd32c00284ed68def91ae 0b44ce8dd044e7c49016a724f9afe87d58705e0aad01de76466f66ad1ece7b76 64e35ccd86f7f7a4fc35cfb59dc3b99bf6d10ad704c784ab0e4f06529d189628 0c58b426782f59fb63e0be07a1a0f6f1bdb4c9f3279c789e8e221f31b178827e d4c469ffefab08a6fd6a12044141f5a8ccbeedcd6ee6f43d93e9d8fc94e4a5d7 6ff1496ed72cc89baf1734b22f4e867484438b3c1e20a9da5fc343c5e88e0663 7cd066a6c6d35b09919e7c04a7e8904e3b3894edbd7c638274b20dcd5d7d737c 15e6e63de6ca1cbc8f84fcfdb4981f366d7815b2ec3e32a52de6fd91f896d01b 85c131ceabfca3b8203ab23c5cc2b138720fc3c8abe78f5690987e7a93b3c479 205d3ed9f59d56fe0c8d024f2dc8e874e48b017dafdf97bbd5b1a26f3e9512a0 d31cf1e46d773456e5a4769d25ed1720691449235ad891da1f62a207f5fc73fe 555c4e04b67d8575966f17cfa41ba3b2d214669a79019482280be57a43734bde af2db166ba96c2ef8fc12d852a92e46d9f112921b73d63b34b0c7313c4117222 e3f8ef4a1dd80dd8cbf9f6f8332a0f949bc0e23d0df5e3723522c564fbd17457 ba80f2e4f6d3dd4bb36f11def220a920006a22f513187954ca216b380d8f6f98 70966ad20a18025bbb83a80892ac9b751e05ca51dea72028011eeb94fdbf1bfc cd8c9c9f86ecd4ad415d5a3a19807d4fc00dba5cd6240e28b138f4466ba9bd79 6cf9cde5c09833d8fa8220c81aa63b2ea9fecf0a8034a2351afa207322313bc7 4ffd245f9a5e8184e5299cb4f32c3c6abdc5f26946a298750a2429b1a08c3b8d e7b14e28263835d9a893879394137b1b8e62a8ec897cf7869e100fd787968b11 524f833e9dbd89277b192ff226cb7595b8c89b020651b2662489ce59fac6f538 907506ee91cdca9c021113bba8b8d65f149a2dc5483f3f1fdaa4b2fda75f9d18 9ea6acb7c4476956eba8cbc5ab20fe60b2a70c5e2979ae386f13530c2610b731 a117f5db37c9a1339813dbbb6a862872da623ae27c85fb2636156c4e67187ebc 9cef2b8fa593c843c4416f2076ba37ac6b8ce14acafdf2e44ee2eeaef019e3fb 20738b15ff296f7bf8f77c968939a1a2e545d62bf9a1c6582b5475207ab80d0d 8eb1f7e4dbfe1339b37f0fd5db6a71d3d4e56eb173c9b229bb6cca3a8793fe19 21c564dce425ee446f638e6ccd02f6391304283ab2912f250e18f743d4cf4927 8f634119fb91887757fca6795b3c1c1575d0a807587b878afa4bf34f44d51093 da074cfb900f170597c5890cb7a48f9c87d98f7a7c3968c8f06a21c4b495c633 4961bbec36771803c76e892287ed0c98419689a9ebf1a3eb170f5f6af1d91f48 7cdacff6576088e7bc55e4ceb331a63b0718d4e03ea04d46c3110fe626923e29 4351efe7455ac270ee4d473defcd73ae19de7992d736adc6f4464aeedfa939dc 8a91620c17985a6da6ebae5cd8f2d8838038a2e6a9a1a99fd6bd1b326df303ac c95869cd27f55f156cd33e32759d498c3bfe48f2ac4863f74370b19e92f80b5a dd808a99a29b9340e84f2259352b50afef66733dc021334ab3595362f7fd122d e34f1ae9847bbf6ec4d38ba012db281c3ac5b03ccb6348710d816d9620930080 7fa166a57326340ef2b556a8b41719f3305a98998956b9a1ab12d248353345d4 08419cb9d536447aee94d6b3a177eee0648cdc1f1d1c9f16f085276f7e6dea04 c967499803151a570c7360dc8246bac7351200382e2c7bddb3a45d5c84ae7ab7 304f757ed30b897480339306305b86fe9e859be6f4422780d6349b9383d08d40 1086c27782c5739dfed6bd274cd169804227ad189e3f13c2ee58a6119cf71241 e53cd039a9bb59854badf0a8d3594d66e0b8 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR10 %!PS-AdobeFont-1.1: CMR10 1.00B %%CreationDate: 1992 Feb 19 19:54:52 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.00B) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR10) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR10 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 11 /ff put dup 12 /fi put dup 13 /fl put dup 14 /ffi put dup 15 /ffl put dup 34 /quotedblright put dup 37 /percent put dup 39 /quoteright put dup 40 /parenleft put dup 41 /parenright put dup 44 /comma put dup 45 /hyphen put dup 46 /period put dup 47 /slash put dup 48 /zero put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 58 /colon put dup 59 /semicolon put dup 61 /equal put dup 63 /question put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 76 /L put dup 77 /M put dup 78 /N put dup 79 /O put dup 80 /P put dup 81 /Q put dup 82 /R put dup 83 /S put dup 84 /T put dup 85 /U put dup 86 /V put dup 87 /W put dup 88 /X put dup 89 /Y put dup 91 /bracketleft put dup 92 /quotedblleft put dup 93 /bracketright put dup 96 /quoteleft put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 106 /j put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 113 /q put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put dup 122 /z put dup 123 /endash put readonly def /FontBBox{-251 -250 1009 969}readonly def /UniqueXX 5000793 def currentdict end currentfile eexec 8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8 97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc 8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011 b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415 50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e 784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202 3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5 2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12 cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e 4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618 99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8 ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b 1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af 154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e 44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40 a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e 3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7 dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552 315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3 62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5 87f907572b8354a5c3165eea7e8b2ba4e333802132f760b41a900c698eb3d273 8bea0aaf7aae96a558f08b61aec7c7d65b2889bb7b99800cffee5ba19ac90fce 11437be1ddfcf0bca5670b543b9644a71c8726d0c1005abdb96f6e0cf7caaa31 95017ca81519151c2c0b04f81e717c0691b63a76e9b25329ce2625b711cb7bf9 9d23ec2bb5ec8aefb8c1a3b422ad617b3da4d49685fd44cc21a1fe5e1541163a b3e1594601d63c7e98801d7746474377ce93f81404f3570afbd5dbfe77578605 917ab96963987e6efc2d3f99fa56ecae6422579852567f90cc90e4ef6d6f71d1 858270205477e221018a375ca83c572b3f972c5181d18643cecb04909d84cf76 7174b3c0c8ec69bf1e9fdfbc0fc7ed97ec67d878ea4ddac8caa522fdc6932df7 21b81af837ab56b547d4799241310d6692918fcf8a46189a78d6638aad7cb446 2d8774ec73d184076595c94c0b4a8233c593a896c1c7e1f6b3f953a068897fb7 6523926599b073ffa918a82c85a8b5185e329127301849bce77619fd46d40239 f4bf13e2b8064f1eb4d6e9c83dd4bc6f2a59458c53dd46d2c1742e0751b14e18 0b8aba11b226608b632034cdc03d994854ed430c204d4e7dadd1dd46332fe1e3 9918585aef0c012289099771d3a9eaecdade8f4d7005807a9d7ad9e5748faca6 8d6dc63bf01d5ed993262dd75df03c201a7c22d07f8e5d348da80fc12978b761 dd33df9cff6895b88672c62660b9285d48969ead8bb1f9762f044d8e54dc3e4b 6f88284269c730c8fb7babdc4c1cc31eaab91208f9c7e9b7bee181c42215284c 17298577616020a4cb5c64e0ea081e043f36abbf551f364143f93d6e80c6a6a3 027ecae805411368a42f29910ea67af1bd0c1828c79bd919946278ff48d160c6 45986c242a501b1bbef4a1cfb0024114dbef8b69deee5d672b72f8e2d02d774f e70644d378008b690756ebab2c4943c2addb6f21992e8920bfe912f413711564 c8061e5cb5b4254e873dff293a61fb77a7e52876e155d38a077e089813a5b830 9406c31a83aac8b9717c54fed6b6905029bc41cc9d5ce196ccdf823ce575e28a b739e9242022a2702d5777ed40d932ae2d12b10ea658c5356067c562625ac931 e693e60b0e10a4ffe21dc182694f8fd63d1734b1cfd82f9975df79a5bce2013e 80d48fee2b194ec4fb4e54a190f5f3cd42cfea2f2d410123c5c2b75b54756fad a04dc19395762e26ebc92568ef5fcec65987cd20a8d35ac22dbd49a24e857733 a6cf5725376230df4cf30ea50d270563930f25a82f2774e3caada5a17b00661a 20e7820bfc2a7fc6333ec946a8a0e8dbfbcd5009b87e6267d7fd17761c507431 b685c1acd382caef7c57d570b9a1b560fbee3594092a3b4131bb7cd60e3e69d1 17eff9a003aabb64ef2ed6794f183f1a6fe83d7aadb86cde563cd785c6a82c99 fcf12d2cde2d807276535c12f48ee697546a96a0dbedbc8223e6056d6e11501b 1ea8173ff64a82186b603530efbe1f649b3d501824148be323a92c79ff53d1cb 1f66755722b77b87f71b9c788c133386ff4dda1c8312941d0aeaa20c9b8f99ce 696470540987ed11e59d134c58f663979261c61bd09d9c22a1099a5851f3b595 d039c6ecf0c24c94e84d39901ee311091f0df686b840800296a39db284683dbf 3b392abef88aa0c13be53777e6c6153c9f8591ea18bba94d7768eb54971b017c b0ddf34cd47a0b492a363d3bdd0f57b0217039779daaf3afd1390f80604b70b9 97acdbb0818b6f481ad51e17863dd6d5a47584cdd6dc153eebff4ec6de822abe 5fbe81b2dfd593d3e216b86f6923261e06c0597f16313acaaf7b4586d0c4b939 273d164e1380d6d5208ed7b4803eda941de1046bbcc2735f0543752921d274f6 eb3f2957fde2719511f621f7411e2b827712028132c24a3a343ab7f3b5e2307a 6a92c556a2757267794703870c66171895d47c1115848d1d01e5e1f9277f62c4 f9699db499bdc184fc0e0f334c1754f949e9e1698be7757ef5b7c6d313cb92be d7e150d41f0835e8cf2602e1c825e497342357d24a182aec00f2d2dfbf952606 b0270e09f8fb33e9ca24dd02a4815e1ecde56466c5a55038a0fa500add2fd1a5 6cdfb5c57d6d5cfd7934a1dde26fd79adb5f000c5cc18e749f42bd2f0d790cd9 af127cb87ba6d87c1069cf2e8c6a7560b66caf976ecac1adf0f202dded1e0357 429b3bce88a65f5ae4d271b63afe153ae45ac19e8a0f1f15ddb9de8e15b1f607 681ccc7ae08e24e31236c26dcef2219cb24a66b50ee4b5b2d880df97c7e46622 7fc36296683d89001b692e8ac8a81a52f8af3a139ab466c158fe03d671a34f44 5bf655ffbf1f29a05848eb3419f87e2e47f900098202acb111bb631822e2b49f 41ec26c1d4dcbeefbe0d9b5fe060f925f86665b578dd3246509d4add15804c50 bbe1c8739f365d1107268a090b80bb9545f236d43ab23a9a4290979c4acd21d3 125e5435c5096bf2c26b7f53764f43b27449379933c66aef89f390c74f517b6d d4c9f8a96f09964ef8a06ab099bf62417951acf46ea69d02a83599d0b2bc7088 48da053aada7bf481858beb117a4ddda81f9a135d8541e02509b0322b97bd399 f21ffe39149e4eae987f2c4be68fd3ee5a5d723c8bca91a3ed286db39f6f5335 75e6e8283e6c15cd37e3d1fc6a4ea730b8e6966a37e91bd845588d4d57266090 950846f282221130f4e1266d5662cbb3fd581508aafc093105237c79ab521e67 f21d0d3d64b6ce13db400139e4eab8758f1f4a728ae14a223638ada8884dd832 247903b1bf52c0bddec91c423d56bbc84436b66bf8079f8917740746eb8508bb d76f218c58095aa8094650f2388297dc4bfe1b1b94cddab2bd921d6d09335b0d 1aa2401e04e02cc6fca5a8b9c52da2b016e9ab68c146d4578c92e457d7329eeb 7b39fbd6dbb2ae313fd6b97849c3684a1438e8c3bc4d6266cbea424755d42f34 89e0d8410eae76e6d5472c9c1869256892a004a13a30911b935466f813f89542 359034699915a47a62cdcc13a50a47d30026ec4e5e896c0632f59797800e39cc b147f92a7a0d8f449eb67a80829f12474d0042c8adb5317048d483a11f724a2d c58d3440d4a9a2c5e3aeea3305f0b85398e60523bca8a2414512d9c543daeb9b 0255198a9fba982f5fca251c510091dd95f5787cac5f037e2536ffa515e93179 d287cc52cbd3ba937b7e17a2f606cf973ec0791a9b4f9af6518074088940a0b0 d90c7e0a8a1d987a1bcaf2df03def4cc8d9aa931983ddf500dfdc7c087fdb898 fc129eb8783211264d8ca47cc859ed60b1040fb7b105e6a635c144f0489cb1d6 be22e957c283138e12e0ce0d61a58aca34fef4af06f6098ed714efe162b5b6af 3983ac9dc2e42862874b6eec2d2ed122d2d348b576a844ad838c16df2179ca45 4951350a27c77f4ab599af12cfc07c0eec1635b370afded45bc6ae003054fbe6 ff1bfdfa6c3d616386bffc42d700af5178cad5a53b74cb805c7ada85baecd6e9 678c4588764b15e67c3012c3376b1db2a98ead3e753c9ced5c9ab09b43db75f4 0d44ff3ad0d3801acee9fb3895709bb4020a0f723e11239d495de8ce93c53dad ad9fefa301bede6ba6729c700c96205a9f6f6606c0c73ca4e92fa526a98206e1 1b632741933e9582483769bee0dd7975acebfaa4492f3ea2be2655d31a6d6dd0 5f1d7fa8e60750b75e0849b745cb662a9eacc0b44b7b1acc93f06bea429b6612 63c3fae66b11ff22f98215150968e2366144259a1bf95de3fb947603f0a3789e 242c46ead673360eed1c1effde4b8a455bc6010d3f8012488df47b0473c2ba73 0b0bc1d7164b92548cd9186476f484d9c74e477126e2cf525d498e4a9b6586dc 99066922ce6e5d2b1f4f21c4ed622b576f247a69d2eec296dd2ea2eb350cb91b cc49caea21c06e3c87969ada21fc096e4dc5b1d8b17cb3e9de13c93025000798 6b9e5cfdc4cb97e43276f9c75fc917d56f335ee859aa0c6995dd36fd0e41b6c3 2b1460bd04ae47479526ebece6145c423f37e8876880c463e3d686321518a3b1 c830108d4e92369cccebeed2593d483398c1e310824df687beac6826a30f8e1c a5391081e2877ba31970bfeae865518fc449d52870cab2bc8806bf85ba5195cd 779834e11140b60f219fb1b6e7becf02393156926bcafe79665bd11b934e14c8 8e321e0410b60e7cb1652fcba00c8e882db27a38129b599e76d514dabf29384b 2d20a6e03ddb33352400c87649e10555440e462801657066d16e62eab04c094a 1d5f55e29be97e938d945a67eb45b4ef144cb7114a4d9646853a6587793a7e41 0f9195a1c2e156a4b137079aa43d46314c3cb1d2a433fb59c8f2ee6b795529ba f9f90fc9dc8af139964a09a9218d6e9039abd8e8a70998288caa5eba6ca3df2d f6adb31c434eb89bfccc3354475e0ba76f8b049493c9efdaf21e4fd529d6a542 e2ec361e6b1a9e02dbeddc9c30057f537e8f96ea5b51403fcc6e446144c571d0 cd3b16cd3d32b8bbaa1b588647c5f96fe89626ae12c37eaad3853a449d9f5d0c a7e2b0edaa94f5ef3a779c9b2741379aad0e91cbfadb128abf9f853f045f9890 7895bf8d72607f1db143bb2b54a90a7aed7fb2e0b436b65d6574c3832ad2dcd0 62a636a59eae8ddbb83d17629862fb688b3cc83ba5cd25f055d243b60c0c0190 81ae7afe9467fe846173bfa400ca9dff663a6dbfd48c72fa40eb5e2ae0494869 477185452760c570d2bcb96cded774ad0806407b45f3402952ba937263b0493f 448a4220cd5f562011454bd738feef08df6efe4e125ba7fb5b016caea3b9d6be 5229c48ba54dc4cab359d9267efc98d47bfec7aee705cd7a9f85c256bf864c6f 38a15c2e7dafda93ff97feebff51bfbc980fc6b1573ed5d348f0ff3b8a7245d3 db14f90637ccb7de96abccde3cb0592b3a9a681f4ea119410ed04874cb6437c1 ee733d5c7dcb325437d9d0f279877d4fbd4efa969faeb889afba6e5b080627b8 8051c47096eed0e5edf0c5d6ed31e3f9941b4e94f971140f62f404224f3510a4 9bef001f193a01b9e066ca371579feaec16169c05e53fbec7e6a6713c4a17017 0f6c11e192626664b7e6475c187e279983042fed693197592f4e69d4b40c0c17 fd4635e6ea7dad4eb20d95a85e12a2729f320cff4a412eb98f4fd5e624dc1475 b60b3710cd1997baa377a77c0dfffde526a992d81fe8fbf573a951b6c6e8da3c e190e0d58880bb2543545b940145d9c2d3fa1c2edfdfc251b64311aa5ab6d866 fbf7fd43b48ac70ad0312d467960e0a3f7b92d96225b13cff80060f0a0451468 102fd860334a1839a7827895dcec347d4057ceb4def6dcd4f43b3360f8334160 46d2b5aa78f3feb80900380b9cffff496b7a2c2986cbb77a89f955735a342540 6fd363fcba586137969cf5053e912262eba15048d474d2d686c7367d8d8edd56 9a704f13dc815756ba4e253d1ef1e93a5b20ae45a511d8cc6b904d029a64d572 05e21f9c568b0476b013577e3ffd1458b2d7508611fd0f11c188edb1cb59cdbe 51acd3c8c9342d1d8d533eda235517e326cbaa6713bfe37218c75748915180a1 3a82a0913b6899926a5076f11597aa08092472b3b69e88f00292a752d7636be6 0fae717b3867e033079895eaae1a4932422f1f0899f1ca7a7c17a07558afde85 e168b01989c1ef3d25e212b0a85666170fa0e00eb1f8678f8bd8754e7ce967dd 4539833b4a0486a7085cbcd03e2e4f86743a413412b742d255d9bfcf07999c85 022c8486a2bf7d99b3626f04a00e533c8fcaefac785114ecea329120c3552345 f491c0d52cba58959be13ad4304c93b7f57b0b0e7dce0de2311a30d8ad041753 494481c7f121c34f028ca62362098577a1c6e3252e60026f48daef43109cb295 574d23b3dae440b0a69c8c567b4f3648b9ecaafa71cd709f66bd5dbc3cb4739c 748d239764409d11ad766a0929dca7f016223c33a0c6a3d920d14c3e5ab7a331 699588d284cf622111f44f19be7641cb46e41d3f00e3fde4029693b0bad310ba 44fbf435074ac55e2a58a0a2e031dab3b600de9a986a546f395227eb75f0b02e 681936a4d51096a129e98ae8d172bfacebc012b136ab18b78cf8171cb9e7f1c9 8afe3e40a5e5b95e20e37bcc7420d26aa6c23417241d004a8e4b57ff181fd03e 8b77b7c232fb346024f5d0f9e3260a10a129cf7a3900c1b722740c64729e3fac 596b076a1e5d1fe1cb6d64580a2778ba76b3a5a5fd3956ae2f8c1f1d16c25c11 bcfaecc7e8fd232125e7e816793705ca853ff8c6b147e4011b36babe85195362 eae32b5fb57b3a3dada5944ee9f619fae9dc20448fc311c577462a3f4da5f64f 03124dcf1d1ca18cf85cc73742113c4e8631d21449a93806f37a5b20bd090e24 2be4a9359eb6f0992650dd2219270ae4d543a648b3be020799188a6c1e4356f8 f03103c66b8119ecb70f9e59bfc474f6743e5a46268bc2a9fa5b7914ee249c40 032f00850c2565015423af2a68ab8a39fa78ba9afd868da01b1b90d6b1b14d54 2855b3d8b80557ba3bc46385961c473ca0e4b7388462f0581009f0261b04e9e1 df3cf63bc0e122ee256aa096ba9955456a4365b11e184eaaa2c8b62fd17e0d7a dd5da6f90e314d8f736cf3f2669e5aa155702d355f99a4e70c5700394041e219 96c7600daef9a737c20af5bca8abacbe1dadeb74180a036e7e4aee434a063865 58cea7b49a41a4733ed14ab79a5f521bc14ce27ad1f5faeb3a48ca52c8c627bd bee651017965e835b9a64d47d7e43487ae81ebf146f3c84c6a6d74d6b76e8674 0b74344407a0023046677d8b703154e4ed83dd6c5243f5e78ddf96cae964640e 8855ffd971e31859ba4829e059e1565b764dfae2bd23ad939c0f796b87726082 d53c855d66c8b69b4b1135c3388783edc9e865387f01da921abd7283cf318517 8495664934eb534e4e46b363110c494302d54365607198fa0daa8454425945be 6fd869270b6b1fbc3cf5f6e0155d8538091b8be50bb2d9a993eeeb9426438839 922b578d45803fc08f896dde4edac61c44c32a0ba1917e5ed0c606a18d9146d3 09a289aa07b64ef94e8bb465b0a2ab743dd34bfdbe790657bf0f9d47500c4d4b 94f836de70d7f0fdc8c071661380ba87f67653b4882bb17888bf57f6d0e07060 619c405ebc188ddada2f101ca46a3867e43c285a20bff89eb89d6b0497d485ce f1c47e79cda1c5887626e022a2a4e885af401bf7fb9524ae74709e2987c8fee8 e98d1e0a534fb7a1aba927dee8932188d31a193c8ed4c3d0227198cf965d3268 ff3554eb73025d80e57e4ae7b9229c0a342e139e33c6847cb83b565f6a68006a 72eb5a28683282037317bfceffcae98c5b60e5fbd664b2c3537c148199a2ead6 d2c7b95f85ad6fcc12c3a1fc4ff0e6563276fc0f89c3a0db6f27cd10ad77b527 211982756f36ece21e822228ec4d624044087617cf2b39bb3fe20e8a468d129a 4f81210c7ee77ee72388b5ed87cc2eac4be348a56d550f14e7d5b25dd4c1e0ab e10371959b9671be435249b5f4006211000e3e5e06603d03693737f4783334bc 4bee13336d4e82d17ed605860c72db6fecb3bb4e301e85c68af1c1146dea4eb9 6275f4d4666651e227f1843dd882d23c4fe631b3f358c5b9dcaaf7e728e76823 379fc92d2b775a9775875a148b2dcb92992fff2052561c4ef98f221f9b62466c 57154f901236af31c15902ca711d076c81f4497d882f72cd23b22446c166f8b9 12f2cefa37dc01148c8cbdf46733e92387161527e895c5b0410aba49f4655909 cb13e476051a8ef54496a759315c303ed1e444e74aed4f069d16393ad4dc3c21 912b62ea28af852807aff5e9064d5ca790f6156373ad6b821b953e7481d944d5 e3f875f96b5521e79febc1c493be206a64722f427c790806e6f047e0edc5bcaf 9aa26f7db67699ef1144c72e7ccb49191705cbf41183e66c1f7e3468658f4a89 c24df3cb095a386018f0ed0a8820699488fec99628b25bfeb4f8fe9e9ee654c4 4a8a10e8d412382ea89c282f92e007f264bf2b881f57f54da636321523158541 1671a813b7da88743522ffcfa2bf4421c785fc56c0b0d97789047d145ec56995 769e99715cb366a5fb4efa7093ae0751d3bf68b03286b9aec6f4eb7cca08d352 b59815e42d787cebcd867d12c99443ea128699f378d83f8c738a8c0e3c8b55c2 fb5de812ad49a519bdd1cdd3d15f77bc8636f2564d9876b574033c8eb06b6e5e 59904bab74c0223b2a8ca9c1812955486a63715b6d6d022af960218a324fcaca 6d6b10ba4b297435f4992db382e38f27b45c738123f48cd188e29d0779f25103 680b59eccf0238d0e51f09c400a50691f2efa228598593b51987f5ddb75b14e4 1e3b690bca0bb55ac9c0b8a60848fb75cd1fddb28c56af2808b48727492a8de5 9d00a7c2689e631f2b153b467fdb13b89502f23d3f4bbcc40e7171bbf93edb0f 33120d2483cb74c461abbd0f7624d4cbaa39f093d7c92ee442a1483f1ef7f219 abefaeb3c27f0dc824b1a305cbfd2b8f237f58ad16173e575be4137b5a514394 ded5a682e9020251926aab2d5a8e1ae346d243358c1f5eebc6188d10fe209c12 0e4bc0ae9f4426329198876af93fef8d0a11079b64b9e7e6354b574e36abf7a4 77246d195275dc8cc00c82612391b17598505808bf68415e9b5188660cebddb5 16872121e181562daa5850bffd4ecf0e524b3853b5f039cf7f4cc3cca74c431e bfe231bfd4771612afaf498aff62f7e8680df2b2a1e31cde4e2df44a917b9884 5b0d6a248644df1a4c5d54af4f95d558b17869218c3327c59ebb8785da3fe3f0 a95ab7fa203cd657334bea82f4d42ac83488c58dc85bb3f92f885e21b6ef4931 09465d8da4a1871b114909ae63bd1feaf4def0412f0cfbf6fdb21f5c31cfe642 8547d3b1c1f912b6709755f84fbd52a1c05067f98856aff3b749a18f2fcedd18 d25a8fe6d7394bd7f1c7cbf32eea9947c1fa9a4477aca297537b9db69c26f6df 70cf930124e8ffe9c20d242d88632687f365c8870872ac4a34fc1853d699d6c6 dd4dba2e0518ae98213ded7d3f06c05fbc15086037105f2e3b8328576e11394f d7de488a1f087fd2d6d7ca44dfe0f32b842455070975e65639c0b9e55f3aaacb 6458c247ba75785ef328e06f189e72cce164270c2756a6488084d9e661d443ca e06e99b0c44ef1f9f721b4983abfcd191427c0a0a2b6fcc356dedfbcea2baa5c d7c8ba88fe3d88c82d68663d687a2356ddc34d2a0cff56fd38689dd4b45a7e07 f01222cf963304e634dda92dcd08726adc7ae249bd9c6bf997d48f6518232a04 8995134f8271d9208c22b43b5f0f765549339fe1dbff4bd9123bcb386f1c4175 3b572d253040954364453adf948b0d56ccfdd58d64a0fd912584ebe7f264ab45 aba5b6f961f77a00094e1536ba8e5024f697799028116a5ef770413f21cf5cef 3370e5a6a28947ffbd9ca4b40b99c9d5633355199a16da8970cd3d63616eb45e a463c65e33c7c099fbe90c7c442a36599a81925679c0afdc2436c6891a20e6cd 9da519a6b60f809842bb6351524b51d7716b307a78fb490ad5075a621b96a3fe 163e87b9ac9349b7c2b5e99dbfea9f0d1c52cabec50580890b810346f257d52f 85919e9b9c45267f7cae708f15397cedaa7551dd22200cd7274086953754c99e d6aa5ea036256327b23201ae9a91042597a09ed00691f1e14dd0718ffa93b9c3 798c3aef76eb03ab609a5dc732bc4e45633f377e10a8752f730f31a00af3170e dd932a10ea75914a0d81336cacaf62cef131e28374e3ae2631831e5af119f82a 630dfd8d53cf26d53e48bd692b0188889e4cbd35bd72cd35452891f28803d601 c58a9bf55e4cb384aea26b9142be034e5d5f4a4015a800986df937f33991e133 93fdf155efb5644154fcbc98208b8523b3d07b81b92777aef5d7765d6dcec4f6 81f9c7b54b263762141fdd60d142f61a5359524ca5c6ab91b4f5724bd5d46190 628d0e5db23d83734127cd2614625f710faa5b065d32d14bc30a7cdcbfed9199 cb21ae15095bdcfeda6be5f73016ccbba7b60e2a78264f37ea4a0f3f6d549971 20077bbce3cb543e626a44bcd60521e0a633bf40df28e7cfc4f4aa42866b0c6e e76e7e4d0367f7ea0dda90c79056c0b1c93d613c172fa33df97e0072a7e3dd57 2cde6830d48471c5a666ee7a22a9f0457b7632dfcc1c105b903335c25bed2206 b36df4946bade3730a5b3931a6ca17e19e371b70d77017f33336967f42960a32 c1a1314007e0f8beff7e4c6e1651f15bb6fc4c338fb37cd16f569d4b5ddcdaaf 00395458d7ac9c3b65ea80d0970f9973c1279cc5462277edb4fa1cd76ef41754 203b7ee83f19b6655f4719f7cb1fd268f7fbf017b9a0082c0595a99aea3f5995 86ecd3f59f50d0881d1d01638b9b2c04e0f590bc339be0e9f5ee83d95cf126a7 9bbcc92ceacf709b65e9cc6ba5f0a2c30841b85ba77be3d72f141ad0cb9b8564 edbdcb96e01e61e80f685002911121d0c076bddbba004cfa12ff8f982cf00f05 9b41a9a6aa2c681ac682ec63ebe7af0a388bb0b6160304effbd74b4da48d28f5 71da3b6f23573f3b1b1caffc4638e0cb0209171457e0ee1e066454869d6e3eae ac96b786472c0521c1c7e5f5e0a4f8cc1abe93cc549e64c8fe672cd567af3c17 21a4b2799be2403addea70887a649ea1f1096268e36c2a429b3f4930b2dfbd51 7db721e940c90dc0b56eced14bbf03f80d4d36bab4c8ca0b3ddb12089706fe92 349e99f96a6889af51698b0fd6410f2d9e42addfee5dfe2c14eb39eb096a5bd0 67113abe0eab5435f22df8c3a2d7c04582419219673dbaff4907fdd27604115c 8038e7c2baf59baf550a9900c607e2ad2eaee6f92820611cd979fb94adc01b5a e3ea7ac5aefb902d97264c65ff6859e49292438c5998fb1150ff46d7812e7ee3 d687e862f53945e1d301f07e8fe85868a226c677fffd2401f92bc551348ad8e4 f4e945fe88662a1197f1a3b67fd90b59ecf017c715e43256ec0bab8a82dd7795 55824c096d09c804d82542993dd791921b2a4bb78db57abacb089e6d1b03b5bf 0eef1d47daef40676a11bbb843440c93963a5244521d29d8b859753848cfda6e 70db78b459ff387ad847f5dde7ec2fba1476c8f4fa511ee2bb51a9f0227dc626 b1aa73f10ca8a00915bd0444d3b4b54117082cbe32f0468a97c651bd97687031 665abd5df4d9899e83e76617fc392ab0de00d5c8c69f140aed7561637dac68d5 d7880556278412de0820e7d3720015b41a9b0bb766e9140237a37b20bd74909d b9678c0ecbead7e6149aea7154ab1a977b561546c8bacf5fe98041537fbcac23 6a918d86ec077658d9db1ec2b4b6063d28766a3ed9c1aea6ebd1b290b71c8985 34d134a3efbd52e51564f1fa0304222623f2d5eddf6862d63444704625b40782 7ca1ebd3a0c3ce60a669cf8012bce77bac243c74bb28db6aa1f648af43263470 705b2d8e3ff7e3972e52e188cc2278294e60ec3674b695276a0a2192fd38566b 331e1d4762828551ff99a71e12fd05848b2d9a013d0e69f8984b957d6f165166 6d70b00df777f719164d40d6c87163b5d1449cb214c23fd83c5bdae393de3070 3702c7d4744a7d7263790ec5f81815652483b594ddc366fd54efa5f76802ade9 0584ee857602413d4ab51ec1359b50f720b9b63098738c4b71c5b17abb1764c9 dc2956db521c2f4212d10674fe2ac116254325feae7d8d729497153266701360 bc413f5a1be6b6236d8f81dd2a98fa7373f5900cfe5b4cf2ce8b4d3fa792ddcc 484fdd71d0172a05629e2c15aa7f581f1f22720f409c8dd538f54c4896cdac54 2d266a77d179d047688b577a5e6af82090542acd59897eb1a723180e020ecd5c d89315d9321cea737697ea98d91334445918c8e694e155b5c84c8b576e986ba8 c99628a5a246e90cf81814742a935a328036afcbbe17999ab4f2e12a8d6b7004 4dfb92a35804150ade7242814d2823f40d3823e799f835f85d1226cfcebef2a6 24ea6f0ac6c6b4262c604348c2baf2b301fddfca9b2f445469183ef0f830ef32 b012882af66a554d836cd30b2c88efc88b57ab9609f0244b92ad454d16efd45b e34342e94e1104667242f1abd006a7a4696c88218e3d942005158f8c4bf22e31 48d6ca13d4d983fd7878d0f244f3e616982fac790fc801543d1d1033f151e528 4de0695396ef0a0c3112d259077c37a82239e6f7b515f5eee5f00fd414c89787 0d5d6c03b4eb95261dcf253245f073e7f9a242cba719a29b6759cdf0e26b7494 4553a2df9c73e5424e649a7907baa952df2849023b47dc05626d7e4d8ada4a82 34ebf9cf6ec3db7b69bd12078247e715097f931ac1c5a2eff68fe36948bf4222 9226a1f08f7c781db10202e41e3a379c4f75ddea3d5fdb8adab8111a015d8632 fbc9ef88b80028b054ff0143dff5b1ae3aa4e9d0653f53445806c003fffb04ad 6d83f606ff5dfe7765b4b71245dcb5b6b7d66aff42acd5506b4cc735ee6051bb 7db6fe78fc821311e6ecbca6b7f218734746d451fb8868dab3683268b4b40178 2af4718dc9439b40792d03ac1f79a95b4982ac5a7f7d6e29c56d7413b090d78e 2ea509f12e6873b0b45c25f3bf57e15319bf2d342d1a61f86458b10d7cfd7393 905670d068cff2e7a548c3cb462bc56eb7de62e72322d2fd962f4879edcb2547 df8daea21902b4a6a5e32604f2b0ed343e7c28625a060f7c7e38222f3bd9baf9 a98db7db8a06ad4facd54f94cda0216adc17b341aa65cd966fb5c632fcaed244 385f5f442fb604a02251828b03b2b4de8a5c06b7af06f3f57794f4ad1bd467ad 570cec3956a80b7532e8bc042db33c2f6e1ebf9636f89e62e0d39db72f014ff9 ff0f057342bc12daec85372de50f1ecbdc88c78a6512b737360ce39d3d4e635e 2de2d12a6f5fae43a19dbfe5f0424a99a2277771163da23699216c247e31672e b441e08c02bd8fd12d11e761881f7144da293cf58cf4725f6e8cc13caab442e5 11a26fc534d7b9eaa3049e55acd9b87bf190dd6105eb6dce348533cd6e89b60e 3945bd79d06103f4943a1b1d4796647dfc296f2bd3886ce0dac572dd3574a2aa 87f24528a7db4f205fa764cfd847fc0d6a674e06e3c4353be8f4c6ea363c5955 3a61128199782de839d1a575b1d2469757d00b18a24c53b2862e24334137fdee 1bac8f623a79d7f27e95767b841e5cd853e9b2e3c5bfa4180b356fad3f29c4ec 8f0decc00d353b9e825a918d9fe1293cc6987cdd46e2f003b0a9b52021a3d3b7 41fb979026a3d4963a15c492ef5e91c308f24e7b1cf8127ab8ec301c4fd2c259 ec7d0f3cc4494fc78c7a1925a0a86e503d16e7a3d0c0bb1a693b78e8ccaa6f93 00853536cf75a8f3b2a9ff3cd752f75e7e10a49fcc77a744cd93992e2a35d397 4868938d16c687d09f0c10387d7181da1861bb9816dca21925db555427457fa5 17a4dcf8435f7280a780de386e44219975f03b72568eef0f13c17a9583a3e7f2 8ffdd1619ebf088cff8c1516daa21e253331115c1acc71b6d4e8e978abcdd44b 51f2eedef8cacc9c5fe06910f3fdb1ce537313d6f676306b01afa7b934f3e60d 836c6a98ce443ac09e376252379bbe21fa2c5d905d94929c32e0fadc4e6c13d8 dbaa1c4e88e6cc80a91789da776ef98a8996953da4c9cd187fa0c9ee3a9f8b65 d70298671f9e3a2475ca57c0996745bad4b2a4fbe30c12820b08baa73d562a59 b06f3aba85eb6f867fa12c21c01a66760780ca010e75e43ad32bfc1ac7b56516 514c8edd5a14f97b2706b973e46df4a61cc2bd6e48ccdf3558cfc4d6b5df0f1a aa2387004c54f8b6f002f0aec5d8591021acf70d5c03d360f5c198d9442d6c23 7cf0df45969188a794764e78d1d457b4459e743640b951af6a1150382fc4a698 7e2027bf1276231455082fbd6be16b39e443a4085f7c8e677a86084c360e4ae9 4af3b48791ac8163810fb7a68d68e4bdff1a7a7ff7f90df9685fea811ab3d962 bca730b9458c83058a23374bf5199c26721529ab145f9c7bd8c3a7b12e662948 f930b76f8e82e5ea4a2a2abe47bd7c3fc8e2a5f45f1c6bd57e21389a450c37e9 5c0504946a117a398be156fc15b331d61647258bbac543c2f9c8713981a5a7b6 4cb83d9b98148a73be048c58fb5b16f65e8f02519ee2515f1eb36cbde6845291 761930b8bd8ca6df9e1c86782866844b3e79dd7716be0cacd4c81c76783e052c d67a8c1601af6444f692263644f9850a4c61a98894270d64672e185775d63267 d5f312210fd4e5effd8ef79fe61e3144801f78c53caab98ea58b44b6c90cf23b c375b727f69c48ff44d73a83b1cf2981c6b80ba5dfb523d119265c06197c364d f799e12ff8a838e9243965818027965a8ab08b2032b716141e716ac80c442125 bf216e66d41e98c5b08ea8ed21e3de24c5813390a68b7d422999beaccf1ac420 586c718feb86d3223fabc044f1f4407ee7c6dd379dbf1fe6fb3421dfce6da376 db8f3cf843fadf204878031bbe54b3d12a677f6c82ef87f2144014787bd114ab 9a502914b4150fe99d9fb3fc75ab53aebf7c26840aab1a738a45d7d42eb482fa 67f55dbcc61b14adbb35054145fc880f97ddfcd9863f572c7b0eb96a3b2b108f 75c8cbf63461a536e6ae4c05ddff4b23450b0858cf20a36e9d41ea849f02d40a 86c2823814a35e91389168d681380d7900f760edfca65d4069ea9cb9ed81b83e b381c04e546f99ad5f4809d3c333e8827c85d64d051e98eddc1e994799252279 31c7c8b26d6ff2900989f3bbffeef9c670b2bc91cf89f20024f0edd43feaa365 4ca7b6fd1612b68ac40571bacff9553c0ed07ece7950969577b2fb1b27725e20 df9bd9d18dd513763de7efda2d177a846dbf883b0b3b11be7deef25c1be0d940 e5bfe24411891061563747657a90fc578087229127fbde2091bdb46f7aa05fc4 cd6dbe7040d6a628960fb0d0f49a6f8df23f1dca2dfd76b6d915acd1208cf1ca 0d3ad2d64112e4420ec04ded371a98069e29ac4e69bee83765550f1190d2373f 18d1ef2c3a22dfcfe36386c6805ed8c01e3cbe15fcae69ac9ee89e1481583c2e d3d05d29fcb7b21aa577d0c92e8bb646a85766138b7c38a09824ea182d9f1536 2807c3e0b15916501b90dde315fb5528b01bf80ea7726042830511eb1cc48a40 ac127501be12b23037e905fd33ac60094eb1a9de8821b0323d397a22d09d6022 51bad065c0f9adbf14e05e208606b88305f5aee7e3bac2c2de072b60ea2d972b 0c2af1f1d2fb9af0006f6caa4f03486151f890938c761f1f31a4c90ebf17ee69 53603d0ac5df838922f0c9a79f290a7ef97a78775dcc76de58a165de64d18a0e 149064f1b7f79c16bf30624ba92f5826439f43e6f65d7ba6079c3c997541adf2 c1266041f9226a67d5a8e2dc84f45cbd93acd132e4a941dfe061ab8fca655605 c3e8a61939083cc1de9e4b0f2cfbfd03bceca3fba22c33011689ac558c7af3e4 a8466088ae03d7a57c04f691082f384f02a68b8d5879094e1e65512511f5eda7 5f75fffd0210f438fef312aeaa73f4c0b38fd53cfc4417dd9105297283ab76fb 90c32f323fcdd007ae639824e042bb138bfe4d62483f12b00f3a91c628b01cee 3e34f1e8fdc2220f48c08e000fe59c17702acec399cc9ce4241f5ec0b0d13f96 7bcbe908c2e784045a49da7a22f1fa08f60e5b81f11f676e2ed74e89c2038c12 408d29e07759afc1526f722bfb80a8210a6762cf3bb80041ae0a9c9e4a214cef c08a11d685a2c9cdcdba1b10d6a19ec25a4fe189c022ae15996e63118a606e4c 2827781a2fc9b7aa231ef066392dfd6dcdd365c603ad100a52405fb42fa673eb 97809480cd31de49587cc3824a8cc175f66ed066663c1547bb02def8fb339942 9b97f24ef107b38c113c2679c772e41437216b5f8d1def908d6a8fb219fc81e9 cb890ffbd438616b0cb7299f08c5eef479ea561a774c32907307c76d4f95f4c1 617c7394088dc54f0b22da0d5dc12fc4f75933acb61c40427edf1ab085e75e81 a4653b587a6a3037ad90add6562fd844e12e816157fb5261965ae6b84fded339 c7c4a0edf2234cd37b4cf2c47cec1de930c2b07faf031d9e3955738c8c94f2a6 e574f8492e8a4e00a083e514d98d9c737b2734549d205851c22eb33547f93046 ceb3282f425d341782d2397b299bc156104c28643f4b806470e46687600a9607 f7ec5bce34a1b78bba2aa55ba51b1cf7dd60c05bc26902c0641523eab5548997 e187a308c24a5e2b941e8d531dde54915a1d79905af0c31c9ff794c2002a877c 3e4b38558aad313a8aed13cb522e0ae8e3833b60cac3795c544d5d749ec87756 895f6e8e716f04f46884bb88b760adceae875cf4d8d574e1e15e163eacf9eacc 7906089191bc9a2bfed3e3a64e271f5887e0fc64c7effa46e3db5bbf00d325a9 049eb9d9c203b6f01dd9f918d073167083387ae7b0caaeb766d987c39f5dd158 2debc95265aa68cb8b67b4a88dd125297922753d6b409a56e2cf8b4685d42c24 e40058cd7670dc745db715fa0a84d3d94df79e4567b076a1db969711ab2590ff 1d7e7aef0801c3eddd96d0c381bcf55a6c5e000b697660992aadee53338934dc a1db89fd880b2c9f33f722b12a65e88b41c122aba14bc1d82ede092478c1a66f 44830828be56317ba2818ebab9323adcf8d9ada3e69de4c03cd6137685e97672 3a819dd09891a3166950242dcb549e8408ddc791a3e0bfe4c3f1d99bb24494e3 d847cd1e06111056de250cbe52b8c4f990a7b541feb662f13493c73f995b3050 9009e60a959102a6f3f79a509d86b953d9ade392a001b139a939a9b7314a02a5 00fc4f6e48715e4ef22fac87cf3ae79f5603270c6019e6abb6288621a431247f 6f9579c4ab5fb797da48c962395f0a1312244a4f2caa2332f6324623137a5644 708738610bd073ee10628dd31953d795b0aa8949bbe73f3e70e19368ddba8d69 92dcec2de2399be958527bc4b448dc522636b30cb7c597d7f2a7d93595f52e64 948633b5a7522dc5387eaa448012a170283cc3dec146d411864eee51f6d7b124 a3dd30e2cb7eb7b3ce3b356b71458128b529f41352a47b206a6c5c93d4027046 c449b96da1b0a67d14a9fe70e9a30bcdc07dcd5cd7d07af177ea009fb598e4ee 45844f40e69546f23aca5c0b7eedf8a2e2a6a54f1da105571ef499128efe22ff 0887525415e621eeb89c1b34cd8c3627af7eba0f5a998ed8e0f7bc635d063334 18c99954c09946121be2b966445bc162fddd44ef5d2a619f39fd4d6a674679c2 b05fc9ca42f41fd57885ff49dc86120345a719edc5fe4bb64d0798b8d1b260c4 a89c2e91968766df6d3d320bfc400929d2ee96c9ae807e288a4bb7c546330c96 63a4ccb509872a9440400980fdfc33381718d9d48045581766b4ff5699c5fbed b68c4100add6f5a9ac44b82641b26e0ec415684f485ae4969de225f82fa31241 d10a528309493d1fe364b886d6e41500be847c4e30731e706e8b5cb296f790c8 3f80726d655d7c07eca178dd395da7ede79f8d3520fc507b6a48f29f59a35c79 c8c6b3f56b7a79909e3558ac68f22cfa25e41567a2b06af97ca9214f8b20f1f4 4cac4d4737903d82e455dc2497f2a802cddd7323a9d55f5fcbd1a395f0436e63 5ab6ac186a8625673ae93657402cc3aa66ded9e1aee9bed51695e3d6c3e08b6f f06599767ed160e204ecf8bb564376720fa18ab25774d682b05258088e18a8e8 3e96a9bbc85e9404b7087c20ebe882f9d025e22d647290dc331b786732d4a0dd 0b9488d28709895096dd56124cdbf026e21fe80f7ab41843c2e99b242dc8ca6b a3895c8a5fefc31bfd63bfd8c924a32e68b7295ac486d1c28160cdb99b97c91d 30b9fbeaf57d101e18310d94c50cf0a7f435310e2bb22e028c3d31860158d025 5ffac567c8f161d498ecb6e85ca9e98f53b592e3af986b36aba5736d969192ca 378a3816db705f1998a0138788c0090c4ba28e6060811a123b2091eb322323d8 7ccd4296f67cf0c9f0187deeb75685338c4cadb4e1c6acb336dc70a959a310fa 3e078713d17b6cf5e3ad30098c1c7b141fe103a2d0ac93296a43d37d8f34cc3e 1b8e19e314e159727cb60838f3a302765b265009eceb6bb6853771f984c21560 8828e89c3d212e34e9d4db79de0e70a0573edd94e21b1deafe123bb855b04c71 cc92fc133f5a3b0b064662aff0860ac624e7eeb43eccfca7d6c9b71eb41fae56 b367d8506fb8667d154d6380a2d244cebe803c7b598f81de0eb366fe4ff8abeb 5c69a83189ec373c8a120e261009cc318908a37b472780bcc902a48b1fb023ed e4f42b1e3414e25d4c5b374cf707ec734db0230cfd10f95c7c6f6bdef78c9f76 943dd8dea439474f2abbe55b2792e72319c107cf2999a5ae159f6ca68ab7ba42 273469a1724ec8c8f156da40a460dda17162a48dcdfdcd744db36a15b5868682 b1c85fb755ae2c8a707bdddec875eb04c466e4fa43368dc1935cffa21f5854a8 a1d4715120a4147f851c832a3473b7cfb931ab65e1c8838f0c925d8fac31158e 87bab0f6dcd4c5e48018f9979cb54925f11e4e7809c785e6b6b3729c39280629 612ec98d9a86cd038323cd0de977910e323a307c4c313834d2b11280087c3810 e02d1d143662701929994ef55bda4af5726488de6282f016f9f96c057aaae5e1 5c48bad5e7017cd41ca784ad1faca8cf2bd8234d40d8cdc366969f5a675e10d0 beabec3d7205951f37968a854eaa2da626525e278db9a4534c3d0f9e5346a3d1 542019de52b4efb305102ed205c47f7d1caef9c2400d81753abd5adeedf75757 8f1481e3416671a9221539149b01200ac2201cf247a7721e2cc9c2ae2b96da4e 1c9d60776de325f0b15a9db32954798c9db5b891fed07498026a53dd24109dd4 0c0de814005a7346e4d2dff34dc1817a3ed449df081f70eb32106f8287d4e904 cef916db946781213c8e4b2f12083253a08b5f28a6355e1540747a40bcbe8f6f 8bf8054251671b64bebf761d5ba1f6d71f950445d7b2284b30e7d3340a5b30b6 1c787a9db2a1440fc5ec73d4a68af4368838ddcdd67beba2cb310d0a24130895 a19f92394a4f63e4bae80dec4720a985195801cb56b281a1a23db8ef5df6a3fc 1e55c7bb92e05bc0bfbc86d7c770f194176d0b60efc4ba417903813dd6e0bb90 f69059a83ba5bc55e1f3a0d76282cb0ac1491adee3dfb1be47e8f7f618065f99 87fc71bc4e21fe70ce61cded6afe1a3365d76fc0282ab5d03091030d03e386bf bf2bf63017425e721d324acffceec788eb39ee21058ab2f64fe0a5e5ca5575a4 d1aa880dc27e3ce91a7285e8f40440b1c3a467cee6f5702bcda4733c5aa8300e e1bdcbaa2e9cbb76e3ed07dfd2005ea792f4caa7e838b326a38ca55423ac17ad 3836e0f9612c355671838a41267e74b120261f058db98e8b8e34dd0025253396 bc1d8766cb81845adb72280985844218f60da06b789ae0fa54b785b50f70163b 0f1d942fab7bc133ab3456110cb11bb781dc76dc7e708f8b416a231dd61d0bdb 17f86914216a145cf8c9d33c72866125a200de07288345a90d98ed51a2c4a8a8 736b449696608ad5b34dd4b80ed0dbff2a70bc50f6eefd1d04275bd5aa1a25ae 2c9195b914e37a730d8a1f46ea62d1d4f871cdb4e5368df1e1f58cdf22620e1c d2803414c0da317779945527303fcf37b79a2e48ebab519195860ffd270be78a 27d4b7b99fd6095447d65912e2385232c4c53932061918d22db19ab8464b253e f02f663481fd6746bfad2b9386d992a12e6f44d959c8eda6fef420a1e98a8b10 550a86920308cfe4830fed2eeaf7db8550b2c644dadf51342184a6ac1b110e3b fa9a3530644d309241bc994257d701f233c007ad8268fab7c20fd4b8b37db74a 7c4fcd484c321470b2e9e0be2a71c3b66c2fb769271e53968ae71b84a2d252ef 78330bab1506e53ece33cdb46ebf36eb84a8be612acd5d9a37f3737a0465c676 9a12ff73efad508d7e99c4a1d81cc506afaa91a2d9fc12ffcdc87418c3f8811a 54989747217ec964e02976dc5087e1f22dfa982569054534ea178a730d9c7abf e4dcca80c6521a4a9780cf75ecd80db9af8f968bb97f388cc600567e1e7a44ca 3deedfd59696b52b7238c958fa65ed2a3661f54b46be2bec7e1768e9bfe371fa 3079a368bdd3dcba2a8292888b31cd4e4d5768b0ff1ae9561cdbfcc20a3a3d76 0f0e796b8f11f78617013b2fef52415f25db9be3ce41172d10384c08745fd774 8ea99dce709b49cf4a7dda3be4e5af1713a513678537c71d53ec31e2bf11684d 22eb983dcf6b6759edd9a98624d80a5148aa61b38354a6aa03a8c69fab0cc25e 9e2f9115499670760a6b622693b1973eb661b3eba1f402fda39d6fee6304de6a 41b5c8b9c49e6febd2489725019d212334418d31996bb09965c178369f523930 c57112feddcef1ed1309bd08464b7c1e83896e9b17a4b00e9f24475977b74316 3eb344fc49f510d87f36a3e8b2e0093406d71291ea4794d1a31d2dc078994b62 9dca4397eaa4a52d3d7d1e711bec52b364ead9b0b2d7a6bd938d5c8f23571ab2 39db6a58f03bbad913810f6ee1c5152534819c4a2f03db5c791747f8e4ecf977 7c42db61c015916369d2b97561019ca650fd3e28cd25fb326c262d7cf820d4eb bbe3187d2ee35ab71030f08e21969ebf049cc2ec3b91f96d8634350a932a8026 175c127f341af2ae3c24d823b4c7adf3c745b505603d565ebb29e90b7b3d52e9 28cca160bccce92951e440548ff5ce23fe7442d99a08af3cc3922799f25d31be a19b33cef828e11cfd7d1df29c1d0c2bc3e133ad4945800a3ffe2542d5dc7a8b 00df3ad35af38e4cc771829b112f697de049eff713f8fc33da41515e101f1e60 18d6975d290c4dca6c64118c4eb137f9f4d80374cf9cf6438502e403303bc712 3656ea8393d8893e00e777a5f6b72aed41da7699b03d6522cd87a0be626eea16 a225e57e6ceecea23b06164b9d3a9aa31c54c5e775c2b319c03209cede8aebc0 4de04adeb7726b6b0261074195b84bf25210a8cef69601c9e385e642558d996c b026a72adc4296859256b7ae164fa066c377886c9d26e836ad2d32d51fa41047 1bac78423c064695239f2ad99dd867fa336d2669f269bca4bae23e2f0743c5b8 c39053 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMTT12 %!PS-AdobeFont-1.1: CMTT12 1.0 %%CreationDate: 1991 Aug 20 16:45:46 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMTT12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def end readonly def /FontName /CMTT12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 46 /period put dup 64 /at put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 104 /h put dup 105 /i put dup 109 /m put dup 111 /o put dup 112 /p put dup 115 /s put dup 118 /v put dup 119 /w put dup 121 /y put readonly def /FontBBox{-1 -234 524 695}readonly def /UniqueXX 5000833 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486be79011d1f5b667eed85fade30ab2ec4e1c2f 4fe750cf9a69506458071de8896261c001b1c290937fa42a1fa87de406e9f86a 4c9c0f03f69fba719114f8ae51040a4c03a58b6f3de027f6726f32743dce7395 14c2c6f3c2de1aeddcfa8eed7da56dd68dbcde33c29ff7a694769049e4325ec9 61b2df16add2ad46f18781fbd63eec62c26f1db41e6a666a09886382dceba91d 8ff7cedd64ddc8a2f15fe34076a064c46febd1f4dc3707aede0ce8af161bcb8e 4ada202d0954baca5be71c28ab8bf32fd72029aa07f27d658a68f454a4bf386f 6314224d16c7f0a8624f6b86319a4e2fd178f596f3b20db032ea28c157a68a69 fad2bc88881658d2286c0d4ef061bc070c3145f2a37ebec03f51de7cda34cd97 7eeebd86b00f9758b3a496f41d9a74279ef3c6322dc54945f95062c5f37a1e51 cf7eaf45f2b3634b2d7d01ec3b298ff35b6616cd3020e096f6c6aa2bf04c4a93 61c19f3c67a28d936ffc8120f1e46980b29bf54047c5f1fa48e67611a74fa434 3384f802a4079b28b94681e119ab0c1692de5bbf426440ad1023506cb80732de c64d9061869cb34de924d2c26e404b7dbd9be55b9c0c5ae3095c15d278adbb49 12df1484ed2d73128e5d9c1f1a3b9ac19e2ce5366c96644f5b3d3eea589caedb 586fd9b8f4df32ec910e9b7434d5bbe57e03892eb03890567df5b811afa0da5e 929d456af362fda0789aa0cff464e238029294fde86cfc8d7d33d5c98b18c76c 319811e4d3d49560f2ac39103594ec513e0b1377c2c3e22979866c19b61448d5 a7201ca4b7538aa370f6347253b0853d4c5d575a7572f93cb73a598e2e26b11a d46a1126e44e7e1795dff01562316b6ccc6678663e66a73db285746df3f4405d d51714679581946ef72103270c810f665686ede777f283690a7185bb0b3fd071 477aefb5dddeb38ae27286c5cccc91c8ed6ad12f18c58dd1daf2561d9eac586e 5036dc5bc31c7e849efb5edab11c6e2ecf58420f824bec440d020e7f8115f00a 862fb976b089194994a6e2eff958ae97011f0f3e416cb436babbce87bf3fe4f4 ee0067e105bdec1ed688ac35835168f9db93834a0b5a125929cd4bbb0b83cf36 738517d38bd6797afc49f101596aaaa57a7f21f89f1c55c0e7070c177967f419 72ec55a95aa7a5ab643ade88109f536b052a7eda115cdbc931df030c38b0e413 63d8501212c3a7284201bd804ed5d28e07b20693a21c5e35d4b5cc56c3b2bf43 4ee436947c56103fe77a9dbe62e04d977be7928e3851c0e7d1756d66b8113e3c 5dcf5149a34f571254fae095d416dda3ddc37b11b5b1365978e6724736da82e5 11a781c9aa315abffd2bd00c0b1c82e1c0b84e9e6c239a8ef4d488e2694ff9ec ec5cd781a9a5513cac36ed80dfde630ca3824a2a82db5eec7415e8617e4074a6 189e7e9c1ae95a86dd050641cf4fd5c045cb980ac993d918d3fe4254df067c60 99deff54562b10e950d04248e0dde5f9ae56f4c7eaaef1e0434410f59864b9c4 45a3d238e467877b09d8f3eea346b41c7ce60fb456c2f9072eb77fc0c2860b6d 85eac3723b392a0458db15c1fbff6a060428619a69838d469c997662ba0f3f27 e0c23394165fb4b094cf23af2f332da301ed37dcf74ae74eb35bb02addbcdbbd 127d56900657f05ae3c26ba6a4860e40f133b8d018202cc6ef71673939db1179 f78b67879c2774a3cf0d6d64cc95c236645b1a943875e5b9dabee3f4232d2326 571b94c6520cfb7ce0c3612f37594c9027881f24c8a15f2267871bd0e77d72d1 1d206005fe3db7c9fb062f3a55db903a87e0837f61509e62bd9956ef16c50be2 94bce01e6e7417a53531c342bd4421a2f5f9bb76870828e583ee0b16470870cd f5b5864e21be25019aedc1e2721774e80a66cba01878fcb573462bf7ca93fecf da47f9ee1b3a2073f7c371d81456532c14d9f8d7c313e52fe4f0009107cbb591 4674c8b7c6d9a35bc13fbd0d7e4c096253f51377a3089ef8fc585446483f5062 cc28d02e278c0fd1d1b2f7ef9c38ea25d79d8a481a2d9718d2abca5bbca5149c 89e0f13fa39a017be320a4573ed06a7e179f091618bf0f227e4e60807890651d 2c687fef6b719ee574d3571d29d9033cad9707840962edf51a556cdf3d0b1caa 53ebeb5eec480ff64cd24afd81245873ada3ddbe5d549d6873c9206645898f66 8547173d07d074ecc4eaa0a561dabfcbb935ec18401003223f8c44eaeb291c54 305cd3ef09b7b7d6ff4e13759a9362bc485e4f3880c660c8f3a0116bbddfdaf0 abdf9e6b3cc1e21ccec5b4633e80a69debb44f8675adf81ac03cee4bfcc83810 c3d5d3a79530be2517b7531c3512575133081adfc9908e13d3d84e023f6f9883 6334ff5c4eb75eef71e4ae9e52d1daed3d995b7a4470684376bdeb57188aa670 7907e232c77126c83839028164ba4f811d3a2cb67c3b49aa92536322a1aa97d2 ac59e794289600ac43fd8eb5626b9dece6cf5c747b9a74c50f7e7ecfb67e87e6 0b5d447420a2e7bced4e2567bf70e683a44817a436a17199985a3a5ea62b54d9 b8930e38c2fca860683dd4b5cef0a2ce77304aaca3f7f8d66126b93c26fe51d9 02e170a450ba2dc678364070a3c820ebbac9428dbfcf250438422341f022efb7 42174cabb31d5e3704c57eebd9220dc936be6b9a3fa5de5e8352e12291833f71 feb279f652207a7726eecacc5e6658e10c68a9307f1c5f97ae80309a65603f28 0ca6949cc15545b49586d0771fc99ae8514a7c2df915f37952be9676416dc7ed c6b96754e50ae686ac57ae9e48b55265b0e11dfb6bce7f49979f8f713214bcec f6b64901938989dbe541cd8583a1517461b8b278fcf7a25215699e9d2253ddde e45126a49e914a77733c971eb9f971a54da31cffc121e8a971113919c7d7e96d b80371c958ede9401324639aa73beba5c54d4e383537cf8903f0a5a22befe955 3a1cb1705310821732de9621d4553f1ac4a8d28b309cc8f7043d0cc859a8247d 9c6272b4bdc56cb24e25bbeb116cf3453891c680bb4e2de177f8a005f964a1ef 8f8c8d6a1a754a7798f85e6356fcb0d02be966f672e27c9dba1dc1325dc58123 2e5208d36f16214e9ce363395cd03c2c60b91e5b5c15e7c9c794fbdff9c0fa83 2daceb7326072e6e65d45edcc01fe860fd498088b0ec23563f96021ae233e83b 585760974bc746593212d6471ba21669653d647f654d4e75c24431cda3b02b31 8b7d0ce32268e84fc9de2f225431ed3096d1768782bcbedf548d21e4af0dc819 59c24b108384c48fee845307a4fc6ea64d96ae29cb1937c249b43a1552d91fd0 0e15867fab2931ceb43a7c0170d5d19c334c7663996abec5beb3d247d53b232f 79191681f81c2d4b24568b05fda65a5a4b9140d9dc480154c789b501f426034d 6118c0bf7217fdb22ea48be66339cf711b75ec7dee819a23c93b845bac807b9e c915f93195d570ea2829b26abdec674c2efa7d1e3ea898f3873422891d905299 6588dae6f70943d543934981b7a52360d7bb7df615aeee8e161db41db733e5ee 37ab817cfc6ba4ad4e3d376cddb8a7d18356f467d48fec42647092f42b6522c6 5e86f64df93babee61ffb85e73e238e881da2b356bbf1010bd704cbacdfb1f7d c752b0f0be6bb4896bb234fccd6f72a843c730dcb4311e0d1b2de0eb4e3da105 3f5739ce440fdd4544ff0698f8d692952bbdde66b743985f8d74535ab21411b9 5d64b79e2798d5ea2d2ba7a7a3c0311371fdb716a3d3b888496c094b17828ac7 4a483a5122d727fae292c51dadde295537b541a875b7ff351ab0a1480f492d98 302cc8d091ad6c24be7a8d0256719412b790e086df9ead299149e616431ce78e 693cf9ea7883057be9ba7fafdd9a039233064f23dd59df8c82401a4899c7c901 cfe7e80ab9a88fb290b551267228f8d06335ecfc662d0277d836c19f9d59366c 508595585cd910614ee5b1e1dddfc23fb029b21cec22ba1cf3e1e32782615f18 7061ae440c07fc505aa2d6d9f5c7f3ebdb82ba38b3e34af15dffb3035b4a0126 84981c1315488315eb6ea8b6b3f7350e6d2fd40790ba36540f7a441c7384b577 8f85abfa439dd06a7d76b1567a04972ca967f5f35487dde2a97cefee98f14d82 99919e35b5731db234013556950d765d5f7ae8dbb0e12e34ce92970607310e82 713f6d30c757e9bd2a98ee847d0685f177dfcd4089485f32ec8b5ceaf6421a7d e80299798b5f69bcd0539578a423937c8cdbd2796bc0cedac6c56736b2ed5c7c b653941eaca4b9d67cad41390aebadbba358f0068d84e65d30d1a799bb2ea8c0 35e6c8c9db2251e9b7c393109917e0013cb75571ca936990f6c6a8c9d512bbe6 bd0cd65fe2f82c3af43f2ce8f9829ac57ecb99c6cf08fa3abb46d022680e9dc2 c2a6f66361f975bc10 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMR12 %!PS-AdobeFont-1.1: CMR12 1.0 %%CreationDate: 1991 Aug 20 16:38:05 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMR12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMR12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 12 /fi put dup 44 /comma put dup 46 /period put dup 48 /zero put dup 50 /two put dup 56 /eight put dup 66 /B put dup 71 /G put dup 72 /H put dup 79 /O put dup 80 /P put dup 83 /S put dup 87 /W put dup 97 /a put dup 98 /b put dup 99 /c put dup 101 /e put dup 103 /g put dup 104 /h put dup 105 /i put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 121 /y put dup 127 /dieresis put readonly def /FontBBox{-34 -251 988 750}readonly def /UniqueXX 5000794 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf 5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b edad3b72ad63c2918b6e5a2017457e0d4ebc204a520640fd7c4d05e35ea5486f a43d0e970787203855daccb1ed0b16325828b13b7c767a1a58c87902f0546ea5 404440fa6526975783c2d7a9572b8e5d5176bac598b8960609f49016aebf3763 89c1adfe6a1ffc0c53b3acd9d168ec3a278fd4f1d9b085dc2df701346c9d0887 3d230a161692b42a45bb5da343b4edd839dd60685a59aaa49fc65cd8e2ad2a9c 5cab953495172a1a9f40d5f38e922443a519dd96f667201a408bd1d89e35f4ab 98e2f68c3366efc14b5afe1018d9c845d808d4f8e07ea8168518a171ab4d6e21 70eeac099eb7ef46eb9781384da1fac3b3133bb718bc80082eaea88759745188 f266b31d0c7e791d633f16ed94e05517a32163e74cbd96dc5db066f2a5313d6d 7f09465608cb404613e0f058073af000e5bdfafbbf9da0c0d5c02a3447f2cdc1 f56481901e34265c26d331ac3f85bdcbc7c51ef9eddf2b9c189c5253f8e74282 d6f053d7d183ae17ea175e5ebc401e67d21a9fea139cbbf3bb1358c713a75843 b39a69aa2b1a7b975f53ff22d1dc3bdf7acd17afa1da21568310c68241b31d3d 03bf404bd30baf9cc19c75b958bce7155f03cb0cfe2cae0327aad4b603284a51 7c26de75b8c6f6aaa9debe4aec08ca4b646d787a9dfac85b2c01760e9c6c6162 fbbc67dbd0796831e00c477d8e23c375ffab46d289be9d2328aec2b7534ae4cd d782ec2453e7787f6e6b4537b46c01545cba6f90b8e9a1bccac1937bceeaa5e7 8e9f368ce067a0a31da98bfbb545be555a7270f0031fadd4f9b186629e5d2c5f d264f8f24cd5a1c0f68399ff4b29fd77c4a54d82965234121e9d12db12f68d00 6d95730d61a4ce34a3df296ccdf9fff0ad944df27cdcac1b8aa3d1352c797e07 f7517b29deb4b8d2dc7cfdf53ab206cded57182117ac67a0ea6016721b5b0372 c9be601976eace778256534c6908420a496b4568d1aec344a41788409d6d6a24 2e91667950faf5e88aa7aa3605b04efc7b2f0722becc8e36eb97e941f89505bf ceb19840c09bb65a206cc55d1c627f20880c1eb2e6c1e5ad38675037b002808d 337242d28374ee1ba39d2309dd43c73c54dc8abb69d1e1a9168b1abecb7f4090 ecedda2b52e2888e677f260f672a26b9166fa42eb5f8070d4e20b6d4e02df9ff 58555043909f65f1d887964546945526fa6828da0caff2d552f58b3a8d0f0f86 89360b0393091aa94db0f418115b53da244aab94088d99b44f28a8b06d2cb81d da7fecd8e7ce7031c8c409badac5f818173d1cb45a1220af7649bd8330b3a62e e880e4f2abbd4a080e8fefb93fec6b0088105cb2084503b52f88d3208c7e13bb 8f2e4e899be42cfc5366cb26e3bdc7fc7a0230034265aa42eec5318d4173530d 1f144cb2ed29356d2dff29bcb4b0b50715fba66af9fdcb61e8a90bec0512cc96 2375b72fcf7aadeb2e766bd877aa180a2b569cb0484a99749938fdaf58553e3e 7e47232bba6081b49be2067b2596d5b3c1e600042c73d05d81e445c3acc84b32 227d4319e1d9c5520bac51756fc16a9c5c0ea80a3f6099d009b1661831a2fd21 29cca3f2cdf697417d8c8e2ddff97e36b7e932f6add83c11788d2a061d1bab24 8e175dc537aa62f6766fc43ca3edce74f50d6c7680ac77f97e2493fd47875826 199271a4048232828b37e96d91b86c15a02e7ab651ce155b247392c5c787b23b b370fcd485106d6c727ca3e4543398b8c4128fcd0b3b9fe4cbeb7f42f2703cee 2a3af1efc229a20917ca0e5c1843a306be21ee2d06c29b89ae60aebc2f61934e 96a81e86aa733497b9a56153ced9338e233d47637552d43e1f1418880416aa7d d9d91c43cd57a1328b8608e0f35c6c6107434fcecf5bcb4e5bbb79a441e9edb0 5da7676182f11e111351bbafb514be57ecc1afe6a88b3597ccf3a95ca6c36b5e e71ec7662146d7fac40e16992b042004d1b3abd9ccbccb545cb4ca13da0fdd5e 9b07ab8a42826663d72882bb265acc4097dbc82829cbdcaeba411f037e02c725 2eac6503154a25d68ff39b995d9b8566c35ece701ec946b741925d465d9b6125 ce1dff6822a72d680cbabac1f4dfe89eb3879609044cdf20e73ddb92b5443b01 5d0423512b627256705fdf6959c88edbabe913137ff0ecb5b4423551a0d6af0b 9063f9a723294eabeb3c45fca84ecc6c7b4ba15390407a29f822cc0b860342c4 bc953ea06efad0a24a6ef64c4ab29c8561da7f1514beecccb3b532eb3b4c95af cc7987cea79ebeba04c9b65e054746d188c40a21883f1b90ded83688bcbe8a8e 8b135f56f336a548676af8d198d0d5debe0997306ff87321f1151cfd25d40834 2cafebe6ce3f1acf9386a3a648b91cb5a1a5a8efd52b7bd3e52a09e299bfdaf3 bcd045aae6a829aa82d869233c70eaaa0604f919c873ca50f9ffef81dfd5babb 95227b2499f43084ea1f2c0f3820f400f2b6a3b02b39e2b446fc35729b454b6d a0b885b26655b418b013f27e754bbd69c3cd1d899c87174c8a72d7370b2f70d0 5fd5482cd1f8aabac5217522ac8449bfe8716e87846d5d2b236e426ddd06c96e ae187e09804907c991d20985e6da085a705cc4b21eab99c78414047294ac1829 fbb391ef3f5fedf197c64c886f64a53bd3b4e8d3447353e49fbea8a435927ea3 8575ab35051235cf52b7d01fb81be331565824275a651e5ac0f51099c3c22c01 60b41d7e642c9d9fcccb9f8c171f21dca40687767fe9a8981c8d8c32630dc8c2 7de569bf0abd803f2dcd3a4d184173c347443ac9910482ae83e0fcefcf541d5f 111ecb92ab978deb35ddc22ab345fd6efe0f6b57ba926508b4b36f21f73732cb 361f2b3b6fe25c490a9c8b00652f47638d3643b304396dc40c7f31f7b976bf42 cc050e928c816660616d3116aae6ceba8d343d357be19565746edce4b03bdf49 8b5c530dd8c577dd3cf27f815de1238bf54051a127ede65c22933bf7044b8d09 0f29c6a71aa2793951b76148505d4b42278695c2829e6d90586fbd28c7dfe6ef 43908cea4b815ed1fb1f7148a096d26ecb6caef82a942b732b6f05afbeefdb77 a97c0c6e161d8a2a328031eb231006f591200664dc1081e794f344a83e8cd672 d389c0925afb0d3155d34f2434a1aa232a43f6ad93d4417f6c3b805778a1b6b9 96c0cc18c9c65847aadc6c9accd4e41e3f251c93a3eab404f9c0cf43a5c28743 527a71fc0c6fcb16589c7e76c93aea387b5209150af55048ae13bba5b3067aed 0bebd3e72bc9665567aa07001728b4320957efdfd338da08ca6f45b58501313b b763a83beec5143a67c3881e5e7b4bf9c4c97382df340d007048e3d1c3b8b94e 4fe5e2ffcc705222699e03b3580805b594cb584f626599b866ba0b498c779bcd 9638b802b52244c4a96d9ed556cfb8cce90ff33d5d00862dc3e8472ea6f834bd c30f784b10ebd49b24ac6210d907da6ef1b71c05f7b309d2750eb0c169155da5 efe3d4b0895742b73cb9d41c0ec588594f23b849ff83c62710aa4cc11f836965 7c08f457bed55e70320f48dff5c6758b4e4c642c9841baba4d24d05c4f06d26a 9bbe211e8167f5b82d06eaed22759ff005fd9173e4608f4dbc0022bc960e8e27 1e98ea00bccb74680fbd96f11d7cda96667830badca152edb8dabfab66177b70 430f3d831a65ea44ffdb77582ec4f519487bb9ddff35e599c6d323fedaa36ac1 3f96fcb1bdd77b3443999cad2a4f7cc347ef92350b7641309e6973848268b255 ee238ac7f9d648004e8c494eb9a4cc3a6aa31b49b62b06283005b795d94e3a98 12869692ed4cb016541c112d2fc38b3d6e3c85b71b2514bbde13d17de7ada948 da6e008d8927015b8a1ac054ab45240e938fb35cd9de0d6ec38ab5e48c58a78d 1599e8b4c6f553fcd427cd3af8dc25ea81a5ec107ff9cd5e2781ba1916b66c2a d61faf491fb72c54089d8bc47bc39440aff474e4f4b0bec58655945a4355ba65 a961f6e08059a0bbce20848fa508b6256e9d95001b815c083c17fd1c75c37763 ba3096a23ecaa12df6d3cc623837619e598b082493acc4de7c3eaaa7391e94bb 42b535c4c89b971587e298a41235a8b9ea0afcf50450b7c927349d7f8c3f93b1 d63160fdbe84132668288b29b553a7e31f7a6b71d60ad537e4f663c4e7087be6 e2116e200ac8d8c6e1eea6ad641131d3bc98038ba5d48a0bf5c02e1f39d70374 516cec9ed227d8596e810a82c08ba927d3485cbedfb6f1f4f75d8b8fd45cfe71 bbb8e9103c0a77771a510a9891b1ae62f49e6ecaa64e2adbce7d91a98034fa16 fbf0aa422d97d014c4844754fe686552b1a6a003ba5cd8de19931215d2a11230 fd99512a10ecc08153055dd0e3910b21ca3782a624cfcb61aa1323c9b977c1e7 d2f905ff3f2362936a3c113137ff1ffd580f8314135d85beea3b8b6b4d14fabb 59ad6ef3958bc370da5a98ba1ffc8fb56abddd1750e2b6541b47b53518aff7d2 1d38a16095fc10b4a21f5034a05f9ba5c3356f06c65b20d5fa0c10d038464758 60e26f4f6ddb6e5d789b9b5e1438b6fe2c5051983863d32797ea507dee2b0d3e 0a91a1850af6f9cb5306d2e0bfb387d4c0b8111f644ece7340aadd27a4e4a702 9d747ec23ceac88d1c3579823a78dc7fce56a4b71ddaf29ba5bc6b5dff0f3858 3a4909a6679b5553d741da92a1ef64c64768b93b8a1cfd5ae5ed5cbf3d312060 b64318bbce6211815253f430c190e4265b4450fa2bbebd8eabf5f78c5b690eba b8d7ae972fd27375f3811c52a5bb59d38f828ec0873164c6d1e239c3306beec0 a1c672cc6a5e463df1c47f2fba4eb7e131acfd1b07d0849bc37dea8da771a88b 1f339ee73e59a6ef57febd479aec7757a629414282bafd2d8edc525dbb0a623f 281e23bc96fde40f003f9bb3dc00465d8eb9a8c93dda6a312fa5e284e5dee7f7 915233fe8167f5698b1772b600c23b7c917daf8fde7da0e57d8b37ec4051d8da 6d813b8692cd5028865ec4440f1b028e71e51cb33d306c286d8dc9df3f745960 7b858bbabe3d1b71e9c76d6e58d982bb42e2575e3dd962a122ca640f3c302db6 c9649410b1f25e7951e72dacdf11449a49ad01f32c0295e3650b612cf30bb0d1 aa98538d94f095b03c2527c104f061da514f9d7f0f01c03b78009d6f40ffa8fe 40f89e549a28ba801a253b647527bca74ace8cc6081daf04a0e773b05671f21b ab697032bc62ed25301e209a9b225ef62914feb31210ecfdc0660001ede0f738 3c1cb30b2d35f224effceddd1dfaeb320bc5e01348cfb1dbb06ad4d73d985e57 c0a12123c7d946787b3d09014fed62c5f5831bc8296d143fe05df37c9956af0b 7d0c43601f1388866fc8063479425d702c888016be39902b7a55ad4cd3c6ddb9 79651fe7f0fd48ec9b59cdfdf3ed6b6e7cea2d0de13252f43461eb3dc94c03b4 828aaf51253a935c643e105222c49dbf5e572b1f978f4874f3bb6b7492f53412 b93bb8953ffe96e7096ca045e9a618a552aa061315f3907112681076968bd8b9 7cb3cd06b232ea1069cc641118d9e4bd3b5f1c03e44b2f85c35a09aa3b706ff4 ccee2faf2efe3bc612ee15eebb17ef6f645d3f9dc5bbf945f397e4a7e1e5c28b 4909bcacaa0a500b257b73f83c2ff41e15f41c7cc5d42d6a4c46d5c5f9582d39 ab28fdd2361965b19510e8ba67d0d0478cb00c0b594d36a643d546899da4a569 b999277798a9aa32db2eb79f20c00abae7ea816f02ea3c9b5ea926dac5916450 af1428564ec9a826f9065728ea7ac5f792f8d366c79aa92417f42ca6930179d5 181f16547550e303f6083508befaad91ee7f259e35b365f31e12c4e62fd88f76 b87194ca24de191b6cfdc7ce4939ba403de64230dba46596871eadf399ddc49f e7da89f122e8a3784e4478eabf60e59fe55c543e3e5fefeecd49d29a40851ed0 df9626eb3e51a95a8c0601f33ac4c0e2d6ef54877ad1080808f89efa81ac2e8a 1f1395d6c7579dc2c675a537530e0e74054122f94bafb25a6cadb84f65217239 8a881e3e57e71c2e511fdc19bc74c090727cdbc97dfd7f3dc8d01d0bef118aaf fba461982ce4f5561b329b284e31e803c5329c585cbcf7b677e57766c0d1b845 66dbccfd35fb0808d5e54ed08d70e59881a5f0683f56d62a6e3ac24c1e25ef42 a2961beabcccecb49f1d3a468296e00074e1e838107fb6a30d878559a13c1680 96fb2056b695d050990d06187fbba341af8d146dbe1377184fc031e8bc6c7f01 4ec4db378930f2854caaf5be726c00068066afd6105b22cf8f03de35e4e21eae 0a127730d9fd0a284a3d1f4b8efb1bba25b0ca278d8bd790d3e4f1d2a8af2eb5 bfd17d698f44d05f9a85a181eb1d166393824ba4d4405694729f86df4d02cd93 b96e00fc1934a3305b6070b29ea54e66d31340a2ae39182bd85fbfabeb561894 54825e9c5bb56770caf67accb1f41cbf4abfde1d335099156c9349f3e8a99b52 8b29cb40ef9f7bcadcda32f31f1ba44a487414930cbafec092a712bf4195c502 82736fc5fcb0d35dd44ead6ebe18be44a29f3bd3533bbd1db6213f800089505f caf1ce23951cda476f5da8ccbdbaaeb1853601e05d7bfc3354b248198dc398e5 1fa8a061dd22e5b2e3188faf2837394875d18ec3e7334150601d9f33a1c9048c 4d61960b8402ef31e6f4e4054cdcf9324a92635693083e8643c0ee9275f13fb3 5f309add98c03323c5a5f65b7bfbfe02475478c3a8b07295ab9d6cf215568ef8 1a818213dbf3c4ce931012396f153bcc2cd22051d17da76ecb56d8524010642f dfdb10faf4a388e9ed2e13cfc6fc59a14816e3a7d2383c07dbc8c6ca0e080a90 ac5063806ba31f3b501fd6b417d7c337d33e66df287ffbaee93e3f808ca112c3 8f8b588a04a3f3ea858e32f6f1479d76afa37016f5075def530fe71eeb1cb897 20f059e6113827ac02b8b63411416acbbda799a559d9a34b75f3515ad4990941 474f08dbbf3f520e2ddc1d041442251574d22026597fcc0c6b2c3b297c827177 87090c2c3b2526d0923721181e9576dff126910c6bf9dce69835c2ab3eb885ba e39ff9b6db70267f0852cfa756d87a9a149e07e58f347ed6fcf9d0ecd6621094 cc0aac88d59c3fe0901410781962ebbb9e13efc261bba264524f93f4774aeb6d 537462ab6e04861f11ef9ea674bb1b494bc6e365615d0d04bf396789435d37b5 84f3dd73a5c804197bf09c2e51f36701f39caa2491ef03e349c21af581212bff 4358c79acbe3cd231996c3c80d2fa9561db175ce292b5d93bc498a1495846cf1 194b2759694074b6b10610e79cdd37b02716da00a11b8df64ab691ca9f14461a aab189e9b406abb39e21487e100909fff2f28cbeb3c6b9d1892eb929541cf888 d4d4aef3bd5dd899345fbc663e084656e9e5ec92a6f08cd992a5444cbb6a518c 8fde2a0eea63b54e08b52e64c79b0ea27bcc8cf2155458d66400bd8f9493043a d62b9eef461c1f6f256607da3d734f0c5eb06f968231061b49253afd0149c08a 474d77c76c519bceb21bf5688c5aba0d94c44496c84c68e71001c9f2c0bdcc48 13d8b07d538a9e23bca196cbebdbbec1d4d7a02a5900e2068c08dda844ec3e5f 61288acffcdfc1161281afc2517ba3f4751a418aed1e2783ddd9357c92b7e4aa 3ad30d225d1b171669cdee7c31c53d0b8e65099019a53697f1dff480b723318c d31efc04fdc4fe1536b031e1e0bd8cc204d34dc147099417dfb3502e30da91f5 cde3bcfe417820f558da25159671e9f3fc87ef491438a385453a83bed39abb4c d4b06355330048247e8ec2976c39e6678fcc307d25f41be263473af2adb1c456 df7840c810ed3795f85546fecb95e89d186687bfb494ea419066c5994d8a3484 414fb3abef280c6f4c13e400ab184c1779e3ae0ed3c538ff4d7d0c876300e79e 21f6fef5aa471aac18135cc86550164bc68975378294b79890d7e0efd3f74748 3936e13894ae7ff9c98bcf207c66d247738bfcfeeca8a3d98969a48d88ba5165 6a4feea1acf7eb2b5e1ccaddffb2510b85191dcc7380411fce70b7a7946da366 3d3d320f7b318880b45820a07b28fb795ffff6ed0e372a73636203757ebdefee 89405abe99181c14c3b33dc6d4a7999330ac578bf8315adca5a45f5d1572395c bcab265a910c60f23a71d574d7e5bd06ff5235dce07d7f71a540c0891b14d67c c4313c1e7bb3c36f26aba9113f33f773f415df3455fbf6716c2654fa1148ef27 b7d9c3be441cc1dd468ec28ef427e1c0a20174c4d91b671f9620be 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont %%BeginFont: CMBX12 %!PS-AdobeFont-1.1: CMBX12 1.0 %%CreationDate: 1991 Aug 20 16:34:54 % Copyright (C) 1997 American Mathematical Society. All Rights Reserved. 11 dict begin /FontInfo 7 dict dup begin /version (1.0) readonly def /Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def /FullName (CMBX12) readonly def /FamilyName (Computer Modern) readonly def /Weight (Bold) readonly def /ItalicAngle 0 def /isFixedPitch false def end readonly def /FontName /CMBX12 def /PaintType 0 def /FontType 1 def /FontMatrix [0.001 0 0 0.001 0 0] readonly def /Encoding 256 array 0 1 255 {1 index exch /.notdef put} for dup 45 /hyphen put dup 46 /period put dup 49 /one put dup 50 /two put dup 51 /three put dup 52 /four put dup 53 /five put dup 54 /six put dup 55 /seven put dup 56 /eight put dup 57 /nine put dup 65 /A put dup 66 /B put dup 67 /C put dup 68 /D put dup 69 /E put dup 70 /F put dup 71 /G put dup 72 /H put dup 73 /I put dup 75 /K put dup 77 /M put dup 79 /O put dup 82 /R put dup 83 /S put dup 86 /V put dup 87 /W put dup 97 /a put dup 98 /b put dup 99 /c put dup 100 /d put dup 101 /e put dup 102 /f put dup 103 /g put dup 104 /h put dup 105 /i put dup 107 /k put dup 108 /l put dup 109 /m put dup 110 /n put dup 111 /o put dup 112 /p put dup 114 /r put dup 115 /s put dup 116 /t put dup 117 /u put dup 118 /v put dup 119 /w put dup 120 /x put dup 121 /y put readonly def /FontBBox{-53 -251 1139 750}readonly def /UniqueXX 5000769 def currentdict end currentfile eexec 9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0 0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3 79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3 2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8 b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d 823385fe55f3402d557fd3b4486be79011d1f5bfae5c1f476ee6f05eb1d2caeb 269958b194521197b312fcced4867f3c8fbd030bd715d8ffda1dcd454b174e7a 1a97b59fe770e67702519d9d9b23d61ac08424d555242a8ca08c49aef300945d 99b999a79ce74804ae6bfde623f4463371442f6523a5f6ce19c839a708c02513 2e22c696c8ccade45680e5197189d0f98e7f0d5f955e353970b392cf530a68cc 56b0035ddfbf206c3074beeb0739dcbca272a6e629fb7aea2c5ba7bae50c7b4c a595df78200c352997ec3ee564df229fbb5473f5e8ccb1cc0153e9a7e299a8ea a29b69d1b622b1f0cffc58291248759607d91150cb0651120970dc9f743bebef 44f6ae92facec57658999c8bf01f60611560043962c0695e1bb87d090e0fdaab 659d6557208a660be9aeef8ae55f71b8bc76394d792967e41bd8023b6e7f8c3d 9987d5e54c53bf2bbb32855b946473b44833bd78873df8e4c7e668ffff25aabb 8da4148f744b9d0524d6cb8281247b3052cc5d66f3f1bcf8a56a3fb446ea587b d8be30257652cee035628aeddfd8283b5ad21b8b1480ad24d898970ac8a1e33e 543ce4e3c48f9ee621c5ce3e8ae930f890011b630866c988606068d9e92396eb f51bb3db204505fc3d09d4701ac703a14d92bbfe27bd7411b363a88e33a8e9a8 025ac31f21e73dc52b333b918d0b1270c54873a490222d041a66e0192612be6d 2c88958a8f70c10390146ee5091df020ab97675e8e6acf98b28b539cd0a20d24 a42f535ae44b8f5e9290b38fc6b02e1bbbdf1aca96558c2dd5afbec53f03ab51 fbce958ed4a65b17fbc03f9defd4aea4a15229f3c320876235f2d8b69bda5f48 03a2798790d35b394c63295997dd487bc603cdd10d18f3e3fcc7f17d2a6afc77 f1d7f6cf69d2a86b104b9d3b260e4a78716927a485ad8a650d610e68378f4514 3610b087981f0a0655090163dd2dd4d0030faf6a953896a9cb2cd033ec9883fc eb1498f651753881436fa4f51472f008024d32c73604ecd1d78471719570c094 f7f2aea52171568f71761fd5ebe8a3ba6184e40300ffd5665e68d66ddd9195ef 8ac93382eab9f25ffe36d2740961078ab87ff333afe65f43a4d622036b50eefe ed536b6c196f21aa4b792702348c7b97021bcf600776a0aaa0ba51efb3401925 aedb3b4a7d49d90d4ec853472d0c0d7d7a1f0c14888fcb21f01f2905135c42ff e8fa5e964b5a4161aed0663c3b50c39720534d4ed6082bc73a0a43d1521090b3 b01f0fb36c160936c933fd88719cd6b755fbefd5501f5d9f6434657d381becb2 5e2bf2295acedbdc88ed37937ca8b2c95d85bc7c04cd3c774af136c21c0905a0 01061301d7a8e284ee3bc2512776136dfcdde28878371cceacde673515248995 59d31e6b03d3ba2e7081d002beab33df866602eb2791fcf4ac057cd7da131d50 1360f2154f8c3e5b5e2a5bab8cabe850b9c249960921a660c112a459e1e84e6c 3572a9e2ed1dd8d233acc886e021ef5de0c885ce6e7cb32933236540bd94186a 1e20f3f7b0b5c8442ade63250e0ba6bdeafe6ae84d9691c7bf9fbc30c3de8148 8df5ac8ea9bfb7090bbfbf7131378327573084e3efbe9aa7e334af6418590020 b91e8f990aad39a94ba5d36f98677330d564dfe606e3a857830a5dc7b4062b7d 3b2bfd2e5509f4544acc65f122160e2c12a9725202cf4e37484808d9ad535de7 899f2c35c80516e0bf31b357637c1ead727dbdc77a74c7bf35ff3ad5a7884fda d28214923e988e93374a00ec1f1ce04c6e766bd5ae69666fde6417402f579f7e 8195567af8950815416397b2e9a725ea3e78d03187bc304e2707abef636d39b4 60f2a54aa59e9b7918181d626f96d385d8551623a4cdeeca5aba48a3b3d66fa3 fe671056358329e1d95fea78b962630569028b15340ea4a216a8591d79fec1ec d5032c40330bc125058cd8dc79afa47cbc0fe61d36c5ff4c428ba3aaf5e8d2d5 89b49491294fea5b3fc3ff2f548aab3ddcb4fd83d8f13eb1870b6775ac79f096 2472be5be935e96faed6eea165e39ec0dbf1dd1f0069aef78d469ab349c36a2f cf9763062fed39cfba89f994658fb528f00a68c37502ce05449c308db5dc08ae d3c7e50cbe8a39f2506f9dc79c820b7c749e02055fa52742b65df5ba2f43e160 c9dbf526f20b50eea51f43de319e97fca2bb031b703dac78bff4376ddee0f20f 27b2298a9d8511bb4696c058faaee7f4c60c45f11fa28a8d2fc97f8099027305 0da272848aa4cf294aff66a7d08ce3f5ea7eee17aeb757a01541251681c2174f 756c55c3e3b718ace70fc124b0e49ac1b48f16bbe1693bd61fd855ffcb567a89 d5c259226acd218f820750e32286bb0af20ff7ac0a4f056c070c7bb3949e9d18 8bbd8d34fa5117be89f7cbb33bd43f2a63c01301e7cb805672cae17f8731483b 89dd3a8925243f7e68f28c7d0799106e7c5d71d20694c79252b1efa069236236 cef99fc0e0a700f806cafbc105766fcd530faab457f7988af99d00e2f46bf143 a36659645f5f8dfc7cd859448866685ef3685cf4e91930ff0d9ffd90525215bd b91c502bf49ce4c4f7d164b91ae585b37c1b3ac30c9db63d9cdf2e9a21677e99 b3914cf9c81efdcf64ea0eb36f67052ae3c1a35b07d4ea4ae28c81498a035ca2 f50e458aefad8126c25f3e2dfcafe7177e83c8a9286a5cefe9c505636eb04948 79ff10ed6b854dd79a7d53f5c84624867fde012762269ac9d2bcb74cd0b40598 b33c436faab75c96b0452cbc7f10155a47fedcb1cb72474ab5dca1c15fcbd826 3054ba46c32fcc258162f0eb4173decdb611b4b7923af62863d8e04e957dfac3 7a55aea65bc2882c490076f01ff0e96b39c92aeb4d23351943377cdcb40ef97f e48df98a9b48332832d25485a50e887edf89820aa3f2d7f4fa4e6c8cc773dc85 d132d5dd8259326bdaa698e2f31873258961cd02a18fb66881bef1e5d884357b 9ec3909969f2def35c6ca370a92216217d03a6229a1f5727782b11cbc5bca4e6 00c9dedb075852281e1fc1b2d68081a6af1990d5571179e831d9070c0b1a7aa8 aca01c07bf361a91badd1d70cda42e28a1551b570c22c81dc9a8112c3db20b64 31b917aab753333b5f455a1ffa73049cab1e91eea08f907912c02b824ea17a24 779cb94eee8ac8b62e9954de7e8659a62deb91f558902eb45eb6f626e1da4597 c1ca611426522a12b16b205316b90e3d06610e3dce3b15ecbeea5075fcd58cc4 4a25c0b85aa7381cd3fe528ea3a109d71c5cd588d9f7cf579102b207cc5bb556 01e124cf91858eda13b6adfc2706a04117e9c7109fc3ea06e06521f88589eb7e 100f137f650825706c86c4737aa53a6615d5b26983633e4108dc7dfb75845337 ccfce968597cc5a8c481051bcb239a017cc6d6fb92b2a1254d54c291de56c4fb b773e7c31eaeb0957f62a6364ce8f87052c02b67d2a982505d549979100c9262 fc252a1acbe68e8d938ed223994fcd32658ca8285501242c51f0991b6db2fdea 7d1a3c542d133a261169de7d2a3f8332623cc585c08aa06e53dc98a04ee820a8 dfd164bfa90873c01f2c47511b3d1881ae3eb9783405ba2ba752c2367f980985 585493f60e66c3512a1545a7199501f4ad413cd3c0e377993811440993528a38 8d3b3681e84cdbcf99410e36b9c64b76251a024a3f62839600f5188d64e28bb8 c850b9a1b19c2bf7486efcc752344ec603bc532c56459df8818e2e2a35e8e335 dcbedc2d8bb503802e604fc98bf55e729f7a1d7f814feac96579ae535b96bb9a 43a0bdb2355ec5d4e6bb7e86516fee21ae66b441f424d7aa43290e82f7ac6f16 e0a635bd4ae15b3a9e2a48f087d66f4cf5412d36402c5f8f8fb10d55f23cfb1a b5094931cb37e200fbc329218a9da80db8a453b9e0669af2b9c80122d809edec ef521175d68878ac96348546a8ade3fe2fc01f4852bf5333ca5853d3e0ea29d1 0b36040f01f3ed7b3a202c36b7504f24410f6400180bf48f41493ac7755ed728 7134d772634154dc87b20b6b111e64e500be9ebcbb1976e559b50b568056efde 8d3351c7a7a96489a56b0a877d63f4720061d3a895538b9ce688ea3f5fcacc13 3aaf194a4f1ccee8daac50d663269aa4ae7c5479f3b5cc64b511a0f6ebc2d2bc 8d7c125acf8c462f349a4550ce3956f595d9a49d01dc6c29cd6d59132288cb8e ca1e05ba4c2e134f49904fcfbf73ff9e89b91c723d1efc6fefbe9700c314356f 2f45a900d6a739327794ae14070c0974055b73f0b0cd65eb1799922b88a3ae9e d8d105560db3f7b8444b8a22470c82941d5c23bde2bcd4167557be09b1d345f1 1b1e3a4d5a3bb1b6f7108a12afe26a02b9fd717d3f248ed82129d8ef416c3d2f 07c32e10045ffcfe6257b6a676433d3fba1edd3cbd24fa6a8f3768764006b45a bb32d62a2ce461867c96171b3babb7a088923436b169d3d280c1a92c06cdb1e4 07ed6d2fa20ec8e4e275e79b8c7a8e940bf95905d7121d164727b70abc42c016 0fdc93091c77e46552cfab82e3111f3dce31bd66c60da2940f459f616c7b7294 fb9caef8f7d27e15a658891e8c3bece9baa8878e6eff26c1e2e57fc6864f72f8 683ba269d787838762bcc5d424225e099ea0cd8aa499caa4399ebf1555f231aa f219d9686a28eedf662e6110c34724212a2a74dab2d141e60968a522758cf460 e64cde3d9e6bab8ef09a6c01bac5e2e73caa06c36f153e769c98e4884e3adf3c 501249960e58a54e71201b321357f2dabafc2ea6deea57fbf88b1f326f9ecab5 3a1f391f49ed488f69664031e3b7a3d121924fcdef2033869f5bbd9e188396f9 6f0898359391c0b5b9b6b979a6fbacc229e9c1437bc79cbc61542fc9df89a4c9 4e07a26322bfed2d5fe7a2e3486ebcb9c0fcfd8f0e00c213746a6deeb15b96f8 1b0c5dbc0d4825a06e6f25a3a3063299b7aef7f8a19af918eee7c09c54ce6827 e6cf41c47d8d8d7f187c447dc3e8c44a0ee9f90779674c969bfeaa2e62718238 95cc4fcc4839dada1f43b0c22d4f304382ed119c86f73da1eb93dd791753ca59 b50a0af808cb295a030b02ba194d544d16c9fa2bb69d968d2ec0ffb6daa5b56b bf03dd92223671162d612c766422523dfa2974927947a3a6d615073449b4e93c 2ad889067dc54cd07b3f3267eeba8a24eb47bc0b81525cd095d180b8f491e0a9 fcc8335c5aceb396564b8ecce7cdacbc2de0eeb3d2cf96d1883f0c45716365e5 a0346b2a0cd306aab59730368f18899a055d62127cb3f0ec5aa6e18bee290d2f 650f9edbb609fd08fdad0a9698923279cbdf5171adb83de9721a04038bb12482 38f6ddd2fcc855b5b076b8b54f3b941b028b391ac840151457feda1aa25fde1a 8e81ddb65a5e1ca6e56d7950f568c18ad5de1e69e1196e83f0d6af2f23382784 d2ecc44a7c304d4e93fcdd8398b8ed4de46107207869dd0fde5411a6c46187c2 c9f6a3d4c2d5a0a076775d53b0887c4dc01553c42b587c2bff18c3fc08a1abf9 f7d7158463e272fc89ceef3be51d0aac33595cda4e9b3e8881675866439ffb0a b11a7531728ca1a215c5ce40b37e950be718127ffc0478e3e3e7df2901bd2f64 6de50b36c77b1dc9fb7fda54a906ead3028311d0fa8c01321756dc41e87d42c0 1cc8b35752dc0fda31346be67e3b7c1043dc077f81b100a331f78a53db0c52d1 93f9c82f59513768a79b00ab61da9e18c9fd643220f6f942a653b7bd1403eb62 9cb3d63303ec0fc197e47db353a5fd1ebb6df0fbd6cf25a8af25e3a67afa7521 a3f6f8da4b35eae6a6c903289ef88d96a0b940900b25b4b8961434cc00915475 f17b2b47b48f48b10b08fbfac6d3ffc4500f3c758ac37c630a97744baff204a2 c7ce7122e69ecfa3d8f620591cea46853963bd58a0dca1ea70ddd1d473d9fe72 d05252150bf6b81e47792f415ca31166762fa0c4a6c02268014069d8ec499485 d4bb058a7750f1093d4194371e241bcf017cb67568482b23084d94406d6b761f 6201837900ab7f72c185d9f7596efefbe8a76588cdd73b6df386fb2e9e3d6162 2fcbac17ca795fd38e4f315dd3a706d295a2a127dc6dad761ed2024c9373b5cc 8d143119f0ddce83f4db34842661f699cff3024f88d793685275e93f8e5a0d51 3fa26787b6ad8b864540c28a8492dc2f7760eea2b8cfa4683d055570bdce00b6 b4d9c55d9fc8d9eb0a09c81f7c7e0af5c01442f1aae4c14e91281cb341832f1b 4c8febdb69385949ef6cb2a729e563f56a8950cc202f0b507fadbc9a0a6cf6a9 afe674a03fc0ea005f453ef07482b6fef9ee83c7b1230f7b7e342ef1d5767751 898288277473cbcaa295c97c6f131cd726950ae99adcb0f3aa578c5cabf8ad9d e6303b03eb2fe6e6b0097ba42289c1e013451cebc13fb135a556f1299ebe2c29 7d25d3ed96733ac313923e27d688ef34a52f949b34accfa5b25b42fda2d1036d 78ee0400c42adfa009ee972b25100064b8b58b547f9f483315baffbc9df3249f 5f7ce525384171491500df02e9d1b838275cbae79688fdb3005f32522bd136e4 82a02e26850cd34700f2dc355d9259c7af1b9e3f1ae0bb885048e77697a5fef7 f8eaf0733a6ec1ad5525c4cc3031d3d23efeab0e96024c701ce8bb53711f2c9b 223c5be3bec9761270d697f9d47bf4386c682f579722a50e3d907f4563e55c12 04045d7e60f6c4c371bb15d4a442afdbd07120cceea05d4432fc2759995add12 3a17123ca34f9046c8355a4ae9e7bf381722427366b0a08fa0311a960daeff2e 7571de8f121668cb0037b8f1cdddaca90bbf035a450fd937dedba5635d0d625f 74a01d66acf08f50017afe2f99d74808fe946036ffe97b39786df4271cc15180 80e6217d90eeacca636e49b708fd10ca1bfe20fba6207bd0f51894753e3539e1 89287419b6c323920d3a3d8be7c39236a198e71f2df16f41362e554fddbc60d1 21402b1ef9ea9f1cbdd6a536104fe55e582f8bfe06ff2e98ded3b81b29e8ff79 a13fec40d504843f31e906b6dd028565d8a3552559eddeca3659508382c8e4ad 8b4ac0a9dcb346d57951af725dec33250c7e1d97089ecbb884649ca9872299f0 899676ce7d23ce3f744f715a43626ca0b3e180e55a088be29c843e3a5ae9d45b 39566f3296d5d34a8fa734fe9b8a4758eab5fc5b676208f2976533f20e7a08cf 11bd96b53f9a4f15bc960e1ea665debbf7538ba2eba316405b9c5c65387ee237 7d42d9ecef7bd87f2eb89ca1892dba0fb69deac85bc2a7165fde75b41374fd35 ca03da92c261b5810095facfa27502f7491060aaa2e18dd7cbaff0a7f9fe785d 3ab47980416842ae4fa1e9836d06f23d95668a8a28ac90a867dad933259ed53f bbc22d7b844529577ae42053c1c4167a62f76706e8cab7c274ceca8b2b1cd0e7 21c566cabe22903fc506fc18770c72a7a5879ef5d585800b7d0f79086e26c666 d06911280706a4e29ab99b2a00d0ac85a247f2a4bd24525497688469c5bbb800 2ac1d7ffda7464590e9f5e5778ef330da6ec2453c1b6358c725a08c3c87e9b32 5d6edbdc9cc04453d8995b6dc19441b00817586d054ef01b850c887fa26b1e39 fb6a67a9bb3bf6a58ee9bd1c2a22228a125439dab01496b8eb37d049ede46714 ea625ee7b36f8a2a5a1800573d49e2e1f4b5195d8109ef85177802fd0e18169d fab02cf868800446e44ab3f9e4c8e8185ec206b3970a35ee66df6a017a5805d5 1dc76e9e85804b39f84a96eb430b3b12bf2010a1c37616f8ab90490d3066bb17 40e1e582a38a5e8c2a8fdce77c4ebac038ce2af97e556c176ef222ba96d2eb68 6fb3eada0190017ff5253b29b864efef638b682fe71cb9b82aa5823c9d5cf3e9 4f432c80c842da4c1c2cca7ab0fc949d11c897b29996fd453cd39c6881b9bb52 add98e05337b4814c49a11c86a39fb9e36125e0ccb91379470c9d6e19d76e527 d7e9223d872b7e6d0c747e411e1da2b59dd390aeb1b4435b00b918afbd3d6d7d eb3f9b360701e213ebf572b1760b0b491f3d1a6e4f4af3b8e27f060b82d7d50d 432a8c8b9f3b744cba7ab3bcb79ddd0f3edd839c64db939125ca26defa8f1766 d135e0ff3b96ffe1af1baaa6ee04ae0fcca17b089d222b10fd2f4ab4e4f1596c 68f594048f7ce229e643f8a52807df9d6cd5316765f01cd30e322616c47afefa bf2889f65d3f5f5ecab3a7d0321c5f9cdc6f99b3b9a05337f123d207c94512bc eca443221af66a0e07c52e40f5f93b734d4c8e0b6d267df0c189b4219d7b497f cd51a2bbd4cdd10c4c29a7259489a88fa56ec8c46eba447d1ed8821827765d7e 4a6281afeda956f8b773699009621444c5ba73ad7062363a860b15f0c883168b b2eded9dd6a90561574cf6574817c2be01e05cad735e1e10aedf23484d0bc449 e96ccb9c4960814f0ba3361ee8d5d90d7776476a9439f70fd5ab4a1a2e7c399c e9dc0b1fe117415e2a3790fe3d70ba098903a74b7122ec6c155b25ef75d1b504 82f2e774856d58b704230d5b577c695107bac62f8b43564b1c76c9b4b2fe937b 592da83d633ce693966f2a7512f061ab0c378b66847d11a57d26a64c3d719ef6 dd3da4114439ea71d3b59f465f801354fcff639810d0200b18300c49df04b29f dca21e4f24f4b4e365fa20d07a8063e6157301c7ef1f544d9c0c90ea3d76300c 46d51269a99e3dab3feca88d7196d2fcd931219a1164011d0958776819d443ab dc3e977dec46dbd587579809cca22886cf02fbf1d0151119a5c635ec077f54d7 c5b0b9c8197f726e9c561d24d5bb5a4d3ba413f02a22cd181f98f401c4662dbf d6c210340627d29c85182dda0ae38e60d9a41f1e563502e29d28134ae1c8be8b b518ca6e1c7a502277553ae39428a4e8439275a3d730d1e6a068554dd36430e5 3d653d9a2081992ea8583db2c2ecc3be612caffb9c7875f32ada51fb1459213f ed13b93d5b5862574860e7be031a1d6901611fa8a57ea53f4067f649e9489354 7228a38ecced2f30fcaa004c54a2f0c803db80c61cc687a1b44ef3518f129459 29c3c15cbcbd05d0ad2118f0560220fb24bb74411e6db3afa1daa9505704c1fe 3a9b7e95b339340fc58c263500595e9e3d49932dedbdb5eed9689e811b2d1b7a 7db5d991a356c27ad857c6e818daf9ccbabdbf424be440db835d0c7396f3123c 3a9255186d5a3ced3e2455b3c2c24016444ee581b4d306e71fcbf56ab3f31994 3692e1793b34a7fe7a13e2e5cf1ed1b8ae8c9d24c311acb43bf635445331ff70 277ca3a7ca51503edc6278cc2e6da58097cb4b2c0a7e4ede83f0a59f7def0665 c542d6f017d6b90c9d81f27831ac9f798ddb1db297514e437bcf95018acdca9d 72004965b5273bcf7492e0a227162cf96b3966e4c5b8ae672311974c0114e665 122d866575f5493fb7aef81245a90ee955806ccc891cf1c5650ab22e9fc4531a 985460dc4b519b3937b3d06fa49f09ec346227f6435d80c45abf914c7ff14f54 c015df54bb76a35c97be6f7edb21e0341de63b2d2dc09b43043df102ef308778 fd728429a129d63c679163b9c20b21765381cf55d1bd0d316d0176afca57f4f7 59cdabcf2510a60e9ca905f14cceae22a962b6bdabfbd833aee47edb8fea6722 f1d4e3de6083b18249ab1ac502317cedeef4c0d3097d05f74f4c7ab607f05a61 0a235b3259959d519f7bd7facf7c12abfdc2e59476fbf1d9335039480d4dde1e c1721f041747f2c5a31bff40b8d12e37598fd7457ff4c684da67dd57f790d861 d788ddd521adf97fae6e9e215c550fc33b0e369a44e832418f2b2d3012f8b0da f130a87fe235d8b078f47db5fd2894853d4a18c7e37025ec079d249309f96134 908bf3db1d5e1fa883dee9d917f0c5c2f503e2818a2001128ffec2dd60b55688 24718dbe35934c5d27ef70c93d8b5b6ed7f7fa5b2a287743c73abdc3c9c4386d 25953a73d86f8d1bb739d0ed604dbdf32c3b0d0ccd5b48e940d767042fb95bf5 025c46d549590934e3fb1ac6c4c1abdb6230bc855e4b8eac9dbd4d3567291707 17b69148fc1a112b7ccb5c9132ac80e78beed54afc4f59f97ab27898efee43ee 38eab0e15210901b35d649800855a992c6d48054b73c66d190ea1fa20b48ff04 3fbaa0326d186194e453b7513a9ac571ce294c3e70f15dade8bea7877a264947 0c8c0c105749c47a6046d22ec395ffd7c76869f3ad978f8dbb0711f69347587b 80707871a6aed1dbadbd840c3e1d031d0dfffc4b50e0255c90897f58836c2c81 c3081c8a5b326a461e8b7c126530283e2cc1669df57e979837dc18f8d4577988 41e7e3f897de37521f9555368e7497f90a91c77c7a99d09a40e24badae2718d6 4a3b08aeafefb405a01cd156e39121cc70ca67289133b8fdb0096e658779e431 c07e559133a566d78b9782b7ea9be8d5d765292dd1b8683780e9512af9a3e2c4 7c16dcbc022991f24c5e0101b2800e7830f78e60c3a1f8e3e6daf6916d2f7f36 f590ae90ca66f20dff27d347250baba95dfcfd2269979c56fd9a67297c2b97fe f002411f5fd13162ee0ebb1e494b882bbeef84fa7647590075af82a6e1b22577 8a4cd261e273c6e7f66c729eca0aaef59dc58f1f96ed528a766527ec36d90c64 29f7d883bb5dc1ffaa8bdc22d8dbfcdadd4b5148b61537446a5ae7a4ba66ad49 f0aa1479d7057e270f21ca318169d2d4b961fc8effb19371fc206f5006cb241b d9937c63b0f288f62d0d60ebaa690f17a99c1d2b3512aea4bcc8d60267c0197f 34fedd9d57e38a0133e5d0cb8f30655c8ab7261afca9124fb54674a16d80a3a2 6b6a4c5cd3966c75e51d9d09cc340e779229fa13090218cfc3bbccda03988dd0 fcc14a05a4983940509dfd9e2f714c4d98d42cdb3d9a97faf0083d129f6875c3 df6dcebd14e0f89c4aa9112f9110864178d705d7cb678ecfd8d1f219c8aa9cc7 9785e18de2df1f2f7b629bf0b6bc11d46b9d49c7696ce667c668b2b5ef9bec48 28f0fe6257f98fac2a9936d2bec54ee305c6c16f6d4fd1a238a2a5e464773d97 47e35314de3883b6e7062b5eec6001d9659ba44919ca15599244c359a512387e 32081dcf8edc132a4d0e18fa419fce9100e84c0e79fde8e125c59aeecab3f35b 1b493e9ea8dbd264d217847b1c9ba2e6541242c2fcdc896383bdc4da810ef3f5 b931b82f40e2e08381ae88648ec277270b9441cac48eb32d852ec8ccfc3a1ee6 4d25a60a097f25e218a9a02272e3b921c89aa2b163bf55425aae3ce29f9e5f52 6df7a2665582990ab5ab8b123870019358afea71ac88b9973506c92863bc5431 cd8440eec2b9726eccd1f466b14c560108e2ed5630c00e9562b708d4b5b92978 712673ece8105b16252cea7075af2040c82e2725063c92841292cae7b6e7ee3a ae323d6c30dbd2171a5589c1e7dd696cf7a595233c39e855c551846931352d35 858f117d83def54973de7661eb3ed0e99e42fc1616b2cb08ca1485ed8dc93e04 2412291830416e29da90f95b5f6aeb56d03451400f27ffc38b38149e8c90c8e2 2c630e8871d8cd9d6cde434094235310cbdb6e54cedc82c06ec0fd169ca078ac 1f39aec4ac3a18987c9fcf3e81d7c30938f6b6551bbcfc7f1410e9c5f6ba637d 12e5d859bcca1e8dbfbed6237bcad520c14f714f99fb7eb482d01afc9d5591a1 c38107ae3765dff954191eecb91e4b4e701c4f7f78d12e170503252f443aea47 999143a6cd2a9856afdbe293f7e4431402eb19a9b943db0fd1a4f76ec29d65e7 8146c8d4d1f04bdb8a3f8f62c96f560cc12c9b0b73643ebfac543c003e93533f 21ae1d3e9d6828e5b8b0b5d243618c65391b281c70bdd39c96446b696485cbe0 a4eb8ee40d361c8e07655ccd34780c9ca0c02bb155a7b70ca523f122ae44c8da 54a4d88567eb4d8a641528669916aa0b429b03d5429630704c3a50f78395f473 b02b8cfa4b3b2f18b0226b6f2f908b3de29770625016f9 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont TeXDict begin 39158280 55380996 1000 600 600 (tuning-openbsd.dvi) @start /Fa 193[60 62[{}1 74.7198 /CMMI9 rf /Fb 131[39 1[39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 1[39 1[39 1[39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 2[39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 1[39 39 39 2[39 37[{}77 74.7198 /CMTT9 rf /Fc 134[37 3[41 25 31 32 1[39 39 43 63 20 2[24 39 35 24 35 39 2[39 10[57 1[55 43 2[52 6[30 4[58 55 54 13[39 1[39 2[39 24 27 24 44[{}31 74.7198 /CMTI9 rf /Fd 129[38 3[34 41 41 55 41 43 30 30 30 41 43 38 43 64 21 41 23 21 43 38 23 34 43 34 43 38 3[21 1[21 3[79 58 58 55 43 57 60 52 60 58 70 48 60 1[28 58 60 50 52 59 55 54 58 1[36 4[21 38 38 38 38 38 38 1[38 38 38 38 21 26 21 2[30 30 21 24[64 1[43 12[{}71 74.7198 /CMR9 rf /Fe 134[40 4[28 34 35 1[42 42 47 68 6[25 38 2[38 11[62 8[74 1[64 75[{}14 83.022 /CMTI10 rf /Ff 193[65 62[{}1 83.022 /CMMI10 rf /Fg 152[42 42 86[42 11[42 3[{}4 83.022 /CMSY10 rf /Fh 133[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 1[35 35 35 35 35 35 35 35 35 1[35 2[35 2[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 1[35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 35 4[35 35 34[{}78 66.4176 /CMTT8 rf /Fi 134[37 1[51 37 39 27 28 28 1[39 35 39 59 20 37 1[20 39 35 22 31 39 31 39 35 4[35 1[43 53 2[53 1[51 39 5[65 44 55 1[25 3[48 1[51 50 7[20 3[35 2[35 2[35 35 20 24 20 9[35 21[39 41 11[{}46 66.4176 /CMR8 rf /Fj 198[30 30 30 30 30 30 30 30 30 30 48[{}10 49.8132 /CMR6 rf /Fk 198[33 33 33 33 33 33 33 33 33 33 48[{}10 58.1154 /CMR7 rf /Fl 133[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 1[44 44 44 44 44 44 44 44 44 8[44 44 1[44 44 44 44 44 44 1[44 44 44 44 1[44 44 44 44 44 1[44 44 44 6[44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 2[44 44 2[44 37[{}63 83.022 /CMTT10 rf /Fm 134[55 55 76 55 58 41 41 43 1[58 52 58 87 29 2[29 58 1[32 48 58 46 58 51 8[79 108 79 80 73 58 78 1[71 79 82 99 63 82 1[40 1[82 1[69 1[76 74 79 9[52 52 52 52 52 52 52 1[52 29 4[41 41 27[58 12[{}52 90.9091 /CMBX10 rf /Fn 133[42 50 50 69 50 53 37 38 39 50 53 48 53 80 27 50 1[27 1[48 29 44 53 42 1[46 10[72 2[53 72 72 65 1[75 91 57 75 1[36 1[75 60 1[73 69 68 7[27 58[{}39 83.022 /CMBX10 rf /Fo 132[42 37 44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 23 2[23 42 23 1[62 62 85 62 62 60 46 61 65 57 65 62 76 52 65 1[30 62 65 54 57 63 60 59 62 1[39 1[65 1[23 23 42 42 42 42 42 42 42 42 42 42 42 23 28 23 2[32 32 23 1[69 2[42 18[69 69 46 46 48 11[{}83 83.022 /CMR10 rf /Fp 134[51 1[51 51 2[51 2[51 51 1[51 3[51 51 1[51 51 51 51 51 33[51 17[51 46[{}16 99.6264 /CMTT12 rf /Fq 128[49 5[51 2[51 54 38 38 38 1[54 49 54 81 27 2[27 54 49 1[43 1[43 54 49 9[100 3[54 2[66 76 6[73 77 4[69 9[49 5[49 1[49 1[27 1[27 31[54 12[{}32 99.6264 /CMR12 rf /Fr 134[59 59 81 59 62 44 44 46 1[62 56 62 93 31 59 1[31 62 56 34 51 62 50 62 54 9[116 85 2[62 84 2[84 1[106 1[88 1[42 88 88 70 74 86 81 80 85 7[56 56 56 56 56 56 56 56 56 2[31 37 45[{}50 99.6264 /CMBX12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 1 1 1 0 bop 609 282 a Fr(Running)38 b(and)h(tuning)f(Op)s(enBSD)g(net)m(w)m (ork)f(serv)m(ers)1068 399 y(in)h(a)g(pro)s(duction)g(en)m(vironmen)m (t)932 639 y Fq(Philipp)c(B)s(\177)-51 b(uhler)851 756 y(sys\014v)m(e.com)36 b(Gm)m(bH)887 872 y Fp(pb@sysfive.com)1994 639 y Fq(Henning)e(Brauer)1975 756 y(BS)f(W)-8 b(eb)33 b(Services)2077 872 y Fp(hb@bsws.de)1432 1067 y Fq(Octob)s(er)f(8,)h (2002)0 1377 y Fr(Abstract)0 1694 y Fo(Hea)n(vily)28 b(loaded)g(net)n(w)n(ork)f(serv)n(ers)g(can)i(exp)r(erience)0 1794 y(resource)j(exhastion.)53 b(A)n(t)33 b(b)r(est,)j(resource)31 b(exhaus-)0 1893 y(tion)k(will)g(slo)n(w)e(serv)n(er)g(resp)r(onse,)j (but)f(left)g(uncor-)0 1993 y(rected,)27 b(it)h(can)g(result)f(in)h(a)f (crash)f(of)i(the)g(serv)n(er.)0 2192 y(In)38 b(order)e(to)i (understand)f(and)g(prev)n(en)n(t)g(suc)n(h)g(sit-)0 2292 y(uations,)30 b(a)g(kno)n(wledge)f(of)h(the)h(in)n(ternal)e(op)r (eration)0 2391 y(of)j(the)g(op)r(erating)f(system)g(is)h(required,)g (esp)r(ecially)0 2491 y(ho)n(w)27 b(memory)g(managemen)n(t)f(w)n(orks.) 0 2690 y(This)42 b(pap)r(er)g(will)g(pro)n(vide)f(an)h(understanding)f (of)0 2790 y(the)25 b(memory)f(managemen)n(t)f(of)i(Op)r(enBSD,)g(ho)n (w)f(to)0 2890 y(monitor)29 b(the)h(curren)n(t)f(status)g(of)g(the)h (system,)g(wh)n(y)0 2989 y(crashes)c(o)r(ccur)h(and)g(ho)n(w)g(to)h (prev)n(en)n(t)f(them.)0 3422 y Fr(1)112 b(Motiv)-6 b(ation)0 3739 y Fo(Our)67 b(main)g(motiv)-5 b(ation)67 b(for)g(this)h(pap)r(er)f (w)n(as)0 3839 y(the)75 b(lac)n(k)e(of)h(comprehensiv)n(e)f(do)r(cumen) n(tation)0 3939 y(ab)r(out)44 b(tuning)g(net)n(w)n(ork)f(serv)n(ers)f (running)h(under)0 4038 y(Op)r(enBSD)f([Op)r(e02)o(],)i(esp)r(ecially)d (with)h(regard)d(to)0 4138 y(the)g(memory)e(usage)g(of)h(the)g(net)n(w) n(orking)f(co)r(de)h(in)0 4238 y(the)28 b(k)n(ernel.)0 4437 y(Either)37 b(one)h(can)f(get)h(general)e(information,)k(or)d(is)0 4536 y(\\left)32 b(alone")f(with)h(the)g(source)f(co)r(de.)50 b(This)31 b(pap)r(er)0 4636 y(outlines)39 b(ho)n(w)g(to)g(deal)f(with)i (these)f(issues,)j(with-)0 4736 y(out)27 b(reading)g(the)h(source)e(co) r(de.)36 b(A)n(t)28 b(least)f(one)g(do)r(es)0 4835 y(not)40 b(need)g(to)f(start)h(in)g(\\no)n(where-land")d(and)i(dig)0 4935 y(through)27 b(virtually)g(ev)n(erything.)0 5134 y(This)32 b(pap)r(er)g(aims)f(to)h(giv)n(e)f(a)h(deep)r(er)g (understand-)0 5234 y(ing)26 b(on)h(ho)n(w)f(the)h(k)n(ernel)e(handles) h(connections)g(and)0 5333 y(in)n(teracts)46 b(with)i(userland)e (applications)h(lik)n(e)g(the)0 5433 y(Apac)n(he)27 b(w)n(ebserv)n(er.) 1854 1377 y Fr(2)112 b(Resource)38 b(Exhaustions)1854 1665 y Fo(Running)22 b(a)e(publicly)i(accessible)e(serv)n(er)f(can)h (alw)n(a)n(ys)1854 1765 y(lead)j(to)g(unexp)r(ected)g(problems.)35 b(T)n(ypically)22 b(it)h(hap-)1854 1865 y(p)r(ens)34 b(that)g(resources)e(get)h(exhausted.)55 b(There)33 b(are)1854 1964 y(n)n(umerous)27 b(reasons)f(for)h(this,)h(including:)1854 2209 y Fn(Lo)m(w)33 b(Budget)41 b Fo(There's)k(not)h(enough)f(money)h (to)2020 2308 y(buy)33 b(\\enough")d(hardw)n(are)h(whic)n(h)h(w)n(ould) g(run)2020 2408 y(an)c(un)n(tuned)g(OS.)1854 2564 y Fn(P)m(eaks)43 b Fo(Ov)n(erload)37 b(situations)j(whic)n(h)f(can)h(b)r(e)g(ex-)2020 2663 y(p)r(ected)26 b(\(e.)g(g.)35 b(sp)r(ecial)25 b(use\))g(or)g(not)g (\(e.)g(g.)36 b(get-)2020 2763 y(ting)28 b(\\slashdotted"\).)1854 2918 y Fn(DoS)42 b Fo(Denial-of-Service)51 b(b)n(y)h(attac)n(k)n(ers)e (\015o)r(o)r(ding)2020 3018 y(the)28 b(serv)n(er.)1854 3262 y(No)d(matter)g(what)f(reason)g(leads)g(to)h(an)f(exhaustion,)1854 3362 y(there)e(are)g(also)f(di\013eren)n(t)i(t)n(yp)r(es)f(of)g (resources)e(whic)n(h)1854 3462 y(can)40 b(su\013er)f(from)h(suc)n(h)f (a)g(situation.)74 b(W)-7 b(e)40 b(brie\015y)1854 3561 y(sho)n(w)26 b(common)g(t)n(yp)r(es)h(and)g(coun)n(termeasures.)34 b(Af-)1854 3661 y(terw)n(ards)f(w)n(e)i(go)f(in)n(to)g(detail)h(ab)r (out)g(memory)f(ex-)1854 3761 y(haustion.)1854 4049 y Fm(2.1)105 b(I/O)35 b(Exhaustion)1854 4337 y Fo(It's)25 b(v)n(ery)f(t)n(ypical)g(for)g(net)n(w)n(ork)f(serv)n(ers)g(to)i (su\013er)f(in)1854 4437 y(this)40 b(area.)72 b(Often)40 b(p)r(eople)g(just)g(add)g(more)f(CPU)1854 4536 y(to)47 b(\\help")f(a)g(slo)n(wly)f(reacting)g(serv)n(er,)50 b(but)d(this)1854 4636 y(w)n(ouldn't)28 b(help)g(in)g(suc)n(h)f(a)g (case.)1854 4835 y(Usually)k(one)h(can)f(detect)h(suc)n(h)f(an)g (exhaustion)g(b)n(y)1854 4935 y(using)20 b Fl(vmstat\(8\))d Fo(or)i Fl(systat\(8\))p Fo(.)31 b(Detailed)21 b(usage)1854 5035 y(is)32 b(sho)n(wn)e(in)i(Section)g(5.1)e(There)h(are)g(also)f(n)n (umer-)1854 5134 y(ous)23 b(I/O)f(\\b)r(ottlenec)n(ks")g(p)r(ossible,)i (but)f(one)g(t)n(ypical)1854 5234 y(indication)40 b(is)f(the)h(CPU)g(b) r(eing)f(mostly)h(idle)g(and)1854 5333 y(blo)r(c)n(k)n(ed)d(pro)r (cesses)f(w)n(aiting)g(for)h(resources.)64 b(F)-7 b(ur-)1854 5433 y(ther)28 b(distinctions)g(can)f(b)r(e)h(made:)p eop %%Page: 2 2 2 1 bop 0 83 a Fn(Disk)0 377 y Fo(The)32 b(pro)r(cess)f(is)i(w)n (aiting)e(for)h(blo)r(c)n(ks)f(from)h(\(or)g(to\))0 476 y(the)j(disk)f(and)g(cannot)g(run)g(on)h(the)f(CPU,)h(ev)n(en)f(if)0 576 y(the)23 b(CPU)g(is)g(idle.)35 b(This)23 b(case)f(could)h(b)r(e)g (resolv)n(ed)e(b)n(y)0 676 y(mo)n(ving)j(from)g(IDE)g(to)h(SCSI,)g (and/or)e(using)h(RAID)0 775 y(tec)n(hnology)-7 b(.)34 b(If)24 b(rep)r(etitiv)n(e)g(writes/reads)d(are)i(b)r(eing)0 875 y(done)31 b(an)h(increase)e(of)i(the)g(\014lesystem-cac)n(he)e (could)0 974 y(also)21 b(help)335 944 y Fk(1)372 974 y Fo(.)35 b(Filesystem-cac)n(he)21 b(can)h(b)r(e)g(con\014gured)0 1074 y(with)28 b(the)g(k)n(ernel)f(option)g Fl(BUFCACHEPERCENT)1495 1044 y Fk(2)1526 1074 y Fo(.)0 1594 y Fn(NIC)0 1887 y Fo(Cho)r(osing)32 b(the)i(righ)n(t)e(net)n(w)n(ork)g(card)g(is)h(imp)r (ortan)n(t)0 1987 y(for)18 b(busy)h(serv)n(ers.)32 b(There)18 b(are)g(lots)g(of)h(lo)n(w-end)f(mo)r(d-)0 2087 y(els)33 b(lik)n(e)f(the)h(whole)f(Realtek)h(range.)51 b(These)32 b(cards)0 2186 y(are)f(relativ)n(ely)g(dum)n(b)h(themselv)n(es.)50 b(On)32 b(the)h(other)0 2286 y(hand,)24 b(there)e(are)g(c)n(hipsets)g (with)h(more)f(in)n(telligence.)0 2386 y(DEC's)38 b(21143,)g(supp)r (orted)g(b)n(y)g(the)h(dc\(4\))f(driv)n(er,)0 2485 y(and)j(In)n(tel's)g (new)n(er)f(c)n(hipsets,)k(supp)r(orted)d(b)n(y)g(the)0 2585 y(fxp\(4\))25 b(driv)n(er,)f(ha)n(v)n(e)g(b)r(een)h(pro)n(v)n(en)e (to)h(w)n(ork)f(w)n(ell)i(in)0 2684 y(high-load)h(circumstances.)0 2884 y(Lo)n(w-end)18 b(cards)h(usually)g(generate)f(an)h(in)n(terrupt)h (for)0 2983 y(ev)n(ery)k(pac)n(k)n(et)g(receiv)n(ed,)h(whic)n(h)g (leads)f(to)h(the)h(prob-)0 3083 y(lems)c(w)n(e)f(describ)r(e)h(in)g (the)g(next)g(subsection.)35 b(By)21 b(us-)0 3183 y(ing)31 b(b)r(etter)g(cards,)f(lik)n(e)h(the)g(men)n(tioned)f(DEC)h(and)0 3282 y(In)n(tel)h(ones,)f(pac)n(k)n(ets)f(are)h(getting)g(com)n(bined,) h(th)n(us)0 3382 y(reducing)27 b(the)h(amoun)n(t)f(of)h(in)n(terrupts.) 0 3581 y(Another)e(imp)r(ortan)n(t)g(p)r(oin)n(t)h(is)f(the)h(ph)n (ysical)e(media)0 3681 y(in)n(terface,)h(e.)g(g.)36 b Fl(sqphy\(4\))p Fo(.)e(Noise)26 b(and)g(distortion)0 3780 y(is)37 b(a)g(normal)f(part)g(of)h(net)n(w)n(ork)f(comm)n (unications,)0 3880 y(a)29 b(go)r(o)r(d)g(PHY)h(will)g(do)f(a)g(b)r (etter)h(job)g(of)f(extracting)0 3980 y(the)22 b(data)f(from)h(the)g (noise)f(on)h(the)g(wire)f(than)h(a)g(p)r(o)r(or)0 4079 y(PHY)29 b(will,)h(reducing)e(the)i(n)n(um)n(b)r(er)e(of)h(net)n(w)n (ork)f(re-)0 4179 y(transmissions)e(required.)0 4378 y(It)33 b(migh)n(t)f(b)r(e)h(a)f(go)r(o)r(d)f(idea)i(to)f(use)g (Gigabit)g(cards,)0 4478 y(ev)n(en)27 b(when)g(running)f(100)g(MBit/s)h (only)-7 b(.)36 b(They)27 b(are)0 4577 y(ob)n(viously)40 b(built)j(for)e(m)n(uc)n(h)g(higher)g(pac)n(k)n(et)g(rates)0 4677 y(\(and)32 b(this)g(is)g(the)h(real)e(problem,)h(not)g (bandwidth\))0 4777 y(than)37 b(F)-7 b(astEthernet)37 b(ones,)i(th)n(us)e(ha)n(v)n(e)e(more)i(o)n(wn)0 4876 y(in)n(telligence)27 b(and)h(deal)f(b)r(etter)h(with)g(high)g(loads.)p 0 5119 676 4 v 92 5173 a Fj(1)127 5196 y Fi(Though)c(this)e(has)h (implications)g(on)g(the)g(KVM,)f(see)h(the)0 5275 y(appropriate)h (section)92 5331 y Fj(2)127 5354 y Fi(for)e(most)h(k)n(ernel)g (con\014gurations,)h(see)f Fh(options\(4\))i Fi(and)0 5433 y Fh(config\(8\))p Fi(.)1854 83 y Fn(IR)m(Q)1854 751 y Fo(Ev)n(ery)c(in)n(terrupt)i(requires)e(a)i(con)n(text)f(switc)n (h,)i(from)1854 850 y(the)30 b(pro)r(cess)e(running)g(when)h(the)h(IR)n (Q)e(to)r(ok)h(place,)1854 950 y(to)21 b(the)g(in)n(terrupt)f(handler.) 34 b(As)21 b(a)f(n)n(um)n(b)r(er)g(of)g(things)1854 1050 y(m)n(ust)26 b(b)r(e)f(done)g(up)r(on)h(en)n(tering)e(the)i(in)n (terrupt)f(han-)1854 1149 y(dler,)38 b(a)d(large)f(quan)n(tit)n(y)i(of) f(in)n(terrupts)g(can)h(result)1854 1249 y(in)g(excess)e(time)h (required)g(for)f(con)n(text)h(switc)n(hing.)1854 1348 y(One)30 b(non-ob)n(vious)e(w)n(a)n(y)h(to)h(reduce)g(this)g(load)g(is) g(to)1854 1448 y(share)21 b(in)n(terrupts)h(b)r(et)n(w)n(een)g(the)h (net)n(w)n(ork)e(adapters,)1854 1548 y(something)h(p)r(ermitted)i(on)e (the)h(PCI)f(bus.)35 b(As)23 b(man)n(y)1854 1647 y(p)r(eople)h(are)f (not)h(ev)n(en)f(a)n(w)n(are)f(of)h(the)i(the)f(p)r(ossibilit)n(y)1854 1747 y(of)36 b(in)n(terrupt)f(sharing,)h(and)f(the)h(b)r(ene\014ts)g (are)e(not)1854 1847 y(ob)n(vious,)27 b(let's)g(lo)r(ok)g(at)h(this)g (a)f(little)h(closer.)1854 2046 y(With)37 b(separate)d(adapters)g(on)i (separate)e(in)n(terrupt)1854 2145 y(lines,)29 b(when)f(the)h(\014rst)f (in)n(terrupt)g(comes)f(in,)i(a)f(con-)1854 2245 y(text)20 b(switc)n(h)f(to)g(the)h(in)n(terrupt)f(handler)f(tak)n(es)h(place.) 1854 2345 y(If)39 b(another)f(in)n(terrupt)h(comes)f(in)h(from)f(the)h (other)1854 2444 y(adapter)c(while)h(the)h(\014rst)f(in)n(terrupt)f(is) h(still)g(b)r(eing)1854 2544 y(handled,)g(it)f(will)f(either)g(in)n (terrupt)g(the)h(\014rst)f(han-)1854 2644 y(dler,)i(or)e(b)r(e)h(dela)n (y)n(ed)e(un)n(til)i(the)g(\014rst)f(handler)g(has)1854 2743 y(completed,)g(dep)r(ending)f(on)g(priorit)n(y)-7 b(,)32 b(but)i(regard-)1854 2843 y(less,)g(t)n(w)n(o)e(additional)h (con)n(text)f(switc)n(hes)h(will)g(tak)n(e)1854 2942 y(place)f({)f(one)h(in)n(to)f(the)h(second)f(handler,)i(one)e(bac)n(k) 1854 3042 y(out.)1854 3241 y(In)38 b(the)h(case)e(of)h(the)g(PCI)g(and) f(EISA)h(busses,)i(in-)1854 3341 y(terrupts)25 b(are)f(lev)n(el)g (triggered,)g(not)h(edge)g(triggered,)1854 3441 y(whic)n(h)45 b(mak)n(es)e(in)n(terrupt)h(sharing)f(p)r(ossible.)87 b(As)1854 3540 y(long)20 b(as)f(the)i(in)n(terrupt)f(line)g(is)g(held)h (activ)n(e,)g(a)f(device)1854 3640 y(needs)35 b(servicing,)h(ev)n(en)f (if)g(the)h(\014rst)f(device)f(whic)n(h)1854 3739 y(triggered)39 b(the)h(in)n(terrupt)g(has)f(already)g(b)r(een)h(ser-)1854 3839 y(viced.)48 b(So,)32 b(in)f(this)h(case,)f(when)h(the)f(\014rst)g (adapter)1854 3939 y(triggers)i(the)i(in)n(terrupt,)h(there)e(will)h(b) r(e)g(a)f(con)n(text)1854 4038 y(switc)n(h)g(to)g(the)g(handler.)55 b(Before)33 b(the)h(handler)f(re-)1854 4138 y(turns,)d(it)g(will)g(see) f(if)h(an)n(y)e(other)h(devices)g(need)g(ser-)1854 4238 y(vicing,)38 b(b)r(efore)d(doing)h(a)f(con)n(text)h(switc)n(h)f(bac)n (k)h(to)1854 4337 y(the)28 b(previous)f(pro)r(cess.)1854 4536 y(In)e(a)g(busy)f(en)n(vironmen)n(t,)h(when)g(man)n(y)f(devices)g (are)1854 4636 y(needing)34 b(service,)f(sa)n(ving)f(these)i(con)n (text)f(switc)n(hes)1854 4736 y(can)f(signi\014can)n(tly)f(impro)n(v)n (e)g(p)r(erformance)g(b)n(y)h(p)r(er-)1854 4835 y(mitting)d(the)f(pro)r (cessor)e(to)i(sp)r(end)h(more)e(time)h(pro-)1854 4935 y(cessing)45 b(data,)50 b(rather)45 b(than)h(switc)n(hing)f(b)r(et)n(w) n(een)1854 5035 y(tasks.)66 b(In)37 b(fact,)k(in)c(a)g(v)n(ery)g(high)g (load)g(situation,)1854 5134 y(it)45 b(ma)n(y)f(b)r(e)h(desireable)f (to)g(switc)n(h)h(the)g(adapters)1854 5234 y(and)24 b(driv)n(ers)e (from)h(an)h(in)n(terrupt)f(driv)n(en)g(mo)r(de)h(to)g(a)1854 5333 y(p)r(olling)30 b(mo)r(de,)g(though)g(this)g(is)f(not)h(supp)r (orted)g(on)1854 5433 y(Op)r(enBSD)e(at)g(this)g(time.)p eop %%Page: 3 3 3 2 bop 0 83 a Fm(2.2)105 b(CPU)35 b(Exhaustion)0 391 y Fo(Of)19 b(course)f(the)i(CPU)f(can)g(b)r(e)h(o)n(v)n(erloaded)d (also)h(while)0 490 y(other)38 b(resources)e(are)h(still)h(\014ne.)69 b(Besides)37 b(buying)0 590 y(more)22 b(CPU)h(p)r(o)n(w)n(er,)f(whic)n (h)h(is)g(not)f(alw)n(a)n(ys)f(p)r(ossible,)0 690 y(there)37 b(are)f(other)g(w)n(a)n(ys)f(to)i(resolv)n(e)e(this)i(problem.)0 789 y(Most)27 b(common)g(cases)g(for)g(this)h(are:)0 1064 y Fn(CGI)42 b Fo(Excessiv)n(e)35 b(usage)h(of)i(CGI)f(scripts,)j (usually)166 1163 y(written)31 b(in)g(in)n(terpreter)f(languages)e(lik) n(e)j(PHP)166 1263 y(or)52 b(P)n(erl.)111 b(Better)53 b(\(resource-wise\))d(co)r(ding)166 1362 y(can)45 b(help,)50 b(as)45 b(w)n(ell)g(as)f(using)h(mo)r(dules)g(lik)n(e)166 1462 y(mo)r(d)p 330 1462 25 4 v 30 w(p)r(erl)496 1432 y Fk(3)561 1462 y Fo(to)27 b(reduce)g(load.)0 1646 y Fn(RDBM)41 b Fo(Usually)73 b(those)f(CGI)h(scrips)g(use)f(a)166 1745 y(database.)99 b(Optimization)49 b(of)g(the)g(connec-)166 1845 y(tions)23 b(and)g(queries)g(\(Indexing,)h(..\))36 b(is)23 b(one)g(w)n(a)n(y)-7 b(.)166 1944 y(There)20 b(is)h(also)e(the)i(complete)g(o\017oading)e(of)i(the)166 2044 y(database)26 b(to)i(a)f(di\013eren)n(t)h(mac)n(hine)1336 2014 y Fk(4)1373 2044 y Fo(.)0 2228 y Fn(SSL)42 b Fo(Esp)r(ecially)30 b(e-commerce)f(systems)h(or)f(online)166 2327 y(banking)k(sites)g (su\013er)g(here.)54 b(Op)r(enBSD)33 b(sup-)166 2427 y(p)r(orts)52 b(hardw)n(are-accelerators)1246 2397 y Fk(5)1283 2427 y Fo(.)111 b(T)n(ypical)166 2527 y(cryptographic)29 b(routines)i(used)g(for)g(SSL/TLS)166 2626 y(can)f(b)r(e)h(o\017oaded)e (to)h(suc)n(h)g(cards)g(in)g(a)g(trans-)166 2726 y(paren)n(t)25 b(manner,)h(th)n(us)g(freeing)g(CPU)g(time)h(for)166 2825 y(pro)r(cessing)f(requests.)0 3249 y Fr(3)112 b(Memory)38 b(Exhaustion)0 3557 y Fo(Another)23 b(case)f(of)i(o)n(v)n(erloading)c (can)j(b)r(e)g(the)h(exhaus-)0 3657 y(tion)37 b(of)h(memory)e (resources.)65 b(Also)37 b(the)h(sp)r(eed)f(of)0 3756 y(the)32 b(allo)r(cator)f(for)g(memory)g(areas)f(has)i(signi\014can)n (t)0 3856 y(in\015uence)24 b(on)e(the)i(o)n(v)n(erall)d(p)r(erformance) h(of)h(the)h(sys-)0 3955 y(tem.)0 4263 y Fm(3.1)105 b(Virtual)35 b(Memory)g(\(VM\))0 4571 y Fo(VM)22 b(is)f(comprised)g(of)h(the)f(ph)n (ysical)g(RAM)h(and)g(p)r(os-)0 4670 y(sible)31 b(sw)n(ap)g (space\(s\).)48 b(Pro)r(cesses)29 b(are)i(loaded)f(in)n(to)0 4770 y(this)35 b(area)f(and)h(use)g(it)g(for)g(their)g(data)g (structures.)0 4870 y(While)30 b(the)g(k)n(ernel)f(do)r(esn't)g(really) g(care)f(ab)r(out)i(the)0 4969 y(curren)n(t)g(lo)r(cation)g(of)h(the)g (pro)r(cess')f(memory)g(space)p 0 5040 676 4 v 92 5093 a Fj(3)127 5117 y Fi(This)22 b(can)i(ha)n(v)n(e)g(securit)n(y)f (implications,)f(but)i(this)f(is)f(an-)0 5196 y(other)i(story)-6 b(.)92 5252 y Fj(4)127 5275 y Fi(This)32 b(could)h(b)r(e)g(unfeasible)g (due)g(to)g(an)g(already)g(o)n(v)n(er-)0 5354 y(loaded)24 b(net)n(w)n(ork)h(or)e(due)i(to)f(budget)h(constrain)n(ts.)92 5410 y Fj(5)127 5433 y Fh(crypto\(4\))1854 83 y Fo(\(or)20 b(address)f(space\))h(it)h(is)f(recommended)g(that)h(esp)r(e-)1854 183 y(cially)26 b(the)h(most)f(activ)n(e)g(tasks)f(\(lik)n(e)i(the)g(w) n(ebserv)n(er)1854 282 y(application\))c(nev)n(er)e(b)r(e)i(sw)n(app)r (ed)f(out)h(or)f(ev)n(en)g(sub-)1854 382 y(jected)28 b(to)g(paging.)1854 581 y(With)47 b(regard)d(to)i(reliabilit)n(y)f (it's)i(not)f(critical)f(if)1854 681 y(the)28 b(amoun)n(t)e(of)h(ph)n (ysical)f(RAM)i(is)f(exhausted)g(and)1854 780 y(hea)n(vy)19 b(paging)g(o)r(ccurs,)h(but)g(p)r(erformance-wise)e(this)1854 880 y(should)26 b(not)g(happ)r(en.)37 b(The)26 b(paging)e(could)i(comp) r(ete)1854 980 y(for)36 b(Disk)g(I/O)f(with)h(the)g(serv)n(er)e(task,)k (th)n(us)e(slo)n(w-)1854 1079 y(ing)21 b(do)n(wn)f(the)i(general)d(p)r (erformance)h(of)h(the)g(serv)n(er.)1854 1179 y(And,)h(naturally)-7 b(,)21 b(harddisks)d(are)h(slo)n(w)n(er)f(than)i(RAM)1854 1279 y(b)n(y)28 b(magnitudes.)1854 1478 y(It's)c(most)g(lik)n(ely)f (that)h(coun)n(termeasures)e(are)h(tak)n(en)1854 1577 y(after)47 b(the)h(serv)n(er)d(starts)h(hea)n(vy)g(paging,)51 b(but)d(it)1854 1677 y(could)42 b(happ)r(en)f(that)h(also)f(the)h(sw)n (ap)e(space,)45 b(and)1854 1777 y(th)n(us)36 b(the)g(whole)f(VM,)h(is)g (exhausted.)60 b(If)36 b(this)g(o)r(c-)1854 1876 y(curs,)27 b(so)r(oner)g(or)f(later)h(the)h(mac)n(hine)f(will)h(crash.)1854 2076 y(Ev)n(en)d(if)i(one)e(do)r(esn't)h(plan)g(for)f(the)h(serv)n(er)e (starting)1854 2175 y(to)i(page)f(out)h(memory)f(from)h(RAM)g(to)g(sw)n (ap,)g(there)1854 2275 y(should)37 b(b)r(e)g(some)f(sw)n(ap)g(space.)64 b(This)37 b(prev)n(en)n(ts)f(a)1854 2374 y(direct)e(crash,)g(if)g(the)g (VM)g(is)f(exhausted.)54 b(If)34 b(sw)n(ap)1854 2474 y(is)29 b(b)r(eing)g(used,)g(one)f(has)g(to)h(determine)f(if)h(this)g (w)n(as)1854 2574 y(a)36 b(one-time-only)g(p)r(eak,)i(or)e(if)h(there)f (is)h(a)f(general)1854 2673 y(increase)30 b(of)h(usage)f(on)h(the)h (paging)e(serv)n(er.)46 b(In)31 b(the)1854 2773 y(latter)22 b(case)g(one)g(should)g(upgrade)f(RAM)i(as)e(so)r(on)h(as)1854 2873 y(p)r(ossible.)1854 3072 y(In)f(general)f(it's)h(go)r(o)r(d)f (practice)h(to)f(monitor)h(the)g(VM)1854 3171 y(usage,)26 b(esp)r(ecially)g(to)h(trac)n(k)f(do)n(wn)g(when)h(the)g(sw)n(ap)1854 3271 y(space)19 b(is)f(b)r(eing)h(touc)n(hed.)34 b(See)19 b(section)g(5)f(for)h(details.)1854 3580 y Fm(3.2)105 b(Kernel)29 b(Virtual)g(Memory)h(\(KVM\))1854 3888 y Fo(Besides)h(VM)h(there)f(is)h(a)f(reserv)n(ed)e(area)h(solely)h(for) 1854 3988 y(k)n(ernel)23 b(tasks.)35 b(On)24 b(the)g(common)g(i386)f (arc)n(hitecture)1854 4088 y(\(IA-32\))30 b(the)h(virtual)f(address)f (space)h(is)g(4GB.)g(The)1854 4187 y(Op)r(enBSD/i386)49 b(k)n(ernel)g(reserv)n(es)f(768MB)h(since)1854 4287 y(the)30 b(3.2)e(release)f(\(formerly)h(512MB\))g(of)h(this)g(space)1854 4387 y(for)e(k)n(ernel)g(structures,)g(called)g(KVM.)1854 4586 y(KVM)h(is)g(used)g(for)f(addressing)g(the)h(needs)g(of)g(man-) 1854 4685 y(aging)38 b(an)n(y)h(hardw)n(are)e(in)j(the)g(system)f(and)g (small)1854 4785 y(allo)r(cations)2241 4755 y Fk(6)2327 4785 y Fo(b)r(eing)49 b(needed)h(b)n(y)f(syscalls.)101 b(The)1854 4885 y(biggest)24 b(c)n(h)n(unks)f(b)r(eing)h(used)g(are)f (the)h(managemen)n(t)1854 4984 y(of)32 b(the)g(VM)g(\(RAM)h(and)f(sw)n (ap\),)g(\014lesystem-cac)n(he)1854 5084 y(and)c(storage)d(of)j(net)n (w)n(ork)e(bu\013ers)i(\(m)n(buf)6 b(\).)1854 5283 y(Con)n(trary)17 b(to)h(userland)g(the)h(k)n(ernel)f(allo)r(cations)f(can-)p 1854 5356 V 1947 5410 a Fj(6)1981 5433 y Fi(lik)n(e)24 b(pathname)h(translations)p eop %%Page: 4 4 4 3 bop 0 83 a Fo(not)21 b(b)r(e)h(paged)f(out)g(\(\\wired)g(pages"\).) 33 b(Actually)22 b(it's)0 183 y(p)r(ossible)33 b(to)g(ha)n(v)n(e)g (pageable)f(k)n(ernel)g(memory)-7 b(,)34 b(but)0 282 y(this)e(is)g(rarely)f(used)h(\(e.)g(g.)50 b(for)31 b(pip)r(e)i (bu\013ers\))f(and)0 382 y(not)e(a)h(concern)e(in)i(the)g(curren)n(t)e (con)n(text.)46 b(Th)n(us,)31 b(if)0 482 y(the)25 b(KVM)h(is)f (exhausted,)g(the)g(serv)n(er)e(will)j(immedi-)0 581 y(atly)d(crash.)34 b(Of)23 b(course)f(768MB)g(is)h(the)g(limit,)i(but)f (if)0 681 y(there)e(is)h(less)f(RAM)h(a)n(v)-5 b(ailable,)22 b(this)h(is)f(the)h(absolute)0 780 y(limit)31 b(for)g(wired)f(pages)g (then.)47 b(Non-in)n(terrupt-safe)0 880 y(pages)38 b(could)h(b)r(e)h (paged)e(out,)k(but)e(this)g(is)f(a)g(rare)0 980 y(exception.)0 1179 y(Since)26 b(RAM)g(has)e(to)i(b)r(e)f(managed)g(b)n(y)g(k)n(ernel) f(maps)0 1279 y(also,)c(it's)h(not)e(wise)h(to)g(just)g(upgrade)f(RAM)i (without)0 1378 y(need.)51 b(More)32 b(RAM)h(lea)n(v)n(es)d Fl(less)h Fo(space)h(for)g(other)0 1478 y(maps)25 b(in)g(KVM.)h (Monitoring)e(the)i(\\really")d(needed)0 1577 y(amoun)n(t)30 b(of)f(RAM)i(is)f(recommended,)g(if)h(KVM)f(ex-)0 1677 y(haustions)40 b(o)r(ccur.)76 b(F)-7 b(or)41 b(example,)j(128MB)39 b(for)h(a)0 1777 y(\014rew)n(all)30 b(is)h(usually)f(more)g(than)i (enough.)46 b(Lo)r(ok)30 b(at)0 1876 y(Section)37 b(7.2)f(for)h(a)f(t)n (ypical)h(hardw)n(are)e(setup)i(of)g(a)0 1976 y(busy)27 b(\014rew)n(all.)0 2175 y(This)f(complete)f(area)f(is)i(called)f Fl(kernel)p 1298 2175 27 4 v 29 w(map)g Fo(in)h(the)0 2275 y(source)h(and)g(has)h(sev)n(eral)e(\\submaps")1237 2245 y Fk(7)1273 2275 y Fo(.)38 b(One)27 b(main)0 2374 y(reason)42 b(for)g(this)i(is)f(the)g(lo)r(c)n(king)g(of)g(the)g (address)0 2474 y(space.)90 b(By)45 b(this)h(mapping)f(other)g(areas)f (of)i(the)0 2574 y(k)n(ernel)28 b(can)g(sta)n(y)g(unlo)r(c)n(k)n(ed)h (while)g(another)e(map)i(is)0 2673 y(lo)r(c)n(k)n(ed.)0 2773 y(Main)76 b(submaps)g(are)g Fl(kmem)p 1023 2773 V 29 w(map,)42 b(pager)p 1490 2773 V 30 w(map,)0 2873 y(mb)p 93 2873 V 31 w(map)32 b Fo(and)i Fl(exec)p 632 2873 V 29 w(map)p Fo(.)54 b(The)34 b(allo)r(cation)f(is)g(done)0 2972 y(at)f(b)r(o)r(ot-time)g(and)f(is)h(nev)n(er)e(freed,)j(the)f (size)g(is)f(ei-)0 3072 y(ther)26 b(a)g(compile-time)g(or)g(b)r(o)r (ot-time)g(option)g(to)h(the)0 3171 y(k)n(ernel.)0 3592 y Fr(4)112 b(Resource)37 b(Allo)s(cation)0 3897 y Fo(Since)28 b(the)h(exhaustion)e(of)h(KVM)g(is)g(the)h(most)f(crit-)0 3996 y(ical)35 b(situation)h(one)f(can)g(encoun)n(ter,)i(w)n(e)e(will)h (no)n(w)0 4096 y(concen)n(trate)23 b(on)g(ho)n(w)g(those)h(memory)f (areas)f(are)h(al-)0 4196 y(lo)r(cated.)0 4395 y(Userland)51 b(applications)g(cannot)g(allo)r(cate)g(KVM)0 4494 y(needed)32 b(for)g(net)n(w)n(ork)e(routines)i(directly)-7 b(.)50 b(KVM)32 b(is)0 4594 y(protected)i(from)f(userland)h(pro)r(cesses)e (completely)-7 b(,)0 4694 y(th)n(us)43 b(there)g(ha)n(v)n(e)f(to)i(b)r (e)f(routines)g(to)g(pass)g(data)0 4793 y(o)n(v)n(er)49 b(this)j(b)r(order.)106 b(The)51 b(userland)f(can)h(use)f(a)0 4893 y Fl(syscall\(2\))29 b Fo(to)34 b(accomplish)e(that.)55 b(F)-7 b(or)33 b(the)h(case)0 4993 y(of)20 b(net)n(w)n(orking)f(the)i (pro)r(cess)e(w)n(ould)h(use)h Fl(socket\(2\))0 5092 y Fo(related)27 b(calls,)g(lik)n(e)g Fl(bind\(2\))p Fo(,)e Fl(recv\(2\))p Fo(,)g(etc.)0 5292 y(Ha)n(ving)g(this)g(la)n(y)n(er)f(b) r(et)n(w)n(een)i(userland)f(and)g(k)n(ernel,)p 0 5356 676 4 v 92 5410 a Fj(7)127 5433 y Fi(see)f(/sys/uvm/uvm)p 713 5433 22 4 v 27 w(km.c)1854 83 y Fo(w)n(e)19 b(will)h(concen)n (trate)e(on)i(ho)n(w)f(the)g(k)n(ernel)g(is)g(allo)r(cat-)1854 183 y(ing)k(memory;)h(the)g(userland)e(pro)r(cess)g(has)h(no)g(direct) 1854 282 y(in\015uence)30 b(on)f(this.)41 b(The)29 b(indirect)h (in\015uence)f(is)g(the)1854 382 y(sending)38 b(and)f(receiving)g(of)g (data)g(to)h(or)f(from)g(the)1854 482 y(k)n(ernel)h(b)n(y)g(the)g (userland)g(pro)r(cess.)67 b(F)-7 b(or)38 b(example)1854 581 y(the)h(serv)n(er)d(handles)i(a)f(lot)h(of)g(incoming)g(net)n(w)n (ork)1854 681 y(data,)45 b(whic)n(h)c(will)h(\014ll)g(up)g(bu\013er)g (space)e(\(m)n(bufs\))1854 780 y(within)26 b(the)g(KVM.)g(If)g(the)f (userland)g(pro)r(cess)f(is)h(not)1854 880 y(handling)h(this)h(data)f (fast)g(enough,)g(KVM)g(could)g(b)r(e)1854 980 y(exhausted.)65 b(Of)37 b(course)e(the)j(same)e(is)h(true)g(if)g(the)1854 1079 y(pro)r(cess)c(is)h(sending)f(data)h(faster)f(than)h(the)g(k)n (ernel)1854 1179 y(can)c(release)e(it)i(to)g(the)g(media,)g(th)n(us)g (freeing)f(KVM)1854 1279 y(bu\013ers.)1854 1657 y Fm(4.1)105 b(m)m(buf)1854 2036 y Fo(Historically)-7 b(,)49 b(BSD)d(uses)g Fl(mbuf\(9\))3053 2006 y Fk(8)3133 2036 y Fo(routines)f(to)1854 2136 y(handle)e(net)n(w)n(ork)e(related)h(data.)81 b(An)42 b(m)n(buf)h(is)g(a)1854 2236 y(data)48 b(structure)g(of)h(\014xed)f (size)g(of)h(256)e(b)n(ytes)3483 2206 y Fk(9)3520 2236 y Fo(.)1854 2335 y(Since)c(there)g(is)f(o)n(v)n(erhead)f(for)h(the)h(m) n(buf)g(header)1854 2435 y(\(m)p 1960 2435 25 4 v 31 w(hdr)p Fg(fg)p Fo(\))31 b(itself,)i(the)g(pa)n(yload)d(is)i(reduced)g (b)n(y)g(at)1854 2535 y(least)c(20)e(b)n(ytes)h(and)h(up)g(to)f(40)g(b) n(ytes)3060 2504 y Fk(10)3130 2535 y Fo(.)1854 2734 y(Those)48 b(additional)h(20)e(b)n(ytes)i(o)n(v)n(erhead)d(app)r(ear,)1854 2833 y(if)h(the)f(requested)f(data)g(do)r(esn't)h(\014t)g(within)g(t)n (w)n(o)1854 2933 y(m)n(bufs.)36 b(In)24 b(suc)n(h)f(a)g(case)g(an)g (external)g(bu\013er,)i(called)1854 3033 y(cluster,)g(with)g(a)f(size)f (of)i(2048)d(b)n(ytes)3020 3003 y Fk(11)3090 3033 y Fo(,)j(is)f(allo)r (cated)1854 3132 y(and)k(referenced)f(b)n(y)g(the)h(m)n(buf)g(\(m)p 2987 3132 V 30 w(ext)p Fg(fg)p Fo(\).)1854 3332 y(Mbufs)49 b(b)r(elonging)f(to)g(one)g(pa)n(yload)f(pac)n(k)n(et)g(are)1854 3431 y(\\c)n(hained")64 b(together)h(b)n(y)g(a)g(p)r(oin)n(ter)g Fl(mh)p 3320 3431 27 4 v 31 w(next)p Fo(.)1854 3531 y Fl(mh)p 1947 3531 V 31 w(nextpkt)30 b Fo(p)r(oin)n(ts)k(to)f(the)g (next)h(c)n(hain,)g(forming)1854 3630 y(a)44 b(queue)g(of)g(net)n(w)n (ork)f(data)g(whic)n(h)h(can)g(b)r(e)g(pro-)1854 3730 y(cessed)26 b(b)n(y)g(the)g(k)n(ernel.)36 b(The)26 b(\014rst)g(mem)n(b) r(er)g(of)g(suc)n(h)1854 3830 y(a)k(c)n(hain)g(has)g(to)g(b)r(e)g(a)g (\\pac)n(k)n(et)f(header")g(\(mh)p 3359 3830 25 4 v 30 w(t)n(yp)r(e)1854 3929 y(M)p 1935 3929 V 30 w(PKTHDR\).)1854 4129 y(Allo)r(cation)k(of)g(m)n(bufs)h(and)f(clusters)f(are)h(obtained) 1854 4228 y(b)n(y)51 b(macros)d(\(MGET,)j(MCLGET,)f(..\).)106 b(Before)1854 4328 y(the)28 b(release)d(of)i(Op)r(enBSD)h(3.0)e(those)h (macros)e(used)1854 4427 y Fl(malloc\(9\))f Fo(to)k(obtain)f(memory)g (resources.)1854 4627 y(If)21 b(there)f(w)n(ere)f(a)g(call)h(to)g(MGET) g(but)g(no)g(more)f(space)1854 4726 y(is)34 b(left)g(in)g(the)g (corresp)r(onding)d(memory)i(map,)i(the)1854 4826 y(k)n(ernel)27 b(w)n(ould)g(panic)2535 4796 y Fk(12)2605 4826 y Fo(.)p 1854 5039 676 4 v 1947 5093 a Fj(8)1981 5116 y Fi(memory)d(bu\013er) 1947 5172 y Fj(9)1981 5195 y Fi(de\014ned)h(b)n(y)f(MSIZE.)1916 5251 y Fj(10)1981 5275 y Fi(see)g Fh(/usr/include/sys/mbuf.)q(h)30 b Fi(for)22 b(details.)1916 5330 y Fj(11)1981 5354 y Fi(de\014ned)j(b)n(y)f(MCLBYTES)1916 5410 y Fj(12)1981 5433 y Fi(\\mallo)r(c:)32 b(out)24 b(of)f(space)i(in)e(kmem)p 2936 5433 22 4 v 26 w(map")p eop %%Page: 5 5 5 4 bop 0 83 a Fm(4.2)105 b(p)s(o)s(ol)0 407 y Fo(No)n(w)n(ada)n(ys)26 b(Op)r(enBSD)j(uses)f Fl(pool\(9\))e Fo(routines)i(to)0 507 y(allo)r(cate)43 b(k)n(ernel)g(memory)-7 b(.)86 b(This)44 b(system)g(is)g(de-)0 606 y(signed)24 b(for)f(fast)i(allo)r(cation)e (\(and)h(freeing\))g(of)g(\014xed-)0 706 y(size)j(structures,)g(lik)n (e)g(m)n(bufs.)0 905 y(There)f(are)g(sev)n(eral)e(adv)-5 b(an)n(tages)25 b(in)i(using)f Fl(pool\(9\))0 1005 y Fo(routines)21 b(instead)g(of)h(the)g(ones)f(around)g Fl(malloc\(9\))p Fo(:)83 1295 y Fg(\017)41 b Fo(faster)27 b(than)h(mallo)r(c)g(b)n(y)g(cac)n(hing)f(constructed)166 1395 y(ob)5 b(jects)83 1611 y Fg(\017)41 b Fo(cac)n(he)33 b(coloring)g(\(using)h(o\013sets)g(to)h(more)e(e\016-)166 1711 y(cien)n(tly)22 b(use)g(pro)r(cessor)e(cac)n(he)i(with)g(real-w)n (orld)166 1810 y(hardw)n(are)k(and)h(programming)e(tec)n(hniques\))83 2026 y Fg(\017)41 b Fo(a)n(v)n(oids)48 b(hea)n(vy)h(fragmen)n(tation)g (of)h(a)n(v)-5 b(ailable)166 2126 y(memory)e(,)27 b(th)n(us)h(w)n (asting)e(less)h(of)h(it)83 2342 y Fg(\017)41 b Fo(pro)n(vides)24 b(w)n(atermarks)f(and)j(callbac)n(ks,)e(giving)166 2442 y(feedbac)n(k)j(ab)r(out)h(p)r(o)r(ol)f(usage)g(o)n(v)n(er)e(time)83 2658 y Fg(\017)41 b Fo(only)19 b(needs)h(to)f(b)r(e)h(in)g(kmem)p 1070 2658 25 4 v 30 w(map)f(if)h(used)f(from)166 2757 y(in)n(terrupts)83 2973 y Fg(\017)41 b Fo(can)31 b(use)h(di\013eren)n (t)g(bac)n(k)n(end)f(memory)f(allo)r(ca-)166 3073 y(tors)d(p)r(er)g(p)r (o)r(ol)83 3289 y Fg(\017)41 b Fo(VM)27 b(can)e(reclaim)g(free)h(c)n(h) n(unks)f(b)r(efore)h(paging)166 3389 y(o)r(ccurs,)j(not)g(more)f(than)i (to)f(a)f(limit)i(\(Maxpg\))166 3488 y(though)0 3779 y(If)83 b(userland)f(applications)g(are)g(running)g(on)0 3879 y(Op)r(enBSD)42 b(\()p Ff(>)g Fo(3.0\),)j Fl(pool\(9\))39 b Fo(routines)j(will)g(b)r(e)0 3978 y(used)19 b(automatically)-7 b(.)34 b(But)19 b(it's)h(in)n(teresting)f(for)f(p)r(eo-)0 4078 y(ple)26 b(who)f(plan)g(\(or)g(do)g(so)g(righ)n(t)g(no)n(w\))g(to) g(write)h(o)n(wn)0 4178 y(k)n(ernel)20 b(routines)h(where)g(using)f Fl(pool\(9\))f Fo(could)i(gain)0 4277 y(signi\014can)n(t)27 b(p)r(erformance)f(impro)n(v)n(emen)n(ts.)0 4477 y(Additionally)65 b(large)e(c)n(h)n(unks)i(formerly)f(in)h(the)0 4576 y(kmem)p 224 4576 V 30 w(map)49 b(ha)n(v)n(e)e(b)r(een)j(relo)r(cated)d(to)i (the)g(k)n(er-)0 4676 y(nel)p 111 4676 V 30 w(map)22 b(b)n(y)h(using)f(p)r(o)r(ols.)35 b(Allo)r(cations)22 b(for)g(ino)r(des,)0 4775 y(vno)r(des,)g(..)34 b(ha)n(v)n(e)19 b(b)r(een)i(remo)n(v)n(ed)e(from)h(kmem)p 1484 4775 V 30 w(map,)0 4875 y(th)n(us)25 b(there)g(is)h(more)e(space)h(for)g(m)n (bufs,)h(whic)n(h)f(need)0 4975 y(protection)f(against)g(in)n(terrupt)h (reen)n(trancy)-7 b(,)24 b(if)h(used)0 5074 y(for)k(e.)h(g.)43 b(incoming)29 b(net)n(w)n(ork)f(data)h(from)h(the)g(NIC)0 5144 y Fk(13)70 5174 y Fo(.)p 0 5277 676 4 v 62 5331 a Fj(13)127 5354 y Fi(kmem)p 317 5354 22 4 v 26 w(map)36 b(has)h(to)g(b)r(e)g(protected)h(b)n(y)f Fh(splvm\(\))p Fi(,)k(see)0 5433 y Fh(spl\(9\))p Fi(.)1854 83 y Fr(5)112 b(Memory)39 b(Measuremen)m(t)1854 384 y Fo(Ob)n(viously)e(one)g(w)n(an) n(ts)g(to)h(kno)n(w)f(ab)r(out)h(memory)1854 483 y(exhaustion)23 b Fe(b)l(efor)l(e)h Fo(it)f(o)r(ccurs.)34 b(Additionally)23 b(it)h(can)1854 583 y(b)r(e)38 b(of)f(in)n(terest,)j(whic)n(h)d(pro)r (cess)f(or)h(task)g(is)g(using)1854 682 y(memory)-7 b(.)66 b(There)37 b(are)g(sev)n(eral)f(to)r(ols)h(pro)n(vided)f(in)1854 782 y(the)g(base)f(Op)r(enBSD)h(system)f(for)g(a)g(rough)f(moni-)1854 882 y(toring)e(of)g(what)g(is)g(going)g(on.)50 b(F)-7 b(or)32 b(detailed)g(anal-)1854 981 y(ysis)k(one)f(has)h(to)f(b)r(e)i (able)e(to)h(read)f(and)h(in)n(terpret)1854 1081 y(the)e(v)-5 b(alues)33 b(pro)n(vided)f(b)n(y)h(those)f(to)r(ols,)j(but)e(some-)1854 1181 y(times)i(one)e(needs)h(more)g(details)g(and)f(can)h(rely)g(on) 1854 1280 y(3rd)27 b(part)n(y)g(to)r(ols)g(then.)1854 1479 y(Example)21 b(outputs)h(of)g(the)g(to)r(ols)g(men)n(tioned)g(can) f(b)r(e)1854 1579 y(found)28 b(in)g(the)g(App)r(endix.)1854 1880 y Fm(5.1)105 b(Common)36 b(to)s(ols)1854 2180 y Fo(These)19 b(are)g(to)r(ols)g(pro)n(vided)f(with)i(Op)r(enBSD,)g (where)1854 2280 y(some)27 b(are)f(rather)g(w)n(ell-kno)n(wn,)g(but)i (some)e(are)g(not.)1854 2380 y(In)f(an)n(y)g(case,)f(w)n(e)h(ha)n(v)n (e)f(found)h(that)g(often)h(the)f(to)r(ols)1854 2479 y(are)i(used)h(in)g(a)f(wrong)f(fashion)i(or)e(the)i(outputs)g(are)1854 2579 y(misin)n(terpreted.)45 b(It's)31 b(quite)f(imp)r(ortan)n(t)h(to)f (under-)1854 2678 y(stand)24 b(what)f(is)g(prin)n(ted)g(out,)h(ev)n(en) f(if)h(it's)g(a)f(\\kno)n(wn)1854 2778 y(to)r(ol".)1854 3097 y Fn(top)1854 3351 y Fo(One)i(of)f(the)i(most)e(used)h(to)r(ols)f (is)h Fl(top\(1\))p Fo(.)33 b(It)26 b(sho)n(ws)1854 3450 y(the)38 b(curren)n(t)f(memory)f(usage)h(of)g(the)h(system.)66 b(In)1854 3550 y(detail)28 b(one)f(could)h(see)f(the)h(follo)n(wing)e (en)n(tries:)1854 3817 y Fn(Real:)41 b Fl(68M/117M)f(act/tot)p Fo(,)59 b(where)54 b(68MB)f(are)2020 3917 y(curren)n(tly)22 b(used)h(and)f(another)g(49MB)g(are)f(allo-)2020 4017 y(cated,)29 b(but)g(not)g(curren)n(tly)e(used)i(and)f(ma)n(y)g(b)r(e) 2020 4116 y(sub)5 b(ject)28 b(to)g(b)r(e)g(freed.)1854 4286 y Fn(F)-8 b(ree:)41 b Fl(3724K)p Fo(,)17 b(sho)n(ws)g(the)i(amoun) n(t)f(of)g(free)g(ph)n(ysical)2020 4385 y(RAM)1854 4555 y Fn(Sw)m(ap:)42 b Fl(24M/256M)e(used/tot)p Fo(,)29 b(24MB)h(of)h (256MB)2020 4654 y(curren)n(tly)c(a)n(v)-5 b(ailable)26 b(sw)n(ap)h(space)g(is)g(used.)1854 4922 y(If)44 b(one)f(adds)g(3724kB) f(to)h(117MB,)f(the)i(mac)n(hine)1854 5021 y(w)n(ould)e(ha)n(v)n(e)e (nearly)h(122MB)g(RAM.)h(This)g(is,)j(of)1854 5121 y(course,)35 b(not)g(true.)57 b(It)35 b(has)f(128MB)f(of)i(RAM;)g(the)1854 5221 y(\\missing")26 b(6MB)i(are)e(used)i(as)f(\014lesystem-cac)n(he) 3447 5190 y Fk(14)3515 5221 y Fo(.)p 1854 5277 676 4 v 1916 5331 a Fj(14)1981 5354 y Fi(dmesg:)45 b Fh(using)36 b(1658)h(buffers)g(containing)h(6791168)1854 5433 y(bytes)f(\(6632K\))g (of)f(memory)p eop %%Page: 6 6 6 5 bop 0 83 a Fo(Besides)33 b(this)g(rough)f(lo)r(ok)g(on)h(the)h (memory)e(usage)0 183 y(of)25 b(the)g(system,)g(there)f(are)g (indicators)g(for)g(other)g(re-)0 282 y(source)36 b(exhaustions.)66 b(In)37 b(the)h(line)g Fl(CPU)k(states:)0 382 y Fo(there)27 b(is)g(an)f(en)n(try)h Fl(x.y\045)42 b(interrupt)p Fo(.)33 b(See)27 b(ho)n(w)f(to)0 482 y(resolv)n(e)e(high)h(v)-5 b(alues,)25 b(they)h(slo)n(w)e(do)n(wn)h(the)h(p)r(erfor-)0 581 y(mance.)0 780 y(Blo)r(c)n(king)d(disks)h(can)f(b)r(e)i(detected)f (in)h(the)f Fl(WAIT)f Fo(col-)0 880 y(umn.)36 b(F)-7 b(or)24 b(example)h(an)f(en)n(try)g Fl(getblk)e Fo(sho)n(ws)i(that)0 980 y(the)30 b(pro)r(cess)f(is)g(w)n(aiting)g(for)g(data)h(from)f(a)g (disk)h(\(or)0 1079 y(an)n(y)d(other)g(blo)r(c)n(k)g(device\).)0 1389 y Fn(ps)0 1642 y Fo(Another)39 b(v)n(ery)e(common)i(to)r(ol)f(is)h Fl(ps\(1\))e Fo(and)i(it's)0 1742 y(related)g(to)g Fl(top\(1\))p Fo(.)70 b(Where)39 b Fl(top\(1\))e Fo(is)j(usually)0 1841 y(used)23 b(for)f(an)h(o)n(v)n(erview)e(of)i(the)g(system,)h(one)f (can)f(use)0 1941 y Fl(ps\(1\))g Fo(for)h(detailed)h(pic)n(king)f(on)g (the)h(exact)g(state)f(of)0 2040 y(a)k(pro)r(cess)g(\(or)g(pro)r(cess)f (group\).)0 2240 y(Additionally)h(it)g(can)f(b)r(e)h(closer)f(to)g (realit)n(y)g(and)h(the)0 2339 y(output)h(is)f(more)f(\015exible,)i(th) n(us)f(one)g(can)g(do)g(b)r(etter)0 2439 y(p)r(ost-pro)r(cessing)f(in)i (scripts)f(or)f(similar.)0 2638 y(Probably)60 b(most)i(in)n(teresting)g (are)f(the)i(options)0 2738 y(sho)n(wing)36 b(ho)n(w)g(m)n(uc)n(h)h(p)r (ercen)n(tage)f(CPU)h(and)g(VM)0 2837 y(a)29 b(pro)r(cess)g(is)h (using.)43 b(One)30 b(can)f(sort)g(b)n(y)h(CPU)f(\('u'\))0 2937 y(or)40 b(VM)h(usage)f(\('v'\))h(to)g(\014nd)g(a)f(hogging)f(pro)r (cess)0 3037 y(quic)n(kly)-7 b(.)0 3347 y Fn(vmstat)0 3599 y Fl(vmstat\(8\))16 b Fo(is)k(the)g(traditional)e(\\swiss)h(arm)n (y)f(knife")0 3699 y(for)j(detailed)h(lo)r(oks)f(on)g(the)h(systems)f (curren)n(t)g(usage.)0 3799 y(It's)31 b(p)r(erfect)h(for)f(a)g(\014rst) g(glance)f(on)h(p)r(oten)n(tial)g(b)r(ot-)0 3898 y(tlenec)n(ks.)0 4098 y(A)39 b(vmstat-newbie)g(will)h(probably)e(b)r(e)h(ba\017ed)g(b)n (y)0 4197 y(the)57 b(output,)65 b(but)58 b(with)g(some)e(exp)r(erience) h(it's)0 4297 y(rather)29 b(easy)g(to)h(\014nd)h(out,)f(what's)g(happ)r (ening)g(and)0 4396 y(where)d(p)r(oten)n(tial)h(problems)e(are)h(lo)r (cated.)0 4596 y(The)e(default)g(output)g(consists)f(of)g(six)h(areas)e (\(pro)r(cs,)0 4695 y(memory)-7 b(,)33 b(page,)f(disks,)h(faults,)h (cpu\).)51 b(Eac)n(h)31 b(areas)0 4795 y(has)c(columns)g(for)g(related) g(v)-5 b(alues:)0 5035 y Fn(pro)s(cs)41 b Fl(r)j(b)f(w)p Fo(,)c(sho)n(ws)c(ho)n(w)h(man)n(y)h(pro)r(cesses)e(are)166 5134 y(\(r\)unning,)72 b(are)63 b(b)r(eing)g(\(b\)lo)r(c)n(k)n(ed)g(or) f(are)166 5234 y(\(w\)aiting.)166 b(Blo)r(c)n(k)n(ed)69 b(pro)r(cesses)h(cannot)166 5333 y(c)n(hange)33 b(to)h(running)g(b)r (efore)g(the)g(blo)r(c)n(k)g(is)g(re-)166 5433 y(solv)n(ed,)22 b(e.)f(g.)35 b(a)21 b(pro)r(cess)f(\\hangs")g(in)h(a)g Fl(getblk)2020 83 y Fo(state)28 b(and)f(w)n(aits)g(for)g(disk)h(I/O.) 2020 183 y(W)-7 b(aiting)22 b(means)f(that)h(the)f(pro)r(cess)g(is)g (ready)g(to)2020 282 y(run,)j(but)f(has)f(still)h(not)f(b)r(een)h(sc)n (heduled,)h(most)2020 382 y(lik)n(ely)i(b)r(ecause)f(the)h(CPU)g(is)g (o)n(v)n(erloaded)d(with)2020 482 y(pro)r(cesses.)1854 643 y Fn(memory)41 b Fl(avm)i(fre)p Fo(,)e(n)n(um)n(b)r(er)e(of)h (pages)f(\(1024b\))2020 743 y(b)r(eing)34 b(allo)r(cated)f(and)g(on)g (the)h(free)f(list.)55 b(The)2020 843 y Fl(avm)28 b Fo(v)-5 b(alue)29 b(giv)n(es)e(a)i(b)r(etter)g(insigh)n(t)f(on)h(the)g(al-)2020 942 y(lo)r(cation,)e(than)h(the)g(v)-5 b(alues)27 b(from)h Fl(top\(1\))p Fo(.)1854 1104 y Fn(page)42 b Fl(flt)g(re)h(at)g(pi)f(po) h(fr)g(sr)p Fo(,)64 b(page-in)56 b(\(pi\))2020 1204 y(and)51 b(page-out)e(\(p)r(o\))i(are)f(most)g(in)n(teresting)2020 1303 y(here.)34 b(It)21 b(indicates)f(if,)i(and)e(ho)n(w)g(m)n(uc)n(h,) h(paging)2020 1403 y(\(or)27 b(ev)n(en)g(sw)n(apping\))g(o)r(ccurs.) 1854 1565 y Fn(disks)41 b Fl(sd0)h(cd0)p Fo(,)g(the)e(columns)g(here)f (dep)r(end)i(on)2020 1664 y(the)27 b(disk)e(setup)h(of)g(course.)35 b(V)-7 b(alues)26 b(are)e(trans-)2020 1764 y(fer)j(p)r(er)g(seconds)f (on)g(this)h(device.)37 b(If)27 b(high)g(v)-5 b(al-)2020 1864 y(ues)19 b(here)f(corresp)r(ond)g(with)h(blo)r(c)n(k)n(ed)f(pro)r (cesses)2020 1963 y(b)r(elo)n(w)25 b Fl(procs)f Fo(this)i(is)f(a)g(go)r (o)r(d)g(indication)g(that)2020 2063 y(the)j(disk)g(subsystem)f(could)h (b)r(e)g(to)r(o)f(slo)n(w.)1854 2225 y Fn(faults)42 b Fl(in)h(sys)f(cs)p Fo(,)36 b(can)f(indicate)h(to)r(o)f(man)n(y)f(in-) 2020 2324 y(terrupts)21 b(and)g(con)n(text)g(switc)n(hes)f(on)h(the)h (CPU.)2020 2424 y Fl(sys)d Fo(coun)n(ts)f(syscalls)g(brough)n(t)h(to)g (the)h(k)n(ernel,)g(a)2020 2523 y(rather)27 b(hard)g(v)-5 b(alue)27 b(to)g(in)n(terpret)g(with)h(regard)2020 2623 y(to)h(b)r(ottlenec)n(ks,)g(but)g(one)g(can)f(get)h(an)f(idea)g(of)2020 2723 y(ho)n(w)22 b(m)n(uc)n(h)g(tra\016c)f(has)h(to)g(pass)f(b)r(et)n (w)n(een)h(user-)2020 2822 y(land)28 b(and)f(k)n(ernel)g(for)g (completing)g(the)h(task.)1854 2984 y Fn(cpu)42 b Fl(us)h(sy)g(id)p Fo(,)20 b(lo)r(ok)n(ed)f(at)g(separately)f(not)h(to)r(o)g(in-)2020 3084 y(formativ)n(e,)34 b(but)f(in)g(com)n(bination)g(with)g(other)2020 3183 y(v)-5 b(alues)25 b(it's)g(one)g(k)n(eyp)r(oin)n(t)f(in)h (\014guring)f(out)h(the)2020 3283 y(b)r(ottlenec)n(k.)75 b(If)40 b(pro)r(cesses)f(are)g(in)h(`w')h(state)2020 3383 y(and)25 b(`id')g(is)g(v)n(ery)e(lo)n(w,)i(a)f(CPU)h(exhaustion)f (o)r(c-)2020 3482 y(curs.)53 b(Pro)r(cesses)31 b(b)r(eing)j(\(b\)lo)r (c)n(k)n(ed)e(and)h(ha)n(v-)2020 3582 y(ing)i(high)g(\(id\)le)h(v)-5 b(alues)34 b(detect)h(I/O)f(exhaus-)2020 3682 y(tions.)79 b(Ha)n(ving)41 b(high)g(\(sy\)stem)h(v)-5 b(alues)42 b(and)2020 3781 y(\(w\)aiting)j(and/or)d(\(b\)lo)r(c)n(k)n(ed)i(pro)r (cesses)e(in-)2020 3881 y(dicate)c(that)f(the)h(k)n(ernel)e(is)i(busy)f (with)h(itself)2020 3980 y(to)r(o)25 b(m)n(uc)n(h;)h(this)g(is)f (usually)g(b)r(ecause)g(of)h(\\bad")2020 4080 y(driv)n(ers.)36 b(Compare)27 b(to)g(`faults)h(in')h(to)e(\014nd)h(out)2020 4180 y(if)40 b(in)n(terrupts)e(are)g(killing)h(the)g(p)r(erformance.) 2020 4279 y(If)h(not)g(it's)f(still)h(p)r(ossible)f(that)h(the)f(CPU)g (is)2020 4379 y(busy)29 b(transfering)f(blo)r(c)n(ks)g(from)h(disk)g (devices,)2020 4479 y(indicated)20 b(b)n(y)f(lo)n(w)g(disk)g(transfers) f(and)h(blo)r(c)n(k)n(ed)2020 4578 y(pro)r(cesses.)1854 4835 y(Already)24 b(impressiv)n(e)e(diagnostic)h(p)r(ossibilities,)i (but)1854 4935 y Fl(vmstat\(8\))51 b Fo(can)j(sho)n(w)f(ev)n(en)h(more) f(in)n(teresting)1854 5035 y(things.)1854 5234 y(Besides)g(the)h (options)e Fl(-i)h Fo(to)g(sho)n(w)f(summaries)1854 5333 y(ab)r(out)28 b(in)n(terrupt)f(b)r(eha)n(viour)g(and)g Fl(-s)g Fo(to)h(get)f(infor-)1854 5433 y(mation)39 b(ab)r(out)h(the)g (sw)n(ap)e(area,)j Fl(vmstat)g(-m)e Fo(can)p eop %%Page: 7 7 7 6 bop 0 83 a Fo(pro)n(vide)45 b(a)g(v)n(ery)g(detailed)h(lo)r(ok)g (on)f(the)i(curren)n(t)0 183 y(memory)27 b(usage.)0 382 y(Lik)n(e)45 b(w)n(e)h(already)e(ha)n(v)n(e)g(sho)n(wn)h(Op)r(enBSD)h (uses)0 482 y Fl(pool\(9\))21 b Fo(for)i(net)n(w)n(ork)g(data,)h(th)n (us)g(w)n(e)f(concen)n(trate)0 581 y(no)n(w)k(on)f(the)i(last)f(c)n(h)n (unk)f Fl(vmstat)42 b(-m)26 b Fo(is)h(rep)r(orting.)0 681 y(Most)f(in)n(teresting)h(are)e(the)i(lines)g Fl(mbpl)e Fo(and)i Fl(mclpl)p Fo(,)0 780 y(whic)n(h)37 b(represen)n(t)f(the)i (memory)f(usage)f(for)h(m)n(bufs)0 880 y(\(m)n(bpl\))28 b(and)g(clusters)f(\(mclpl\).)0 1079 y(In)n(teresting)21 b(columns)h(are)f Fl(Size,)41 b(Pgreq,)g(Pgrel,)0 1179 y(Npage)68 b Fo(and)26 b Fl(Maxpg)p Fo(.)35 b(One)26 b(can)f(obtain)h(the)h(follo)n(w-)0 1279 y(ing)g(information)g(from)h (that:)0 1527 y Fn(Size)41 b Fo(the)28 b(size)g(of)f(a)g(p)r(o)r(ol)h (item)0 1684 y Fn(Pgreq)42 b Fo(rep)r(orts)19 b(ho)n(w)h(man)n(y)f (pages)g(ha)n(v)n(e)h(ev)n(er)f(b)r(een)166 1784 y(allo)r(cated)27 b(b)n(y)g(this)h(p)r(o)r(ol.)0 1941 y Fn(Pgrel)41 b Fo(the)d(p)r(o)r (ol)f(freed)g(those)f(pages)g(to)h(the)h(sys-)166 2041 y(tem.)0 2198 y Fn(Npage)j Fo(curren)n(tly)30 b(allo)r(cated/used)f (pages)h(b)n(y)h(the)166 2298 y(p)r(o)r(ol.)0 2455 y Fn(Maxpg)42 b Fo(maxim)n(um)37 b(n)n(um)n(b)r(er)g(of)g(pages)f(the)i (p)r(o)r(ol)166 2555 y(can)25 b(use,)h(ev)n(en)f(if)g(paging)g(w)n (ould)f(o)r(ccur.)36 b(More)166 2655 y(precise:)h(the)29 b(p)r(o)r(ol)f(can)f(gro)n(w)g(o)n(v)n(er)f(this)i(limit,)166 2754 y(but)20 b(the)g(pagedaemon)e(can)h(reclaim)g(free)g(pages)166 2854 y(b)r(eing)j(o)n(v)n(er)f(this)h(limit,)i(if)f(VM)g(is)f(running)g (lo)n(w.)0 3166 y Fn(netstat)0 3419 y Fo(Usually)29 b Fl(netstat\(1\))d Fo(is)k(used)f(for)h(gathering)e(net-)0 3518 y(w)n(ork)e(con\014gurations,)g(but)j(it)f(also)e(pro)n(vides)h (infor-)0 3618 y(mation)g(ab)r(out)h(di\013eren)n(t)g(memory)e(usages.) 0 3817 y Fl(netstat)41 b(-f)h(inet)655 3787 y Fk(15)765 3817 y Fo(sho)n(ws)d(information)h(ab)r(out)0 3917 y(curren)n(t)57 b(net)n(w)n(ork)f(activit)n(y)-7 b(.)126 b(With)58 b(regard)e(to)0 4016 y(memory)25 b(consumption)g(the)h(columns)f Fl(Recv-Q)e Fo(and)0 4116 y Fl(Send-Q)i Fo(are)i(of)g(ma)5 b(jor)27 b(in)n(terest.)0 4315 y(T)n(ypically)38 b(one)g(will)h(encoun)n(ter)f (en)n(tries)g(in)h(Send-)0 4415 y(Q)d(for)h(a)f(busy)g(w)n(ebserv)n(er) f(with)i(a)f(go)r(o)r(d)g(net)n(w)n(ork)0 4514 y(connection.)96 b(Clien)n(ts)48 b(usually)f(ha)n(v)n(e)f(signi\014can)n(t)0 4614 y(smaller)18 b(bandwith,)k(th)n(us)d(the)h(pro)n(vided)e(data)h (of)h(the)0 4714 y(w)n(ebserv)n(er)33 b(application)i(cannot)f(\\lea)n (v)n(e")f(the)j(sys-)0 4813 y(tem.)h(It's)28 b(getting)e(queued)i(on)f (the)g(net)n(w)n(ork)f(stac)n(k,)0 4913 y(eating)h(up)h(m)n(buf)g (clusters.)0 5112 y(P)n(ending)34 b(requests)f(will)i(sho)n(w)e(up)i (in)g(Recv-Q,)e(in-)0 5212 y(dicating)h(that)g(the)g(userland)f(cannot) h(pro)r(cess)f(the)0 5311 y(data)23 b(as)f(fast)h(as)f(it)i(is)f (coming)f(in)i(o)n(v)n(er)d(the)i(net)n(w)n(ork.)p 0 5356 676 4 v 62 5410 a Fj(15)127 5433 y Fi(or)g(-f)g(inet6)1854 83 y Fo(The)c(latter)f(case)g(should)g(b)r(e)h(resolv)n(ed,)g(ev)n(en)f (if)h(mem-)1854 183 y(ory)26 b(is)h(not)g(running)f(lo)n(w,)g(since)h (the)g(system)g(w)n(ould)1854 282 y(app)r(ear)k(sluggish)g(to)h(the)g (clien)n(t,)h(whic)n(h)f(is)g(usually)1854 382 y(not)c(appreciated)f (\(b)n(y)g(the)h(admin)g(and/or)e(clien)n(t\).)1854 581 y(In)i(addition)g(to)f Fl(vmstat)41 b(-m)p Fo(,)27 b Fl(netstat)41 b(-m)27 b Fo(can)g(re-)1854 681 y(p)r(ort)46 b(further)f(v)-5 b(alues)45 b(ab)r(out)h(curren)n(t)e(m)n(buf)j(and) 1854 780 y(cluster)e(usage.)87 b(Most)44 b(notably)g(it)h(rep)r(orts)f (ho)n(w)1854 880 y(m)n(uc)n(h)j(memory)g(is)g(\\really")e(used.)96 b Fl(vmstat)41 b(-m)1854 980 y Fo(sho)n(ws)28 b(ho)n(w)f(man)n(y)h(p)r (o)r(ol)h(items)f(are)g(allo)r(cated,)g(but)1854 1079 y Fl(netstat)41 b(-m)23 b Fo(then)g(rep)r(orts)g(ho)n(w)f(man)n(y)h(p)r (o)r(ol)g(items)1854 1179 y(are)k(actually)g(\014lled)h(with)g(data)f (to)h(b)r(e)g(pro)r(cessed.)1854 1378 y(In)54 b(fact)g(one)f(could)g (calculate)g(this)h(in)g Fl(vmstat)1854 1478 y(-m)36 b Fo(b)n(y)g(substracting)f Fl(Releases)e Fo(from)j Fl(Requests)p Fo(,)1854 1577 y(but)26 b(with)f(n)n(um)n(b)r(ers)g(lik)n(e)f(10599250) d(and)k(10599245,)1854 1677 y(this)36 b(is)f(not)h(really)e(practical.) 59 b(Another)36 b(pitfall)f(is)1854 1777 y(that)d Fl(vmstat)41 b(-m)31 b Fo(rep)r(orts)g(memory)g(pages,)h(where)1854 1876 y Fl(netstat)41 b(-m)26 b Fo(rep)r(orts)g(p)r(o)r(ol)h(items)2979 1846 y Fk(16)3077 1876 y Fo(used,)g(despite)1854 1976 y(its)h(output)g(of)g Fl(mapped)41 b(pages)g(in)i(use)p Fo(.)1854 2175 y(F)-7 b(urthermore)23 b(it)h(splits)f(up)h(what)g(t)n (yp)r(e)f(of,)i(and)e(ho)n(w)1854 2275 y(man)n(y)-7 b(,)25 b(m)n(bufs)f(are)f(used)h(\(pac)n(k)n(et)f(headers,)h(so)r(c)n(k)n (ets,)1854 2374 y(data,)40 b(..\),)h(and)c(it)h(giv)n(es)f(a)g(summary) f(ab)r(out)i(ho)n(w)1854 2474 y(m)n(uc)n(h)28 b(memory)g(is)g(needed)g (b)n(y)g(the)h(net)n(w)n(ork)d(stac)n(k,)1854 2574 y(whic)n(h)20 b(w)n(ould)f(b)r(e)h(rather)f(tedious)g(to)h(calculate)f(from)1854 2673 y(the)28 b Fl(vmstat)41 b(-m)27 b Fo(output.)1854 3018 y Fn(systat)1854 3277 y Fo(This)j(to)r(ol)g(pro)n(vides)f(a)g Fl(top\(1\))f Fo(lik)n(e)h(displa)n(y)h(of)f(in-)1854 3376 y(formation)47 b(the)h(previous)f(to)r(ols)g(w)n(ould)g(pro)n (vide.)1854 3476 y(Esp)r(ecially)18 b Fl(systat)42 b(vmstat)16 b Fo(is)j(a)g(p)r(erfect)g(o)n(v)n(erview)1854 3575 y(ab)r(out)39 b(load,)i(disk)e(usage,)i(in)n(terrupts,)g(CPU)e(and)1854 3675 y(VM)28 b(usage.)1854 3874 y(One)21 b(can)f(monitor)g(the)h (system)f(in)h(in)n(terv)-5 b(als,)21 b(or)f(col-)1854 3974 y(lect)28 b(the)g(information)f(o)n(v)n(er)f(time.)1854 4286 y Fm(5.2)105 b(Sp)s(ecial)36 b(to)s(ols)1854 4599 y Fo(Besides)d(the)h(to)r(ols)f(w)n(e)g(ha)n(v)n(e)f(sho)n(wn)h(so)f (far,)j(there)1854 4698 y(are)30 b(additional)f(p)r(ossibilities)i(to)f (monitor)g(the)g(sys-)1854 4798 y(tem.)50 b Fe(symon)33 b Fo(and)e Fe(pftop)j Fo(are)c(in)j(the)f(p)r(orts)f(collec-)1854 4898 y(tion.)55 b Fe(KVMspy)34 b Fo(is)f(not)g(ev)n(en)g(published)h (for)f(no)n(w,)1854 4997 y(but)20 b(it)g(sho)n(ws)e(that)h(it's)h(p)r (ossible)e(to)h(write)g(o)n(wn)g(to)r(ols)1854 5097 y(for)36 b(sp)r(eci\014c)g(monitorings)f(without)i(enormous)d(ef-)1854 5197 y(fort)1986 5166 y Fk(17)2056 5197 y Fo(.)p 1854 5277 V 1916 5330 a Fj(16)1981 5354 y Fi(usually)24 b(a)g(factor)g(of)f (t)n(w)n(o.)1916 5410 y Fj(17)1981 5433 y Fi(the)i(source)f(co)r(de)h (is)e(b)r(elo)n(w)h(300)g(lines.)p eop %%Page: 8 8 8 7 bop 0 83 a Fn(symon)0 372 y Fo(F)-7 b(or)20 b(monitoring)g(o)n(v)n (erall)f(resource)g(usage)h(o)n(v)n(er)g(time)0 472 y(frames,)51 b Fe(symon)d Fo([Dij02])f(is)g(a)f(p)r(erfect)i(to)r(ol.)95 b(It)0 572 y(queries)36 b(the)h(k)n(ernel)f(via)g Fl(sysctl)e Fo(ab)r(out)j(common)0 671 y(resources.)32 b(It)21 b(uses)f Fl(rrdtool)d Fo([Oet02)o(])j(as)g(data)f(stor-)0 771 y(age)j(bac)n(k)n(end.)34 b(There)22 b(is)h(a)g(data)f(collector)g (daemon,)0 870 y(called)37 b Fl(symon)p Fo(,)g(whic)n(h)g(runs)f(on)h (ev)n(ery)f(monitored)0 970 y(mac)n(hine,)c(sending)f(the)h(collected)g (data)f(to)g Fl(symux)p Fo(,)0 1070 y(usually)40 b(running)f(on)h(a)g (cen)n(tral)f(mac)n(hine,)k(whic)n(h)0 1169 y(stores)38 b(them)h(on)g(disk.)71 b(Additionally)39 b(there)g(is)f(a)0 1269 y(w)n(eb-in)n(terface,)32 b Fl(symon-web)p Fo(,)e(pro)n(viding)h (graphical)0 1369 y(represen)n(tation)26 b(of)h(the)h(collected)g (data.)0 1568 y(After)g(mac)n(hines)g(ha)n(v)n(e)e(b)r(een)j(set)e(up)i (with)f(detailed)0 1667 y(analysis,)h(this)h(output)g(is)g(enough)f(to) g(detect)h(high-)0 1767 y(load)19 b(situations)g(and)h(trigger)e(coun)n (termeasures)g(b)r(e-)0 1867 y(fore)27 b(exhaustion)g(o)r(ccurs.)0 2066 y(If)39 b(one)f(w)n(an)n(ts)g(a)g(long-term)g(analysis)f(of)i (detailed)0 2166 y(data,)50 b(it's)c(relativly)e(easy)h(to)g(extend)h (this)g(to)r(ol.)0 2265 y(Symon)36 b(is)h(prett)n(y)f(new)g(and)h (under)f(activ)n(e)g(dev)n(el-)0 2365 y(opmen)n(t)e(b)n(y)g(Willem)h (Dijkstra,)h(but)f(already)e(v)n(ery)0 2464 y(useful.)0 2962 y Fn(pftop)0 3251 y Fo(If)49 b(one)g(w)n(an)n(ts)e(to)i(monitor)f (sp)r(eci\014c)h(areas,)j(lik)n(e)0 3351 y Fl(pf\(4\))p Fo(,)45 b Fe(pftop)g Fo([Aca02)n(])f(is)f(a)f(curses-based,)j(real-)0 3451 y(time)28 b(monitoring)f(application)g(pro)n(viding)f(that.)0 3650 y(One)18 b(can)g(consider)g(it)h(as)f(a)g(netstat-v)-5 b(arian)n(t,)19 b(pro)n(vid-)0 3750 y(ing)27 b(similar)g(information,)g (ab)r(out)h(the)g(pak)n(et)f(\014lter.)0 4247 y Fn(KVMsp)m(y)0 4536 y Fo(F)-7 b(or)48 b(the)h(absolute)f(curious)g(one,)53 b(there)c(will)g(b)r(e)0 4636 y Fe(KVMspy)p Fo(.)56 b(Curren)n(tly)33 b(it)i(sho)n(ws)d(a)i(bit)g(more)f(\(o\013-)0 4736 y(sets\))28 b(information)g(than)g Fl(vmstat)42 b(-m)27 b Fo(ab)r(out)h(p)r(o)r (ols)0 4835 y(and)f(a)h(bit)g(less)f(\(only)g(curren)n(t)g(and)h(high)n (w)n(ater\).)0 5035 y(But,)42 b(for)c(the)h(in)n(terested)f(hac)n(k)n (er,)i(this)f(is)f(ma)n(yb)r(e)0 5134 y(b)r(etter)57 b(example)g(co)r(de)g(ho)n(w)f(to)h(p)r(oll)g(the)g(k)n(er-)0 5234 y(nel)44 b(states)g(via)g Fl(kvm\(3\))e Fo(routines.)86 b(Queries)44 b(via)0 5333 y Fl(sysctl\(3\))18 b Fo(can)k(b)r(e)h(found) f(in)g(symon)g(or)f(are)g(added)0 5433 y(to)27 b(KVMsp)n(y)g(in)h(the)g (future.)1854 83 y Fr(6)112 b(Coun)m(termeasures)1854 372 y Fo(And)33 b(\014nally)f(w)n(e)g(come)g(to)g(the)g(in)n(teresting) g(pieces.)1854 472 y(Sev)n(eral)18 b(w)n(a)n(ys)g(to)i(determine)f (where)g(a)g(lac)n(k)g(of)g(KVM)1854 571 y(resources)k(o)r(ccurs)h(ha)n (v)n(e)g(b)r(een)i(sho)n(wn.)35 b(So,)25 b(what)h(to)1854 671 y(do)i(if)g(it)g(actually)f(happ)r(ens?)1854 870 y(There)22 b(are)f(three)h(imp)r(ortan)n(t)g(k)n(ernel)f(options)g (de\014n-)1854 970 y(ing)g(the)h(KVM)f(la)n(y)n(out)e(with)j(regard)d (to)i(net)n(w)n(orking.)1854 1069 y Fl(NMBCLUSTERS)85 b Fo(and)45 b Fl(NKMEMPAGES)c Fo(are)j(compile-)1854 1169 y(time)29 b(options,)g(but)g(can)f(b)r(e)h(set)g(via)f Fl(config\(8\))d Fo(as)1854 1269 y(w)n(ell.)40 b Fl(MAX)p 2195 1269 27 4 v 31 w(KMAPENT)26 b Fo(can)i(only)g(b)r(e)h(set)g(at)g (compile-)1854 1368 y(time.)1854 1657 y Fm(6.1)105 b(NMBCLUSTERS)1854 1946 y Fo(The)31 b(maxim)n(um)f(n)n(um)n(b)r(er)g(of)h(clusters)f(for)g (net)n(w)n(ork)1854 2046 y(data)i(can)g(b)r(e)g(de\014ned)h(here.)49 b(Naturally)-7 b(,)33 b(it's)f(di\016-)1854 2145 y(cult)k(to)g (calculate)f(this)g(v)-5 b(alue)36 b(in)g(adv)-5 b(ance.)60 b(Most)1854 2245 y(tuning)26 b(guides)e(recommend)g(a)h(v)-5 b(alue)25 b(of)g(8192)e(here.)1854 2345 y(W)-7 b(e)28 b(usually)f(use)h(this)g(v)-5 b(alue,)27 b(to)r(o.)1854 2544 y(P)n(eople)46 b(tend)h(to)g(raise)e(this)i(v)-5 b(alue)47 b(further,)k(not)1854 2644 y(kno)n(wing)43 b(what)g(implications)g(this)h(can)f(ha)n(v)n(e)f(on)1854 2743 y(the)37 b(system.)63 b(A)37 b(v)-5 b(alue)37 b(of)f(8192)f(p)r (oten)n(tially)h(uses)1854 2843 y(16MB)45 b(for)f Fl(mb)p 2355 2843 V 31 w(map)p Fo(:)71 b(8192)29 b Fg(\003)g Fo(2048)51 b(=)h(16777216)1854 2942 y(\(MCLBYTES)28 b(is)f(usually)h (2048\).)1854 3142 y(Since)41 b(this)f(is)g(only)g(a)f(\\pre-allo)r (cation")e(and)j(not)1854 3241 y(real)31 b(usage)g(in)h(the)h(\014rst)f (place,)g(this)h(v)-5 b(alue)31 b(can)h(b)r(e)1854 3341 y(sane.)74 b(On)39 b(the)i(other)e(hand,)k(if)d(there)g(are)f(other) 1854 3441 y(problems)e(with)i(KVM,)e(this)i(v)-5 b(alue)37 b(ma)n(y)g(b)r(e)h(lo)n(w-)1854 3540 y(ered.)1854 3739 y(Lo)r(oking)g(at)g(real-life)g(usage)g(of)g(busy)h(w)n(ebserv)n(ers) 1854 3839 y(\(see)d(7.1\))f(the)h(high)g(w)n(atermark)e(of)h Fl(mclpl)f Fo(is)i(524)1854 3939 y(\(1048)e(clusters\),)i(th)n(us)f(ev) n(en)f(the)h(default)g(of)g(2048)1854 4038 y(clusters)46 b(w)n(ould)g(b)r(e)h(su\016cien)n(t.)94 b(This)46 b(high)g(w)n(a-)1854 4138 y(termark)35 b(\(Hiw)n(at)g(in)h Fl(vmstat)41 b(-m)p Fo(\))35 b(is)h(also)e(p)r(erfect)1854 4238 y(to)f(determine)f(the)h Fl(mclpl)d Fo(size)i(for)g(load-balanced)1854 4337 y(serv)n(ers.)1854 4536 y(Imagine)d(a)f(Hiw)n(at)h(of)g(1000)e(on)i(b)r(oth)g(mac)n (hines.)41 b(If)1854 4636 y(one)29 b(mac)n(hine)g(has)f(to)h(go)g(out)g (of)g(service,)f(due)i(to)f(a)1854 4736 y(crash)f(or)h(simply)g(hardw)n (are)e(main)n(tenance,)j(a)e(p)r(o)r(ol)1854 4835 y(size)f(of)g Ff(>)p Fo(4000)d(w)n(ould)j(ensure)f(that)h(the)g(remaining)1854 4935 y(mac)n(hine)20 b(do)r(esn't)g(run)f(out)h(of)g(clusters.)33 b(Remem)n(b)r(er)1854 5035 y(that)c Fl(vmstat)41 b(-m)28 b Fo(rep)r(orts)g(pages,)g(not)h(items,)g(th)n(us)1854 5134 y(one)19 b(has)f(to)h(calculate)f(1000)q Fg(\003)q Fo(2)q Fg(\003)q Fo(2)d(for)k Fl(NMBCLUSTERS)p Fo(.)1854 5333 y(Additionally)32 b(it's)f(imp)r(ortan)n(t)g(to)h(trac)n(k)e(wh)n (y)h(clus-)1854 5433 y(ters)19 b(are)g(used)g(in)h(larger)d(n)n(um)n(b) r(ers.)34 b(W)-7 b(e)20 b(ha)n(v)n(e)e(sho)n(wn)p eop %%Page: 9 9 9 8 bop 0 83 a Fo(in)39 b(5.1/netstat)f(that)h(it)g(is)g(imp)r(ortan)n (t)f(to)h(ha)n(v)n(e)e(a)0 183 y(quic)n(k)j(passing)g(from)g(the)i Fl(Recv-Q)c Fo(to)j(the)g(serv)n(er)0 282 y(application.)55 b(It's)35 b(a)e(b)r(etter)i(idea)e(to)h(impro)n(v)n(e)f(the)0 382 y(application)f(p)r(erformance)g(in)h(this)g(area,)f(than)h(in-)0 482 y(creasing)i Fl(NMBCLUSTERS)d Fo(and)37 b(let)g(the)g(data)g(sit)g (in)0 581 y(KVM.)e(A)n(t)g(least)f(a)g(rather)g(empt)n(y)g Fl(Recv-Q)f Fo(lea)n(v)n(es)0 681 y(more)39 b(space)f(for)h(the)h Fl(Send-Q)p Fo(,)d(whic)n(h)i(cannot)g(b)r(e)0 780 y(in\015uenced)28 b(directly)f(to)h(free)f(clusters.)0 980 y(After)32 b(all,)f(it's)h (dangerous)d(to)i(use)g(high-v)-5 b(alues)31 b(for)0 1079 y(this)37 b(\(and)f(the)h(follo)n(wing\))f(options)f(without)i(v)n (ery)0 1179 y(detailed)23 b(kno)n(wledge)f(ab)r(out)h(what)g(is)g(happ) r(ening)g(in)0 1279 y(the)28 b(k)n(ernel.)36 b(A)28 b(\\just)f(to)h(b)r (e)g(safe")e(tuning)i(can)f(eas-)0 1378 y(ily)h(lead)f(to)h(an)g (unstable)f(mac)n(hine.)37 b(W)-7 b(e)29 b(ha)n(v)n(e)d(seen)0 1478 y(p)r(eople)d(using)g(a)f(v)-5 b(alue)23 b(of)g(65535)e(for)h Fl(NMBCLUSTERS)p Fo(,)0 1577 y(rendering)39 b(a)g(pre-allo)r(cation)g (of)g(128MB)g({)g(not)h(a)0 1677 y(go)r(o)r(d)23 b(idea)g(and)h (usually)f(it)h(do)r(esn't)g(gain)f(an)n(ything,)0 1777 y(except)j(problems.)36 b(Think)26 b(t)n(wice)g(ab)r(out)h(those)f(v)-5 b(al-)0 1876 y(ues.)0 2160 y Fm(6.2)105 b(NKMEMP)-9 b(A)m(GES)0 2444 y Fo(This)30 b(option)f(de\014nes)h(the)g(total)g(size)g(of)f Fl(kmem)p 1510 2444 27 4 v 30 w(map)p Fo(.)0 2544 y(Since)20 b(this)h(is)f(not)g(exclusiv)n(ely)f(used)h(for)g(net)n(w)n(orking)0 2644 y(data,)31 b(it)h(is)e(a)h(bit)g(di\016cult)h(to)f(calculate)f (the)h(v)-5 b(alue)0 2743 y(for)27 b(this)h(option.)0 2942 y(Since)50 b Fl(kmem)p 420 2942 V 29 w(map)f Fo(w)n(as)f(freed)h (from)g(other)g(usage)0 3042 y(\(4.2\))31 b(and)f(the)i(in)n(tro)r (duction)e(of)h Fl(pool\(9\))d Fo(ensures)0 3142 y(that)21 b(there)g(is)f(more)g(space)g(here)h(for)f(m)n(bufs)h(an)n(yw)n(a)n(y) -7 b(,)0 3241 y(so)24 b(an)g(exhaustion)f(of)h Fl(kmem)p 897 3241 V 30 w(map)f Fo(is)h(less)g(lik)n(ely)g(than)0 3341 y(b)r(efore.)0 3540 y(T)-7 b(rac)n(king)29 b(of)i(the)g(usage)f (is)h(still)g(p)r(ossible,)g(though.)0 3640 y(Lo)r(oking)26 b(again)h(at)0 3739 y(tt)i(vmstat)g(-m,)g(this)g(time)g(at)g Fl(mbpl)p Fo(,)e(one)i(can)f(see)g(a)0 3839 y(correlation)c(b)r(et)n(w) n(een)i Fl(mbpl)e Fo(and)h Fl(mclpl)p Fo(.)35 b(It's)26 b(com-)0 3939 y(mon)c(that)g(the)h(page)e(v)-5 b(alue)22 b(is)g(usually)g(half)g(\(or)f(less\))0 4038 y(the)36 b(v)-5 b(alue)36 b(from)g Fl(mclpl)p Fo(.)60 b(Y)-7 b(et)37 b(again,)g(one)f(has)f(to)0 4138 y(tak)n(e)h(care)g(of)g(\\items)h(vs)f (page-size".)62 b(Mbufs)37 b(are)0 4238 y(w)n(a)n(y)23 b(smaller)g(then)i(a)f(cluster,)h(th)n(us)f(16)f(m)n(bufs)i(\014t)g(in) 0 4337 y(one)i(page)g(of)g(memory)-7 b(.)0 4536 y(A)36 b(net)n(w)n(ork)f(connection)g(using)g(clusters)g(needs)h(at)0 4636 y(least)30 b(t)n(w)n(o)f(m)n(bufs,)i(one)f(for)f(the)i(pak)n(et)e (header)g(and)0 4736 y(one)i(for)g(the)g(reference)g(to)g(the)g (cluster.)48 b(Since)31 b(not)0 4835 y(ev)n(ery)i(connection)i(uses)f (clusters)g(it's)h(sane)f(to)h(as-)0 4935 y(sume)29 b(that)h(a)f(v)-5 b(alue)29 b(for)g Fl(NKMEMPAGES)c Fo(b)r(eing)k(t)n(wice)0 5035 y(the)41 b(v)-5 b(alue)41 b(of)g Fl(NMBCLUSTERS)36 b Fo(is)k(a)h(go)r(o)r(d)f(starting)0 5134 y(p)r(oin)n(t.)0 5333 y(Again,)h(one)d(should)g(raise)g(this)h(v)-5 b(alue)38 b(v)n(ery)f(care-)0 5433 y(fully)-7 b(.)46 b(Blindly)30 b(c)n(hanging)f(these)h(v)-5 b(alues)30 b(can)g(in)n(tro-)1854 83 y(duce)e(more)f(problems,)g(than)g(are)g(solv)n(ed.)1854 282 y(Additionally)-7 b(,)34 b(if)f(the)f(option)g(is)h(not)f(touc)n (hed,)h(the)1854 382 y(k)n(ernel)22 b(gets)f(a)h(sane)g(default)h(v)-5 b(alue)22 b(for)f Fl(NKMEMPAGES)1854 482 y Fo(at)f(compile-time,)h (based)d(on)h(RAM)h(a)n(v)-5 b(ailable)18 b(in)i(the)1854 581 y(system.)60 b(If)36 b(the)g(k)n(ernel)e(is)h(compiled)h(on)f(a)g (di\013er-)1854 681 y(en)n(t)c(mac)n(hine)e(with)i(a)f(di\013eren)n(t)g (amoun)n(t)g(of)g(RAM,)1854 780 y(this)i(option)f(should)f(b)r(e)i (used.)47 b(A)32 b(t)n(ypical)f(calcula-)1854 880 y(tion)k(v)-5 b(alue)35 b(is)f(8162)f(for)h(a)g(mac)n(hine)h(with)g(128MB)1854 980 y(of)24 b(RAM;)h(this)g(can)e(b)r(e)i(determined)f(b)n(y)g Fl(sysctl)41 b(-n)1854 1079 y(vm.nkmempages)p Fo(.)1854 1387 y Fm(6.3)105 b(MAX)p 2355 1387 32 4 v 38 w(KMAPENT)1854 1695 y Fo(De\014nition)44 b(of)f(the)g(n)n(um)n(b)r(er)f(of)h(static)g (en)n(tries)f(in)1854 1794 y Fl(kmem)p 2035 1794 27 4 v 30 w(map)p Fo(.)56 b(Lik)n(e)34 b Fl(NKMEMPAGES)p Fo(,)d(the)k(v)-5 b(alue)34 b(is)g(cal-)1854 1894 y(culated)g(at)g(compile-time)g(if)h (unset.)56 b(The)34 b(default)1854 1994 y(of)28 b(1000)e(\(at)i(least,) g(it)g(is)g(based)f(on)h(\\maxusers"\))d(is)1854 2093 y(usually)i(enough.)1854 2293 y(Raising)45 b(this)g(v)-5 b(alue)46 b(is)f(discouraged,)j(but)e(could)1854 2392 y(b)r(e)23 b(needed,)g(if)g(panics)f(\()p Fl(uvm)p 2746 2392 V 30 w(mapent)p 3040 2392 V 29 w(alloc:)85 b(out)1854 2492 y(of)43 b(static)e(map)i(entries)d(..)p Fo(\))59 b(o)r(ccur.)g(Usually)1854 2591 y(this)28 b(happ)r(ens)f(if)h Fl(kmem)p 2598 2591 V 29 w(map)e Fo(is)h(highly)g(fragmen)n(ted,)1854 2691 y(for)g(example)h(b)n(y)f(a)g(lot)h(of)f(small)g(allo)r(cations.) 1854 3115 y Fr(7)112 b(Real-life)39 b(Examples)1854 3423 y Fo(Putting)k(ev)n(erything)e(together,)k(w)n(e)d(pro)n(vide)f(t)n(w)n (o)1854 3522 y(examples)e(of)g(mac)n(hines)f(running)h(Op)r(enBSD)g (un-)1854 3622 y(der)d(high)g(load.)61 b(It)37 b(sho)n(ws)e(that)h(a)g (careful)f(k)n(ernel)1854 3722 y(con\014guration)25 b(and)h(hardw)n (are)e(selection)h(has)h(great)1854 3821 y(in\015uence)i(on)g(the)g(p)r (erformance)e(and)i(reliabilit)n(y)-7 b(.)1854 4129 y Fm(7.1)105 b(c)m(hat4free.de)36 b(W)-9 b(ebserv)m(er)1854 4437 y Fo(This)25 b(mac)n(hine,)f(hosted)g(b)n(y)g(BSWS,)h(is)f (running)g(the)1854 4536 y(w)n(ebserv)n(er)39 b(for)i(one)g(of)g (German)n(y's)e(biggest)i(c)n(hat)1854 4636 y(systems,)27 b(c)n(hat4free.de.)1854 4835 y(The)i(site)f(consists)g(of)h(static)f (pages)f(and)i(public)g(fo-)1854 4935 y(rums.)61 b(The)36 b(un)n(usual)f(problem)g(here)g(is)h(the)g(b)r(oth)1854 5035 y(the)26 b(o)n(v)n(erall)c(load)j(and)f(the)h(enormous)f(p)r(eaks) g(whic)n(h)1854 5134 y(happ)r(en)53 b(when)f(n)n(um)n(b)r(ers)g(of)g (users)g(are)f(discon-)1854 5234 y(nected)21 b(from)f(the)h(c)n(hat)f (serv)n(er)e(due)j(to)f(external)f(net-)1854 5333 y(w)n(ork)36 b(problems)g(or)g(crashes)g(of)h(the)h(serv)n(er)d(itself.)1854 5433 y(Unlik)n(e)d(man)n(y)f(w)n(eb)h(applications,)g(this)g(serv)n(er) e(has)p eop %%Page: 10 10 10 9 bop 0 83 a Fo(a)28 b(h)n(uge)f(v)n(olume)h(of)g(small)g(pac)n(k)n (ets,)f(whic)n(h)h(demon-)0 183 y(strates)35 b(that)i(loading)e(is)h (more)f(an)h(issue)g(of)g(users)0 282 y(and)27 b(pac)n(k)n(et)g(coun)n (ts)g(than)h(ra)n(w)e(data)h(transfer.)0 482 y(Originally)-7 b(,)63 b(it)58 b(w)n(as)f(running)g(one)g(Apac)n(he)g(in-)0 581 y(stance)20 b(for)f(the)i(en)n(tire)e(application,)i(on)f(an)g (700MHz)0 681 y(A)n(thlon)52 b(system)g(with)h(1.5G)f(RAM,)h(running)e (a)0 780 y(highly)30 b(mo)r(di\014ed)g(Op)r(enBSD)h(3.0.)43 b(Unfortunately)-7 b(,)0 880 y(this)21 b(system)f(sometimes)h(crashed)e (due)i(to)g(KVM)g(ex-)0 980 y(haustion.)0 1179 y(T)-7 b(o)61 b(address)f(this)i(problem,)70 b(the)62 b(system)f(w)n(as)0 1279 y(switc)n(hed)38 b(to)f(a)g(new)h(system,)i(again)d(an)g(700MHz)0 1378 y(A)n(thlon)30 b(with)g(512M)e(RAM,)i(running)f(t)n(w)n(o)f(Apac)n (he)0 1478 y(instances)54 b(in)g(c)n(hro)r(ot)f(jails,)61 b(on)53 b(a)h(fairly)g(sto)r(c)n(k)0 1577 y(Op)r(enBSD)34 b(3.1)e(system.)53 b(The)33 b(system)g(has)f(a)h(net-)0 1677 y(w)n(ork)46 b(adapter)h(based)g(on)g(a)g(DEC/In)n(tel)g(21143,)0 1777 y(with)35 b(a)f(Seeq)g(84220)e(PHY,)i(and)g(runs)g("headless")0 1876 y(with)28 b(a)f(serial)g(console.)0 2076 y(One)40 b(of)g(the)g(t)n(w)n(o)f(Apac)n(he)h(instances)f(is)h(stripp)r(ed)0 2175 y(do)n(wn)34 b(as)h(m)n(uc)n(h)f(as)h(I)g(could)f(mak)n(e)h(it,)i (and)e(serv)n(es)0 2275 y(the)21 b(static)f(pages.)33 b(This)20 b(h)n(ttp)r(d)h(binary)f(is)g(only)g(303k)0 2374 y(in)42 b(size,)j(compared)40 b(to)h(the)h(almost)f(600k)f(of)i (the)0 2474 y(sto)r(c)n(k)30 b(Apac)n(he.)45 b(The)30 b(second)g(instance)g(of)g(Apac)n(he)0 2574 y(is)j(m)n(uc)n(h)h (bigger,)f(as)g(it)h(has)f(PHP)g(compiled)g(in.)55 b(I)0 2673 y(alw)n(a)n(ys)26 b(use)h(static)g(h)n(ttp)r(ds,)i(rather)d(than)i (Dynamic)0 2773 y(Shared)f(Ob)5 b(jects)27 b(\(DSOs\).)0 2972 y(The)42 b(k)n(ernel)f(con\014guration)f(is)i(fairly)f(sto)r(c)n (k.)80 b(All)0 3072 y(un)n(used)74 b(hardw)n(are)f(supp)r(ort)h(and)h (em)n(ulations)0 3171 y(are)49 b(remo)n(v)n(ed,)54 b(option)c(DUMMY)p 1167 3171 25 4 v 31 w(NOPS)f(is)h(en-)0 3271 y(abled.)67 b(NMBCLUSTERS)39 b(is)e(bump)r(ed)i(to)f(8192,)0 3371 y(NKMEMP)-7 b(A)n(GES)21 b(to)g(16384.)33 b(I)22 b(considered)e (raising)0 3470 y(MAX)p 205 3470 V 31 w(KMAPENT)33 b(from)h(its)g (default)h(of)f(1000)e(to)0 3570 y(1500)20 b(or)h(so)h(to)g(b)r(e)g (able)g(to)g(ha)n(v)n(e)e(ev)n(en)i(more)f(concur-)0 3670 y(ren)n(t)39 b(Apac)n(he)g(pro)r(cesses)g(running,)j(though)d (there)0 3769 y(has)34 b(b)r(een)g(no)g(real)f(need)i(y)n(et)f(in)g (this)h(application.)0 3869 y(The)21 b(mac)n(hine)g(has)g(an)g (ordinary)f(IDE)i(hard)e(disk)i(for)0 3968 y(the)28 b(system,)g(con)n (ten)n(t)f(and)g(logs)g(are)g(on)g(a)g(separate)0 4068 y(mac)n(hine's)22 b(RAID)h(subsystem,)g(moun)n(ted)g(via)e(NFS.)0 4168 y(Most)32 b(static)g(con)n(ten)n(t)g(ends)g(up)h(b)r(eing)f(cac)n (hed,)h(re-)0 4267 y(ducing)28 b(net)n(w)n(ork)e(tra\016c.)0 4467 y(The)i("lean")e(h)n(ttp)r(d)j(instance)f(is)g(con\014gured)e(for) i(up)0 4566 y(to)33 b(1000)e(concurren)n(t)g(h)n(ttp)r(d)j(tasks,)g (the)f("fat")f(one)0 4666 y(for)d(up)h(to)f(600.)41 b(I'v)n(e)29 b(seen)g(b)r(oth)h(reac)n(h)e(their)i(max-)0 4765 y(im)n(um)e(limits)f (at)g(the)h(same)f(time,)g(and)g(the)h(smaller)0 4865 y(mac)n(hine)47 b(handles)h(this)g(load)f(without)i(inciden)n(t.)0 4965 y(This)37 b(is)g(due)h(to)f(the)h(sup)r(erior)e(memory)h(manage-)0 5064 y(men)n(t)28 b(in)f(Op)r(enBSD)h(3.1)e(and)h(the)h(smaller)e(Apac) n(he)0 5164 y(con\014gurations.)0 5363 y(Detailed)21 b(k)n(ernel)e(con\014guration)g(and)h(dmesg\(8\))g(can)1854 83 y(b)r(e)28 b(found)g(in)g(the)g(App)r(endix.)1854 367 y Fm(7.2)105 b(A)35 b(\014rew)m(all)g(at)f(BSWS)1854 651 y Fo(One)21 b(imp)r(ortan)n(t)g(fact)g(ab)r(out)g(\014rew)n(alling) f(and)h(\014lter-)1854 751 y(ing)33 b(is)g(that)g(the)g(bandwidth)g (isn't)g(the)h(imp)r(ortan)n(t)1854 850 y(issue,)40 b(the)e(issue)f(is) g(the)h(pac)n(k)n(et)e(rate)h(\(i.e.,)k(pac)n(k-)1854 950 y(ets)29 b(p)r(er)g(second\).)40 b(Eac)n(h)28 b(pac)n(k)n(et)f (needs)i(to)g(b)r(e)g(han-)1854 1050 y(dled)20 b(b)n(y)g(the)g(net)n(w) n(ork)e(adapter,)j(the)f(TCP/IP)e(stac)n(k)1854 1149 y(and)34 b(the)h(\014lter,)g(whic)n(h)f(eac)n(h)g(need)g(to)g(do)g (roughly)1854 1249 y(the)h(same)e(amoun)n(t)g(of)h(w)n(ork)e(whether)i (the)g(pac)n(k)n(et)1854 1348 y(is)28 b(small)f(or)g(large.)1854 1548 y(The)49 b(\014rew)n(all)f(that)h(protects)g(a)f(n)n(um)n(b)r(er)h (of)g(the)1854 1647 y(serv)n(ers)36 b(at)h(BSWS)h(is)f(under)g(rather)g (hea)n(vy)f(load,)1854 1747 y(not)21 b(really)f(due)h(to)g(total)f (bandwidth,)j(but)f(the)f(large)1854 1847 y(n)n(um)n(b)r(er)i(of)f (small)h(pac)n(k)n(ets)e(in)n(v)n(olv)n(ed.)34 b(It)23 b(is)g(running)1854 1946 y(on)c(a)f(700MHz)g(Duron)g(with)h(128M)f(RAM) h(and)g(three)1854 2046 y(DEC/In)n(tel)27 b(21143-based)d(NICs)k(\(one) f(is)g(curren)n(tly)1854 2145 y(not)36 b(in)h(use\).)62 b(It)37 b(b)r(o)r(ots)f(from)g(a)f(small)h(IDE)g(hard)1854 2245 y(disk,)29 b(whic)n(h)f(is)h(quite)f(unimp)r(ortan)n(t)h(to)f (this)h(appli-)1854 2345 y(cation.)1854 2544 y(The)41 b(mac)n(hine)f(is)h(running)f(a)g(highly)h(customized)1854 2644 y(v)n(ersion)61 b(of)i(Op)r(enBSD.)g(The)g(base)f(system)g(is)1854 2743 y(Op)r(enBSD)43 b(3.0,)i(but)e(man)n(y)f(pieces)g(of)g(what)g(b)r (e-)1854 2843 y(came)36 b(Op)r(enBSD)h(3.1)f(w)n(ere)f(imp)r(orted,)k (including)1854 2942 y(3.1's)29 b(pac)n(k)n(et)f(\014lter)h Fl(pf\(4\))p Fo(.)40 b(A)n(t)29 b(the)h(time)g(this)f(w)n(as)1854 3042 y(put)24 b(together,)f(there)f(w)n(as)g(no)g(other)g(option)h(for) f(this)1854 3142 y(application.)46 b(Man)n(y)30 b(of)h(pf)6 b('s)31 b(new)n(er)f(features)g(w)n(ere)1854 3241 y(needed,)d(but)g(it) g(w)n(as)f(not)g(p)r(ossible)g(to)h(w)n(ait)f(for)g(3.1-)1854 3341 y(Release,)j(as)f(the)h(previous)e(Op)r(enBSD)j(2.9)d(\014rew)n (all)1854 3441 y(running)20 b(IPFilter)f(had)g(saturated)g(the)h(pro)r (cessor)e(at)1854 3540 y(near)24 b(100\045)g(utilization)h(at)g(p)r (eak)f(usage)g(times,)i(and)1854 3640 y(dela)n(ys)33 b(w)n(ere)f(b)r(eing)h(noticed.)55 b(The)33 b(k)n(ernel)f(con\014g-) 1854 3739 y(uration)d(has)f(had)h(all)f(uneeded)i(hardw)n(are)d(supp)r (ort)1854 3839 y(and)20 b(binary)f(em)n(ulations)f(remo)n(v)n(ed,)i (and)f(the)h(alw)n(a)n(ys)1854 3939 y(famous)27 b(NKMEMCLUSTERS=16384)c (and)k(NM-)1854 4038 y(BCLUSTERS=8192)k(mo)r(di\014cations.)53 b(The)34 b(n)n(um-)1854 4138 y(b)r(er)28 b(of)f(VLAN)i(in)n(terfaces)d (w)n(as)h(raised)f(to)i(20)e(\(from)1854 4238 y(2)i(in)f(GENERIC\).) 1854 4437 y(As)c(of)g(Octob)r(er)f(5,)h(the)g(expanded)g(ruleset)f(has) g(1132)1854 4536 y(rules.)74 b(The)40 b(\\quic)n(k")e(k)n(eyw)n(ord)g (is)i(used)g(in)h(most)1854 4636 y(places)25 b(to)g(reduce)g(the)h(n)n (um)n(b)r(er)f(of)h(rules)f(that)g(m)n(ust)1854 4736 y(b)r(e)h(ev)-5 b(aluated)25 b(for)g(eac)n(h)f(pac)n(k)n(et,)h (otherwise)f(the)i(en-)1854 4835 y(tire)j(ruleset)f(m)n(ust)h(b)r(e)h (ev)-5 b(aluated)28 b(for)g(eac)n(h)g(pac)n(k)n(et.)1854 4935 y(The)40 b(rules)e(are)g(ordered)g(so)h(that)g(the)h(ones)f(I)g (ex-)1854 5035 y(p)r(ect)h(the)f(most)g(matc)n(hes)f(from)h(are)f(to)n (w)n(ards)f(the)1854 5134 y(top)e(of)h(the)f(\014le.)60 b(All)35 b(pass)f(rules)h(k)n(eep)g(state;)j(not)1854 5234 y(only)25 b(is)f(this)h(go)r(o)r(d)g(practice)f(for)g(securit)n(y) -7 b(,)24 b(but)i(with)1854 5333 y(pf,)k(state)e(table)g(lo)r(okups)g (are)f(usually)h(m)n(uc)n(h)g(faster)1854 5433 y(than)33 b(rule)g(ev)-5 b(aluation.)53 b(No)32 b(NA)-7 b(T)34 b(tak)n(es)e(place)h(on)p eop %%Page: 11 11 11 10 bop 0 83 a Fo(this)28 b(mac)n(hine,)f(only)g(pac)n(k)n(et)g (\014ltering.)0 282 y(On)20 b(the)g(external)f(in)n(terface,)i(there)f (is)g(only)g(sp)r(o)r(o\014ng)0 382 y(protection)h(taking)g(place.)35 b(Incoming)21 b(pac)n(k)n(ets)g(with)0 482 y(a)30 b(source)f(IP)h(of)h (the)g(in)n(ternal)f(net)n(w)n(orks,)f(outgoing)0 581 y(pac)n(k)n(ets)21 b(with)i(an)g(IP)f(whic)n(h)h(is)f(not)h(from)f(one) g(of)h(the)0 681 y(in)n(ternal)28 b(net)n(w)n(orks,)g(and)h(all)f (127.0.0.0/8)e(tra\016c)i(is)0 780 y(dropp)r(ed.)37 b(Normally)-7 b(,)27 b(one)h(w)n(ould)f(also)g(drop)g(pac)n(k-)0 880 y(ets)35 b(with)g(RF)n(C1918)e(\("priv)-5 b(ate)34 b(IP)g(space"\),)i (ho)n(w-)0 980 y(ev)n(er)j(in)h(this)g(case,)i(it)e(is)g(handled)f (externally)g(b)n(y)0 1079 y(the)31 b(BSWS)h(core)e(routers,)h(b)r (ecause)f(there)h(is)g(v)-5 b(alid)0 1179 y(tra\016c)36 b(with)h(RF)n(C1918)e(IPs)h(from)g(other)g(in)n(ternal)0 1279 y(net)n(w)n(orks)26 b(crossing)g(this)i(\014rew)n(all.)0 1478 y(The)23 b(actual)f(\014ltering)h(p)r(olicies)g(are)f(enforced)g (on)h(the)0 1577 y(inside)34 b(\(VLAN\))i(in)n(terfaces,)f(whic)n(h)f (has)g(the)h(b)r(en-)0 1677 y(e\014t)h(that)f(pac)n(k)n(ets)f (attempting)h(to)g(cross)f(b)r(et)n(w)n(een)0 1777 y(VLANs)43 b(encoun)n(ter)f(the)i(same)e(rules)g(as)g(pac)n(k)n(ets)0 1876 y(from)h(the)g(outside.)84 b(Ev)n(ery)41 b(pac)n(k)n(et)i(passing) f(the)0 1976 y(\014rew)n(all)i(is)i(normalized)e(using)h(the)h(scrub)f (direc-)0 2076 y(tiv)n(e.)36 b(Op)r(enBSD)25 b(3.2)f(will)h(supp)r(ort) g(m)n(ultiple)h(scrub)0 2175 y(metho)r(ds)i(b)r(esides)g(the)g(classic) e(bu\013ering)i(fragmen)n(t)0 2275 y(cac)n(he.)104 b(One)50 b(of)h(the)f(more)g(in)n(teresting)f(is)i(the)0 2374 y(crop)33 b(metho)r(d,)j(whic)n(h)d(almost)g(completely)h(a)n(v)n(oids) 0 2474 y(bu\013ering)27 b(fragmen)n(ts.)0 2673 y(The)32 b(results)f(ha)n(v)n(e)g(b)r(een)h(impressiv)n(e.)48 b(In)32 b(Septem-)0 2773 y(b)r(er,)j(2002,)e(the)h(state)f(table)h (reac)n(hed)e(a)h(p)r(eak)g(size)0 2873 y(of)g(29,390,)g(with)h(an)f(a) n(v)n(erage)e(size)i(of)g(11,000.)53 b(Up)0 2972 y(to)33 b(15,330)d(state)j(table)f(lo)r(okups)g(p)r(er)h(second)f(w)n(ere)0 3072 y(p)r(erformed)21 b(with)i(a)n(v)n(erage)c(of)i(5600.)33 b(State)22 b(table)g(in-)0 3171 y(serts)29 b(and)h(remo)n(v)-5 b(als)28 b(p)r(eak)n(ed)i(at)g(sligh)n(tly)f(o)n(v)n(er)f(200)0 3271 y(p)r(er)20 b(second)f(eac)n(h.)34 b(The)20 b(CPU)g(load)f(seldom) h(exceeds)0 3371 y(10\045.)35 b(Compare)22 b(this)i(to)f(the)h(old)f (IPFilter)h(solution)0 3470 y(running)i(on)f(the)h(same)g(hardw)n(are)e (doing)h(m)n(uc)n(h)h(the)0 3570 y(same)21 b(task,)i(where)f(the)g(CPU) g(w)n(as)f(maxed)h(out)g(with)0 3670 y(only)h(600)f(rules)h(and)g(a)g (p)r(eak)g(of)h(15,000)d(pac)n(k)n(ets)h(p)r(er)0 3769 y(second.)51 b(pf)33 b(has)e(p)r(ermitted)i(considerable)e(gro)n(wth)0 3869 y(in)36 b(the)g(complexit)n(y)f(of)g(the)h(rule)g(sets)f(and)h (tra\016c,)0 3968 y(and)24 b(as)f(y)n(ou)g(can)h(see,)g(still)h(lea)n (v)n(es)d(BSWS)i(consider-)0 4068 y(able)e(ro)r(om)f(to)g(gro)n(w.)34 b(Since)22 b(this)g(\014rew)n(all)f(w)n(en)n(t)g(in)n(to)0 4168 y(op)r(eration)30 b(in)g(Marc)n(h,)h(2002,)e(there)i(hasn't)f(b)r (een)h(a)0 4267 y(single)c(problem)g(with)h(its)g(hardw)n(are)e(or)g (soft)n(w)n(are.)0 4709 y Fr(8)112 b(Conclusions)0 5035 y Fo(Running)33 b(Op)r(enBSD)g(serv)n(ers)d(under)j(high)f(load)g(is)0 5134 y(prett)n(y)25 b(safe)h(no)n(w)n(ada)n(ys.)33 b(W)-7 b(e)26 b(ha)n(v)n(e)f(sho)n(wn)g(that)h(the)0 5234 y(in)n(tro)r (duction)38 b(of)g Fl(pool\(9\))d Fo(made)j(op)r(eration)f(w)n(a)n(y)0 5333 y(b)r(etter)c(with)h(regard)d(to)i(memory)g(usage)f(and)g(p)r(er-) 0 5433 y(formance.)1854 83 y(W)-7 b(e)32 b(ha)n(v)n(e)e(sho)n(wn)h(ho)n (w)g(net)n(w)n(ork)e(tra\016c)i(in\015uences)1854 183 y(the)37 b(memory)e(usage)g(of)h(the)g(k)n(ernel)f(and)h(ho)n(w)f(the) 1854 282 y(pieces)28 b(are)e(related)h(together.)1854 482 y(The)42 b(pro)n(vided)f(kno)n(wledge)g(ab)r(out)h(monitoring)f(a) 1854 581 y(running)26 b(system)g(and)g(p)r(oten)n(tial)g(coun)n (termeasures)1854 681 y(against)49 b(resource)f(exhaustions)h(should)g (help)i(to)1854 780 y(deal)28 b(with)g(high-load)e(situations)h(b)r (etter.)1854 1180 y Fr(9)112 b(Ac)m(kno)m(wledgemen)m(ts)1854 1464 y Fo(A)31 b(big)g(\\thank)f(y)n(ou")g(go)r(es)f(to)i(Nic)n(k)f (Holland,)i(who)1854 1563 y(turned)19 b(our)g(crapp)n(y)e(english)i(in) n(to)g(something)f(useful)1854 1663 y(and)31 b(pro)n(vided)e(a)h(lot)h (of)f(input)h(on)f(ho)n(w)g(to)h(explain)1854 1763 y(this)d(di\016cult) h(area)d(b)r(etter.)1854 1962 y(Thanks)48 b(also)f(to)h(Artur)f(Grab)r (o)n(wski)g(for)g(imple-)1854 2061 y(men)n(ting)32 b Fl(pool\(9\))d Fo(in)j(the)g(Op)r(enBSD)h(k)n(ernel)e(and)1854 2161 y(for)c(further)h(explanations)e(ab)r(out)i(KVM.)1854 2360 y(Sev)n(eral)20 b(pro)r(of-readers)e(help)r(ed)k(on)e(\014nding)h (sp)r(elling)1854 2460 y(errors)32 b(and)h(inconsistencies)g(within)h (the)g(pap)r(er,)h(a)1854 2560 y(sp)r(ecial)e(thanks)f(here)g(for)g (Daniel)h(Lucq,)g(who)f(also)1854 2659 y(wrote)27 b(KVMsp)n(y)-7 b(.)1854 2858 y(And,)44 b(of)c(course,)j(thanks)c(to)h(the)h(Op)r (enBSD)g(de-)1854 2958 y(v)n(elop)r(er)e(team)g(for)g(w)n(orking)e(on)i (a)g(system)g(whic)n(h)1854 3058 y(pro)n(vides)32 b(already)f(sane)h (defaults)h(for)f(op)r(erating)g(a)1854 3157 y(high-load)21 b(serv)n(er,)g(and,)i(not)f(to)g(forget,)g(a)g(v)n(ery)e(high)1854 3257 y(lev)n(el)27 b(of)h(securit)n(y)-7 b(.)1854 3657 y Fr(References)1854 3841 y Fd([Aca02])78 b(Can)32 b(E.)h(Acar.)54 b(Op)r(en)n(bsd)31 b(pf)h(state)g(view)n(er.)2180 3933 y(h)n(ttp://www.eee.metu.edu.tr/)2180 4024 y(~canacar/pftop/,)c(2002.) 1854 4133 y([Dij02])105 b(Willem)74 b(Dijkstra.)178 b(The)74 b(small)h(and)2180 4224 y(secure)149 b(activ)n(e)g(system)g(monitor.) 2180 4316 y(h)n(ttp://www.xs4all.nl/~wp)r(d/symon/,)2180 4407 y(2002.)1854 4516 y([McK96])44 b(Marshall)19 b(Kirk)e(\(et.)g (al.\))h(McKusic)n(k.)j Fc(The)f(de-)2180 4608 y(sign)34 b(and)h(implementation)g(of)f(the)h(4.4BSD)2180 4699 y(op)l(er)l(ating)29 b(system)p Fd(.)36 b(Addison-W)-6 b(esley)g(,)24 b(1996.)1854 4808 y([Oet02])84 b(T)-6 b(obi)45 b(Oetik)n(er.)93 b(Round)45 b(robin)g(database.)2180 4899 y(h)n(ttp://p)r(eople.ee.ethz.c)n(h/)2180 4991 y(~o)r(etik)n(er/w) n(ebto)r(ols/rrdto)r(ol/,)30 b(2002.)1854 5100 y([Op)r(e02])69 b(Op)r(enBSD.)114 b(h)n(ttp://www.op)r(en)n(bsd.org/,)2180 5191 y(2002.)1854 5300 y([Ste94])101 b(W.)19 b(Ric)n(hard)h(Stev)n (ens.)k Fc(TCP/IP)d(Il)t(lustr)l(ate)l(d,)2180 5392 y(V)-6 b(ol.)26 b(2)p Fd(.)35 b(Addison-W)-6 b(esley)g(,)25 b(1994.)p eop %%Page: 12 12 12 11 bop 0 83 a Fr(A)112 b(top)0 367 y Fd(This)26 b(mac)n(hine)g(is)g (the)g(main)g(serv)n(er)f(of)i(sys\014v)n(e.com)f(Gm)n(bH,)f(sligh)n (tly)h(tuned)f(it)h(is)g(really)g(idle.)0 610 y Fb(load)40 b(averages:)81 b(0.19,)e(0.12,)h(0.09)1374 b(14:19:57)0 701 y(68)40 b(processes:)80 b(1)40 b(running,)h(64)f(idle,)g(3)f (zombie)0 793 y(CPU)h(states:)80 b(0.3\045)40 b(user,)80 b(0.9\045)40 b(nice,)79 b(0.3\045)41 b(system,)80 b(0.0\045)40 b(interrupt,)h(98.4\045)g(idle)0 884 y(Memory:)g(Real:)f(49M/80M)h (act/tot)80 b(Free:)40 b(41M)80 b(Swap:)40 b(0K/256M)h(used/tot)78 1067 y(PID)f(USERNAME)h(PRI)f(NICE)80 b(SIZE)118 b(RES)40 b(STATE)h(WAIT)197 b(TIME)157 b(CPU)40 b(COMMAND)0 1158 y(15902)g(root)276 b(2)157 b(0)39 b(2308K)i(1832K)f(idle)80 b(select)f(19:39)h(0.00\045)40 b(isakmpd)0 1249 y(27679)g(pb)354 b(2)157 b(0)79 b(964K)40 b(1468K)g(sleep)h(select)119 b(7:00)79 b(0.00\045)40 b(screen-3.9.11)0 1341 y(19945)g(gowry)237 b(2)157 b(0)39 b(4644K)i(5096K)f(idle)80 b(select)119 b(4:30)79 b(0.00\045)40 b(screen-3.9.11)39 1432 y(3605)g(postfix)159 b(2)e(0)79 b(304K)g(736K)40 b(sleep)h(select)119 b(4:29)79 b(0.00\045)40 b(qmgr)0 1523 y(22360)g(root)237 b(18)157 b(0)79 b(640K)40 b(9944K)g(sleep)h(pause)158 b(2:53)79 b(0.00\045)40 b(ntpd)0 1615 y(11827)g(pb)354 b(2)157 b(0)79 b(516K)40 b(1312K)g(sleep)h(poll)197 b(2:18)79 b(0.00\045)40 b(stunnel)0 1706 y([..])0 2114 y Fr(B)112 b(ps)0 2398 y Fd(Same)26 b(mac)n(hine,)g(same)g(pro)r(cesses)i(rep)r (orted)d(b)n(y)g Fb(ps)40 b(-axv)0 2641 y(USER)276 b(PID)39 b(\045CPU)i(\045MEM)118 b(VSZ)h(RSS)39 b(TT)79 b(STAT)h(STARTED)276 b(TIME)40 b(COMMAND)0 2732 y(root)197 b(22360)80 b(0.0)f(7.6)118 b(640)79 b(9944)40 b(??)79 b(Ss)197 b(8Aug02)158 b(2:48.24)41 b(ntpd)f(-c)g(/etc/ntp.conf)0 2824 y(gowry)158 b(19945)80 b(0.0)f(3.9)g(4644)g(5096)40 b(??)79 b(Ss)197 b(9Aug02)158 b(4:30.56)41 b(SCREEN)g(\(screen-3.9.11\))0 2915 y(root)197 b(15902)80 b(0.0)f(1.4)g(2308)g(1832)40 b(??)79 b(Is)158 b(31Jul02)119 b(19:39.33)41 b(isakmpd)0 3006 y(pb)275 b(27679)80 b(0.0)f(1.1)118 b(964)79 b(1468)40 b(??)79 b(Ss)158 b(13Jul02)g(6:59.75)41 b(SCREEN)g(\(screen-3.9.11\))0 3098 y(pb)275 b(11827)80 b(0.0)f(1.0)118 b(516)79 b(1312)40 b(??)79 b(Ss)158 b(13Jul02)g(2:15.55)41 b(stunnel)0 3189 y(postfix)119 b(3605)80 b(0.0)f(0.6)118 b(304)h(736)39 b(??)79 b(S)236 b(6Aug02)158 b(4:30.29)41 b(qmgr)f(-l)g(-t)g(fifo)g(-u) 0 3597 y Fr(C)112 b(vmstat)0 3881 y Fd(Curren)n(t)25 b(vmstat)h(output)f(of)h(the)f(same)i(mac)n(hine)f(\()p Fb(vmstat)40 b(1)g(5)p Fd(\))39 4124 y Fb(procs)119 b(memory)315 b(page)786 b(disks)197 b(faults)g(cpu)39 4216 y(r)40 b(b)f(w)157 b(avm)h(fre)118 b(flt)79 b(re)g(pi)g(po)g(fr)g(sr)40 b(cd0)g(sd0)118 b(in)157 b(sy)118 b(cs)40 b(us)g(sy)g(id)39 4307 y(1)g(0)f(0)79 b(50324)g(41608)158 b(14)119 b(0)f(0)f(0)h(0)g(0)g (0)g(1)79 b(234)g(7151)g(160)g(0)g(0)40 b(99)39 4398 y(0)g(0)f(0)79 b(50324)g(41608)158 b(10)119 b(0)f(0)f(0)h(0)g(0)g(0)g (0)79 b(233)g(1602)g(165)g(0)g(0)40 b(100)39 4490 y(0)g(0)f(0)79 b(50324)g(41608)198 b(6)118 b(0)g(0)f(0)h(0)g(0)g(0)g(0)79 b(233)g(1589)g(165)g(0)g(1)40 b(99)0 4733 y Fd(If)22 b(the)g(mac)n(hine)g(w)n(ould)h(ha)n(v)n(e)e(disk)h(I/O)g(blo)r(c)n (king)h(problems,)g(the)f(output)f(could)i(lo)r(ok)f(lik)n(e)h(this.)33 b(Note)22 b(the)g(idle)h(CPU,)0 4824 y(but)i(blo)r(c)n(k)n(ed)g(pro)r (cesses)i(are)f(w)n(aiting)h(for)g(blo)r(c)n(ks)f(from)g(the)g(busy)e (driv)n(e.)39 5068 y Fb(procs)119 b(memory)315 b(page)786 b(disks)197 b(faults)g(cpu)39 5159 y(r)40 b(b)f(w)157 b(avm)h(fre)118 b(flt)79 b(re)g(pi)g(po)g(fr)g(sr)40 b(cd0)g(sd0)118 b(in)157 b(sy)118 b(cs)40 b(us)g(sy)g(id)39 5250 y(1)g(2)f(0)79 b(50324)g(41608)158 b(14)119 b(0)f(0)f(0)h(0)g(0)g (0)40 b(271)79 b(234)g(7151)g(160)g(1)g(3)40 b(96)39 5342 y(0)g(1)f(0)79 b(50324)g(41608)158 b(10)119 b(0)f(0)f(0)h(0)g(0)g (0)40 b(312)79 b(233)g(1602)g(165)g(0)g(4)40 b(96)39 5433 y(0)g(1)f(0)79 b(50324)g(41608)198 b(6)118 b(0)g(0)f(0)h(0)g(0)g (0)40 b(150)79 b(233)g(1589)g(165)g(0)g(2)40 b(98)p eop %%Page: 13 13 13 12 bop 0 83 a Fd(W)-6 b(orst-case)30 b(scenario,)i(the)d(mac)n(hine) h(do)r(es)g(hea)n(vy)f(paging,)i(th)n(us)e(o)n(v)n(erloading)h(the)f (disk)h(subsystem.)45 b(Additionally)0 174 y(the)25 b(CPU)g(is)h(maxed) e(out.)35 b(Pro)r(cesses)27 b(are)e(w)n(aiting,)i(in)n(terrupts)d (cause)i(massiv)n(e)g(con)n(text-switc)n(hing.)34 b(The)26 b(v)l(alues)f(are)0 266 y(arbitrary)-6 b(.)39 535 y Fb(procs)119 b(memory)315 b(page)786 b(disks)197 b(faults)g(cpu)39 627 y(r)40 b(b)f(w)157 b(avm)h(fre)118 b(flt)79 b(re)g(pi)g(po)g(fr)g (sr)40 b(cd0)g(sd0)118 b(in)157 b(sy)118 b(cs)40 b(us)g(sy)g(id)39 718 y(1)g(2)f(1)157 b(324)h(608)118 b(314)h(0)78 b(25)h(35)118 b(0)g(0)g(0)40 b(271)79 b(412)g(7151)40 b(1931)g(80)g(19)79 b(1)39 809 y(1)40 b(3)f(2)157 b(324)h(608)118 b(310)h(0)78 b(28)h(42)118 b(0)g(0)g(0)40 b(312)79 b(501)g(1602)40 b(1876)g(81)g(19)79 b(0)39 901 y(1)40 b(2)f(1)157 b(324)h(608)118 b(306)h(0)78 b(21)h(38)118 b(0)g(0)g(0)40 b(150)79 b(467)g(1589)40 b(1911)g(85)g(12)79 b(3)0 1170 y Fd(No)n(w)27 b(let's)h(ha)n(v)n(e)e(a) h(lo)r(ok)g(at)g(the)f(p)r(o)r(ol)i(situation)g(of)f(a)g(\014rew)n (all.)39 b(A)26 b(nice)h(example)g(that)f(the)h(p)r(o)r(ol)g(can)g(gro) n(w)h(o)n(v)n(er)f(the)0 1262 y(initial)k(limit)g(\(Maxpg)g(512,)i(Hiw) n(at)d(516\),)j(but)d(someho)n(w)h(KVM)f(is)h(lo)n(w,)h(since)f(a)g (lot)g(of)g(requests)f(are)h(failing)h(\(F)-6 b(ail)0 1353 y(14725\).)36 b(The)26 b(k)n(ernel)g(should)f(b)r(e)h (recon\014gured)f(with)h(NMBCLUSTERS)g Fa(>)f Fd(1024)i(\()p Fb(vmstat)41 b(-m)e(|)h(grep)g(mclpl)p Fd(\).)0 1623 y Fb(Name)315 b(Size)40 b(Requests)h(Fail)f(Releases)h(Pgreq)f(Pgrel)h (Npage)f(Hiwat)h(Minpg)f(Maxpg)g(Idle)0 1714 y(mclpl)276 b(2048)79 b(1758499)41 b(14725)f(1757480)120 b(518)196 b(2)118 b(516)h(516)196 b(4)118 b(512)158 b(4)0 2142 y Fr(D)112 b(netstat)0 2445 y Fd(All)26 b(pac)n(k)n(et)f(data)h(is)g (getting)g(deliv)n(ered)g(to/from)h(the)e(sshd)h(fast)g(enough,)g(so)h (no)e(queuing)g(o)r(ccurs.)0 2714 y Fb(Active)41 b(Internet)g (connections)0 2806 y(Proto)f(Recv-Q)h(Send-Q)80 b(Local)40 b(Address)394 b(Foreign)41 b(Address)315 b(\(state\))0 2897 y(tcp)g(0)235 b(0)79 b(172.23.1.1.22)395 b(10.172.2.32.1156)278 b(ESTABLISHED)0 2988 y(tcp)315 b(0)235 b(0)79 b(172.23.1.1.22)395 b(172.23.1.3.39679)278 b(ESTABLISHED)0 3080 y(tcp)315 b(0)235 b(0)79 b(172.23.1.1.22)395 b(192.168.1.5.42456)239 b(ESTABLISHED)0 3349 y Fd(Someho)n(w)24 b(either)f(the)g(uplink)f(is)i (saturated,)h(or)e(the)g(remote)h(clien)n(ts)g(are)g(not)f(retrieving)g (data)h(fast)g(enough,)g(th)n(us)f(the)0 3441 y(Send-Q)h(is)i(gro)n (wing.)0 3711 y Fb(Active)41 b(Internet)g(connections)0 3802 y(Proto)f(Recv-Q)h(Send-Q)80 b(Local)40 b(Address)394 b(Foreign)41 b(Address)315 b(\(state\))0 3893 y(tcp)g(0)117 b(5346)80 b(172.23.1.1.22)395 b(10.172.2.32.1156)278 b(ESTABLISHED)0 3985 y(tcp)315 b(0)235 b(0)79 b(172.23.1.1.22)395 b(172.23.1.3.39679)278 b(ESTABLISHED)0 4076 y(tcp)315 b(0)117 b(7159)80 b(172.23.1.1.22)395 b(192.168.1.5.42456)239 b(ESTABLISHED)0 4346 y Fd(F)-6 b(or)31 b(whatev)n(er)f(reason,)j(sshd)d (is)h(not)g(pro)r(cessing)h(data)e(fast)i(enough.)48 b(Ma)n(yb)r(e)31 b(the)f(deciphering)h(needs)f(more)h(CPU)0 4437 y(then)25 b(a)n(v)l(ailable?)0 4707 y Fb(Active)41 b(Internet)g(connections)0 4798 y(Proto)f(Recv-Q)h(Send-Q)80 b(Local)40 b(Address)394 b(Foreign)41 b(Address)315 b(\(state\))0 4889 y(tcp)197 b(8811)236 b(0)79 b(172.23.1.1.22)395 b(10.172.2.32.1156)278 b(ESTABLISHED)0 4981 y(tcp)197 b(5820)236 b(0)79 b(172.23.1.1.22)395 b(172.23.1.3.39679)278 b(ESTABLISHED)0 5072 y(tcp)158 b(11631)236 b(0)79 b(172.23.1.1.22)395 b(192.168.1.5.42456)239 b(ESTABLISHED)0 5342 y Fd(Let's)34 b(ha)n(v)n(e)f(a)g(lo)r(ok)h(at)g(the)e(memory)i(usage)g(with)f Fb(netstat)41 b(-m)p Fd(.)58 b(The)33 b(stac)n(k)h(has)f(to)h(k)n(eep)e (85)i(clusters)g(in)f(KVM,)0 5433 y(someho)n(w)27 b(the)e(application)i (is)f(pro)r(cessing)h(data)f(either)g(to)r(o)g(fast)h(\(Send-Q\))d(or)i (to)r(o)g(slo)n(w)h(\(Recv-Q\).)p eop %%Page: 14 14 14 13 bop 0 83 a Fb(384)40 b(mbufs)g(in)g(use:)314 174 y(100)g(mbufs)g(allocated)h(to)f(data)314 266 y(178)g(mbufs)g (allocated)h(to)f(packet)h(headers)314 357 y(106)f(mbufs)g(allocated)h (to)f(socket)h(names)f(and)g(addresses)0 448 y(85/1048)h(mapped)f (pages)h(in)e(use)0 540 y(3144)h(Kbytes)h(allocated)g(to)f(network)h (\(8\045)e(in)h(use\))0 631 y(0)f(requests)j(for)d(memory)i(denied)0 722 y(0)e(requests)j(for)d(memory)i(delayed)0 814 y(0)e(calls)i(to)f (protocol)h(drain)f(routines)0 1236 y Fr(E)112 b(systat)0 1534 y Fd(Lo)r(oks)27 b(lik)n(e)f(the)g(mac)n(hine)g(is)h(doing)g (nothing?)36 b(W)-6 b(rong,)26 b(lo)r(ok)h(at)g(the)e(in)n(terrupt)h (coun)n(ting)g(for)h(dc0)f(and)g(dc2.)36 b(It's)27 b(the)0 1626 y(BSWS')f(\014rew)n(all)g(describ)r(ed)g(earlier.)157 1890 y Fb(1)39 b(users)158 b(Load)80 b(0.05)f(0.08)h(0.08)707 b(Sat)39 b(Oct)80 b(5)39 b(17:22:05)i(2002)392 2073 y(memory)g(totals)f (\(in)g(KB\))550 b(PAGING)119 b(SWAPPING)198 b(Interrupts)353 2164 y(real)119 b(virtual)158 b(free)550 b(in)79 b(out)119 b(in)78 b(out)197 b(7903)40 b(total)0 2256 y(Active)80 b(91472)197 b(93712)119 b(10848)236 b(ops)1099 b(100)40 b(clock)0 2347 y(All)158 b(116216)g(118456)80 b(270684)236 b(pages)1178 b(pccom0)2667 2438 y(128)40 b(rtc)0 2530 y(Proc:r)80 b(d)f(s)f(w)275 b(Csw)79 b(Trp)g(Sys)g(Int)h(Sof)f(Flt)314 b(forks)158 b(3669)40 b(dc0)314 2621 y(1)79 b(9)470 b(6)158 b(5)118 b(21)39 b(7936)158 b(4)f(2)314 b(fkppw)354 b(dc1)2275 2712 y(fksvm)g(pciide0)118 2804 y(0.0\045)40 b(Sys)118 b(0.0\045)40 b(User)119 b(0.0\045)40 b(Nice)79 b(90.0\045)41 b(Idle)432 b(pwait)158 b(4006)40 b(dc2)0 2895 y(|)157 b(|)g(|)g(|)h(|)f(|)g(|)g(|)g(|)g(|)g(|)275 b(relck)2275 2986 y(rlkok)2275 3078 y(noram)0 3169 y(Namei)354 b(Sys-cache)159 b(Proc-cache)g(No-cache)355 b(ndcpy)157 3260 y(Calls)197 b(hits)158 b(\045)f(hits)197 b(\045)157 b(miss)119 b(\045)353 b(fltcp)314 3352 y(2)314 b(2)79 b(100)1373 b(zfod)2275 3443 y(cow)0 3534 y(Discs)80 b(wd0)1726 b(128)40 b(fmin)0 3626 y(seeks)1923 b(170)40 b(ftarg)0 3717 y(xfers)1884 b(8446)40 b(itarg)0 3808 y(Kbyte)1963 b(39)39 b(wired)78 3900 y(sec)2080 b(pdfre)2275 3991 y(pdscn)0 4414 y Fr(F)113 b(iostat)0 4712 y Fd(Medium,)26 b(but)f(constan)n(t,)h(tra\016c)g(on)g (sd0.)34 b(In)25 b(fact)i(I)e(w)n(as)i(generating)g(tra\016c)f(with)f Fb(dd\(1\))p Fd(.)235 4976 y Fb(tty)472 b(cd0)510 b(sd0)h(sd1)g(fd0)f (cpu)39 5068 y(tin)40 b(tout)80 b(KB/t)40 b(t/s)g(MB/s)118 b(KB/t)40 b(t/s)g(MB/s)119 b(KB/t)40 b(t/s)g(MB/s)118 b(KB/t)41 b(t/s)e(MB/s)80 b(us)40 b(ni)f(sy)h(in)g(id)118 5159 y(0)78 b(540)i(0.00)118 b(0)40 b(0.00)118 b(0.50)40 b(2614)g(1.28)119 b(0.00)g(0)39 b(0.00)119 b(0.00)f(0)40 b(0.00)118 b(1)79 b(1)g(5)f(3)40 b(90)118 5250 y(0)78 b(179)i(0.00)118 b(0)40 b(0.00)118 b(0.50)40 b(2560)g(1.25)119 b(0.00)g(0)39 b(0.00)119 b(0.00)f(0)40 b(0.00)118 b(0)79 b(0)g(2)f(2)40 b(95)118 5342 y(0)78 b(344)i(0.00)118 b(0)40 b(0.00)118 b(0.50)40 b(2601)g(1.27)119 b(0.00)g(0)39 b(0.00)119 b(0.00)f(0)40 b(0.00)118 b(0)79 b(0)g(3)f(5)40 b(92)118 5433 y(0)78 b(181)i(0.00)118 b(0)40 b(0.00)118 b(0.50)40 b(2601)g(1.27)119 b(0.00)g(0)39 b(0.00)119 b(0.00)f(0)40 b(0.00)118 b(0)79 b(1)g(5)f(3)40 b(91)p eop %%Page: 15 15 15 14 bop 0 83 a Fr(G)112 b(pftop)0 370 y Fd(Easy)26 b(and)f(quic)n(k)g(o)n(v)n(erview)h(ab)r(out)g(curren)n(t)f(tra\016c)h (\014ltering:)0 619 y Fb(pfTop:)41 b(Up)e(State)i(1-3/64,)f(View:)h (default,)g(Order:)f(none)0 802 y(PR)118 b(DIR)40 b(SRC)707 b(DEST)668 b(STATE)118 b(AGE)h(EXP)79 b(PKTS)40 b(BYTES)0 893 y(icmp)g(Out)g(192.168.100.32:361)122 b(192.168.100.22:361)161 b(0:0)236 b(9)196 b(1)h(2)157 b(96)0 985 y(icmp)40 b(Out)g (192.168.100.32:361)122 b(192.168.100.23:361)161 b(0:0)236 b(9)196 b(1)h(2)157 b(96)0 1076 y(tcp)79 b(In)g(192.168.100.7:1029)122 b(192.168.100.32:443)161 b(4:4)118 b(4165)40 b(86302)h(25871)f(9251K)0 1487 y Fr(H)112 b(KVMsp)m(y)0 1774 y Fd(The)27 b(full)h(output)e(w)n (ould)h(b)r(e)g(to)r(o)g(long,)i(th)n(us)d(shortened)h(to)g(relev)l(an) n(t)f(p)r(o)r(ols/maps.)40 b(Someho)n(w)28 b(this)f(mac)n(hine)g(is)g (not)0 1865 y(really)f(exhausted,)g(ev)n(en)f(with)h(the)f(default)h (settings.)0 2115 y Fb(_kmem_map)41 b(@)f(0xd0518cdc:)h(total)g(size)f (=)f(33431552)i(bytes,)g([0xd0890000,)h(0xd2872000])0 2206 y(_kmem_map)f(@)f(0xd0518cdc:)h(103)f(entries,)h(actual)g(size)f (=)g(2453504)g(bytes)h(\(7.34\045\))0 2298 y(_mb_map)g(@)e(0xd0890c00:) j(total)e(size)h(=)e(4194304)i(bytes,)f([0xda63e000,)i(0xdaa3e000])0 2389 y(_mb_map)f(@)e(0xd0890c00:)j(5)d(entries,)j(actual)e(size)g(=)g (118784)g(bytes)h(\(2.83\045\))0 2480 y(_socket_pool)h(@)d(0xd05424c8:) j(currently)f(has)f(6)g(pages)g(\(24576)h(bytes\))0 2572 y(_socket_pool)h(@)d(0xd05424c8:)j(high)e(water)h(mark)f(of)f(12)h (pages)h(\(49152)f(bytes\))0 2663 y(_nkmempages)i(@)d(0xd05029d4:)j (8162)e(\(_nkmempages)i(*)d(PAGE_SIZE)j(=)d(33431552)i(bytes\))0 2754 y(_nmbclust)g(@)f(0xd04fb278:)h(2048)g(\(_nmbclust)g(*)f(MCLBYTES) h(=)e(4194304)i(bytes\))0 3166 y Fr(I)112 b(c)m(hat4free.de)38 b(W)-9 b(ebserv)m(er)0 3452 y Fd(I'm)26 b(using)h(a)f(bit)g(more)h (aggressiv)n(e)h(timeouts)f(on)f(this)g(mac)n(hine)h(to)f(lo)n(w)n(er)h (the)f(n)n(um)n(b)r(er)f(of)j(concurren)n(t)d(connections.)0 3544 y(This)j(inlcudes)g(a)g(shortened)g(KeepAliv)n(eTimeout)g(to)g(10) g(seconds)h(in)e(apac)n(he's)i(con\014g)f(and)f(the)h(follo)n(wing)i (addition)0 3635 y(to)c Fb(/etc/sysctl.conf)p Fd(:)0 3826 y Fb(net.inet.tcp.keepinittime=10)0 3917 y (net.inet.tcp.keepidle=30)0 4009 y(net.inet.tcp.keepintvl=30)0 4100 y(net.inet.tcp.rstppslimit=400)0 4191 y(net.inet.ip.redirect=0)0 4283 y(net.inet.ip.maxqueue=1000)0 4374 y(kern.somaxconn=256)0 4644 y Fd(The)h(timeouts)h(dep)r(end)e(hea)n(vily)h(on)h(y)n(our)e (usage)i(pro\014le)g(and)f(need)g(to)g(b)r(e)g(tried.)39 b(The)28 b(ab)r(o)n(v)n(e)f(ones)h(w)n(ork)f(\014ne)g(here,)0 4723 y(and)e(should)h(\014t)f(for)i(most)f(w)n(ell)g(connected)g(w)n (ebserv)n(ers.)0 4801 y(dmesg:)0 5039 y Fh(OpenBSD)37 b(3.1)f(\(windu\))i(#0:)e(Wed)g(Apr)g(17)g(20:10:40)i(CEST)e(2002)141 5118 y(root@ozzel:/usr/src/sys)q(/ar)q(ch/i)q(386)q(/com)q(pil)q(e/wi)q (ndu)0 5196 y(cpu0:)h(AMD)f(Athlon)h(Model)g(4)e(\(Thunderbird\))k (\("AuthenticAMD")h(686-class\))e(700)e(MHz)0 5275 y(cpu0:)h (FPU,V86,DE,PSE,TSC,MSR,P)q(AE,M)q(CE,)q(CX8,)q(API)q(C,SY)q(S,M)q (TRR,)q(PGE)q(,MCA)q(,CM)q(OV,P)q(AT,)q(PSE3)q(6,M)q(MX,F)q(XSR)0 5354 y(real)f(mem)72 b(=)35 b(536457216)j(\(523884K\))0 5433 y(avail)f(mem)f(=)f(494899200)j(\(483300K\))p eop %%Page: 16 16 16 15 bop 0 83 a Fh(using)37 b(5689)f(buffers)h(containing)i(26927104)e (bytes)g(\(26296K\))g(of)f(memory)0 162 y(mainbus0)i(\(root\))0 241 y(bios0)f(at)f(mainbus0:)h(AT/286+\(86\))i(BIOS,)e(date)f (04/02/02,)i(BIOS32)f(rev.)f(0)g(@)f(0xfb210)0 320 y(apm0)h(at)g (bios0:)h(Power)g(Management)h(spec)f(V1.2)0 399 y(apm0:)g(AC)f(on,)g (battery)h(charge)g(unknown)0 477 y(pcibios0)h(at)d(bios0:)i(rev.)g (2.1)f(@)g(0xf0000/0xb690)0 556 y(pcibios0:)i(PCI)e(IRQ)g(Routing)h (Table)g(rev.)g(1.0)f(@)f(0xfdbd0/176)k(\(9)d(entries\))0 635 y(pcibios0:)i(PCI)e(Exclusive)i(IRQs:)f(11)0 714 y(pcibios0:)h(PCI)e(Interrupt)i(Router)f(at)f(000:07:0)h(\("VIA)g (VT82C596A)h(PCI-ISA")f(rev)g(0x00\))0 793 y(pcibios0:)h(PCI)e(bus)g (#1)g(is)g(the)g(last)g(bus)0 872 y(pci0)g(at)g(mainbus0)i(bus)e(0:)g (configuration)j(mode)d(1)g(\(no)g(bios\))0 951 y(pchb0)h(at)f(pci0)g (dev)g(0)g(function)h(0)f("VIA)g(VT8363)h(Host")g(rev)f(0x03)0 1029 y(ppb0)g(at)g(pci0)h(dev)f(1)f(function)j(0)e("VIA)g(VT8363)h (PCI-AGP")h(rev)e(0x00)0 1108 y(pci1)g(at)g(ppb0)h(bus)f(1)0 1187 y(pcib0)h(at)f(pci0)g(dev)g(7)g(function)h(0)f("VIA)g(VT82C686)i (PCI-ISA")f(rev)g(0x40)0 1266 y(pciide0)g(at)f(pci0)h(dev)f(7)f (function)j(1)d("VIA)i(VT82C571)g(IDE")g(rev)f(0x06:)h(ATA100,)g (channel)g(0)35 1345 y(\\configured)i(to)d(compatibility,)j(channel)e (1)f(configured)i(to)e(compatibility)0 1424 y(wd0)g(at)g(pciide0)h (channel)h(0)d(drive)i(0:)f()0 1503 y(wd0:)g(16-sector)i(PIO,)f(LBA,)f(58644MB,)i(16383)e(cyl,)h(16)f (head,)g(63)g(sec,)h(120103200)h(sectors)0 1582 y(wd0\(pciide0:0:0\):)i (using)d(PIO)f(mode)g(4,)g(Ultra-DMA)i(mode)f(5)0 1660 y(pchb1)g(at)f(pci0)g(dev)g(7)g(function)h(4)f("VIA)g(VT82C686)i (SMBus")f(rev)f(0x40)0 1739 y(dc0)g(at)g(pci0)g(dev)h(8)e(function)j(0) d("DEC)i(21142/3")g(rev)f(0x41:)h(irq)f(11)g(address)h (00:00:cb:53:62:c3)0 1818 y(sqphy0)g(at)f(dc0)g(phy)g(17:)g(Seeq)h (84220)f(10/100)h(media)g(interface,)h(rev.)f(0)0 1897 y(isa0)f(at)g(pcib0)0 1976 y(isadma0)h(at)f(isa0)0 2055 y(pckbc0)h(at)f(isa0)g(port)h(0x60/5)0 2134 y(pckbd0)g(at)f(pckbc0)h (\(kbd)f(slot\))0 2213 y(pckbc0:)h(using)g(irq)f(1)g(for)g(kbd)g(slot)0 2291 y(wskbd0)h(at)f(pckbd0:)h(console)g(keyboard)0 2370 y(pcppi0)g(at)f(isa0)g(port)h(0x61)0 2449 y(sysbeep0)h(at)d(pcppi0)0 2528 y(npx0)h(at)g(isa0)h(port)f(0xf0/16:)i(using)e(exception)i(16)0 2607 y(pccom0)f(at)f(isa0)g(port)h(0x3f8/8)g(irq)f(4:)g(ns16550a,)i(16) e(byte)g(fifo)0 2686 y(pccom0:)h(console)0 2765 y(pccom1)g(at)f(isa0)g (port)h(0x2f8/8)g(irq)f(3:)g(ns16550a,)i(16)e(byte)g(fifo)0 2844 y(biomask)h(4000)g(netmask)g(4800)f(ttymask)i(4802)0 2922 y(pctr:)f(user-level)h(cycle)f(counter)g(enabled)0 3001 y(mtrr:)g(Pentium)g(Pro)f(MTRR)h(support)0 3080 y(dkcsum:)g(wd0)f(matched)i(BIOS)e(disk)h(80)0 3159 y(root)f(on)g(wd0a) 0 3238 y(rootdev=0x0)i(rrootdev=0x300)i(rawdev=0x302)0 3468 y Fo(Kernel)27 b(con\014g:)0 3698 y Fh(machine)37 b(i386)g(#)e(architecture,)k(used)e(by)f(config;)h(REQUIRED)0 3777 y(option)g(DIAGNOSTIC)h(#)e(internal)h(consistency)i(checks)0 3856 y(option)e(CRYPTO)g(#)f(Cryptographic)j(framework)0 3935 y(option)e(SYSVMSG)g(#)f(System)h(V-like)g(message)g(queues)0 4013 y(option)g(SYSVSEM)g(#)f(System)h(V-like)g(semaphores)0 4092 y(option)g(SYSVSHM)g(#)f(System)h(V-like)g(memory)g(sharing)0 4171 y(option)g(FFS)f(#)g(UFS)0 4250 y(option)h(FFS_SOFTUPDATES)j(#)35 b(Soft)i(updates)0 4329 y(option)g(QUOTA)g(#)e(UFS)h(quotas)0 4408 y(option)h(MFS)f(#)g(memory)h(file)f(system)0 4487 y(option)h(TCP_SACK)h(#)d(Selective)j(Acknowledgements)i(for)c(TCP)0 4565 y(option)h(NFSCLIENT)h(#)d(Network)j(File)e(System)h(client)0 4644 y(option)g(NFSSERVER)h(#)d(Network)j(File)e(System)h(server)0 4723 y(option)g(FIFO)f(#)g(FIFOs;)h(RECOMMENDED)0 4802 y(option)g(KERNFS)g(#)f(/kern)0 4881 y(option)h(NULLFS)g(#)f(loopback)h (file)g(system)0 4960 y(option)g(UMAPFS)g(#)f(NULLFS)h(+)e(uid)h(and)g (gid)h(remapping)0 5039 y(option)g(INET)f(#)g(IP)g(+)f(ICMP)i(+)e(TCP)i (+)e(UDP)0 5118 y(option)i(INET6)g(#)e(IPv6)i(\(needs)g(INET\))0 5196 y(option)g(PULLDOWN_TEST)i(#)d(use)g(m_pulldown)i(for)e(IPv6)g (packet)h(parsing)0 5275 y(pseudo-device)i(pf)d(1)f(#)h(packet)h (filter)0 5354 y(pseudo-device)i(pflog)e(1)e(#)h(pf)g(log)g(if)0 5433 y(pseudo-device)j(loop)d(2)g(#)g(network)h(loopback)p eop %%Page: 17 17 17 16 bop 0 83 a Fh(pseudo-device)39 b(bpfilter)f(8)d(#)h(packet)h (filter)0 162 y(pseudo-device)i(vlan)72 b(2)35 b(#)h(IEEE)g(802.1Q)h (VLAN)0 241 y(pseudo-device)i(pty)d(64)g(#)g(pseudo-terminals)0 320 y(pseudo-device)j(tb)d(1)f(#)h(tablet)h(line)f(discipline)0 399 y(pseudo-device)j(vnd)d(4)g(#)f(paging)i(to)f(files)0 477 y(#pseudo-device)j(ccd)d(4)g(#)g(concatenated)i(disk)f(devices)0 556 y(pseudo-device)i(ksyms)e(1)e(#)h(kernel)h(symbols)g(device)0 714 y(option)g(BOOT_CONFIG)h(#)e(add)g(support)h(for)g(boot)f(-c)0 793 y(option)h(I686_CPU)0 872 y(option)g(USER_PCICONF)i(#)c(user-space) j(PCI)f(configuration)0 951 y(option)g(DUMMY_NOPS)h(#)e(speed)g(hack;)h (recommended)0 1029 y(option)g(COMPAT_LINUX)i(#)c(binary)i (compatibility)i(with)e(Linux)0 1108 y(option)g(COMPAT_BSDOS)i(#)c (binary)i(compatibility)i(with)e(BSD/OS)0 1266 y(option)72 b(NMBCLUSTERS=8192)0 1345 y(option)g(NKMEMPAGES=16384)0 1503 y(maxusers)38 b(64)d(#)h(estimated)i(number)f(of)f(users)0 1582 y(config)h(bsd)f(swap)h(generic)0 1739 y(mainbus0)h(at)d(root)0 1818 y(bios0)i(at)f(mainbus0)0 1897 y(apm0)g(at)g(bios0)h(flags)g (0x0000)g(#)e(flags)i(0x0101)g(to)f(force)h(protocol)g(version)g(1.1)0 1976 y(pcibios0)h(at)d(bios0)i(flags)g(0x0000)g(#)e(use)i(0x30)f(for)g (a)g(total)g(verbose)0 2055 y(isa0)g(at)g(mainbus0)0 2134 y(isa0)g(at)g(pcib?)0 2213 y(pci*)g(at)g(mainbus0)i(bus)e(?)0 2291 y(option)h(PCIVERBOSE)0 2370 y(pchb*)g(at)f(pci?)g(dev)g(?)g (function)h(?)f(#)f(PCI-Host)j(bridges)0 2449 y(ppb*)e(at)g(pci?)h(dev) f(?)f(function)j(?)e(#)f(PCI-PCI)i(bridges)0 2528 y(pci*)f(at)g(ppb?)h (bus)f(?)0 2607 y(pci*)g(at)g(pchb?)h(bus)f(?)0 2686 y(pcib*)h(at)f(pci?)g(dev)g(?)g(function)h(?)f(#)f(PCI-ISA)j(bridge)0 2765 y(npx0)e(at)g(isa?)h(port)f(0xf0)h(irq)f(13)g(#)f(math)i (coprocessor)0 2844 y(isadma0)g(at)f(isa?)0 2922 y(isapnp0)h(at)f(isa?) 0 3001 y(option)h(WSDISPLAY_COMPAT_USL)k(#)36 b(VT)f(handling)0 3080 y(option)i(WSDISPLAY_COMPAT_RAWKBD)42 b(#)35 b(can)i(get)f(raw)g (scancodes)0 3159 y(option)h(WSDISPLAY_DEFAULTSCREEN)q(S=6)0 3238 y(option)g(WSDISPLAY_COMPAT_PCVT)k(#)36 b(emulate)h(some)g(ioctls) 0 3317 y(pckbc0)g(at)f(isa?)g(#)g(PC)g(keyboard)h(controller)0 3396 y(pckbd*)g(at)f(pckbc?)h(#)e(PC)h(keyboard)0 3474 y(vga*)g(at)g(pci?)h(dev)f(?)f(function)j(?)0 3553 y(wsdisplay*)g(at)e (vga?)g(console)i(?)0 3632 y(wskbd*)f(at)f(pckbd?)h(console)g(?)0 3711 y(pcppi0)g(at)f(isa?)0 3790 y(sysbeep0)i(at)d(pcppi?)0 3869 y(pccom0)i(at)f(isa?)g(port)h(0x3f8)f(irq)h(4)e(#)h(standard)h(PC) f(serial)h(ports)0 3948 y(pccom1)g(at)f(isa?)g(port)h(0x2f8)f(irq)h(3)0 4027 y(pciide*)g(at)f(pci)g(?)g(dev)g(?)g(function)h(?)f(flags)g (0x0000)0 4105 y(wd*)g(at)g(pciide?)h(channel)h(?)d(drive)i(?)e(flags)i (0x0000)0 4184 y(dc*)f(at)g(pci?)g(dev)h(?)e(function)j(?)d(#)h(21143,) h("tulip")g(clone)g(ethernet)0 4263 y(sqphy*)g(at)f(mii?)g(phy)g(?)g(#) g(Seeq)g(8x220)h(PHYs)0 4342 y(pseudo-device)i(pctr)d(1)0 4421 y(pseudo-device)j(mtrr)d(1)g(#)g(Memory)h(range)f(attributes)i (control)0 4500 y(pseudo-device)h(sequencer)f(1)0 4579 y(pseudo-device)h(wsmux)e(2)0 4658 y(pseudo-device)i(crypto)e(1)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF