%!PS-Adobe-2.0 %%BeginResource: font lsunr00 %!PS-AdobeFont-1.1: LucidaSansUnicode00 0.9 %%CreationDate: 1994 Jun 04 09:53:35 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((C) 1991, 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((C) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 00) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode00 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 100 /0064 put dup 101 /0065 put dup 102 /0066 put dup 103 /0067 put dup 104 /0068 put dup 105 /0069 put dup 106 /006a put dup 107 /006b put dup 108 /006c put dup 109 /006d put dup 110 /006e put dup 111 /006f put dup 112 /0070 put dup 113 /0071 put dup 114 /0072 put dup 115 /0073 put dup 116 /0074 put dup 117 /0075 put dup 118 /0076 put dup 119 /0077 put dup 120 /0078 put dup 121 /0079 put dup 122 /007a put dup 123 /007b put dup 124 /007c put dup 125 /007d put dup 126 /007e put dup 163 /00a3 put dup 167 /00a7 put dup 169 /00a9 put dup 173 /00ad put dup 174 /00ae put dup 176 /00b0 put dup 177 /00b1 put dup 180 /00b4 put dup 181 /00b5 put dup 182 /00b6 put dup 185 /00b9 put dup 186 /00ba put dup 188 /00bc put dup 189 /00bd put dup 191 /00bf put dup 198 /00c6 put dup 215 /00d7 put dup 223 /00df put dup 231 /00e7 put dup 233 /00e9 put dup 237 /00ed put dup 239 /00ef put dup 241 /00f1 put dup 247 /00f7 put dup 252 /00fc put dup 32 /0020 put dup 33 /0021 put dup 34 /0022 put dup 35 /0023 put dup 36 /0024 put dup 37 /0025 put dup 38 /0026 put dup 40 /0028 put dup 41 /0029 put dup 42 /002a put dup 43 /002b put dup 44 /002c put dup 45 /002d put dup 46 /002e put dup 47 /002f put dup 48 /0030 put dup 49 /0031 put dup 50 /0032 put dup 51 /0033 put dup 52 /0034 put dup 53 /0035 put dup 54 /0036 put dup 55 /0037 put dup 56 /0038 put dup 57 /0039 put dup 58 /003a put dup 59 /003b put dup 60 /003c put dup 61 /003d put dup 62 /003e put dup 63 /003f put dup 65 /0041 put dup 66 /0042 put dup 67 /0043 put dup 68 /0044 put dup 69 /0045 put dup 70 /0046 put dup 71 /0047 put dup 72 /0048 put dup 73 /0049 put dup 74 /004a put dup 75 /004b put dup 76 /004c put dup 77 /004d put dup 78 /004e put dup 79 /004f put dup 80 /0050 put dup 81 /0051 put dup 82 /0052 put dup 83 /0053 put dup 84 /0054 put dup 85 /0055 put dup 86 /0056 put dup 87 /0057 put dup 88 /0058 put dup 89 /0059 put dup 90 /005a put dup 91 /005b put dup 92 /005c put dup 93 /005d put dup 95 /005f put dup 96 /0060 put dup 97 /0061 put dup 98 /0062 put dup 99 /0063 put readonly def /FontBBox{-90 -211 977 1005}readonly def %/UniqueID 5054500 def currentdict end currentfile eexec AF9D569DD6A39B9A08931526FD86DA1F3D52F6A6E9A3C2A341616BA8AD4A6BBA6A84F4F691C60D 64B463C6D1B3A432634AAC416FAE1067039D940A82A692DB189D5719DA649D309E36853E1F767A 0DF1C424DA3E9D8E6B45B659E31B0A03BB7747FB2945268D0805A130347C7455FA73121BA001A8 5BFFF1847B8FBAE1B61BA76AB61D750F7BCDB1EE8E4B4E95657E783B2230A68A5A62E9E39EA352 7B3E832C6BF769697C2B18F29596B8A56AC9532224A452AE7A77A33DC5D437BAD5B4C1B9DD7680 FE4456B59A798F584F7913B3A790F3E5F9559505B80A36CDE0A4D46A595E942D798E6F6311B3E3 613059010E0C594BA804C9FA8EED254427D021628C6A59FA5C10314D3143AA329B9E1E767CADFB B864C70BE2EB0FA96FBDCC2EB1B44783431EE1CDCADC68DF65C29B4AB7C198BAA625A3736F6240 46E72FAE8F379B391393A007E9F796065FC622322C782111E2EE7B73FC09C5852F35A75CA296FB ADBC77E83C2378DAE017DC93437EDA4E1473D256C7AA433FAFF90BFF104C39847FB6076D559B8A 4D05AC2A35837CF7949567F37638F1FF869CA022F28979DC7AA611BCACFFE95AA23CBFB86C9719 BBD5738FB6D86326F1B0A84EFA79C80BDC618F42DFAB8B232211332E1D793A6C4CA71DE2D7DBE1 5806FB210EA36FCE5FA253B9C507225A5581765AA21DB9E1739AA6063F3F7F11D72E65C3F9A83E 71C8DFC9B9E13C0CCA25836D4233D10595ED053201C745C989878BC0457410C29FED3273550E0E C93F30B6E5994D0DE950C82E70299AB82D97B0EC11EE5CFD3A5311B0B9623C7CF73BCCE4D33436 655812E9BC69045B581B2BACE84DEBD480A8652676ABDB2976168954DCD745B42F92F25CC2A4B0 58AF8D1F0BFFC280B7FECF0593655FEDBE41135D72874467035351F424E92C9E4F628501066322 AE5896C2CC8C5AD9EE9C4E2076DF548DEF8A6ADAAEC8F05CBBB8882BE5DEBB3976FDD20539F0ED C5F331CADFFF8B1E1ACC3E0DE2DE0628766105E7EE97E55E66E2585DD7412749CCA828C3CB355F 716E5F447857D298C1383EDD389C2C09F3094A09F90652D5913EEBBFB16547FF31DBB8C0F43480 6C96524DB4F2D96F6A32856DC62FB350D208B4462521EA9578695E7F8A31FDAFC065535AB32B28 4F808767213AD4B89C02E59E3F2BD114BC411E4A9B58F97102E7ACB9310EE2AD2EAEE87E1702E4 3E00854C35156E731478402285AB23B0049A74381C2355F35511C7D966B2EE653CD8A3D7D6505E 80A4BD2C96B451354DD9323C30C9894A60CE614D0B091D3A03A5EDA4BB127F255FF706AD6E6827 9123CEF7396D89B5E5A968B4A4C0F4B0C227D1EE676801922A3CE24F2602569AF11ED43F17E2F4 6669AEBD1F6B9E53C76043E1CD9DACDBB3B6B87F949372C03E9A5C80FABBF2E7767880B7064D05 AE2D717B6A189D0C9F8DBC981EBEFD9A031C7592EFA0C08FD8BCD2FA1210881D95D6ECD9E72096 5ACE2A9462EB9C3504315CFE8C6B5362B833CE52BC726DCB3450CEB73E42E667B9D86D0F985A35 CAFF807F4DFAF156AFDCB999DBA61476BF4CCE49C6D8A8B7D2A3FC07EE8346E30F68FEF7774273 6E55BA23311F85C7FAD9D9AA1EB17E14C45033BEE8D3093AEE9E706133FA94413F30F723568255 498A071D76C10D12536425A7185DB60BDECAF6BFD0BE58F418D0E62FDA7B846BDD490EA7CEAD05 E1BB9A4DF66E13758858B80F6C7216D8D606E92BC93576A1FB3604D9FBD78656FDF64328AD9466 3CFABAB19A0636518FF61E62591661FBFD264B90156E24941177A42A0E5315F6168A93B96E27DF 2E7451F382C2C83241AC2B5F52A2C9453D3E207EBBEB3881FF237E9135E1D9191E1FBE5E606C60 43726A6783CD4414D26F8F95B260FAE60262DE148545079C80C962D5D7BDE2A77A814CDD4ED901 D28D4D5C4324DF7F7AA6B832B6F5E0E129F471A12373F0D97037FD695F921E0CAD8963372E8DC7 F3AA5E004E1F5980BA9825774BB2DD511B6A9D5A0C7E7885E39E3B5497EF466C52B7DD4CF4AD74 6E62FE4B1E082811AA45D6483725D0EE18C9C6BB988C036913682EAC4645EF90AD5FC24BC78778 DDDD48EC8F1E64525AB9B1EFE0CDFABCC6A17BDACC1B3B1929FB2FA1DB85991FFE1B92B7999C99 1BD3AC17B8A44E11DD954BEBFF002A0562EEDBC507DD0FF13ABADBC8E5676F5F951D1B32B725DE FB33219FF4DAE8298887E415434BE4012D1A294F807CF53248AA137591B532B573F41732216B12 685CB4B612B782E010644CB813A31AC4A25038A17FA0872E515BB2C119DEE59829927FBE20902D 18CF2F33E18DC0AC2108789FA1D1F61553184FC185A3BC3BA6985449149A08E4484F33EA950C18 B0148B6DA2EF0E2F1BE218CBEDFD4A4E9A53235840A8E8DD1A757D8F48DE07C687E5F35EF237DB EA582FFC92EAC5A8E4D9C1F048B037FDE46770B073B161333AD5E0DC09187DD0D9FF2CAFEFDCBD 00F3FF4642B63703F6B4CA2A479BE5145E3EA90359F4BE67F1EF0EC07F997A7A63797EAC98E3D0 C64F1EBEC99C7C436EF655ACF76DE5201A5B3F5CF58F0116008DF241D370E616E8FF10BC551606 F041FF641B4C8FA9274BC3FDE69602B2BD58D1428B119607AB28B30393C0BE4E33E5EE1059C9BC 1AC92B4AD1C7D1C71FB44429D8F8042F0A7ADEDE040F13D0C13F9BD92D3BE4E77E446DC8D57FCF C704F6EB8D438EFA72F74835DC24E853B3B1178904F0484AED543B57FC8ABFFF4253AFA2C93C66 C2144FF1777A1E3A40D1D023BCBE24557DAE5D76DAE6FC7063E11A5DD52B0060501E84AE0E66ED 7522828C15045CE72B548B59A3D7DFC3CF6779B4A6D4891B95CD4C6613C9390DD953FA58FE97D8 A545177EC9EDB59770B4B67111A1FEA9E74A61B360D9C19100440F8A69386EC3878C732DA58580 3A177AEFF85BFB5D112C37ADF7604BAB387F08243B2FEC24DAF9F95BB75A678DAA7AB277D933AC 0362E4DD5E6E4194DE873932EC10013B68CD0D1CF5298816E6B195372FAE49A5F9F722C30EDDBB 088E0F1F7D8A5D6386B8E3219125A8ED2A4D534761DEC9DA916FF875E13E309F2F2C925F28ED5E B792A290F05B7732D217A1CF9577C0107889C456924AB91BFB728E4C4A0E70412DA721CA4B1A30 189BE4414AEE3AB1943C0349ED437C91796EB8616D3CCBE148CD21B0DF7ED5720F18496100119C 2995490D7B60C994E93D874AB352A813604AA9A83D9388F758B7F479F9F6EFDBA983FA6DA07E7D 4F80E64E68634D9D811F3A0088BA46040577B89C7E147CF96C4A999CA1899799FA56F401645A97 DFF68155332EE3F23F3865B6DE715F1AB687A696878C9821E029E3D867BDC50322A0C90081E3B4 3BA1E889C277DEDA5ECB0CBE16F8FD562B82F22DA851CA5AC51EF3051382E9706A2F6F14CE6897 4292ECA605ACCBAB5071ED68BB05BDDE20C04E0007A8EF46D69FA79540C53E34C29F3CB68E9329 8472F6D89EF77A28A18B334278836F65E88255F1FD3A3D031A22BBC607E7BDEB1D00AF60D5E024 7E971B8965728CB1CAD6B5853F4F66448031312AFF8E56B01BB8D50F3A1060A18ADB1FA8F84C69 399BE117B98430CF63288BA1950ABE0CEC051B66A7EBCC7A3FC793589A4C52EDBD1A71ABE49916 10496FC6C346C376D3B061B00BE7B4A659D21A2C0FFD3FBEE485EDB7BEE599E5248DC5FCD89632 61BE192134BFF9C9709E76A567A0F7B5773870EEBE07E3630175BFD8C5520B2AAF6DD2D7C3FAEF 2E3F52318A7AD6E05847D76ED22D021BFDAAB041B16F2AE08FF86DE08FD998D61DE2D0EA477E46 6E963EE5EB69F69E30113F0D65683C37CDA865CF92EC5FFA54DBB6798738D38DD7898BC7C26AF6 939EFF47B1A3DEE6B5E38505EE05A0F671EF8917A434D92EBDD8F6820ED3A2F24199D47745D393 9259A5D856E1AA9EBA0292EEFAFF75F709ADCDA0D6453C3550DB28BFA22549BD2A282E8B9F2367 FCF20AACF9E7B725D0ED0498695F3A2DD76389BE8A99B603CFB0FEE3C5642BD02670108226BA9B A90B90B1D660C552307E3D388661A20C5F42C3CFF5D0E0F6DA69792E8FB4C83AB821D0F7D80F23 93BCAACBBE56E8095466F7BF8B0504B72734DEF119DC32DD63F1BCA3A66A5F6DB5BC221F4927C2 B08601F89D71E754481CD1B3B8E5EC8E9A22F5AD8CF45039FB8912A2E4EBC638743D7614BCB41A 49D162291E70BD656EF7F54BCA72BFC633984F1B15B4145F13D08B255B77A357C15B8A5DB04C3A 95827DAD0B0A302577C12F66389E4E40040EB52AD36552A592C47614A9035E7CDC4BDA55645F8F 72F10287EB7682F17034B836B44F111B786B8A6A47023EC1C950A4B0636C28E1753781C9C0B206 5DE58A47D2E7B1AD71D8DBD36E72DE625B5F52B9DB0F9679FC4B61005A112E9AA717504C71CC0F F50CE8E96DFE3AF6613CD4A3B4645ECC5F495E3DFBC1EC17575457EF39A0D4709221F2F1E14FAD ACF7FA5CCF662DD341477170FB291B706D76CE78C3CC90CD36A45BD04704DFB2B251CD9B1B69E6 B9DB3E9739DE8B2CD9DE63E61ABCB8581AD13493468EE995EE668DBE6AF6809F9529595D67DA56 DC7335876F36499EBB7226FDB9876A7D0D43159E77F0AE36B55033A11156C3F757FBBA38177D24 88EFD1BD9D8F69ABDD365989CEFD521F60BC9005D8C40942B43FC6DB8088842BE8A7B567420A80 9AC76E7BA77D5EFC8D9A2FCDD1A565EB580207A250621E27E51685A0C650323B4D2101810F6C89 E5D312BAEDAD3097F87C6064BA138681D3192C219ADA66AD2B0C679C8B00078597B2DE46F5A040 91F8C34813C07AC64B2F5FBF0EF52B16AA1EE9B9ADE71108DC9D47D587585A933CAA161CE586AC E30BA582A5CE8728991B10AE2012C2291B7DCEAF72E0299FF49F5ED495773656908F04F697ADF9 32AA61E6D90A87BB0F0311AF737E9F72C501CF1AB4DDF4392FB9F3E71F859D45F32EDF329F4856 C12ED2DB6FA3631B3731D5FB2DB79E193BB8BE75B85722E6CD85C35C05C2998BC6B854BFF76A39 B1A51ABD3304ED453AA413E6F6329B651FD13C0751886DE4553E0B79441FFECB81839626868715 0DF0FBBD53F7861647CAC9C633B9FF63BCB644D124F2420A7FE6EE7EFED293C9D53983617F2500 6CDF86C74694A20569BBC5DE7616333432C0FD525029E612858F5BF27D1FE06931A5AD37675162 2AE14BA10E2702CB896CC5A5164A287AE3771036AB2EC7F50B20576E73C151580E0D0884277FBE 9D2FBC52DDC0EC22A07138C692108A6C637ACA40D1881027E23BECFF6C54A50DAF7A79B5CB4BDF AE35CD587F46B14B3A89A50487F8A6E20EE48099B44F459E48D65FB393D2874E4BF7544FC325F5 B04FDFC0ABF2D6B8B6870A617D344AE093C4412007061670E6913B5581A0EE53B3D8C2D75E9560 101D4C217EC44BE71F866F0F40D1DC7296ED313ECBFF60CA3A05D45E51E32D9E75ED31F1905DC0 4F4AF2A29600172249D0B8B5B42D99A546A9C45704A35711637ABD7A64BF4D417564ED0BBBC7F2 093F6C7F87A770F6B6A655DCBC13FB4CC24FAEC848549CE2415301BF6BF234405946330E2964AF A37702223D1466A780720F39FE966AC1023866246F7E25BE2A1E0C009708DB2724E13770A8817D 6F27A095BED4C33648173F0DD8C627F405ABD3CA636EF8A9E77CC67D20E51721CA655704BFEC27 564A69E6193E5E3AB1814FBD3BE29D72836BF85C85F4555FDF3908E6BED58E0927BA45AD4434F8 D15C510FA5CD1311F7DBB20CAACE0D88535C58309CC82CA5E6ABA2E0DCC4503149E52572A0F8C6 7ECE6B8145C85E5F211F341AC1450EEF4D1102CA184DABD5CF00049F7BE76FA793893F2873A237 FEFE245F059AC85956B5A603DB8871BCF4DF3665364525E7B539A6A4F2C59473908121FEA5DA8F F5E4A4FBAE0C602130400E1D9D1185703F20895806C2DFE6E47408347CAEF151C730783FB6BA38 9EDEA18F865240ED604D0B6F5850CD18FEB63AD0A3ED46A933DE64C9571C7F15393AA81577A0BA 6A227ACA16DB43307E76C10FC630E6550079E7E5609FACF8DD84376AC186DE2E1CF84847C4E2D8 C58385EFCA099E81B6435D8DFA6775BFD76C527DA6CE32B6326944FB6970D2787190CB0572AB6C 531EA63DD1F6BD5F7732CC7BC7751DB30874EBD006978CBDE960BFBBD8C2D115C26E7CCBA2C802 131AAABC284699B18989BE8D548F30389BB0DED8FC122A1433EA61D074415882143D865E28A9D7 8E59E47EC5EF1E2C5151279BFF1D77ACAB907F7DE9514A71B21C129480FE708B9AEA442EB1DDC5 59574095F57BB3750DA4521BD298A19CBABAC650FEA7D9DDD40DFA7999D0CC79DCACD517E391E9 2EC65FE3A64CB5BDE1A203E53D73C994D53215EDA4EF8BD06658AA94EDE4DB65719A0903035679 B7E08BFA7C40E9AFC3ECC0A243C79D920B2F87C75430F2490362FAF9FF23E3880E7ADA9F3DB155 6E00470C2FBB131F539600D21238CACD785964F533C80A39605C9AAFA6438B11F72D9148455E9D 88A43178089337070A47297BE223B93CA175DAC0EA3CACA4A9BB07954449A1F9A8F5DC084602A6 2DB0D098D3EB9D967CEC1B247134B47DC120C03B66FD26FE2647C48433BB994310137C95B02FD9 54B450FF00B194F0C5A0A8623B1101B5F32589CE81BB1EE3045F4C78AD26A9C5868AFF70DF6179 F2A72599892518A45C54689AFDD92A5E21F47CFF3AA8636F82B33D9716DE11C3297C403B5E2708 D9AAA7DADDB484F6719DB1A07F42C0BF6532352BBB529478F0F08AA86E554A2C8ACB4D261C0358 CDC56FB9FB160F9CE9C7DDD0CDEAACD1FC38D9066AA1B50E26079452FA515EBB70F3F5EFE3DBE9 791161BC643D1BB3147C9A0B0563EA94F930201780DC3E97164C369C62D75F4BA3FCB116215771 0C7B87C4A42BAD8EE7AD49877F9AB41BBE69730A4FA1F83F4DF48F40AA6E8891D61F1E2F5B5AB7 6E85BCDB7DB8A8D7F3E1C5628A51246896D923DE53B1B297CC8E37E0C46A6B42F616CFCF17B74E DDA896D6075C4D60166F05F30DE0CF48A3BA092A0D2A694D01457C46089B7F573CA6A7499BDE06 098699CF1F28CF849D2716140669C98949A551A227BDDB5594F205BFB0F0379CCDC1B53472C335 7834C37292EF98DF1A5B42F2E8EC82381AEBFF1CD435499D35A59EB295CF563A574FEB6F8CFD09 D9C2E2138F486226EF089654BA218706E643BCA601DA71B7A2670A15B25523D7925D1E7BEC264B 9D5D47F30A9D36CEE25E5CBE2DB3D6E1566AE8067DA2718ACC991B618578F490DFB3B2F9F2E482 3CC80AB2B8BF562A6E5212A2A2F2604C0894D1DBE14FE9D7222E7F3AFD49D5B2344BB34CCB0007 0246A8A3A04DB4866BD9823E0C21C8C226BCBAEB92372AB547B8FCFAAF03AEDD70D2207840D6DD 0F833F8C19DB2CA2BA4F271712E2C617E84F34CC15078F9A8972E17B8CDDB1D059C53F7E34F975 1DD035E00F744D2EE8178B33B6E684E6D55186C9F2FE95F9964FB13CB7D83968F06BA14A62BB43 18A5830514BC532CE55995E1CD3C939ABAB0D211B1BFA806A353E325A73BF75601E817265F6B08 A43BCD7AE47648436A1B5285823F234601924C473B761B1C057D4C174BA653D5B0E7186B99577C 2F353E7AF1CC395EAE45B1595CA37FF9328AC2EFA8560952054F76A72D7CD91AA018B85EE553AA 532C2BCBCD412F349DFF5C37A1339AAD0F4957DCD5EC6833060E93914447483B2A2D9041621980 83838093C798878E5D558F7B51A9626F982115EEDC2039E3C583F264EAB8321AB228868F221E8F 4F9EFE1E760903FE51F98AB321D1347CFF719F4EC83B91E010961CA4F26B7BB7D4C769FD636A4A 1931EBB2668FD9FD1DADBDB6DC61AAD03C0077AAA035608BB2F6855593CDD133AC28523C100D99 C98A26C29C0A610AA270C03375AC0B9E7F7F265612B34C4DA3EE925B6BC8A98257986AD2AB4BAB B31D5E387984D102043BCD2F908573DF0D5BA1C1A59FBF2411A820DA0A6E69D1C19096580701B6 D8E814BFFC91F8068DE5D1A8C601010A53393AE554E003AE1592FA5FE0609961DCEF7D944F5857 64F66C20281424DC4BDED24291DEB386AE9C3DB43133E91401F528017AFAA530EB2736D3B6CE7B CB1E0C5A6DD5690AEF3465BA0836D2A68D6F3C5958843F4299B8B2728116952F62815C71B483F7 631338CE3FD626CC22C9256AC95D88B2F4659864B022A0BA75127BD9F4876E0251A2E707FA37E4 D5D5AEAA0EEDB18F5584B9FFDC9386C46D1D19B0419EDD812FB9FD83D531248CD1F6A4DB702135 9C13D1629EB05CEB121CDA5944020CAF186AF94EEE6EFF48023EDFE205E749942482DE061BC86F 58FB8289435ECE461AB84B09D342138561C2B4B2496022DD57C8253CE557FCEE1905C16A01F5B8 BA4E7F7D5006D434CF962ECE76E5C269A7243C826C0B7CCB5CB36088AA99BF3F3A7377A76779B6 9ECEA4A83BD4713D12BF424373B399EC0A99CF5D8AF7D5A86A390A80AEA33CBBB202E0A8BBB72B 1D685B2ED32EBA11840D0C9CE80F61BF2228924DC196B9C40F81D124044BE6DF12564AA1EBF652 41AF0DAEA563735BA4E8151F3C9820273E79DD4E10E5989BD0F291DA773C3DAC91FDBBFF6EDE1A 5D5FAC03DBABB5C2E97BFEECC08B2701C72ED14C9CA5040B9FC61A08800C5137DC617398405004 BC3FE46672BBE3342CEB1F9750CD7F4E057E098ACFA0A441C460886FD630EBF90A327DCC2E2635 9DF000FD24E56CC30E31BBAF1391B89504712D09C867D7E68A965E57F854507D7294C9671F38FA 9B768EAAD52137CEA03A35C82BCCFAE056DFC1214ED21EC9F5DD4555C642C2FF167EEA4EA07CF6 A97BB9042097B1AFBFB6FE69E09C2C419E6AC38372B92590ACD39A83C84EF9AA7DF861950F5354 046E90AF64F28B6D38CE89D602CEF86B1A47DE38E31AB242864D7BAC0EE07878CC2F30A23FFE05 B055E4EB475BE2035B6F3FE1573FFDE9A7960CE3180AD3FBDA2BA62215BD4C964DF7FA9B7D8A0F B32A8C36B1678E7297212BA6B5B72B1B0B9ED8C5F9390984240B3C77A137D4EE6ABFD66FD2BDFD 57CD46185487419C70C2754008A24C064D506D8FEE86DC8FA6B5AED30C3662766B8E4C7A0E205B EF87BFB1DDF81B236AD601F4C1B25DB98B211C1BD85BB8026F6EF5EB14901240787EB10779A7DF C70E02E2066E516BE60C726BA4E0CAE1C327A762BD30800C7F584E2796AB6A0E80AC5500498962 52B1AE178A2FD57E0A72758E794E455E1C78696634C09077DBE2233BB4FE9FD3C428506105F32A 68A9DE914C10D7D3562F0E70C12963E7FA5EAA2AC08A384995139D4EFF7AC6A1425929DA25DA7E 11E40FA431C268CC157D3A2E7420923D546B22C8CA59ACE87633D5D6FB804A1569BAE93C004668 A1EEE0DE42DD0A78FEA435A7D9C84A95952F78E626AABCCFF3752171730177C9AC44378EA69012 2F1364640C4F200D885A85737080FB67E7D1BE9614D4A5A2F538C137E92FFD914CF587F03084ED 745B868102E34FB9BC2380012264F1DE610B218B84448BCDAEA37C9627A6F8B94406D069BDE191 1E23A4AF49D64233A965F0253ED2071E61FD937A1B1B501A43021C580EDF1A1E92D27ACE0605D7 3A868177423EBB55F178963EA9A4FF3F9F11DC1F4F938E36B04DBEC953F585A9180DF530906CDD 046D5758F792BF3AEC670EFC402596BAF8F4A3052B9C586A3E17302922D66E6FFD813480D83D4F 7245224718D31E2006A72DBBB1CE84901F69F07C5EF3554CB22A979BEDDA37E0B2E635707937F4 526896CA654964ADFE8CEAEB0DC5AC4A039B7C4C641CE8C8D9908E9BE1BD78C77E272F9811895E 4F8DCF94CBC0B826AFE5C1692937737713CA4F7A5FB901FD7DB797B0DD9C6EA4F82FEE8E843C0D 799B552E44193298AFEE0BBBE7CA2F6759C891331B5C97AD2DFB0E2CC1BF99589B7E4619A715F8 AB5C88BDAA1032D90B4CC5A2B4CEE7470E56E86D4B58F74CBF8D519739BE55381B75B3C8FF1F39 45D5669B0C9F068551C7CF0F5C227F4401EB8FDC9105233154943A10C479AC9826D6366B03A775 2CA00488AA04CDAF8B1E0DF8CBACB678A26415414D1F15D0F46FDC5A379D5EFC53DB57CD66AC73 D274626739D9260F078EAA529693B112392FC5DC3F025DCCE34858856D61A86355F8A74427B073 3B6AC1C2A32B1D3FFD6402798AA093391253CC3D65595148994485CD6A74271FE71093552BD0E0 6E4BD8A55685FF784C530D186B923AEFE16250F3330789BF632F9A1AE789ECD4F8DD6055C3E7E5 40F0193CA768EE69C37B8E51C4CEC1D1A7B12ECF6F65DA9EADC0B3B77D22084CA3E48CF0BB2E48 37DA5D58F4F2795BFF4F62C2F520AE173A098E6F1E5ADCBD2BB3A1D26363F8F645B809A8AD40B7 EA90DE4A9A26BE11FA203A55B144161881665D6D1D74263AB371C31FC70F9D8AFD287C0B87BD65 DE2B3DA8E13669ABF4501ACE58D9CA150F30B23388AE9BFD053976B223E9B37D226200AF4D7697 840FFA9EBC087A72EBB45D3D1FB5EA3E3E882BEB4F9B702DCF69DA879D72BEF2377FAB6094314A 0673364D4165950458321F9190989C00595C4AB4AE76C246D26B088F29965200103D17C6104BB6 E95802B4068C0D24F610532AAA2267D6A36183A5CDAB42140ECE4E0A8EDAFAB4BDF8EC6D706CE0 562235124F1564DF380549FD931F3FF4616F24E9FEDFB3C757570E60D56D1F3568E575A35A9E5A F59CA70D9D0CF142A3F50A396807EBCD83E58AF06A4EA165730CDDA6E363B2B1F0B060645782F3 70E717D38A3BF1552AB327AE0F9A155E15925A64D0AE25D00C5FF977BF824955926D8CD2072C8E 41591597E6907300DEB999F06449CF393A8C0A04EC6A9430BDA18F680E6B9CE7A438320224C47C FF64783FFF47F55CFD836B93163BE2C4D9E16C0D38E0249FB1AF2E6D951C89302C7163031AB84A F4A2ABD01EF9AE342F5284390AE12EEB1FFFD93B281162F01AC4C4FE90A4E5A53D27802A647496 94138C6D66079312FC04FCA387A5939556C12130FB04FB892EEC36C7470EEEC2739378F96B6392 2668A33A7F868518F380DC0E91CE2C90484DA50B6954FD6AE5B7A10578932220D075042D762CEE 4AEEE034A4637CDBF7298069DD2FE8D74265ABD5E4BCEAB81425516A38442053CD3AF67E80A50A E9213D7B4AC2C62E22A73DF69F8BD5E0C6AC8C688DA644EF6E20210919ADD9D69FDB4D5DA26B06 10E8DB9748BA445FF931E3146E5937EBADE4C7FC61303004AC549C1900F5CF8E1AB0D63F13CD7C 5EB22E21E9FFC31AEDDCEAEB76CB869253111EF1CFB6D8162DA3E59D77F44000B96386C046861D B1FA14BCB2C07B5B373312468AD8D73BB483429A22A27BBB62FD087A0F8FBBE23CE21F3F49EDE5 F0A329993AD337C393F1332BD534750579A3E72D194B04EBC430594D4E181AF8FA60618E1502F9 3172E26B55E5AAE989BBCC48374E8C6906A34BFCE114C2B2B4ACEF9BD7F8CD81A44F855F15CA88 BE8A56AD1BF77EFAA5BC81C97B8F29F878F9091D651D5903E3F60D25EA1D97B6025FDBE181246F 05262E430FD57ADE69286353EDCB572069E25BCA99F3FE8744ED8297D933BD7B5F5687BC5DF1FB 584B8207EEDB38FC95BC6036342B012CDBDCE4F565B6D6DAE2EDA1B4F40B054DE50043D7AC9C3A C0DD32F1AC2D38D0230231C17D2EA583F5740A47CCFD0FAB920FE1A49914C663D8CCAA9B1C0672 055483B762DFF0493E0D46643BA4458DAF364512A3C72ED1AF38DD00FFE18592E96DF318B7C96A 2FE3543688CF50562159576FC9D051B6BFCD32A80FDD537F2A88DD9061CCBF832819F09570308A 10065010DB72AE096D02A61092961094C1E383712FBBB58FB322ABCD0CFE77B98D9C584AD5C9DF 53EDB81949D310679E2D28A2D8B347434BF71445EB9F9F1A2C61B6BC16EEC4C1522AE46C5E9984 1206FFEBC27388D4952FE629644F6AB7733C457CF939C324DF0C4FFBC5E7BECF655B1F09670D17 421CFE6C9A0FF4C4D7342E8CA177A602E7FB93DCD456151A8208C332541869298A0EA29A787931 906B0EF099CA32F975496AB342130F34C92CC5A863029E030B66D3626C88F4887CF5A8A92AA750 E5660AD03EA55D69EDF466D4AEE45067D5496FF91F26BCDA766476CFDE111F227FC7ACF6FBE1F3 22038A92031650E9B813AF16A37B4095F039DF57791D3F8242C2C409B37D045001C74BB740E2BA 0D29CE658C65510AFB0D899C651DFC01752F9425D5B152436B04D5DF36DF03F11E141FE994BB0C B0B7E37D5ED5981FF91DC25335A480ACDB25C48C20EE40F66F5B482A626A4D0DD2689D862F302C E5421DED7429235723092734BC73D00F56419927120414CF8659CD1F964128BB6FC105A7E090F1 A2093CDB77BD1C04C723E0F1C5F60BE70AAE29BF0713F86C58DE426819D22390DC1D985F2FF86C 08EF83F2E9AFB3A62EF4958945FE270950418D0B26206545CCD081E4DD18C9661BC8CBB4C2AD15 1F71D6BDFD16F8FC0E239DA5D19E8C2DC980C367B7EA589A5278901D913600A2AE6728589CA00C 44957816D98775D86D9F11C086A95601730EC4DAB3306ACAA840599A785E4AEC4C0B45D14800C8 0EA12E04F69836CA05D79543A7D7043DDE89BD573A8A937E27DDB89267C30731E20402901F9042 675860C2C1EEA408F35561E73301F5DD52591A59FFC7684A1FB9228A3CCD6D321FBAFD05718411 DCDC2ABB7A588C8FB14D916993B5FBC01409652E5818F2211C86FC21FE154B464206B642B12564 A6F4A8F4FD5ABB6F48E959FD1BDB8C413B2D6E12EE5286A805117A97E3829DC83F431AAE03A6A9 3C97DD6640E4EAE56AFB44C1892D3E531FBBC7C1ECEE90583A72F6CFD618CC01E0DE8733D38568 2600AF19FA2E08FF0C29EAFBE912C289E57F0C315AE24445F1A5AB2F492FA7A38A4886FC0035A2 7E793BEA877210F272D16771C90B5BD86267F889D3A25546DA863A100005511CED9C95A1E2AACE E762E6501DF03F146719D3581365260811105609E56239B54D7AD1F0AAB6C7C168C7DCCF3CB30D 06080F32E815CFE2784FAAC58AEAE4F22D72CFCA289BE03F9B2DFD27FB1E2D27572A7400303398 47AD06137695C113E8C2DFC0BAB9A3ACD2A856D9E7927FEAAE009B6F0CB84F76A488CFD5205AF1 DC4313B6E4179B1370695509FEE3E64A9AC425A043E434ADED0E5985B293669D09968D0AA231E1 B2F617CDE5DF2A681B2054EC1FE239E95EE1A11823F73713F9CD4AF03E13A78C2442B6AF16360B 01E8CE7DAD91717567BEAC799962F00A3509E24E4C4882124006B252F9A4C88071629A9C2B7104 6483958A3D0FEC7F0A48FFD5E98F3C49B0FF8BFDF5824DA3605980B4D72A8902ABB0E0F52636A1 06605CB90404E57B49596690E4B0591751D5630148B140AD0D2EA236764B131CE42AC418D3EA2E 2DFD09FF17D979E54C6194DEE059501718A14F86ADE2E231842ABAB8A6634C0C31C3C125048D6A 0E96A2BD785D51591B79E2022D49F2EC9BD874FC2FD52A7DCF644F124215C7B9D3DBE9919BF9D2 138F0C75AC93F48C7F125973BBC8EEEE34502A62986FB8CAAA8242E499A85E43387264D3982838 791590583BC2D74F1D1E3A4F4723457077D8E538BEB749D35F44F37B86A26C90951CD56A0E5086 74E42A1EC33FA88A47C248B2D9783D4D788082B89368D73F2EA3131A0C78DF9CB707A0F65F3AC9 3CC6E81866BBA0D87902E04CB3DDE252CF76344C2A2EE70C9260BA8C4DEA508D5B267A9E852C75 79C062478C9F224D6CD544047E6643753F6B9D387EFF69E37E8EB61E6C50BF6CC93845070FAA36 72EFFDF8F0EFC7EEE9D42594D1786BC7F3280FCADE5027ABFDB83E6E8A72C457BD6B2739D263F3 27C5E0BD130514D98A5FC840558E85017D289816B13C0BA1FCC6ACEB5DDCA6B7F4EE30D1D7E617 3D9B14A16F330E9D32BE3CE1B92F18D2878A2C3CCD52B2103B082454C60724EC75B08D187E01D9 EE3286D69B9EAD4D8D35AA8BAE3639B7E36556E1BC86143C1BABD3D05B4CFBD918C4171B3CDA77 A1C49679016AB674530416738945967896E405A3A7A451F43B14E7BB3BED0CE014188779610F21 E869A79245AEEDF2D01CFBEA80B9295AF35A7085E4019F499820420BC15E5D3D8450AC979E4499 A894699D154648A74C6443EA53C851E67F80721930FE61C346207F2715F3E20418A9F58E4C12CE 9ADFE14DE865DB21085783B011BF1CCB2C3335A55B61DF50486A9465BA7BA85373E10F7AC3202C 15806C98F7A8215A89DA4424D4B16A5E352AFFA05A58E5A6B0ACED834D87E7EACDEDD65CBF741C 9EBEFDB86AC1975BB61AE096239597DD08156D26E218A61C1B69C71953447BB7CA6C055F2637E0 B2E320C1EDD20B7B4E43DEB395DA221CC17F237B81098232567F591977CBAC8678870E1A1850D5 C019E56069F11037B2C983E61BDB9778C50BBC9FFC6CC1CACAEB4FD3B4CC131BEEDB3C486D68E0 69303A06E1653DF35D6421F93F05DFE32BB953E0EF723CAFBED7DD829B2D469CDC9F6FC1FB6F89 4BBD9785FB48F1A89DC2E1208192BB44E7F3DE2D632830894A57B950C7112D76AE978454E0D666 3F97E8FC2225293977FB65D46A5A64B2BD75DD681D4B5AA39202CE5E6846B872482765F1086FE4 6200918A34A9C0375CA555FF25C70F075530965858942F0BEBC9CCDFA2515D198479BCE058BC5A 98E014F017D5239CFA21C5801B13619642DB5DD9A2A16FAF1C7348135BC59E31450FE5824201C3 99E397C49DFAF1E8ED16054FE187A136E5A838976A48A1AD1AFF50776E953287C5C026CF2070AB 8DF13E926E668353197C0DAAFB3BCD64D391E8DA10AA80C798A914D219D0AC05A00D4FED72885F 408293D9E9D952E47CB8CA81F3797350D50EC0B74E526825DABD3D7DBDFBAF7AF4781D11C82D54 05AA18F1BD75F7FC6C2B135F34EB3B29599B7600912F23680F5190B6D9B06D619B26F1D086D122 51305AABC2BF2282FAEE69718201523BC2877A640EF5FE8A68E1358BC8C0A185C304D9986A6E31 FFFCCB726D2BA189FBCA9C699994DC51F65653BBFBE170C39203C4BCEA90E07FC0F45D0E788D45 09948A4AEF90C62CB4D5126AA30D655A817288039460D3E8A0450B6F3860727224957DEACEBA94 86994D34743A32EBDD7D0E20A3E318F5288B5AE38428D3071D5DA2D3D612F23617AC4CD5EE84BC 8BCF391C4AA0B721FA25AFE0705091FDC0ED96094B19CE0C8716F70EEC15579C95E4754C394895 EBD7D83FA8B9DD8B7134E6989D3B51C47600F053EBC134795BAB7C2B7121698284E9313C442E65 C1821476436FED31A80A8220F02B781A3D19BE6E483699F7E809B1AAA0FA13DABDE873C7DA491C 02499F9275DE49A900DC3D624FD28F4F1F88654CECDE505D7E3E449DABB1417FC03F3E0EF42F71 0F952C7DA729B45BDAC3F766F512984FF02A178D289954D7FEEFDFD6571A8A36EC673504F0D737 FD41CD8384B06842BC686EC6B4F3B47E4BA7532649FD57373EBA8FFAC961981C381F2B1C731709 A9F210E7928F13185B3D0195965330D0F4DD1CD09E008DA25C067735261E4CC2C66D3FB1822E44 7C2E3C15E815DEB88D2DE9390B179D4EDFEA55E78AB2B0CF12FEB75967D857A604075FD20ADDF2 8BCF12C46347463A7BCFF3ED8ADF441ECB3F17F799B3ACDE848CCA5B920A2087EAED1302C2F000 CB9396EB83598F891ACD25763F567BA9E5F3C4916C62D8DC5FB3EE188F40EABA66F51AD59F7256 DC4977C9408808781A5B790AA26FE9E3EB1118D535A76E6445DC5EC4554A4C1A06FD082C8C1D4D 29B3CD4F77CFA9356E7F055EA5062151B272CB8A036DD5F891E4DE82FBC877D9816F4AC9EA007E D58201808D17C5B7C0780161607EE88B6640780D23870D34892956B561B0C1910F3B1CC8261FC4 17C49A520D7AEB3239B7DB86BC800FD1014AAAAE84DA78F2FABDA841E82F102913C89687FB94D4 3112FFCFAD37D49D2532F9DC3506F54CEBF3D3D5AB4F32D96A801CDCEDC7D9002019EC48DFEFFD 62F7879D0C9FB2CEF3BFF219A397877377AA2B970ACAB8361CDDBC1F38C5F7D9397E2272751DA2 CD98CC97479CEC135A2496048FD8050FFA680BAE058CA5264E738D1699826FB12A96A6D328CC03 19F501CF5AAC51A62E6F587FB2DD98881D69FED686B64D92FFC5B1AC2C957EE5F86CC9E5BFAE3E 73E6507C5809A576A59268341EB5E3F863A69F0C805A98696A5D764E714C478B544F0095BCB352 7D00C34A67EFE6D156EBA4AF22AD493F7EE841A8489818047663C145DC04BEE4F472544C9A2018 2147E184BFC894362E366A757B586FCF92248DDF8B29BEE94B4444400B1764EAEF6CC8110F1371 D34CC38A939748CBE0226C110DB1C67EC241F07953B61C683642706930266E07309655962648F2 5E981598930F3EE4EC0F75614F777742D6CC0AEE86D7D5111D11D5077297B5358425E660A296D8 3832D37985D710E0F9EDA67875EDA4B75457A9573E3DFFE441029ABE0494EBCDC90C789186F0B2 97F90ACA2D3BE84610AF07E347FB7694FA4E216A2386CBD1EBE70967A82014E8503E2E97AAC71D 60DAE00B786A95B8428F7726BA74BB3752F56894D4813D0434D0026F1703DCB3631D69082B5D74 46AF8B5660688DD97DDB83540E2A69D4F994FD94413CA5AB52325439224E0906128187180E42E9 7324CC2AEB60E5B327CA998AFA49854A59841C5C50E4159242BEC79D2E5BDF9373CCC510B3FC38 204BB02BF88DF702FE5F2CD11123C390C6EEA79F7F1C4A294A9137926957D70C47D7EED1047079 ECCD09C2BDB154A95A4F5BFC6CB708409E3E1A0DDB421F3E26BDBC0126212425D68F3218DA415C 0B03792A561B6B6E02D84C83534866A8B4397D485FA947E66839BA118BE6475A8EF384E597B99A C24B83ABC9890BDBC7946F07C43535A9C0C53C6BBEBD25E85D7DBF87394FDAE324BD1CB4288B89 31D3BF747EB89B356B3A11F07585EFA4E4349A40B409AE651D68E611122D21D9DE3425EA845568 43A0E9D638B1C24E55992D6EB5D7A36A8035B9AAF0D8D71FAB9A3C20BFE5FC381E6E353C8529AD 44920C2B8A1D4DCC09FA6DDAC7C540D24FB55D8EB38C883431FF49DC1DA22445A6CB438E6DED85 699290D3EEF81BCBA53D977C0B32B2E478CEEB7126FA359D4EA3C8EF1D0F6C3AF075B2E94FCD5A ACD0531FF179735D94672A55C1D1FFC3842BB13CCC3E4C81B706A6830A1E502E954BA2F6D57CB7 777CAE7EBE73ED1FEFB88F4E27DE15A052185CF9DEEEE665F38703AA7AF90B0971628BDF8BB1FB 21A30C3CAF7495425150F6E53A58F11BB6CDF949066CAC1352B7460D33FDB76287A7C55C9123AE 5A2773E720509A9F3D391553BED505C28E8A68EAB0C4231BA858934FDD38C725D340F21FE656D0 002F6571A99FCD9AF5150DA9B55D796F9F30F4D10A7E82DF3B55462BE4EEE3F22D484275D60F04 D3B1C83AAC019C0C46B68A1A3357A65A22A36CF319F53637DA1AEC7C0AA003E75491C0CA77BB7A DD734E0BB7AA3A30ED0E228080FF71B952DD328D938638738697F06831826400DB73D6E2B260FF 00EB6130B3868D3C204EFB65A2F00CF5BB2CE4B464E5EED55E7CE33A1702D272069C2B291212AE 0F7A0D3BB7B82DC5FF2565E40B0963FFB9ABDE6DFE0A5EE3BBA96A3CD74D4E9035849C7ED677F6 84319FBEBA5A5B1B2B9230994B2EB643B9F395096B46A7BDE84230662B72077FC96409F1B237BE CF8CD53F27F690B101799B9FEC896A52609FB368DDEDF466AB17CED2E756D2A9026D4D26E303A2 CA619F746C281A9A6AEA0E08CD0D1A7AD1F9CF7C6EC91A35AFCD6A1F59815A702558305398B0A1 4A5AD71B085B9B10325C732D229A9C98D8AB35E99B31CCC4DB44852E5BA6DCBE8F759F54B3C10C BC761C1E576A38A788BF5CF46D68F8427E2ADB16E23A8744039F78F637BEC3D8F6D239185E9381 82475AC85FB8112CA4806D13455EE4A903CE5C7C7D5A8BF0949D70740ED6EFD38866D4645028C0 5F16836C9EE77E775626BD67AD61EF9F6D7B72680564715641E460E09A741F30777FF1CAFC8B43 664F96D15E4F218B04D462C8D8AA91B55765927B41CCF8B79F89D4C95FE5A6B55E943516C8C674 0F43D3681FF8962A0ABC7BAC47B06DA27FE8B1FBA3039595F52CA33845C1A7966308C006D6F828 108603B42229012F5366B77C654AA8CF6980FAA68A1796A1C9DD3C8C01D144CE40C669634B2FF2 946907DF407A2C5F577D3785623CAEA75F5D18E2B3B91D595CE8BAC2EC742ED54F17D4F912E115 4A6866A5E3DD49EE48B407FAF34441502C6AAEE95DC123EA266C27F6924A44263AD1238FBC0C88 22114FFD6FC5A178F22D993639DFDE16B1652881F7A015AC88722193BFDF10DC1C372916234F11 591016A8B5C2055934EF10C079DC83BBCF396DD19C7E9E112F94A871ACCE631683A8C886E4E10F 218A7AD93B0F4F83B8418C0984EC0EFC3ACE47E7583F801D1B514FE3FCB6D4ABE5B6C3783F3026 502212E265243963F6F57656ED205CEC6A8881F37B1FCFD2BBFC09D1608CA43EEE74229369A215 1A916D40B2650E823BFAFFB9338BB43369CD38F0A351E320DB42BD62A6B1A53E0AF4E0BA92DA1B D5DCE62194D041500173E02835DC3C5A43467258A4340C1B6DB48B612D54110D70FBC038E947F1 80ECCB983D2204567BC2E256C6AE46CE9C13E6B576E2C9FA5A00840A61D078C80C1C7405A6CB66 BC23CBAF1C5CDDE62CD32A84D587BB2B3828B088C56831E6C073AA50AB4CF27FC74547554C491C DAC152BF20AE1E14E31A7EB4C45A11DFBA32CC6B4D47488B950A43B12AB7DF7BFF07005FB64503 D00EBB085706EF3AA04110C671306F763273E16BC75323AEE529DF5EED8CD07BED8A635376AA88 602674B619B086C8B46339FCC077399CDE9F054D50AB2EDC80BC73DE4332CA8F8FF3D4A2B2D461 3BD0B29C7DF001FD3B7CBB4666DA2175252E7E55910DFE6706CF744CB7C24CCE4CFD4F35D0E0DB FA1C336240743562FD040687693DC43397B012390833FF786416BE97C2B8E16897C3EF5765C988 7CA6DD1A3A5B2CD07507AD852A7D694F2FB9E1B8EF8D0581EE6C80094FFD048A1623048C4D4DAC AEC1303516A43F08736C003246885184E73D8C0312242C33F33C5FDD86B4B952F86B8008FAB05B 38C697BAD2F87115E88C90B3F70E53BF6CF95E50A39FB028681746DA3431DA246E7423E8F400E5 659141F09EA274219F1D99EEDC203B1D8B9696F66EE89643B6412ED2C3F41CB9385C30EA9332A4 5CB359E2739612D7FCECA55C2BFDC4230E5CF89E7021F4220C22B6913F69ACC5F65D7374214EB5 1EB691C53D0B1F590F458A4D4A385D7826659C77EA21504A7EFB22758ECA0497D059437D70CD94 05DE2EA6BC506686D07434C6024273B49C009169E31F4B719429CBABC11473EB70F07DC2372D11 BB2C146DFA378825C0F2857BBE54EFFFB74FEACEAF15ED6DA597FFDE9377697C0E472B7500B9C1 6097BC50F38651D40CE96C50C9A6236860A8BF8F469F83162324B5296C50D430BD211D8BD0E4EF 0101D6F67DA8C348861E85B35A2A4992D6A4930AD1D26C6BC5CBB999F83C727D5CE551B98C9043 D10A648D8FCD959C9D1F83812CDA60FFA8F8C3F88FE8536CC3FABAF59C5C174580B98D38971623 6284CB20F900D8B793D37EF566A87963445862BA4EFA880102C87F608F0CE734212B0324FB2D2A 083AFC582CA20B744DC01BE3862057D746811E95687D06388705421C1B8DB69218A2A706D3CBA7 8A449B344AF0F64DEBB4FEEAAD2C873A42B2A934F93C0BEF487B33DB2570723194651C204F1201 56E09CEA13151E7E49703A3124DF500E780CBC62DF36502D2E6F5C57CFD1210850A2D35AA40A55 603D3E56591E33E7722A282D6A8E1674495E12E348954B7CD0F4A4E4DAC080824795188D8A478B 243EC611CE5901A9BBEB76EB041AD162619EDF1D3D83ED07F1152401D2D5A03E6C784D6514EB89 6ABA990FFAE09BF057B912A27DD2092CBF5157C904DA4B566114A37A7D9AD0C0D717EFB6C4AECF EDA8D6971897E7D0FB1E685AE00CFA46F11B4820B31EE99098EAA2505E531BD1B07F41D550FEE1 16F49073A12E482E9194C3C5D914AA944EB0A857AE2B5647A2C9519AABEE5ED6F356852C5F14DD 0852271FDDAA5F229AA7151D9ECFBC4861D5E89AB66747272FB6B8D49ED0709EEE054CD07BB917 606BB005B6B2FA4B114536EB0708C08B5D7CCF46EC19038D93EC063DC3DBF39B25EB301B4CAED5 05AC18AE74A0AE4494AE38736B19FC4E6B10227CB30940BF72A4704066D1D02626EF650C112A7F 8B8EF4074748BC08CB9DF80A0393793BED309D6DF2DE1F3D8765D992044122AB317749A3F96D1C E8CC520555B4C2352A4FC4D92947B60F13B9D5B7A5B47AEF0363A31CD9D35DC0F34A051E369400 D2AB68DA7BE1F1A374084B5522A6BF862579AC6F9F45D1F29E7CED5041DF262CEC4D529CCDF8A8 3A18572D65E59582F8D75236897347892D9FD0DEA75BABD0C31AF5D690394B228E835EBC6A5F05 AF40BBC6B35F8EB3C9F76AE440CB1A2E88A4F27510F67CBFC15DC29D82BF07796F6D8F793C34B5 D308D8764E9EED3EDF5D328FB1955CDD0719BEC23077A5080A88E9C95C705AFCF13C85DC533B77 6A15AE7DBC452BD2A75451CD7FE36C2B24B9044DFD9784D6B55D79BD164EDBDF735E6C486C9C9F C5A3462212B66C2E8B3C1DC01357B02DFCB8AC883E7EC27F519001E5E8397D81BE41EBA7BEB413 5A36C4E9DDD08D27C9A5B9AEF67090AC69F122DA5DF10A086ED8EA0C0A8D8060ABC76E7878AFD4 7444B134EDA8D78E2271374C7510658B16A9C5C4833581BB7EF970F9A6A4F09B238EFE5A8B433E A5162C9851F74F75EEBB1A4D57B0EA29FABFAF4D2D7D8AA8BC4132BCFC9F0EC7E841288BD234E0 6F910BCB4456C7ADE4182C459D3D366E2CF72BC6A633E830DFD85900C3696A11D2C6B79A822880 F3560DF7B51A37FC186C48BB55F1B91DFC8622D193C48438CADD95022B3269A389C2E60C9C2800 82C096FDDA6DA3FE1BF8369F4FBB5AF739485B83BA055AEC9DB88C23DB6C5F751966D482434721 91E85857517308281CB32C386755A1159B1ADD7181405CA3D686ACF18566BBE1860CC3D4DD979A D6125C6A796D9C5B9B19D03E01DC7C0502F8F7E330A87F8AB8DCA128F914DBE36434DCA8B164DE 558C9F3A7B39C07135CDBAF5C6A6AA5B21972EE56521C7C21456BF9D462BD8EC6F838A006ED0A2 84EB344C819791B014BCE095A6558B5294506EEFE6D51C935165FA4D0344498941A5E42116BD4E C9B9F72F4AA2FF794981FA5C9F5FDE59F62427BF17BB7F0B2AE94786CA197383A6965214895558 6540A4DC1071767E23310C3BD9877835098912B16EC2AC50EADF2035EB7A4BA2F48F028414ECBE 0352BD409792DC1B9780A10BEF8357130C201917FF4956437DCD2E35CD0B5629AA37EF7DBD6E9D 057CBE21442DB22F3B9CE9064289CC8A3882A6934C1C7C3542739E1D56848CDD2D03701578FEA9 AE283D393AAFB58D5A93A16B5FEF33772AA47EBCD4A33B06A2CEC3B45C553B5A63B1A33EC16FEA A152B1D248C207924A12FD27D871175591D93E23EF5108534FC75C455311EE8E3F2AB408A2FAAD 738DAB33BF98A3396CC6D5C3816B65E58D8EDC18C72CDB15540F6D62926F496FF4107A52154233 FD73427D3C00C4455A67705300681ACD21931C665E9462BCC800D25A31A6BE61519FA3487E6721 6BB21B579396CEB620B65FEE8FDC9CAB02CC5D5C8CFF9A284274A26F7C5BCEEC6834176F63A1A2 7A674025A61FDA661584C04D5C80F4DAF73A5362F67FB8064D5079406EC0D115A79F292C893EC6 0BC24FF533153275E178AEEE1D0C2C84D28D23DF028FD364FB2F9C13141098CAFF49C322A9D8AE D0E5F195FDB307B0D27D89EA917346AA73BCC436120E711FD36092AD7CBBFEFEA3C6F371D0D29E AA047229A12836CC4F3E1FE539338D4FA9E15E2CA242B768FB35A7E76756DC1EF247E49FD40438 19F917F93DA4D40156E3AB93E5580B56BEBBC1899C2E3BB68CDC5B70642788FA475E1F0C71A532 739F4EB3C85FFDAE230FE92143B8FF8DFC928F9F72B97701C2A5844BEA5D263FF3DFB11AF92B65 E5846A68EC81F9EF7DDEE362121AAC5DF1B0C29C6C32247ECB52A9725F65BDCCFFD0EE535C8C77 A02E44E274988827C05FF6C78112BA5AE29DD7AF086ACDEF0372B198E0303A257386315392DEC5 7C0BBF78A04AA1FF28F927FF6B0AC8A76A22B56CA963B779E2081CF3925391C9027AB0C5533EAE 1B22843F0AC72C2964456B56D8BEED6A3C76D6A675488C43471401ED4502351451C1CA0A46E380 D41E370D2BC703ED34B8682FAD0E9EA71E4A5CEF5890795E2B5B09FECC763FBB40B6B2E8D07383 CDD0B084612AD2266A4083DCC3A159426D3420B81B1041C5EE4120C925C1A952EE6DFD759908E8 E1CC882C12DEC431C4F66EC3B5F3CCAC728208F1F841E477A276ACA2F42AB5399F762B9C70E728 39D284531908AC8EE939BD049BBBA6BAF1C536E40DDA2412FD9A6EECAC2600C49E10092E73B91B 670AE675217BA39A808ABB34E535F5CF9A202417CA625121DFD6F4434155BA437EA16D0B6B05CC BB3B161785B3856136A5288C4D14F406361CEB32410BBC3252ED6497690D49A3A89C40A16F66AC 8F9D80411BCE174F5D57BC07968164BCA4AFF626B6F675BE9F438B461D2A35EE1C1F559096BB04 2E174AACC03CE5C68667F8A59D2B2B7DEA85040EDF8F3175A14BA3596064EDC67058EAE7F60BEE 1759694129264973E259053A70FDFC27E708A8A1D40B451061101C6DEA814F7C9318067E561132 B57DCB9C67F7DAB6C5FAFB9DF7B6B53D45B8D43F66469DE6831A40A5DA32A33D5FDF9A3F266A34 6E4A2E9D52F68599DB0138C3B08436C0DBA0A553F6133672860345B77353BF9EFA3FCC80E49D8D F84F85F1A99F23BF470A9314DA381370BEC348A37EE4517D3372D33E528F137A787CA9956E9BBC C8446E71CFBDC6D92B241AEA8A62B77F40A630F5E72F623C18C9B499DCF511FF19C40E53768925 8C9C933CACD974680F6E443BBF3CF00356A498C63A56F68843FE5BEF635A4A671874A33133D525 E632A10F62A36120E5BB9C2216FE80DDAE94CB7540669FD0BC404D361BFD34EA879E50A44D4071 949AFC3CB4A4E4181CC30DF9DF63A6A30B38EAFDF30158A1CB45F2E433FA4DC62763B6CEB411E2 442124F95DF503C4FBAEEBAE7681532B9E5936716F6D585F51B9871321D5B7FA5BF4704B0A536E 78D00372CADBFA191E5E3CE0AEEACE1D6586E9D11A0FE37C9824977FF1E6F95019930510137ADC C4A4F4C4ABDF76CBD32FB977534DB8F49EF673AC29C1A559A1EEC69F0EE5A42A24D20327CFCD0A BC278473031C3F2CBB34BA6E424D990AEC6C756293821C5D439D4C8F54319C4BEF22EE740DE2E9 3BDF51B15FAC6E469A01C1B5C5690D16F9754A8A3094E751FCE11000F991C566C7C1B8CBE772EC 80B2A751F829A4058A28110013AF4A3DF7DD7124DFF0F728A25EF78F78EF33A97373DE68D38DCF D1E29CBF549011A71ED451B1E7EDA255A14975FF44F1CB448B71B09E82E8DD5EF75716A6E32620 658D229108B8209287C2CAD6346F0E8BBF1EB99BFE8952C4080AFCB21F58DCDE2E73B02428D2DF 7B29C43DC1DF324A73F480685198F8006C996958AFFF6A55B459DB50FF2A33EF43E31923518FEC 28598D092D8205300026E04907332830823CDE60D062E0BA04CE7C801775012B4835AEA56FBA80 21097BA760632CF097A0D4B94B5BDCBC2E61EFAECC791FD7202B00E678D6B76F891B918F63D494 72BC7C5EEF4BAA30ECC71B5DF6315A71095F9E769DD0887C4314AEA236A8EADD9DB780411C0733 7E337744BDA802DE4906C3F98E644C638E4C86D5F2A7B2C17DACB10DEFBEDF030A580AC847C0AA 56D4D4B30B513BBDC1105978412EC2C36DA5E4F1EACDAE3426DD48898DF1DF0B0BB91C3343B487 14EDAC8BAA025AFD729DEB9FC96432DDC0D782D226726368B516E8F266855D7D02472D605AB245 084B55FA61A0CAD04FCFA9623DDCBE109B2AFBB69955809E2989B5453793032D1EF7D7D8BD4E10 1456DE181A8D7DA06EFE2644F184928270400D29EA969154136D1E810386835E2A3161A3074BDA 1DDA9B028910927B84B44C52DA2E3F0CC9033A1ED31743FF1D04D281DF1D62735083E0AABED00D C0090B1453FA60E5D16AFB16A02DC028A418F357951710B45948D06CE7BDD0BECBF3BC2B9CE44B 6E47DE415A655F6D78DFC36995DF01D28BB52F750FE557FD2A82E36C7B6D9CEE9DE4326D69E261 74FCF2D3F78C7F68EED0374D80929FBB08419C9D2D7F55D1AF8C3639DCADA1C7DFEFB7CC17D807 3614A1084659277FF822BA6DABC3371D600A14120DADCE7A1F29257ADEA32DE6186D1E2FB54ED4 B9BEC1F268B90656B224757015C35355841698967587305949A7158490FCE4F1BCCC2A83DA26D0 F1D7A9912F8462722A58F5D0A7A4DB48F527B1AC5763E6B45A41830E1ADCB09E0F336CB97CF239 9513DFE02BA8334B6A7EC74C0F3B0BCC61382B69D062304DF98B09F1E13291C97274CA134CFF86 CC2A823BB8A1BEA31B8A25F843B15273D0F1BEB8C18B3A2E2027334A27B5EFC4CB0068C79E5CFB AEE391D8BE2C4CA0F8A630710AB09C18C0DFEDE175ECAF12063631E9B25C6C9FBC3D49873002DE 6262BCEE73E4716DC30D610EE5402597F514903E5EEDD8A75E5A6FA117A21144AB5B338C1D4B35 9210169EA0726B14D99E48834DB5D15691FD9095FBE699C46C7E6EF3790F6005C05561E053800A B8E261C17CDF355646A1BF29414D666FAA5C1EC43903DD04678CD1B5097513C0C69EDCFA5D71F1 D3E540EDD11D4B72ECA6C590A57A41EF5CDBB09DEB1FDD6C823E10EAB9E6B9EF02F4045696D615 AF4E01796C2856F376F42940CFE098D303C741D0257EC3CBD7FF2D33ABAFE8DCEBFAE575ADDE66 CAE813A0451E5825AD0234D045630711BBC3853D130544E0B0E787218107450078D6F380303DA4 DE2A39A9A689AC4337D255477A7D0ECFB746E129F779D1F45F86F7F0E141923AD062E6FFC4134B 6B15B2811DDE5902AD397044466318B4356DACB9C6DF0CA786D3D81EAB52975D5C6E34D32B28CB 608D91A4833D5D35A777AB115290A4BFC8EBD24846736B0997FF9D5DC471AC673984AC8E8BA510 95442EF37C5791C650C3A50A2907E0447A6513359D001FBF3EEB4720167AE69D2A6E2F8D068DCA BDCF141A61A956AF4BE6DF3EA929843344F2E38951B9EE4D38D2E51A195842E61436C77E7D953C AB3FB8144AFDC371B0DDE968AB88493C15585570F7DE881A1724C0CB6E8A3433E6E85320ADC362 734A1C81C1EF9CEF1B863A803F96B5F1F61A05D61B9992E99BE5A52A58 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr03 %!PS-AdobeFont-1.1: LucidaSansUnicode03 0.9 %%CreationDate: 1994 Jun 04 09:58:17 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 03) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode03 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 148 /0394 put dup 154 /039a put dup 166 /03a6 put dup 173 /03ad put dup 177 /03b1 put dup 178 /03b2 put dup 180 /03b4 put dup 181 /03b5 put dup 183 /03b7 put dup 186 /03ba put dup 187 /03bb put dup 188 /03bc put dup 192 /03c0 put dup 193 /03c1 put dup 195 /03c3 put dup 196 /03c4 put dup 199 /03c7 put dup 204 /03cc put readonly def /FontBBox{-615 -440 726 1024}readonly def %/UniqueID 5054503 def currentdict end currentfile eexec E98AC76D0B9811AF896A7D2786CFE5F8CE68EC0023DC2681A7AF04C897A42BE5FCFE91943239A1 3AEB5296C6852464267094E08A45F9BE1C443CDAE11667C6CF7AB42711A6CCF9077E8A2D8CBC30 9D38A0BE6B8A865AA6D108DC56579ABCEA85FD25326DB34A8A3B77A5424AE4100C2EB6804EA369 AE0896E47334E66BEF4DCFA3CE9DCF8BA26773A39C77A33652D76918EA4BC304D746DEA74382B2 CD2A6283142BD4605E129465DA84867CDB60E18F858C99578A3DD3BACCE03A8A6990C27D045C3F D9C8550A2552A64F9F431169CC4AC1B9B275DD9E6D5F3DF5C70E8F657DA036CF63E714A17DA9FA AF96888F242FF964672AB6D9CC68989DB538723337304795EE327BAB72CEBBFAB6A376093EC250 7E6CC4E11275DB4AD7283811195AE1AF7C8235D220FAB9F10C43D291F873D989F30F3E2BD37AFF E5D4DB432C168C065D446F0B3D58981E981E9FE5CB773EE40AB01241EA403188FEF5B1AAE43FAE 7DFBDE6A367FC7D6F418E569D7CC7B3D20FCBF2687397122164A647041D12714798560ABEB8867 B266991761555A15A26569EB0FBD0137EAA54C1EE6010F0793B0896AE1CDCAFDA76DFFD032108D FBE81D02FF87E094C0012FDF048557854A7951C19C117397A81FD4C8F2D32D5AD9EB1E49580125 3BB1516DFADDB20EB7142443A1A133A5474EC8EA29103BE5554C41ECAFF76786FCD0FEE4971FCB 646F02BC421A7E4D1E5E0010A9079D17364753074ACD18630A5C6ECA43EC7C53C4B1A5DD0BEE88 9201FC8DFD39CD0C81863BD765FE7C8CA2A69D992034D8B8B9C3486D26DA6AADB594B6EE99959A 445C809D1D3EBA95FF9429FB957EAF9B9C7E3D814B25CAC10658218FE2993828ABD4C0A7650362 981E23E95B851A8CFA68B80D4DF911F9BF21343BD3E61DCFA86F20E96219FA1B9713677BE05602 A6EF36F450877DABB0E42F2DC22538C31B680915A634C6D34464C3EFFCD75E60B73428ABA3832A F9426BDC82D30589727058692220D02B5D64DA3F8F06BB80D08B77A455702FA9F2A3822698E02C DBAB8BF4E63E39D377C60853E3B8F7B12AF04BEB45AB27036BBDCF6C58A80E3B3A61563E026C72 4CD6E7C407B7404F301E7B1AB0EB210E41CD5148396089023AE9401C80831E627EDABFD4E30E18 EAE2DE1884D7A3813D343CD12F9B13D935199CD744F53273DE6FCF7B0F6105BEA2176D26B9E3BE 794AB2120BF13BDA3E056EF6D06F8E219B54E3FED9A7CD767C428375E40351E73663A739B3E77D FA3F36125473E7FA6FBF4A99A69AE1DBB03CFC5C71D2D941A15C1DA9C399EC307DA5D75C8B02FB 448BA23DB70233E83964B29CDD5101B404F505D6C8462A37DC5DA7AFF8145444ACD627E8933F24 7EE0163AB6CF596E882A8B123A102953DB3D0394840A2977DE544DA405D8299B2AD3253C188EEA F07D57FCA1FB375B9BBD397E1A500DB415964E518B2E2FF27A3480B58E320EE8AD0B76BAA2635F 3632B6AFC2358A3A332B773848742A11E957ABB886B3CFFA93999A478821EDA9FDD823EC8818B7 2BC26EF0ECDD2EE498D92638D2BC8E19A283C571CA8C886A8F8E647DEC4D6424FE9CCA8308390F 78F361486C56B9C039B14F76EC5BCD8472F4E6FF566368D5FB7A55FA0E887E9CADC5044391FFA2 21C598CC9E2CED7907F736F0EB8F12348D64EBCA0672BB8F1E651BBE785A09A34223663975B48F 90481DBA40982C8857DA5EFF13E9F5BCFADE13F02C4C5D4308CB09D6588A7BA7A2E1A4774701CD 65C7274D0E2F92AA0CA4A2FFE596733E61BD589D9B5E84835254D8F22DABCCCCE8D4760E13BC4D 6E85BCE03DFE296055EAC95B3523018DF17E8166ED03A23E1A7EEA0AF8C65F219A8F5D7C6F3253 7160E12174798BFB8AF179C70A8E43C167E1DDF34E47F46543CCB7991B65A2FFC11F4917964CDD C539C2E51E503998401540F23FD6A52F81F6792F2B97EABE2A74B9F58FF2C891E320DEE3ABD153 FA43F9B456414F8207600AE3DB5283BA7A0F18FC16C58766C58EC1AD813E77BEBAF90FD8D6F55B 25615FE74761320733B58B545D584826E81F2849E1875490F15B774A3A863A20BE5A2EFEEC6F9D 337E5133329C0D4E8FB4758FF97DF0C97127FBB5F4C768439C8B9F7DF2BF3EA516C268FDA3A305 BC2485ADB785E24A4BEE9AA3E7C82D3994C19249A3AD713FDC5B5C981A18E3D35AF4CE2A349C22 E8923619B85E3D3E4B314A1BA051A506824368F4CAAE420FCF9CBAD8B9AB38463229750C31FD8E B4042D8174F9C94830855B547B95210E59A601A076BEDBF121DFCF34440F65E46365871F3BDDFF 74232CA8267CE9864E4C4CF8D3A0AE94E57FBB2335AA4EF757CE11F554D8BE69EAD58004BE02A3 B6B8CE3F5C5CD23013BD57D15D447512FF69A9CD5914A73144D71F06550E93695F0F6CDE77C1F2 59AB5BCAE03478C9B172B792B16EBAC0F44F97C39FBA333F9BAC6123506028FA93F2ED96F88F81 8A3EAD11809C5A5F4FBBB62C25C9C5B68B82C1C9734DF1989B00553BBCDED535F6224E2F74E18A 29CE4568C3A6B0CF980AA1F7CA1F396D2DF27D4A6C8B9E104B5CEE96CC4CB4399EB2D17269B64B F50A3A0576EA17F41207717A2367094EC5D35DFEBA9D1E0AEEE710FA0E2297C91AD8D002E6C0A6 FD46D5D123BA55B2595D9AE0C0C730966B1BBE3F464379167D8A7B817782DA4EAD919BE0BD1D8C 61FDA8124098009B17BD4F4A0C189ED085CED24F05A10ECB9D96F2CDED8B5D8F10A4BA62D33F94 FF1FEBC20C9E64A7DB41218FEDFBCF94DA4F16CFAAAC9ADB9D24DC1958BA67D52F9625126D3F34 4C7AE7634B21608049D7D30D302E95726FA7CC91B445FCFE464D6E1D79389404F0A28F8DF0D27B AEA1C69B435B2CBC979580A2175B43F0CB739E86D778EFFB25D9C316903B82274ED9AB9E1ECBD4 03EA7EE377A11A8EC6A8F9599879878C704B25D4A5523F759D09FE3655FEFAFD834F9AA8C75C07 4697A890A38839FFBD754AD936EF8088D20629BCC0A9DDAFD5400D0C596391640FCF4A8F5A1155 A383F32ADB70FD8E5AFA66484B1B6895B6F2A7859537C2088DEFF14169DAFFDF1E0ABDDC646682 324828259958699EB1B21B7638E3CBFECDB9544F3BE2F00636906BC83568FE854E62D5BD752A38 084421CEC5E659D7A9BDE211E643950843A0159D6834A2258933F8C001C67B073E9C9BF7D8EB68 BF061B1966866465C8F7E1D2DC98F39F3A9A0096D62314636CED9B4E2E09225760A78B1C58A1C8 2BF342F7940F6FC838F4618898C313CCE6311DAFBA75B344143736C7EAE29D4DBAA4B56BB3781D D2DCC86BE5A4C4DE100BA03E4B133A239B7F6C3ACD1C4B4FC59CACE546E74591C12BF7497F908E BBFE7160563BB47FEEB502E3B5B21EF579E375BF8B29ED72640EEBD2BB10FA2B1C30ED5EB0A089 46EDCDDD233DBB94E95FB0012CF8BF944B683DBB52C90A08E5D53B2197FD4FBE9AEEF3245D6B9A 295445C148C20C597CB2F705512F3EBE2CA9A63E1B479A49DF54AA5F052283ED369865676C7470 1D7F3D4745944506AB5B2FB450300BC1AE7B0F9B0A3F1BC5499A53962C4143455DB5B3C554FADB AA6FE569A1321DC010E5484EFEC85CD8CE23C89C87D1AA2982880C56109F596DCA8258FFE48384 1B2672711BA606DA73552081C55D0DCA31460F3C81D4A8EBC7C55A487F2C08A986403E209E52B1 A38AB94F399D667720959DC10F9675BBBCA8BE368C3DBE8A3C82224DA3B977B0ECC13EA85F775C 1BAA1EDCD9E1C52E2169A10098B56C74E2597E5BBCDC693E27BD947033700DFFBA4D2BE22C8C0A CB0D4CB909EBFBEFD2F66FD53157E4BD02E8D027A060BFB1452FCDF79ED71245F021D29A21D16A 8D8F2D0B53DE50B6E98715D2042E2C46B7C3D77640170993596EB481FE6A6DCFB6FF046147C68E 241E62DD123B598D408FDA25A5FF8553B44FF1620FABA4610F905C7EEB946CD6A09D5EA961FDB7 9AD3EBF9836DEB52B4E93C4F1A1C89140272C4955908203C803C5803161AFB2C9B3510CE607F9E 2BB8AF8BD19B38D38F7942446DA9A92770333F8FDEA61394C4C1110CD91E95D3C4FAA33841D79D F1CA42B0115ECDED6CFDD92D36A2EEC3A2904C354206B987EBA4AD69DD6B5C7A45B96106593C15 F89796CB639575DAD7D277E09D347A4159EC19A8D881E6EE3E9093B51E9D9B1CAA1F0809EDC2EE 206F733C1B11C4292F75D0F37B25706AAE5E7900726478DAE756A7F59B4D0580D2FBC839D6F31E 086CF751F1017CD84AEFDA2D318835DFB74C02B01FB151D72C4A84D0BB976A2C35ECEC00CFB83D EBD59C29F54F229E087C1C6E6D7F72F32685E2AF4D4353499C399F2438D18FF0E011A0532CE68F F5B644C3D68754CA5BA2D48E0E23C80EC34F43468281AA347664D916F56E97B9F0E17A894DE514 9800C5C7B78EDE6A882D5180EF9F51ADA5E3B511B07A89CE1680963DC3848182BDFAF361D9A893 830547B3FCD4E412838E214A872EEA88FDE6298B15BB69FF9627EB37C27F89071F9DA74F4D6C06 37669C6C09BB543518AF798DC1B1A10E2D53D24C3A5B1A485D6B8179DDDEDC7B82D610766BC80F A1B2C3D3A4FEA53933A6FF83E85DBABA6F5EB94FC23EE28BA710427842803E0F375331FA1EC106 8C396CCE31A8D68B1A7A0EC87CC082A501F711E93B9FE3DFFDD8906566B7B25A260D1C64D6746F 80A2D323058BDA6BD4122F0C04B39A4FA271E7B75A1D8FF82782540193902C88CBD99E55B33245 069BDA735E4991447209892CA9BCF5802D44A09BE99EA64ED4EA1FA39B7AE10D8B47ECEDA33D80 F8BB0684F289746D5D2DCCCE59D4E6F48D8F7EAA81129BC47BAD6E74F4ED9B3032156B302AD7E5 C2F79E5A0A9DC77FB986BB46F4039152EF22331FB70C5AC047EC864F5EA5EBFDE11B5EC4081CD5 FCDAF37B47C5CC8AEC7CBF21939F89C998AD080B530E969D39607B30B5E4474206902CDED411E1 261FA85AA8CADAAFE9C8D0CA713066ACBCF385F4CD377194D26BBD5918096A3ED2C287A058725D BCEF5D6D2A0EA6300BEEF77AE3C6CC068649D077A38CA6884BA08B9523E51DBE0DE61CF651B7F1 27C93CF9A756A521276CDF6ED0FA7F4F559BEC19DD8252CB5409CD25F20D73D53375CA25DE2CAE C1D980C6C0B99D20E3713741A86003237A291A0815FA13865649B802C08B28312C61A95910F8EE BB51351AD5D919FB238D9BCB5C0653A14258C6899E22FF0FAE8B81804F3112C598D1C2F8860063 C751F39CF1B7ACF3DE9E9B6F6FCFA55A59D5516C173C90B491ABBC65EB3D93B416597F22825D32 22D9E6F5F7B993127288D3ABB7E966C9F2FA0E0A7A5B794D72FCEB0CCBE9A201041FE2338BF9BE 6241012E1E255327CCDF5FD1B0AF10626DC35C269A6E5EBCC697761374898384AF1B00BDF33A88 E7B9628C9A44435BCA110B57227D9BC9D8BF6C2F205A62E189E683E50EFD1F09C38E62B4B12426 2982074470A4CE35EA939B558BFD24593996AB198A669393B749AED33991D833F85DA040A04379 57CE47FE19E30AD150D7EBF3D9FB521ECB0D3C1DD75D45C180619E0131BF9636AD108C6F7F0F73 0937E3C8A4F788EE09F3E4A23078A79F386A7F638286AC0045F9D52E8D5AAFB1D4EE7BAE0B27EB 6FEBE7D6336241930DC406A45F261FBACAF975B7C4EA25E3751FD1806332CEA37442F99EB2BF69 C87C649F93C5EF9DB13584690078CF7BCA17543DA5F867C550FB219C8581F3DA4DB0BE951C4932 D3B65056CFC178183EA34389B3D28661979F1328A326783AC6CD34144EBB33CDDD58EE8A9A7DAC E4AC91FE1532310F9B36B17F3CC79E6878488AB43045BC5B95397CE872D1429ACCCA5D99953C63 028959839EFEC3F0A8E3052E4EB41E673F0FA73B9F82261CB6965C621ADD6DD858D7B2A8415C11 BD9C51FF31D1F90332E076977C6461288A644D66ABD8E295AECEA2F37DAFC4F096FC0AF34938A9 2C1E5D94A438319FEC694EE5E4ED1AE5C1FA82DDDA55C394C73CE39F18137370ADE011C4FF7213 95A444A57EFCBA18 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr04 %!PS-AdobeFont-1.1: LucidaSansUnicode04 0.9 %%CreationDate: 1994 Jun 04 09:58:28 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 04) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode04 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 57 /0439 put dup 74 /044a put dup 76 /044c put dup 79 /044f put dup 81 /0451 put readonly def /FontBBox{-90 -211 1024 940}readonly def %/UniqueID 5054504 def currentdict end currentfile eexec B947A691BCC86A8714868C4E8EAA6693E50213672FA40A24C1BFEB6B454C65D97FE3C8875CB7FF DB41FCDA8653D373718784E1CA8C2E52026C505028CDB223EDE069E4FBEE2F9866016FCF3C439B BB0802FAB586D7AFD17C75C2C867DC859619612A4199CCFFD6C8BFADBAAD892A6C666D828BC33F 4F4247E844052898BE31C94D164ED8D032C6F943D6ED98C08911A23F5A44886EF9C56C418B6902 CF632ABE9998ED7354C01793652E9AFF38B16675570C3F14DD18F4E0EA8F81EBA3B5A2EA1A6A75 2852B45D9DA70764044BA4537DB8B3E88BFED459F70BDD5F881C906573D7E01AA459D103FD3D95 D2C0D6CFC9AA56C9706482A513FCF9B41E612B7F6A70EB084A6F9D7BA73BC196B39EAC357B521B E3232A0CEC9DDF61F6A57661275C3E20359577BC2124313A4BD33BB79B2760F11A0CA7BF9AA8E6 83EC1146B0B2074D70789306AFDE9BC65D8998C6C6B28D89E7CF52E057C9E40738983F55D859CD 0D719713B944F82DB6F8364CE44A194C0B4E6E987C2A392DAAC78285ED9C29C1DF8F23842C6AD7 F2C362923E2E3C896F4759020EEE519DD5BE0603F7ADE8A7908B806799345CC450EF767993D072 238A614D5DBE33015C181CD4377871A633824D0DEABDA62756476A2E12BAF3A891001FFB69FEFB D921533AE16743B926BDDFF77BEE342CD2AE8AEDCBCA8F90A10779CC9BF24974B4956DA4895299 542E68FD9F5134EB2855709D7F684998BF878869A32DB0C6BBBE28B5AF1C1007AD68807513BDC5 583819F8A5C8FA338B6CEE5D696B0BE6AD4C132E8CD0F3A0FA8DBB22BEB7F21AC6EA9D2CE4BA7E F4A1D55FA87B7A57DF56D478B444FA969F3CA003267F1B45E69BE9210906D363A62731EEF97540 E5372A27983ADC774AD984B795695D3B164AC04CDF48FDD5697A3F855E53189B795887549A79DC 69AE4EE9B7DFC5732BEE8F9FDAD6008C6EC06BA5695492152EFB8C2A2BAD3D44EEC08617AE17EC B22CEFB1122BF202A212F998882C2F653D56F2D0737FFCF84E0D52DE3CFA539954AE718331109A 30267B8CF12669EB05BA116D01F8F01472F466D26400B7CC841BBE94EFF2C95B36C695AA91FE51 E2B1DD43A459E31E01017DB6D44ABA40FDECBA6FAAFF5D2E83219DEA8777A845F6E4F586E73B42 FB7116974F95E2BC2FDF85FD5C561AC5582BE899C9E85FDA05D02898659522A38B4F497F16F534 CB8E4EED100844CF77E70A0C9C6C18C99124155AF1BC7F67952DADF6FB324B9F70859BBFA5D191 D51D024897422139DD5CB41591085BCB8A9655A43A7BDD93D78C55859F075E58B5DCAC83BB00CB 815BE032EE24398C06F8F578B49CD897740A4DA7E6DA7DD7508EDEBBE1CC0AAFBE06F570987512 0A1B016A82C5E1C27E48B4CDD5F2884A5AC18AB5536A145A7A83EB4AAA9971865EB69EFAE5EA41 5A9CEBF4DD21A7C173D5BC38DB8E5C2A6EE01B504A3FA492A889B67F9E27298149153FE446F040 B7E2C781059C65967C51E23B261136557B76D675A79A006AD83F9E0A531C6EC6BAFFF9B02788A8 35AD5EA6C7F8CC684C252AA2E7CD05C0ED81B8BCA7D4C9A0485DE412915310EF3F8303F5F4E222 769DABE6CC59CBA5036F3B6B1881971217CBDAEB1ADDA602EECECA4EEC033A1485FC32A9F34C57 994BE283205ECFE0B241FC56D225AC40984DEA53961B7D43BC47F7D4011AEDB3E3D824881173B0 6107D6C34915364BA13D09B64F088504766072E48BECB0258F002BCB476AF40B5565393CEA08D8 0B86330541D0015DCFF19A3FF11DD0DEA1E164295C22677DCCA2E69987C4DB4273ACD833F1E8A2 90C7C7E83154E97FBDB5B28103DD17BC8187A0F82B0BEE9031F45A869161510B16EC14EEE4A90E 4B0CFF0722D40B3A54EB15AA16C4A9EB4747B76F3EB24093BCD34AB43651603328086709CAB4CA DC987A0F15AEE2EB086532438092DA0DB860C994D5E3892618A1D6D536BD6E1267C1B79D2B038E C3EAC72BF37A07F8338FF4ED00A2C096F2C6DB26E71F13E023D25D3F3E547AB07E837DE246E0FA 73356D30EB9E8C83D2A08745B3A238D1FB9F18CA32E2CDC93884D4B1F87854BBE7593C45B8F7AE BC916EC39500AAC2522595A0593F2B95ACE4EFD4A016D6D6D1172AC47EA3C92AE915608F20F0BE A10E875F9DDF6E0EFA32C3EE7965F34AB6CB670453DFE936D4D1CD77E44A1E01B81749EE49A4FC 7759CB1E0D30CC814E6AB9B51FF675A22577A3DD8025E04CCEA149E717FBCC8C424196B35D1924 3C562D1FAE2E2DF182ADD0AA15FBABCAE89D91A363D3691CD9E2C6EC022C34C1D5A6F0EDD6189B 59561647A60F07E60202401959224E551F14C940667AE193924A0A83F4F85D071AF94C79056CAA B4BF0453F2EFE718C7925B7D150F810156BC31CDBD19548B4365E214CC8DE2357368A8429A9D80 6C2CF8AB10BB393455B8EC83DAD41021DD2C3C8BBD19F7F086C7D4AB0E773F9624CDFA6FE0BCA5 1A581C845241710AE04EA754034710C1ACE81F3693F17A4144C886ACAA69D797DC781402C297AB 5D83D4CF37794E7186404A8597FA96FF43DDA263AE1E5BB13132DBC7A899B7E29136D8ADA59BE2 F9FF6DB733B428A2D4BC94024D03210C67A9DD92FFFCF7DD20DE16564FFD28F5BBAD8FC6FFB08B 8EA5C8183331931769777C502E4DD4348DBF937560C37168C6FB31D04483E204D23C51F74BA204 8409709D3B387CF7ADC611C68BB8DCC51ABAF46F4557D9A7D39472775F17F7D57FE5BE656B7178 54306B9D35A6ADBEA90A4CB0B4196045B01BCC454395C6DCCD91DF342E853E390D0A060A587673 6A7713D1BBB7EBF6BD15680DBD6996E69BE0A25DE4358BAA6FFFF20AB9FAAD1F62A773A51FBB25 9DCD63271013026CC59090452EFD867D24C4B87B30C8B338408836B68D9F5BA5444C5AB5075D38 1A8FE2FC68F3E307710A68163554EBE7002D15D5E5A8DD662195CFF998B7826FB58345A0C932B5 E3505C5A7174A649668910C3493DC2BDD0635275431DDD1304699B371FE983FAB90976279ACA40 6777877762511873E042A65E5F0D3CD63B692D22364A208B555EA28963348D2C2DE3BD025E54DF 656FC7749C9406325C809B36EF3CF9BFE641783D6B82DCFCF63482D2E82BB4DB6599D1771B6DF4 FCFB7803B5853A371CAFF56A1A6F7060AAED31347807AC7D0114BD90CFBDF64C0A0BE6D2A18883 CB9577A8480062E6849942CFAF4290F2BEFCD4B7A212F88B6ED02A82F4134C66609096E11258E4 6E9EC209B58597889F3B86F66D5678CD1F0A0260BA8305EE6B038842FC4244767E615E15626773 1006379D908D8048E94ADB70CEB5E6762763E8744D8CBE771B01BF51EAEEF378EFC38233FCE953 1ACC4F8FEB18E3164C7C834F7A253C0EA5CDD0A541A0E8A263EC6CE7810D311D45C018CF88579A 60864FAB0D4D6E8DE5D2D77639AA944DF27C99067D4FBAA626BD61B36F4DC0CFEFC52DD1EE665E FD87E73F791D95BF9368072D720A8E7069C9C9FA65D22B0C401115D19458883F4B37E631D6B532 8C7E5A10B6E3F9407FB6AB8DB7D25BD0D682B197EE8C55663AA50B6B20DA99B489F8BF5F091949 16DDF7781E5E437C208BD4C68F2DA4B4913C69DE358E9E8750F8AE45D8F0958F30FB7AC997B253 C255CDB46054EE7CE90EE8C3B0379EDE79009F6952DD0C29A682813B283A18E11ABA75DDB8985F F81377EF1420C3F93832DA217576D9871815CF0FAAD815FAA4B8D93862E0F7FE9424A40186E933 81DE8FAC067BFED22ED9A8D6794FD76B97270E30ECECB34C4CCEC5C8681BDD66DE14679A85468D 2C7952A33C265FB2650B1D8DC32E867A98354E21F5E644688285315034BEA5C8981C9B36502C87 4A3F87B5BF5BD1E3241B4056D848F46BE457752DAB938CBA20A7A8643C99E8A0719D9FF7422FC9 1F25BDC284D1F0664C6EA1900938848BCCFEBF2BC4A0E37DE2DB48C5311F7BB5FCE22C3948F8C1 AB83B98945A1FD7F8812CBCF8852F20D26B70D94D04E4C3B3593BE0716B016630E43C349B56F9F C17A9D19172C4E1220F97A7B350DD592CE9E8DD5481A3A0733B95C58241B333586198F375F1F7A FCB84E33878056472D0153459A5AAEB4F264AE38CEF24CEBA2A32970E642820E9708B137180739 0755DB1F6E830A73DF803365B93F815A330E307828F3FFE89B1051EF80466E3F2BC7C5D703D5AB 10F0411C20E72745A13167759657C8F68457BE6C9EAEFAF4C689839179432E36200EC7C492EF2F 76AF90BBF8333DE26D91EC67F32425B3655D2AB080D6F62AE8CF99002BDA6D369529CA0110265A E93FAA293D3E5CE6121C899FA575DAFAA8293DD6BEB7F8F5356B7076B38EF4E4DB70F004EB1FCF F2501A24FC75A3BAACA7E6D0706FDEB788C4FDFCA642536036F90E65F6BD876DB2519DF5085C17 E5474B454FECA74BF0F3684698585397E3E04847A1700307B25D00A2543C5F5AC662798C2BCEA5 1A56A0D92E1D376E01898FAF604AE6C3861592CE3CCAD063C628E15C2F459A6399556F582DB160 0C8C1C55FA94E64AE5754715B007AFE6E024AD0E96218E777E90794820DCE4FF8C0F936EDF0C55 2808CB0DFDA4EAD0F1FB144651891982DF671D9EDF47798A24AA5F0B33E9CF63AD8AD4F3440CE3 76B4C47499FC93F8277F3D22457B98F956C39C53D177F0CCBBB529A36055AA4EEC626A7EEED64D 646ED1FD0C3685CF4E2DE42693E7E212343B83FD75AC33DEFB9D16A1771D6D3622998E556C0AB7 F2D811339E89330348FBA8AE94EAD8B18BAE18CA3683225EBED1A4DF9EDD2FCCC34E74822966D1 D5F71D2346AB76CC3D0AAFFA3E3D57CEC007C9D892C5A82809976719F964186D3279D79B4B5AC1 F0333EBB8742D25644A962D02EC011FDFD7455120BF41418D4FD6313066DBFE5A0BEEDC59ECA8F 8D1FEE9199848433A584EB5347173D726A521859A91EDA4E2D73EE7E8C51339B86305C63E35E86 B4FF303B8B1075999B68513497249C62ECA2736FF6958EC66FB78AFA10532913ED98C1E13420FE 18C9884E3DA3ADAEBEB2AFFC5800668A2AE2752BD30945BD58C75EB522F869CD640B1BBD982833 F92EE830EBB96507F4762E3138243417FD2C4738FFB542D1B2A29CDBCCF9F3CEDF879CEA7CAAC2 570C352F4E4CF19D069FBE80F9AB796AF8F419EFAB203B930625C4FA2435D0760067D328A5641D 834A56E35ACDB03751B97727E4553057FBD08C1236E45C424368A7B1550A4ED7A5E6270190C60D F2E025A2E24392AC419DD2FCC5D85696A0B2468E1995C3AFDAE38058FA85E54DCFFCF687707847 39FC137FDF9D6BDB97E38642A6E6DBAE8B2E599069634AFA5FCB9DFD01A00F7174EBEACA58E0A3 29B88239CD746022D2B10A8BC3CC15CE973353C01D98D8B2D5AC9253CA5ACA59AF6324B5C69A7D A13E28170A4077709CE7B4B77B407898085D371E0F9207BB42ED043D8579D57F81156EE847D962 FBD8412ABEEA9B941AFC7B39A51391D02695C8FA95C775F8CA84DD46B2A28D1735C2C5228FF7B9 29AE385AA61818C2E9568A4F23F8E890583E7DDAAC4F48875429CAC2D54714D179355590FA42D8 160CEBDCF44BC348271FBDD219EB95D1153075C82383339334D05F741D7CF5F12F85DCE3A25BAD 6D518F3B13A0DEE4DB2CDEE3D284A8DF2F7B1C9D07E8D7F9D47D6BD6088591A9E089EA2BEF5B83 CAAB3EC766B469DF9640DFBB4C32E505EE2A01EBF2E7155729D1B9E205711A74010C6BAC48F73A 4CCDB21FD55BBA48ACF5E5126CE38ADAAD6DBF3EA6297C56EC9CCB98766DA4C76DD8542BDD1596 BBD288C262E48A15C27690644918944E039E9012C08E62A63495BC5C6E82285885A2E830DE725F A7C746BCD0F333AA0DACB4D044CF8DA68EB5A1DD7B657715562D0D3F3F94F0B642C06BAF360191 193F6ED4ED5F781AA5AE2DC7E9A6B73B182092BD5ABA6AF79E638152F7747E5938ED28D9C7D894 A5762C519DD6620CECC58B2D583D38B63584172CCE9E4D5B3737422ABB778B2B85E9F6C80D3CF5 FCBEE03C2C66613A8C5FFD6E5C2A4377472AAB0F1B93E7564657CEF1BA61C10849686BA4176116 FEA3C5F3F89C492C1CEAA310E9A8578B7C5439355A 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr20 %!PS-AdobeFont-1.1: LucidaSansUnicode20 0.9 %%CreationDate: 1994 Jun 04 10:00:12 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 20) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode20 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 19 /2013 put dup 20 /2014 put dup 24 /2018 put dup 25 /2019 put dup 32 /2020 put dup 33 /2021 put dup 34 /2022 put readonly def /FontBBox{-615 -440 726 1024}readonly def %/UniqueID 5054520 def currentdict end currentfile eexec B43A59C23D31312E42BFF7A8FFD888C8118609E66724952B45D5A38971EEAF7AEAD27731404947 E5D485EF2185B7B28FEE76585E49D85250EB800DB5DBEF09999B470F9167BB8A81B88DCF399612 0C5E5C13C786349E7F44E018DDA185A7327A13F55575F00A7B68BA5390314FFC1BE676564A478B 1A253C30B407F07FEC8E3E3C46BC787775A409E084B26786F0856006E38AEB9E71FD27672DD999 15E5FF51153CD2575D5A841791BBB0DAC82FC347B4323CDA6FA02627CF6F313D71FC7B56A6F4AB 9D45D4EBBA4FF9F13323865378F1240393DF17083189EA6A560B78F670F31187E21DD2282A40C4 EC215B6E053C952A419363825F8074AA1F2791D599B236931ECA38548DF42AF21A0B93299C7A6B CD562A5D47894A3F2BB10DE3513E0101686157DCCFE12025B2F62AB48BC56966D41430446797CB 34EAD92D70125D12FD83DD10713076729FC32F58FCE51BAAA5865AD74B16825913B821284679E5 9C71C2DAF711C0E0D4E82BD5FCAD13D14E69C0C9E8DCE7F05D2A5B1F4B724498D405664EDC7CCB CCDA84490522BB752CB6BB095A3AFA53A75A04E8B6446C38CE1F543231B8E7A462CC128403A30A 1553F8AD4952935A99E6781121623F4DCA70C680758A89F19FA860DDB7A02B71B4265E4EFE5CFF F0871888F3C17034282B2250FA41A8529AD3CB49FC2F94FEDDFBED06ADB863F82168180A185578 755D4D43CBDF4D1FA47B05871CDF84694574CB0634E35C47C9B4BF695B573F8DE08A555F0A2DF2 2774590AA572463F9E2FB1510BBCA5E8F6ADC8217855D4F1D5C837C3CDBC31E1CB6F52CC6D0D65 05E59AD73924E4EB1B37E9C433BF0ADAC35CE1832DACF7FE538E921DA937CE895F565305535EB8 17575E443932C9896F7D11431F8ED21EEED56E490E157FF33BAD34EEBF76042168A86077AAF03B A2173A795A37E0BCE53179C645E8C12C0FCBE7C33CC1AF08C58567B83B602E468A8E635F0811B7 6F8E4318EAF2CC3C5DF01FD2A95662F00029F54AC7C8FC2B999CB46D6AE8D3FB1DC657C6E961C9 F870BC5692211F2C244EF9CCF84C65D013425D119F60FD2131271C5FC6CBFFCAE54064DE267BBF 3E03F44C47BD24364273AE3D94C9C818825440FEA0E06CCCAB1CE6C411628FD565E8C78B039371 F4F6618EDF8BBB15197285A8379DD1DE9B0AE8C580C44EC9A7A74DC4A4496A4868355BD28FD537 38C81C8060FC059EBABC9B8F14F65C347E47EBB861DFED01318BF955010A0ED66DAC569E6794F4 3425476951FA9D84A48D7F9075B0A197936EBABE6B9D3513B542E1646A0D32995AAE08FD77921C 79F575F40B8E813B330F1AA029FE6439D7505B9DC9210D43BA9CE32E3A14EF467C870B182ED37C 654DAEF47A595E363AD0BB939085DCEC7155829BBE1E1A47F1F2A4F3432E34EC91C1C85514D35E ACE265943CD46A79D4226BAB3BF354A04F0E182B759835B9FE8F76F505057869CAE56BA3350712 EB5103078544D804DFEA9DDAB528DD4939273645933425C0F64F7AC4E5D3B01D5D76CD95C65756 B48FF39634475BA737AFADF17FBF3CD5AD0E88F6356CF06EED43EFEF9B5433EB1600D38D203D51 A1099E2E20641DBAEC087D771323611E50B960C1B20EC7B1BC71697768A088D806400AB4CECC04 67AEE799328421391BA370FF34C617F15105260632A8C0F4B22E792247E390B1F564C6FE227B85 5A962A6E06E6F565D8D54F9887042237617FB78CCE75B0AEE938B1FF3F0362D6BC139C871D1BFF B8AA0877F9D3F0DB55ECEE0AFE6871E01F204332718A0EFC66EF197523FCAF46898F32C1B324C6 DFF22FD9BDB4DA9D95D5D2208CA9D67C6C13B3A3BCAE8AABF40EB224AB9CBA55204458FC526DD3 8380F3F432EE69266C02ED0086DC8D6053AB3D3330D436B04DBAD95818B0A5025CEF13C378A9D7 2B6C775ACB4833AD3570D1E76BD359A5A8EC9C4F0938F7240A1B663AA366A4FCF3C102DFB0FC07 994E668F503A0E28CBD1CFC49041562DA2249B608712EFC10C9A35E0FD9B346864E6AF644F07BE 325FC4E08F81E9E8A6DE438D3ED64F05A57D3693F770C2E139ACEAB73366F56A94422EB50F6670 9032FAB1F7ED83D150A8D26B45D8B59BF720D04C4E283A647065EC0CC0D55D9FD7C6502EE3DBE3 E785F49966E1099CE4596EA2F1CAFD038E882F05CD9628F74A9A09A5DE677704A12CD82A95BF7F 01A5147536FFC7EEABA0D288DF1A9C9B639350A266C42500696B7E925174AE15CDD011119E8288 7EDF23F0AC7EEA78E38104C00BACCED03A7785D88FEA2B4A3EC5DA4ED2D0357EEB43C4278CAEAB 5BE44EC6C777B67FF30140A391A66CF1B47778BC0D9BF6804E78DAEAFCF1C3F67760C94ACDC930 94E68CC33121CAB7A1FA79E8E14276CC001A8D31333FC78721C8368034B418756A9EB23D1F7104 43326DF928CFB2E1F9246CCF09F5D21537213B798D2B72893A8285EDCD48509C022EDB3E0943A8 AAE2FF11AD8B6EC442F30DE19215EC6BCED82C345467DF50276F8123BC061EB2ADAFA6CDECD1C5 5C529BD9B1ECE353EE7A58BDFFEA47EC30FF94FDEB0E465B7A45EC795797DE00F78E180B73B3A6 F5B3F35BD80882003053F618940DB675D846095F63E90CC77B5022E963CC39915CF3B95F8F5A45 4419ABFDAE6087C4EAB799A8A5F1CD7A234A2407A2C08DF813227CCE6DA56F6D1B081278C6E046 96CD90F917C7AEEEA3032A1A13993079F3C41DCA1FF2B300BEE78A8D9512736DE4DF75CEBDDC58 33F8D1555590AC92FBA63E2D59B80EE8DEC88CF78435CB4CA57D702DD144893C3279DADF5C6164 70EA7FFF87FE66F510ADE5B32019709CE6D9BBEA02F2BA243975E7800839D904DC09C2306A292B B812F8CC973D40810ECA109BDE38961FC2678BC1CD377E2FEEB43E2072B38621801D5ADA0A92A6 5F37C7FA277ABBBF372D08B834C737DDFD16B51190DD3043040B9C060A1828742BCF814CA98EA3 77DB2DAA1B027BDE291293D8CFC3DC73A75BBB4BDE3CD80FDA05E46A2CE0B003663A2003FAE55B 0535A681672F7D8FC966834DEC4DFE56D3286FF86C10630F9EB91BB731A9C2AFDDD4F1554C4728 4D68FE4A486EEDE086A565929B97FF763B31B5CE48678860215F768CEE265E157F1A44C3092FD0 48239B140F2F8801D05B76FC9EB969BB6EBA6D472F1C016B94012127975E20FE911529090CCCEF 4C980611502E8641568824AA0F18FC3CBC5C2C46DF4A310A1961427A7785EDC75D0DC93FD03C26 43FFE864A91F4F285FFFB5C74803081A71AD441522F4C5DDDEB96BF5A7080BDB57A22AE8DD9310 02D940551006B0863C4274D0090A9C2EA9516F291F4A833772CE2F0CCF7A92AE08BC02CDA5B434 3D8E61C1F1ED39A3614BFE3BBD2BE7C9C3A64F1F7FFDAFF51D3FA0357F672316BA9810A620911C 06393D472F8BFAEF9AC09A031C3A1A33816A77A6C5EA88AF4D4303EC449982D05ACA3481807F2F 0775C87DA047792078D7FD735623D86C37274CB49235A22D01AF43791078E4AE92AADB3EF71EBB 7C96F303E70F1E3F7569471C6A0FC9B9C59E4DC141FBE2752F6717F4A7C8CB5D47EDE806D835D2 8F48927CA3A3C38B1E5310A47943668646946991FD87BDF723BA535A587EC98F9CC86A15F3AF79 625C5E9A1570412BD515DBC288A9DC3E4194A2031707D47E54A1FFB73099356BBF4C67A22A71BE AB39619759800E4F9F4B558457CFD32E456D546BD2542B3F493A2FEB432FC1511587E4F5C0BCE6 3BD4CA268846F13233A6D3E22CD92BD8E19627B71EAC34CB56125C86CB4168194ED4E45FC6B759 5887FCEA79676EADACAC6F0A35B30B63E61C51DC92E4FD960EAA2105ADE6C4E551FB59E0381ED8 90AD55857073689ADAAFFD1D27AF7E9BCCD8078D62E2299E35EE4255817A3E7CBF4C142AC2F10F A5486FCB20EA7E6281F6FB7F91DF0A48B0547EE2133AC09C1E0700039CDA77281121975D84864B FB24A6F6E05F5E801FF02B04A8FAE6F682E7C9A705B0A6CAFD3A84698528921856038137A3D111 30602F28D61D26533FAC142D5A6F0D7C918D16BF3C1CA65109ABBED3BD897C8BFA4490545552D4 B15F6264FFF4B02CD60970D6D8F35A18295A2AEBAC056F768F29526958DC1E717FD5D6504E303D 1C36802BFAEC578F5E3F0D1BE9FF5B65B3AF6DD63FBE07432BD1EE72BD24C27C5CCAC3B95FECA0 AEDCB55933140D1041DE9F2AFA2ED9F3D4BE5D7D0C7F325AE26CB1FECC40CCD6A4085515A11F62 26 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr21 %!PS-AdobeFont-1.1: LucidaSansUnicode21 0.9 %%CreationDate: 1994 Jun 04 10:04:24 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 21) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode21 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 144 /2190 put dup 145 /2191 put dup 146 /2192 put dup 147 /2193 put dup 34 /2122 put dup 49 /2131 put readonly def /FontBBox{-30 -325 1384 883}readonly def %/UniqueID 5054521 def currentdict end currentfile eexec 8CECFA711B4939E41CA045BB7E8765272CCE317ABEAF2B07E70D992D651C41DC23B029563922C0 95FE85170451329EEA8C7BF7A2726EDA9D9C6D097F0F7FB11AE93E80BF8DFEB2012E3B9F49A227 13E573A8BAB0BD7AA774AFAA41B97C6C70A3BF84A0B468C41B70D35F1310A4BCF2B97287E2FBF9 4A30663A4DBB485672BB54D8FEAEFDE594B3B73220D0C873C546C40B5138841E9803A47402513E 8FF4F9343A0E92A13A04C27921E3EAAB23C355AB06A42C0BC5CEF70BAF6D687B5C79B5360DD42D B2C878AC8DF4228BB74DD81C6FEFF53A36279510E983BDCD1A8145830308160030F770C3DE994A 4DE01ACD31F1D76E3094B43F3316267B62B6D653546469CBD35DC8B1541372AACED3750E498938 970666D8B36D41627069EF1511128034B8A364FACEF8068FB8A2F7F3209E5A769AF14C3E7F044F 6892F9009EEACF40CA1AEC6F322861CD38A8CE6A110A5C348EC2CB376E5110065918A03C02835B E3E89B986010D70284A334D6725965CD86C1F4937315B5BFA1D7E584988077138480F1B72F2870 2477850CB729C71006FBA750B4989EC757A808D51431556B673A084E350A74279AB2E9C638F7D5 B6BE1D50118747D01A6F3250CB9F204E3B03CC46DEC9821867B2334D2593522BE05CD30CA6B75D DE85222B64269B1DA310838E5962A391BC8197808B9D11B877A50D431C25870F7043983E965CF5 0F5BA07DA4DD39F97069868D506F035C0DE343F7F5C12587B2B05CE2ADE6822C6C0739A54D5DAC 415135137E8341C4D37F7D4534BD8FCE1DEBBAA3C378C9C9CC083F3A892EB7E44144F118680E0B 2A94BE914FAED74B80747D013961C682A0C3A3F55AE7496F7A15786BB0AEA5B1079668EAED2527 9F744F8FD112A6C33DF4E1500520910769D69C8F4D659322035993A3CD70CAA65F9DAF1485DA40 CBD374802317B409FB464C03C8A46831DE7B04E924B9D8F5C5239CF99DFB7176B2A01C1A31AF6A D7EE0115C6CF9EB2AEC83901795A91D4563F32399E1AEB65ADE7B8248571668410AC1D86F71918 70B0FF9C844CB7E6352B01A2C169E37513CF7C37D131B042AE6584F1ECC680AF5AEFC74D2C3309 12C36CBA7D88E4D44C77EBD7377674DBCD9FADA92577843CB5B1C0CCCA0A9CC3BE2A8F4CFEE1DD ECA543A7967806B9F65C5337403864168AD5EED97FF91EA2A00BC4480D96D09080029CF4BE6975 B34B40182DA9DE77D82BBAE0007448F08DD19A443C3EDB130AA1E36D2DE61D809BB3508EB12237 E460F68508290E1DF4E45B652B0A2EA82DED7F3A5A05E9F6FE3CD1E8FE988B7258E81A243DA0A9 B677C368D33AA67DCD8BED50A86331179CD2A6AF65E164A925258D5DD67704B2F3D7B3A9797DB4 E5092122646EF94DE3FDB3548D60702ECE17FCEFAA298D9825EFB4CB96C20E5AE933A4F9E7FD4A D8BB4FFA426366AA9EC6DD84689F24BD858212C0D745D674D513DC4C07C37D9733ECE1D7F7059B EEEFBEA12DB1F8F21F6DB88EA763511B1CB80089383350F0EEF474F70276C7B44D075B21862115 1C4C8CE0303FDC81D848F74CFA94CB2D2F61FB99B92DFBC6CECC15955A790C62B3DA7654CB95FC 9EB2544F05AB69475FC405C3F0F1E80EEA5F82EE0B3E47937556C7E14CFEF5A58ECD7B975E519F CA80763297F483FE24B96F09BB0C6ACE0753EF674B62B6F7C2A301BC1F8C7D2A84CB9DBC68AFF0 7ED80EDB570861D23430D1A30653E5580B9B9902AAD063F04A700E801964927CF9943A074D8FAE A48CB417EF69C589EF625E46A55472A0A2B3CF9C7CAC86764E06ADFDBA7AC08812B171C4ED089F 3FD3086F97D6B96299E47EC1BC98C8320ADF7DAA7D384A128693DEC73675CD0C185BB260668E38 9A35204FA0838F70D1AE5DC74957D9EA2E2C3088D660580C20D51B212B6CC83D9003260FA4873E 0B88A4DA8EEC5AF1DBAE1C0D1454746F9014753E3CAA9C8AF20D97E949D8685D5D9130BF1A9F79 57569B17DBAB5AF2F08737E9A046C0BBAA1238D2A72504B9131401B96606AC9230CACF736151D7 E1F79E7E4F42F625AB66F02FDA6C31C497B1C2A2A0C4DAA420B59D647495B306723195DBF74F72 FEA3B0BD8C2A16E95B442FDF0B39CF601FAE4BB5AC9C85C1042A6C54C44B60B3A44D741E788165 2126A8235FB58650ADCBB265C349F5A93543A4F765C97225C9566D7C4DCCC6779E05D9827F8C00 D78D582BBC77E25C3A170C469A268B483BC3153D851FFED8A1911B6864655255515363D8DBFFB8 0C02180CB399D92C242F0F450766B5D7D29F59B5D7B47633C87A1B46EB3322715BE04BDB99E126 650DF431A9E8DF486C8C63F5F0D26DC24B9DED300D3107A814E4A01BE93CCB3694A99887C4F1A3 46DFEE064D27CA5D5899AD2F8B3915E304C8A4121A26C1B7B8B81B9841982F6ACCD03F249A138E 0F836D0F533153FCC8B3B4CEF39802D66A0EF0CE76F8E2C03D880FC4F44C1FDEDF0C50971507C0 7202C26CB4C0C1EBAE4AF043F2893D4B15B183B5B60DA901252BC6DE8D8DBCD54B418C088D7D07 3084C0809EA621F31EC5DE23374C5A4AFC2AAABE30A0CD14CF07914839804BC88A7340BED9C24E 48B93770745A08B2FD64AF52D5194D57FDCFF6ADCCB3A553343FFB2F82212E5152EC91D9F19F93 7839782E3A8FEED1128568C5D39AEF3638592F8321A7513B6C361D56EAD81E2ADC3DACE11B7B50 73EA40B36A9E042BDFE78E30EC5059549BF9D1BD29722E6FE3E3CDF81029F81E66C887B55A6E3A 96826166A1FD6D27B7B3B5D72046373492434088F7634CB45301F885909D249C2680E5B1AF7F1A 5C1A7997730E94D8A0C643937B284C0FE0EA447965A8942E882C20833C9EEA28D063C6B5C52F06 D9580E5387B9C87945B1990EF0537A00BDE28C42C08321C0730A04AB9A0DB8435F250E10FBD8F1 B70FF91E4B795BB353AB3DA14F7FD8B61AD2AF4CEF5775B16BEFF8E3198558F77036CEE8F21556 BB24BB44437966855114167168A2F45CB4CE1CC31FA04E39FE5F4F07A21D878DD4D833F2905E4A 541F26B1599463BAE2BACEDDA6A25569E27003BD478232E627892502ACAAEF3E61B56139542D1C 6D6A6B3873EEC2EF0BA2CB21AA0148F449697C43D3CE159B01827618C1E9A835186C2EEEFF0EBD C22D9250307D280706754476A9B24E141B88294CC88634E1690C5482E5232EC7F174256999DF02 FE1FAFA59C4369C41B8E9BA66699575035718309DC3409EF68CF0768E8A2AE0E5BBA760F3EB926 DD09D37641808114AA91761DBDF3D2BC64A42DABD5010465BD47597A69B1F88DB579B7A47563B4 9BA22E69D7294A81042FC2A57781D8FBB5E87E77539498BEFAFD98E3C1C761EE5E7B635AE93BCD E9479904AB3B3BB64EDB0C80CC2B04BD9295E208340BF65D55353BF8472EBC77 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr22 %!PS-AdobeFont-1.1: LucidaSansUnicode22 0.9 %%CreationDate: 1994 Jun 04 10:23:13 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 22) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode22 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 100 /2264 put dup 102 /2266 put dup 103 /2267 put dup 130 /2282 put dup 131 /2283 put dup 134 /2286 put dup 135 /2287 put dup 41 /2229 put dup 42 /222a put dup 43 /222b put dup 67 /2243 put dup 96 /2260 put dup 97 /2261 put dup 23 /2217 put dup 25 /2219 put dup 26 /221a put dup 29 /221d put dup 30 /221e put dup 2 /2202 put dup 5 /2205 put dup 7 /2207 put readonly def /FontBBox{84 -166 1060 898}readonly def %/UniqueID 5054522 def currentdict end currentfile eexec EC18885AF58F29AEFACAEEA59037C942D5A3FAB833BA43EA181148D28AB4B88B44CA4ACA1F92DC 003EAE53A624731252861B743FB223E6A26B5EA4CA4237504F6A6CCA326B9405AB85D95ADAAE82 22B5F340DF4D35E0A2CB80190E539D9C09EC6DE84EDF6E6DC6E40089958D58B17EC7357C0EB84A 61C5A04AB034973BD320598296F9A79CA937F8946E59DDE543CC946C528E3106DEBF61B81D7A8A 69AC62FC23908A8A656B8518CB8FDAF8A2B57C3C7D4B644754586A739AFE94AAA7B685E0B09EF2 C30BFEE0F183A420766F0BE21197DEF2C56A4BA47A2AC88C0687DCBA5494D19D543C8D7F43E8F8 67EF76E2E818ED425C61EB7D3EB50B1174995ACA71352D8218D3734BDE02F4A95E232BD4AD9845 09AAC48D0F388BD9ED89E3DB5276D12DB11621AD67DEB0F7CF2046A95D6147BD77893BD999663C 6BB6206F86C9E5BF1B7296EA35C677788DD9627D6385B6903C83B27CB461AB230B86435838C33F A32A0B5DF678E7A5414A11E4BCFF1098BA6A3A6C70AEC03193BF8E08C1F703E2B0470B171CC9C9 CFBBC16B532F551E32A6EBB545F8F16B4DFD5945ABF67BAD9AED02092F99DABD828C674A246A3B 50B6CFEC2542399D397121C09D60CD1F679CB805E385F3D63FCEC624B93BDA066709C669C50BD3 261D4A143B81F83AC3AD4052FA424782F1C8985A783C1BDAB4303948E6BA2C6F1645D1AAEF161F AA605149EBCE77F37B904041DCA83C92CC102FEA932313FCF28C23DA1D3F876F612EA30006CC36 B9376696E6D3C74AC6D5E39653C03434CEB58C958FFE72BE74DCFD7921BD8D29CB9B5D9462CB1E 6CA793A7E2A7F1ABA296877AD19BAB0AA44F0916866DAAEEB3DD86474882FD901F4FE785121720 80BB24A21D83C909FFD3ACBED7C3F97E8D434B4B3DBCC83A954037319D24198CC1B14695178CFB 18CC1F530CAEF7C5C845403B52E2A5CE0B7F158B8C4904B2EAEC08C9BA7AD693405E918356E7D5 1E87E2857B18EABB71256596245BFB5D3F3E547AB1355106CD33AEADDCC870BEEC170FAED7884C 82DB23EB4B99C4E856B81773093BF2B625D38475AFDCFCD02468EB11B035E4950C2E909EF0AC96 2C6C41D25D43C5653AE66D718013E922561CB88101CCA5E70905BC6D48B80C177F552BDC9BB31E D51DED3C0D40BC161A86C06F8FADC8449AA647EA6A83D9A5AB66E8CC4B5C705375CFE9AA94C1C5 6AC04BE22C68860DC51566D69AA649F97B43E557EE45E73B23EE06F851860CE6C29CFFFC95F561 165AFF73E18A9DE0A1660754A311DAF53146BBB751053D424E32E8600B50303AD1A7D9E663580A BB54114C9BF9E2850BCF12B5428A4CB8E458B16BEB43751E68BE952B34A8064CEF61452FF56537 EF56D18A3A3A3081029B7027600A1DC1199772F97102E7FB28DBF3A941729599B0F24A565C1BCB 62FEC5ED752428920BC1C60C08ECD8EB86AEF841364B00168456006B406FE14F1D4F338B142CFC 42BA7DDCCC92233212EC5B35E205372291B4FCA126E5FE8F6D4C8A37017DE0463D7261E98813E5 8B1FBF38993879ED183A30C569DB75D9644B0C6D237F76D760C3D77C7569FF8A1CCD752AD9FC87 3078022F6A3B1D749DB363097597C2CEF08CF19BBBBA4DC2AEEAC4312E9851639DF6FA9E2893B4 3366E631AC15951644702A58B7FF164C8D4137052A3CE699438B9B5FE2228DFD6B0931C6149B18 6B9F57F9D780BAA7835331B10EC5D837B9257044B3CCF8AE4590B23796C7A712C6F188E20DFA22 1ADDDC895EBEF28DDC6FE7C1086AB26B878DA3A1ABEF1E7EAD344CD7CBFA752F7C274E8E9C970D 744186961EE5717BD0F50B67144FD576F6B668CA608436053ECBE116CDE462509A48DA90D66105 ADE07641CCE083FDD6F161CDD59145E8514CC0BF34FB77B657A287EFF963E63DE600FB15BA6A17 87E63D3208F5BB859E650092902715185D69A11C6F73DE088D60DBBB98E70ED4B7C5D4CA9B2AAB BA91E81E20CBF4716D603416B399B856C46729D4AA83330CB528859DC68CD028CAEBF9FBBCCB5D 50CCF2D3323000855669842544A61CA55FC4209AF3D6187100C47F2681D3BB823F09D3DEDDFD89 C87B17BE0B0A0D14E75370C6D2CAB809BBE932E6718945D6933EBB8A24FD507906BC651216119E CEC5B916BCA6459AED96417AEEEFEBC4E71D76DC5B17A37B8945A83946E64B21AF0D42282B0E25 A3DDC555E709C80C5C8CDC5E1AD62B89A7CC1E1AEC962FEED653010E2FEF56EB5A14F810AEFE27 16F0A27E7EDC63A7D2E1C6AD410E22E35C8C923EFC2554355092DDA8113F6D9D5B5BEF54C824A5 1D7F5CA2CCD4321F9C3A6EC8320F9A577610C902B70B6B0EE5BD381D9A7C6B722BB55EA06DFB77 DCFE84A0397C8FB3BA4917521A88B43F9F12F81571C39ABE049D54405B96D0BBFFFDEDD0E90C3D D6B26D82D797C6B31B7FEC4BB0B51B2E8357C5CA8A6181536CC13498F7EF383B98281756F3D25D 6961D477191F00452FE9EBAB94EFCE0C958A415B7A8B0AEF3F072A3DAC3B6F1BC974CE0DC92A08 00EF65EDABF91DDCE2931A6B6CDB9B46E106EEBB1017E487E4AC078243A8441422FD61BE99A8F1 022CA7C9B86AC24E4101F46614E20749FA065C9F9EF8AB8D45DCB5632F7E5579A4EB5C44588E0E AB91E0FA25868A585ED5364804118B2EEADD52301644AB6AF821BD6E5A78E3BD4701D7211B4929 1EB22DA0301F61F69379F1319ECF14C6ADCF574657B6BA459E6FE012A1C6CF198250A7A9BBA055 06215E6558DEC8CFAF5F342975B444F98782CC674EF5E03DFDF803C5645F303E229448E57E3891 37A4703A784AE802B6D730C82E7A5981DC29B586174FB22E854CBBE4C359D27BEAAA684866AECC 6F33F9C1E0CDB2F97E32F7DE1C74CBE941D21EBB079CCAD9F45BB6C976331CCB1AE84BD12DDD0C 0245E24C556BD9DF805DDEAB76BB5B82A148CDFB8C17F97B70114107A41812EE10D16366444BFF E6EC7BB9FE286ACF78FC1C50369FA2E0E9BB26BEBD3112F8715651DDC05482809C0348B8834AD5 F8594197582B9FA1318E4908A108A08BF0163B419D0B20BEC4402E2B1E96F18552DD6FE45B9759 FCB8EE6A64B9D901173B3BB5D36EA3074C8065D37A7B0E01884A59841C5C208D924D8436AE36B5 F7EE7EBBD690EAB5AE9897B43B6F46549B6B41CFC6A5EFEB53A6E1EF8D9DF28E78D3186158D4D6 1C10AAB0C85FB5A9CC43535D2E458090AA80AA75F39B0AD1C02E3C103269E8A40E60832AA2B160 B78BF08BF2DB06C8D55C768055DB5F52D1F24A2599EF1F412DB23121BC8BABC1933CD43B0A5908 77246FD36AB18D0F0452325E5F1FD495499C754D3EFD68D948DE856774E476660F91577FA68756 CF17936C23246504495C072341C8AF8E7E4BAA8A5D7CAD373D9599F52A4D88C2F5DEB65A2B9C5B 6914C569F8CFF9164725C261EEC2AAE3C88A26BFE1B6327DF1EEF827562BBF37E8106729B5CCCF C0F1011864574E4D0E5B3CEA70B562F03BDDA49B107521F192D36ABC6ADA755456175EC9ABBBE1 E550C412239EC97662338E92253BBFC7D142570A6F22E212C8DECAC66B4AAAD9DF4BB681BCA16B 29B7FA623C47FF37905F923C0143AE479FADC0E27E8FA15B461509D847F02876975C6B3B33F490 A4820F9C43D3F0115C6157211CFF4B13696BE005FD45481C9E496B078389E01815B78C9402841C 45B721355653E4B64C5F226D114DC02ACCDE11E588DF5A7889B8670F1C9F40A5DB89A7C8E901A2 8EBFD43B24A5DB9B2F864C6A45F9DD7DA926DA86DBE5E2EC9FA04004862A5903F6A5F372303738 B42D7FC4A35941157DB85F26C8D11099545E57B0AAA49DE793C778B8E75F45CF566B54BD1DDD7D 17E3621418F09A96A4EA2D20AE83D88E45C0B083E0CB9F3D5FB7D704581BE82E3D242B3EA6A7A9 29B3B8AF7F5D20CD8303E7EE1CDD637E3DBDFA0B876A2E7B7106AB66779F1ECE9AB75E4C2083C7 C97B246EF9B67937CFE4DA2FD95A5E12D019AEB10A8B1F609F2426F53CE3A6573B8A13392D762B B2A97FF2B9ACD94ACBEA9A46D6F0F2C464145BC6AC740A19DCE03904FB928F29053493D4CA10E1 351458BCE3B003C4BD38C891559E363DB4F6189F4925E314F77E7900DB5285C87EF4E2C55B9A12 CBDA6762604F98B6D2209BC928DDDA85C5B5AB12876AE7D6864E8A242EB1251D6FD05F8F088A80 FCF304F598F9FB6AD997C8A5481BF577FA4F61B2B742FAF0BC932E886A961B060E6320C3D49D62 7C04EB0295A7DF9F8AF5F2BA6FB64AB76F685781460B35B7C510E3867DC0DC41179A1E8BC5BDB9 5DC54721AA06B8C2119A8617674BD10F0687B07D56DFD63AAD41DF660F600DFCD91DC80645C4F1 3FAA4A6C4B240863F6508A81EDF8B867C948EB7D3A7753A4731AF75F0C05DE4680CE216E04C8FC 49BC1CF193589EA6A33C25BC5B7155D4E34A43B49A8C37733AFDD714774E9E70FC22B40D6C9192 D073E2E9731FA2B80ADE7D40ADC5FE1ACC52952159137FA5B30A7EA95C39A5B6CA9F6F1B3598B2 90EC820457E11DB827E3D458C2E682BC1FB6B5E74817246B4FB47DF7DE1CDB835A849078BF71A9 7711EB1F74791E797B3E73FCDAB725C5898D5188BAE77432AC20087EF62211EAFBA46B91B295E0 8FD9D4C98C1331E4A1D7206A60F03EFD2E8925ACD1082FDDA8B2B6980B960C9D03BC754AB0FFF3 EB6E92F8A6D41954CCC7A6598CCA897057141F0ADDFED6F802994D00EFC0771E4B5CC79CED9844 E2CF890AC9F70AA4567102ABCC67C084AB818076D3134089E623CDB5CEF16E6AC89A1EC34BBC2D ACF87E3D7EDBC5A2FE1774FE6B5BB78FC53425D364919E8F086D07ED1ECA919F003A1C5C05B914 02086AC63F3546A34F2F99C88140F4C51096B72169B413043C366BA7BA2E5D1DE570FC1EC6CBDF 03658EE0AB3C1144FE15F8E89FF354E00261483F366BBA154DAF5E6D910F1D40F7DB4BBCF8D82F 4BEAB925EA8B0F5761B1517A2BFDD400E6B6B9605034688A7148596AA8F25B97772979B49AF56D 28B10146125B19AFC56881CA4BD579D649D104CF443E94B186FBFA0F29538D8AAC4EA3C1774A7A 64226D033869F1D821E98B9C9C1393FF35EC9A962BB8BFD3D8D062C086234D6F14D9AE028C2957 5114905FA35B368C44BFA14DE4E73A4D6C1A119B79A6E3EBB915C9D48D3FAEC3EF31B7AE39217A 21B66FBA853E750000D395A9BE87E78CD91F390C5919766CF31E45EFE678577ADB5931CF5553AF 54F9A0E9BE0428EACD715F7D20C3D75D20810C4C0D96BB10C14B557C201B954841501341827C1A 30DA27C34A5A4CAEAFF4A3ABA566249EB82BFB367EF41635B2E27133C0BC4BF6EE280401B00B48 87EE78B50E524A9526E442E2EB566F3ACABF1C60C65F60075C434367C67DA4AE42B1462BBB0AE3 9C83123BEB32327FA66C18409CAEA447B8F504FBFB2CA2EB0448691CBC3C1826AD55697611E310 BA84B3133D1240BA430B08010BBB0DD02A84FECA352324CBCC9AE188CD9213C2D513745D868C4A 6A0C995D7B455034DDC41A8ED06752805DE487375C69DD746D7F8940101EA49871A4B28AD792A5 69E76930C32568A9ECA82892B44E111ED0806BDFFF59EDD79B5BB11F82CB7EA201524E6D6D8343 C3EF568F33A450F8A25128218CEB810B4D4566547F2F0A0640D7F4C8623945E5755BB7B6B48272 96AF202D9F4B17A2B4CD03D961B5728C04E275E037E49FE8A29A89972D0061055357A40DFB5019 D0959C44E231D6AB8C6FCC8E24F5291E4B9C082AB5F7D58CCF25 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsunr25 %!PS-AdobeFont-1.1: LucidaSansUnicode25 0.9 %%CreationDate: 1994 Jun 04 10:42:59 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (0.9) readonly def /Notice ((c) 1993 Bigelow & Holmes Inc. Pat. Des. 289,420. All rights reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All rights reserved.) readonly def /FullName (Lucida Sans Unicode 25) readonly def /FamilyName (LucidaSansUnicode) readonly def /Weight (Normal) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSansUnicode25 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 161 /25a1 put dup 202 /25ca put dup 203 /25cb put dup 230 /25e6 put readonly def /FontBBox{-26 -236 1026 815}readonly def %/UniqueID 5054525 def currentdict end currentfile eexec 8A630409A330FC5FE1ED7CD3C975467DE475D113569CAA8B923FA3C5A4A5DBA1B426534896777D FEC0CD780FDE4F4A4B37CBF69BAFE9D7B1674F09E7B60ECB1F741B6EDD9AF78B9450C77EB98488 7838A9B1EFEC7714CB963DC0D2D7FC90DF439E7B2FD67B771E742DC7E7DB927415569E8F7DC363 784A57FC7AC7182B65E2B2B985E0344DA414383767D69F0072B82FF65429A625F418B9554E3934 A06F03727E3C9839A4E576E2351D0253B74FAC9084AF6E67133A5537926A8C80589A37F8ADA04B 5C2AC1126AA5CCBF23226508D011D14D13C6FFAC13BC42FFC82A696C06889B21F1453BDA33C3AC FF81DDCE02738FAE387DF215DFF6FF74471B4EB78EA8C9F24AD655490C27E6059414A56A52A9FA E82AC778F1210142A0F9051E5AE4B9E361B1FB91CA17F95CE918651919C7A235BECD1E676D582D 643C13D5912E896FAC77994450E36EB321BDB157BC6DB7FBD0EE4B0C1A420C2645ED9595D2D21E F387557875DF6A9D774DAF42CA703FAA6377C62B435A83666621A7C4E578421D8C68899952954B E992C6F613EC3AF8C2F4EC93A4AC5D7860448117BA2B6A968239B7DCC4036B4B1FBAECC17CAB89 BAAAC5D4362C3CE32E00409A6AB9B231767C1A27514E9AAD74C32EB9F6C0DBB6F839A28BCBF862 D183D1247828DA457DAC59A0CC0CA4153457F0DF3B5D6FCC06BCBB0B5919DA74CEB11DDF706F15 B342B26D610DA0137ADF11F3BDDB3189C9DA0F0E870986F86C61CCE3AE60F771B65DD2E920BD6A 5094FD2A12AB3A59052BAF45248C006D431F5B04C9071F925A7F52C1271E7FD3A7F9B60FAFAD56 8D8CEA6BE39066D98313C932A77140F1658FAD3B32F7418CA0FDF48BDF17F3AE6F095D34C707C4 9F50C3DFC3148BEB942A63A5619B94218BA5C1F63F66ADE29E1396CCF7CF7CA97788D73D4671D7 BB0CAE1B8E13CE410F2172B2445CFEC734F53A6EF3D3412C37908D22E3E80C817EAC0955CE2752 E9B2327A08895A254ED18976E194E85CFF852770A56665EBAC4EAF1F6808F6288AA2776F813D6D F089F25B21698D10A5C00522210F606F890760441B0871F31A4C0718527B68541A0314D67354BB 834F4FCD365DB2379468671DF697122B66E999BBA6B2A5A6D95E26FEB0E6AA3B4590D5B0C8F4F7 AF1CB7FDB904F10E8817F7045238C813053CB2096EE5DAC923CC9AB2DB9FAE17B2BA08CA49DB7D 71ED0072A402793C51EE08DC09FC9C27F2E15254CCF9FEDB998F0E3B12C60BAE7CBC550A59BEF7 CDE1159E1D6FA72E0026BE03299D851776F57069E9178CA0C53CBF939792BCA7CE52A3A90CA729 91180F917F1E21FFDC2E306595ECD95BE6323E539FC73511C7FE237C873A60B4B4E06C49C39C1C D1CEB9EDAB2891F30BBE64EE95C27487325C07F8F83B2C0CF8B394C3D0ADA55E4B4541A917B23C 6181480F95544F2DBCE9F22F40DC467F300234CCBFD55A919A7B4D7EF74D0C60E83F2627BD5471 97A31EF7AB8E8C27A2EC8CC90B846212BB79CFBA9DD702DD627CFB9FABF73790BBF5AA82450017 4E144A95706851EA88D454A80554853D7EDA089C97BD99805AD58EA333836351E1A6FFBF3F270E E36B9A8A5C98FB53B9B77AF49F3330416708C3F8C9623899CAA72E8812C963AFB98FBDB4596F18 32EE5FF6F6AC53B618EFDA664A090C1778C5D340CC2425184EF1AF9C6A7BC52167584CF057F737 006496131A33D19C40B00B4A728904CCF6669F1AC17E354B71B9D6BFB322CFC1DD2E3D66C97FA5 7886ED6A5455AB1AE8D51393C52D017C5586EB16FAD517AA4F76B7F0E3913C235A5986A767FDBD BF04B397E7150F9CB9EE84BC53E65CEF2E4CF91C0C819D7A4860E35092E3EBF647B323331C5497 A980FA0E95D21A0AB2D89ABF677FBBBE1811983D6BE163609EFA447878A6B9ED22479CEF8C9D19 E8683D22DDA81461371B0D4A2F993B9ED149E14BBACAD0AED92C0B180E46DBB02F8F658A470ABB 3688C09C52006DE3A6264E0F33E92B1C6F69FE0148CB284DF2283638D396E5F8C8C7FB2A531350 F49ED6E90498D2C30B6D48BE680B04C6CBAF4B2F92347AE886270B5753D12FE54A8CB0EA003022 0143DA37757BCB85E0664D61384FAB84DDDA0468702C397BA2A52098181BCC26ECF597DE542CB8 B1A0F199032BA329EF8185D97C9B536BEBDB7A9588D9EE830804F0245FF142D4BCBFA74E1D2AC6 BFB24ADE82B947BFCF2AE083638301E0D52D0838548B9B935B52BC5F3B2FD8AEDA7AC6A0F44803 0CB7E258BDA85320A3D6D3EACB188956D3FC231708134DE6EBE2A296EB0F07AF58E5FC366472B5 03FA40D0156FCA4320BC906DB75250AF4C55B9DF5410EF3ED0DE8A7DAA82A8762F456BBF97BC78 3849A1C9E1E9A7EF154084EDFB53FAB120D5F4A68AD4D83442E7F6ED51F251793E1F5D7504C874 388E61CA7F9120C55228EBE6EE837BA371361407776E82796F5CAE390FB05E2FF92984F15170EB 89296050D3B5CA30D0ADCD59B9D666643FB69C43B2818F03F0BF529A5E68FD043DB7DEE7EA3C34 0FDAF3598037C8C0F8657F16EAD01930DFB8A633572D6DAC96CC22EABF4361A4EA443E55102E45 C2A7443BC2DB4883B1BFAA58343FAAA48E347109B9F5D306E450E0423320763CAC8F4B48177C85 11F6703A383803215E520AF7CA6C449C4906FCE3695117888844DEA4A505372010A0E130FDF705 A37E1DBC59691D785D37D40E737AC708881A603BC0D97730526138BF428D951AA75579D159E612 F847418C23DD120FBAB2CBBFEDF9BC3B972CD59132C313D84F5CE45B0740BA7ED8086165203068 689FE81C9CB701D205C815A8E4BF2C341D264017ED02602ACD5F6576CA7606E51B3EB22CF7AFCC 3C466B69801149AF48A8E012CC75559041B984640EC5F8043A14D70ED3AF1AF7395213E13AA79E A3BFE238CDA1C40BCD49A006252ABC5B19EFDD78BCDB02987FAE 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsi %!PS-AdobeFont-1.1: LucidaSans-Italic 1.001 %%CreationDate: 1993 Aug 11 21:10:09 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (1.001) readonly def /Notice ((c) 1992 Bigelow & Holmes Inc. Pat. Des. 289,421. All rights reserved.) readonly def /Notice ((c) 1992 by Y&Y Inc. All Rights Reserved.) readonly def /FullName (Lucida Sans Italic) readonly def /FamilyName (LucidaSans) readonly def /Weight (Normal) readonly def /ItalicAngle -11.3 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSans-Italic 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 54 /Aditi put dup 39 /Alessio put dup 41 /Ali put dup 43 /Alois put dup 173 /Ammar put dup 47 /Andre put dup 49 /Andrzej put dup 51 /Angelika put dup 53 /Anton put dup 55 /Ari put dup 33 /Arne put dup 59 /Art put dup 61 /Ayman put dup 63 /Barry put dup 65 /Bent put dup 67 /Blair put dup 69 /Bonnie put dup 71 /Brian put dup 73 /Burkhard put dup 75 /Castor put dup 77 /Charles put dup 79 /Chi put dup 81 /Christian put dup 83 /Christoph put dup 85 /Chuck put dup 87 /Clovis put dup 96 /Curt put dup 89 /Cyrus put dup 234 /Glen put dup 189 /Heinz put dup 56 /Jacqueline put dup 57 /Jagannatha put dup 58 /Jan put dup 60 /Jason put dup 32 /Jeff put dup 62 /Jerzy put dup 34 /Jim put dup 64 /Jiri put dup 36 /Joe put dup 66 /Joel put dup 38 /Johan put dup 68 /John put dup 40 /Johnnie put dup 70 /Jon put dup 42 /Jonas put dup 72 /Jonathan put dup 44 /Jorgen put dup 74 /Jose put dup 46 /Josh put dup 76 /Juan put dup 48 /Justin put dup 78 /Kamal put dup 50 /Karl put dup 80 /Karlheinz put dup 52 /Kaspar put dup 82 /Kees put dup 84 /Keith put dup 86 /Kenchi put dup 88 /Kettleson put dup 90 /Kieran put dup 92 /Koen put dup 98 /Lalu put dup 100 /Leon put dup 102 /Louis put dup 104 /Luc put dup 106 /Lunjin put dup 110 /Malka put dup 112 /Manuel put dup 108 /Marcy put dup 114 /Mariusz put dup 116 /Martin put dup 118 /Masahiro put dup 120 /Matt put dup 122 /Maurizio put dup 126 /Michael put dup 177 /Murad put dup 91 /Robert put dup 93 /Robin put dup 95 /Rod put dup 97 /Roger put dup 99 /Ron put dup 101 /Rudi put dup 103 /Russell put dup 105 /Sam put dup 107 /Sami put dup 109 /Sanjay put dup 111 /Saroj put dup 113 /Saul put dup 115 /Saulius put dup 117 /Scott put dup 119 /Sean put dup 121 /Sebastian put dup 215 /Wilfred put dup 45 /Will put readonly def /FontBBox{-250 -211 1099 967}readonly def %/UniqueID 5029007 def currentdict end currentfile eexec AE40F8585C2492B57FC8C19373E315912C0135F3613C38B98FEFD06419749A2EF936D049568E91 2C3B4814601E6F1C68E63168C5EFE4A12F1C972A88E59D27C31A2A9C0BA365B6FE3266DE7CD0F1 1D5F0698C11E8C1D4F1056410F924EFF7F265CD09F63373FFF21407562BFA055B1BFA359C5890A 384338F55437BCB13EF47EA2FEB34874DAE99A2A8CDF087F076588CEF4F5F52D27F99CA2FCACC3 B00B2DAB26EBD6CCED97C1076E2E38C1C7179AF884D34E5981F3B13BFBED7B35D318515DCB2A38 02E5402628ABCA3D4BC1F4808D32312ACCEBEC95EEAC23DBDFC3788D91B5D781933BA1E7A9E7BF 693D5DA7A9281F1C6A7C34E8D6A8145895DE4B6AFA59BC2F66198E226DC29A066BA02F4739FEF4 FC344E81EDB55226B5E16AF7282FAE761F3D9F253D76D6442D5CC7CA3043F7B37D5A34A905ADAF 242097EEDA53782431445078C0B35090520B01B437F01D891573DF402A427CECEC5386F1603BEF 05EEB7DD5FB545BE8042FDC2656F47C7ABD12DF9DBA59693E4F9A554FE067AD8157D2BF1EFB7B9 1C54F92B27DB8FE4AF1572A8E3131A5FC251FC8F3D5918C30B18337CF3CEB9AAC264E467F9C4E1 3BDF64763DF9650B0F6A3FF6092F2241B1DD69076E3878B875564E5EA253BBA208DEAF32B48D82 CA70B0D8FE5181B29362D1603FCD82116B2FCC77931D0E121CDC23CA762E8C9EF47EF6780EC5AB D9CB39BF6BA8F4D191F9AAB5965691C4346624EF1559E151378A8EC69A126FE29F5BFEF6162653 B55AA546E4779E7E60288C059D2DD6FAE507F6E01DB910D52D10EEA2762D59A01C2F1FA458466C 07AA5A0980968990E18D71F0AA71BBD17CEEAFF025A16913D1BA4D5974D6258BA0D1F934656B65 19A3AD2375DA469B27BC108F919BE01C833BB6CC59AFFA34F976382579EC5253B4610F9143318C 050160C7002E29656B29874C5BC27700C912C7B00C1F62458775BEAF10C5A2858456FD04C5B6E5 B790085D9F584195CC9BE74E7DEBDC57D5084C3CF8168D7B194D57EED9F72AFE24EB78A7CED489 AB96EE6F2CE148C3C8CBC466AA2B35B36842CB48476D303A7717C4369F803A4FF311D53F1A0044 B5A3B423AB2D6F361D233CED47B79D579DC4BBF97AE7E6849CE72B35CA881B4680F073C4942FB1 04B110CD36C12B7FAFB9F8F03EF419A1A5CFAD1D28F13EF057C795F53737018583F52474008775 5141099E0C46D3A7F65540A05DEFF5A0A1C68096CC39FA13354863897E93F98B98E2C53A693C2D 57AF95936FA23B61A55E26214D5B2337C4488BD6DC93DDA298FD77A80625C917D9D432EC1AE92F DF42E184BCC2400C51465244F338DAD00BF384DC5910AE26F964CBB75F091609E73A3A96D8D07D BBC4DB58148E2064C50B5EBDA56DFDA7679C10EDC505D6816B86241997582D77385E0AFD164AE4 5333A18BC4FB8CF818CEF97158CED9628B78B6C28BE08E747739F924A7CC9C9EC72FD12FD5BCF3 2D200E0FAF7D7C8F007C84EB868C2118F0A159DF0435C4F9E432F5F7DB3766CEB23939415E3709 B1E5E14996C0B7123EC993739ACBCF6B28BE7628D11843B2AAD85AED50C9D82B5151EABE73505F 3A1C103B7F02C0429A32F3376C13863C347BC07472F6CB82B39EA37525A46B95F9387E654F8076 EEFDB79193E97C16A69EF102ED96F180F44586ECB46F45611BB4FA173B4C8DE27E2C4AC2BD3E91 8441E44FF42D13F9C119778806FFE56B8ACBDD4537C981571639C5D9D5522C822DE5F29B426B83 74E02DE01D2A2B30281676D4593C5356214C5C6D3FC679395E0A838A447B2BC803218F97AA6C92 EE62D3600680CC93187A2D8DC3D7616F4928CBC3E8C42BC5536D00A0F1D3FB114EEB9DA1B5FD89 50EF78BB34E7AAAAC3AD105D960B3AA743CB487AE7D000E14C5BD14A2250AF406174ADF67A0BE6 7D62771A8D6283F574F314FCE1FB41B80275B825066BF711A982E58E8F34657DB15E29B20B5EEF 6EE8ED0BAB63458DAAB556CFFE712851DA37303784F656309ECAAA93185643264ED4B7B6E05829 67E94B9311A2636F0D6F18BF83E5FE28C81DADA7046E5D485B6A9754F679F2851C5C3F4071153F C25F09DB849C09E9CC34A96E0DDE7BF692895D4B6678A1FBA8DF90522086D5C64715DE5FC26F16 B954EDB7C3A0A72F1278341A1018286562228E2EEA26EE8EE340CB332B43CA68C65A2D57FEB45D 0BF8EC6092219E7EF9CC649834D297EAF3B5FB00F2F83399311AC5FABC8761A13575B0C4D917BA 0AA75C78AC3AB78AFC746CFD5FEB2B91073F2FD8D4C2A3A490C94BED5131622DA474A860B312AC 4675661BDF91D076228D148270253325F12147C5A7FB25FAD15732E43004A70F095EE3AD448D9E 336CF44C4D55CFC772C92E15CEEC2F56A002A6E1670ABBB074DBE0CA55BE5D1FE65F5A9FF90E1A F4A4B5455B9F3A82502C4D860468B7E7E91A77FC043C44E19211A96D8EDDEDE29FAAF156AF6C71 CA2D0D26A7AA68A2A0864BC236E3B410485D7CF2A51C3FD22A147E3E44E723CCE629A3E67F5321 6BF328C2BE130CF9C05260E4E5FBE73D9C2032BEA5AEE7B0ABCFD2F6D9874B77D3B61AFDB4B300 55A0033C9EC86962E50CEF67EDEEA31C093B3A429D9AC37D58056FB739B64FD22BEAF7955D1A12 4E1F5F81C2FCDD89432C15ED61285B1D300C10714167D1D4DF9C7B0646BD825805B7E6F21ED4A2 06974B556EE6306C84FCB475F4F242C440A41B67B543BFCC178DEF4E58B739ADF0E14D4D0137B4 F48BC39918599A70DF1F0DE49F6527D25ED35B5901B2EACB584E8F29DE5CCE15AC1E31D4A14F43 CB2BE1150D22AD419EED486AABCEAC25F01BFDFDBAE2E3E4C899B3291897A638B4420960CF7AC2 F08236D1D7747AF87A207081CACBF00A0994C2F98EB90AA3F4211EEED6A0425C6BC0CA31DBC6C9 DE03E02A5AA192F0187C822AE022AB776CB891E95BB90BB89C07D34A38911A34BA591D78B7DE83 6BDC01BA45F0A66D735E317B06AF7EE6E817E98FB776EBEAEE6B8AD56FF5DE1134B7EF55D87F21 057F1248CD06932F6DC349D2E9B1DE0B81E300625E370770C548B89FDA0AA4F8B7373426A4C8BC 200F54CF2A587DD11ECF76E2E324591FCA3817DAA9B3FE117C826F5B53F24C722F766F73903C58 A81A2067F7A3E8544B64E26BFBAA0AF6FB10EE8D4E99C49CAB1B397E0AFFA566B007330EE54DAB AF0C044E8FF8CBCFBD70A372C5050F02AAEE6E2A648771A199A8290BAF6ED4AD485DACFA5A4937 CCCA8B4D03FE96D7CBC7C60E6E95B53BDA2597C66168D3564D1BC6617033688510AAE0F6DBB16E 192CBE34F5E0364233AD2A2D0043703A48EE02E2B4576645BEAF3D44622983407461F2E700F3DD 51DD10BF742D645F22700223960637361E88D79EA8EC0084F5F20D0BA3EB94A7B5EEDDE499A39C 1D621945DFB5937A31BEEDB0E2DE8395EAEEEC4A912825EE2D30E06A351862C9F02711D38F63C7 4BAD03D267BCA956F029F2BD396A577000AAB31B00B004D7DD5F6102D7FE0BB8443AD768BD6051 CBB0F6C74FE866A2628789EB0E2044F2EA6F0D1686BCF0BB7F245AA757A20EFD93268FC1E140DA 35E759443BFEB681CA8B10244B4E395F3E9A151A5A3D74293E5EC0A2C2D2DF37132705FED78742 8C5E876F567D1CB77F7338F70B3FE5AD1F7D9D6AE6AEDED983B638C5B1F6284BBB8911387C2CBE 51B92657EC57F3F28F9F71BFE582DE883F2F24A3E1BE90D5DB001E7B69968AA2B8564940A2B3C8 3EECE73D1DF1A51672429FC169488D329D8AE41E0D7E557F6678C6E36EB1877DA3B7AAB89EDDF1 54AF743BB2FB8F4EA0AF7E8761F3EEF6794FE66A5494E74F7428EC2D47149F05B8E3CC934C46B3 8739D1BEA64A39C4AF8CC42187FAE682546468FE3C68521D074555FE83FB96B018489EB12C7437 9EB97E53BE86318E53494DA7F214B9EEF02B1843DEE3D3B7FD4F94986F310FAAD236BF55E7137F 8B35712AD6C103FFC59F05AC12629D2CB39940395C9683B49D80D0548A17D45A422F9BC0F02112 DE3AB03E5CC55DF670637BE7E4F0ECEC9B324CC26C16DA89550D80C609134B14E9C5575662A309 783794C673B64C3C62932C64D9D9F560CCBDB7BB6DDB1A0D67A6C1D09AB7BD60348F91107F65A1 3EC3149656CDA201356CC2AEB313A97E203C8037C9D5C5A70A50DBEB91E8E4B54EF9BF8DCCC033 23F8AAE82CB2B60737C52832DA384B02AD2A1D80EEB88AB6ACED1B44AE582B9CAB881E44AF4392 D29F81A30B430463A0D48D26ADD6D7896EADE1C0E82DA83E28F414BB24086566EBA2BAFF475CFA 123D905A8A307E135DAAC8735B833005EE356EE627C6B3544DFED3D62F25E88429C244288ECB83 6733096E71F85E602FB5A77E7807381D0F3805E29716B21D21AFA3BDE43C3EAE43D33082F2F14F 72CABDFA02022D3146A2AB88719998C6EF1984A5891EA63E47C995F5C484D8F3854A79AF856F57 54E9DBBE35668176F67FB1ACB5238423D2E1396E7A4241574033C78F342D11F97D8CA238312129 0D467F2A371BA35E52024740F82CD91A23525EF0597B06A1CE57C7D568B25A96EA0E62756F5E07 1A63F9D2C22E1C3806B2F150A57E5ECAF61A999E3573E613F94591FC4B0B8F4BDBC7D2619E800D A2CD525EA0B722CC25C26C740265774CAB6C3CF110C6A1C7BB9F0A2EA2D03CC8C483DFBBEEE0AE 831A31706F790C0F695B926C89081ED62B5D5E1F02F405DC455751D87BF06CC05147D56CDB03E2 16E4EF39CA3E976F786DEDB9CB0FFC98E3B115E4BFF4BD63C2BF6D577971ED3FD5525448558DCF C4D40E681C9FBBD650712C69FA78EEDFF970ABA0BDB69E33A8DDF3A08BC0E4DB8909A2DDB35096 4FA94F03284532ACE8C62E8E0C5FC06EF66266944FBE4C6C239CB66A4445BF6E50E1221F8C9BA3 2F11E198D306F31DFF8C9CAA5AEEAAB08B30F0ECBCE3CC3329AA58B1F165F151362BE3646EF3BE 6120E2B618135127192D4CBC77CBD03A83F6717133B61DA06E2118AEF126FCEDA71A426B6801C6 C70AE8192EA70C6276EE360B9D89388C37D075644A5009E4450B3E6F88697DE0C0A2E6A1FE58A0 72422BD671FA241FE11788AE83F63AF4114D06702D251FEC634E562CE367948521FBA53344D5D6 18B0A9A2C5E013F8C790BD5DE8AD289DE859768CB488D06F45DB114FE12B2BA3FCD88099F955CE 2A3ED377192307CECB2E7227DB751776DAA54BA17F5E7137E1AA1F1B6DFFE782F715FF29E0C370 76BFF950438DC7B7222A67238157D769C27F48CD9E39AFC1B0AAE6E670E20E982506FA564ACD52 9D108F72E9A615C61907F00F6DC9B3FED3D99380B99242A53027A154891DB04C3ED328DC4B188D 9080BDB06D9513098D1C8A69D844320CD494DA7DCA8FE6B008D0DF6B3121599E951AE22A9EE37F DEA7A4092509F1743505DAD2B07E1DAB21D84038115C10B5EACCC9C96C62A111AEA09B3259BDA6 20202DED8FC1BBE20A8CB09E7C77055A9D0BD7D5F39B8F065B290900603EA23896CE2E7438E6CF 63BB8435EFA37FA35A2588519FC79533D3A1C1B376EC7BBE92388C3F3248C5239C4D21730DBAD6 65A7785867BB355EDAC969FED613A52354E97501D56909BAFA0F87258B068CAF0907464B498861 1D3E7E80E645F7AEA5DCBA04CE122C7A47007A73E725DE31C475A57988CE41BE7D1FE972A589F8 D9CDE0977492E07457698B8E9E184A70EE761583058AC50884A880936F001D53D182CF9605E588 92910AB45E3C752B6D266CAF22397BAFF1591976B6DEA208495EF675876E92ACFBEC1887245048 30F05659B2E73E8E049647F4F28F529684085CB30EE66FA5929774E49C15875493F661B77F0C4D 6391EFE5A0D384BFCB2FC1820130E2E519C3715CFF2AC4B8A74E81C368C55FB5782ADB9BF9644E 2FD416320DD3C6CBEC64A992B3FB79991E62F129D5187763E7C7D8473F963F43F0D70A8EB508B4 970A1572835201AE91F48B7FC35D0D12E7015CBD6DE0677D715E0BF94F1F9D3242F8600EB2B4A9 590BA94CE6D342D9342057E69E0B71175B475F9F9FC8CDF962690867B6B962989D94B7CE670CFE 23D28E1197AD6C118DAE3CA2BF62FFBF5A6D03C7E1D85199908F9DAB1709E1A3FA4C1D18535AE9 5306E0641C9C328886C72C91B49B498202C8B72EDD5C7F5DDF178584A24E6A89DC9EF5437EBED1 CFD46ACFAB9678F27F4BB80279CDB62D9A23761E70ACF40ABEB38BB3242FBC012B8AD563073BC3 240C6AE167A56B084DABE9096EF07C38BA3E6D380E2A1D1CDED670305CF0EA1D070E5FB8574D30 8598EEBFB0C6FC907E25108902BBAD331F177EC95717078B97EDFF258F55793FAB9EDDC508FFC4 719F491D791F5D8487FD5A31992A1E6E4DF7C82AA1BEF383C2F74ED7163AB6DE334D48A11520BE 2B47FA5C0B07FCEE735F63CCAA25507A78971012EC943DC2D1607B3F44DE13882DF23070BC066F F74646DF196E1688D7350D7672F93691FD5950AD7ECE2FBD6D4B1CD777C88DFFCB90B57F9C829B A0C9F061F7DCC650CEA49D70B440B84276E432FE47D7D4D67C241F8097469638E4F5076A65FF5A 15FBE8690B4F6788E843753F6D961043BD8C7908EC2A2EB795AD2955DDB8CD9B6A8BCB3C2BC673 0A24CBCC79F15D44A6AD0CA0856E661EB07890BD79E93FCAF93AF80BD1BDF915B799C9118DE981 496A963B4A9498E11893F19446FD9AAE7E4B4FACA51601F5C54D46E7DA49750FE88F420E9D7325 DEB5A6B091469240AD0DB4537A46E71595FF598BDE54972860305F59F593CBCB7B0B26130CCE19 E0B553E8D52B1953AA0E463D49A01B3B2B588044D423418A58665DC05B5AAFC47E264985934F03 C358035E5E4DADDE030060BC07E7F0526FBEEE7FBD26CA50111E8BE27FC021214AA7BC8518E51D 93934E23270DBEED1246F623EF50C9B12A3A79FD2425DDAA17B4375FBC51A1FD8A7A456441C5F5 C8DCE1A112C00058434E3250B841ACCFFFE4EE5CE4E8DCAD1DA76C39CA24EEF79A2297B70D6AEC 75B3179FBFA7A4D90B4522A0F4243D14FFBD028961211739790B55947C4DC63F0DB959A3AFC7C5 65D672D80422330AAB64D51993BCD2A34FDD8B1848F5C400BF5236188C683BCFE47412108B59EF 41B7465B020FFA6A9BE53269B4F8AB5FE2A9373C3AC12A740EFD72228AC156A999C6079687FE52 19BA162C917DE80869339BC76A9D7DEF6224AAB13F1E17BB4FBE9722B94DC84256529932A33391 D085A85A4DECAB06978B9166F075B51DACD371F172D428081AE1826645F9A461C257A46BAEC29D D6848025FB7C6F027D67A89EB217AA9879DCE693729D36171F815C3C6967F8DDD4A0EBDCDABA1B AE3C7901A071501004DAA11EBF4E6B20242EB6C4932403A6FBC9C190C8BB789CB3C3F2DB0CEC69 1FA2A1632F625FC6A1E91CDD863CE75338CE56B6F8863D77FC57B211D413F75B2F7C16F5392015 C33B55B49BA91C9EBDD5AECBF97D80FFF1B84488FB259623C858B14BB3D78215185A866576F34A 0E259D58C750992B67B0900001AE2CB8184419C9BEEA52ED099057805F53B7FBAFE7BF2FFCB3F9 7571A88C794B5AF35DF67BCB66CC21536AD69F860DA40C66AA8F6DC6E52A9C0CF052BAB6708EA0 0ACEBE8A2D3FDD21CEE891EE4B905F72845B3BAE8591A20D99EC177C44528F56A09111A498160D 9EFF65D62BDFD201B608B578E9E052EC257CBE33662040ADF68209F5E7876E1BFB861E21405F5D 5D3A2F684C07F20223E26B289CC7256B10D699637E5A15F409ADE71779032310DB5FB5C98CE037 89EAFF598241368500C76315D8E3FBE028F587237B1A4E71BF0B52C181AAE9B88754ABBE054185 A035D118630FF66EB5A48C47949779276B5AC20699F3A33ACB5F9510263670B25A7E3E92666F3C 0EE6AFF2CCC733780A0D98569B4E08254D9D88DEDAC4F50EB1FE9CBF8588E301FED58E36336167 7F47386A37B86186D0A0A4627C2BD0C956DF9C0C9209F3275BCD65869D14B94943DCB3A2FA8B5B D7434CC1265F7CDA7D86300A5E033AD24468ACC1809460A8DC4231B5409909F865C6CAF7A2D998 3BC3ED0BD15585A43C6598D8D3103547170067B51D0638150669DB52C1E371B6391D2311E5265C 6FDF27951111A7524A304E865898634CB768EE72B812A99DFDEBA1C284A0FC95442921B8DC7280 2EF144335923FE114747EB3CF24FC652DA97A25C2C92ACCFDD15E82144500A6BC1B2F79FF4F722 E06450D2E6335839962111DCBDB1094FA2D3E817EABAD4DB131F01E453ED5CCB794316E5D259E2 7A0625D1B5827706503B0F67BF168DEA99FFC9AD1C6CBBBAC271BF0B92745C422F9BA22A2D2F36 A0964C052062EC7AF373244D8A49F60EB8C2881906FCC197BC9510125DC61628C8C1B29BBE00DD 343075F33AD0AEF24F32B0F2EDF873401A60CE8A8B6176ACB9C1A395C8861BA36322DC7DC85796 6C8C77F815477C820716F965B1E1F0AE5129A01DF4507E0E04B5168FA3566AF291F084CB65D0FC E86EDE9EC19EFA7CF75C9749CF4B5BE79083E8FB7508A51C5800D546FB14D4D8B5191C598BA5B4 82E8A0C17F77CE96EDA3179A4A5613C9235758699EF8E2B4682F920A70CEF54FDF59101C5135EC 3FEC9998660F8D9620B755F45A6A9FF807519A5548EE4BB55CBA5FE6D407499AD47707606DDDE6 32D7AD1A58FC63F97357F4F5C63E4622BF4017B0CD757D554390F27123D17494630A756CA2F1A1 A872F8C09BA62F76E5910578DCD4AB4B0DF33F6BF4DB1237EF65E5FA97C593C90728B12FB17407 FD681A44EF78E14918E7B0530705A1B8F27495B3029252DA7A3934F7209D8BA8442FAC0EA0C03D 08623347C4B17B249B91E3FB30FF88DFB190AA14276D7A878D6711BB273FD611E15D13541CEB1B B6B059985449B7A63C8C425A57AF00293AE85AB3FCA9B709FA60C55EB6AAA639EBCEF4847DA4EB F28A235000471D355202F948B24C9283FD0C9C9E3AAF88735E3769B7D60A9410B61C9D62AA5425 9E43AAC9208A794D56886F983EB006ECB5084CDC8295D1EC0F52B12AD4BDDC14E672450D2BB481 420AF2E5836683F31FB7ABEEB5FFE9D5E1AE551D3A6E123ABBB141BF313E5D4ECAF00A12C441AF E36DE60877FDAE8D255DD1F8BB0C0DEBAF10EDAB4CD2C79B4ED1CDE61E57D12B389C541A8A1823 53637D9C1A48CE343C88CB15AC45CC54EE6895C685F89691D09AC4216FDDAD8549D164E8BCF101 1C2D97B3F1DEA3D7C0EE3049860A949D8A558553D5E8FB358C8D2F31A1DF90BAC093E7AB45DCAB 9E9D4A36B5ADE3C696921C3545E6BD29587068B57A79DACD07C50610EEF8D16BF0CDDB6CB0F459 8EE921AE8764247A771F63A3E8F39B072DF066C1229948CCD60B26C2FA9FC8467F09762BCD38BC 3C5A17EBF085DF652CDBC0386E5F8F908C6EEB9E8B35FCF8BF69177FE9002592F93733D3502725 1035E29E2E4A2C17FF86B5E884ECF851CE8D1CF2E667D9F9FA62EA5C29858EE46647F77FEBD6B6 071C827470A97888B53EDF69920EE368044F9DCDEAD7D40D21D44A90C44CEBA90B64D800B6F083 5EB84A3D66BE4F6B1B173B8AF1D0CFE9D11FA65CA2AE847EFEF063BC4400D508C49C220BE19F9B 14A6E76E2D65E54DE811D104FBC001508ED53A71E6965FEB07423F4846BA0F0C70518D2D9377C6 FAB46993572179E9A0D75EA6F67C5B7FEDF1B756C882DF1010549DA4B6519E9CA28C56053BAD1A 9EF5D0428F2CF9355320B70ECFEE125C9B752E2D30C6E259F9A44FD44BB45CE8F66C3AB6C27DC6 E2A8919A2214220E0E5ADCF6C885966647797B9AEDFDDDDA5726F45F407034327F70C388B6EBA3 5227ED48CC572516A3FF067B4F7707DB59CAE2B37663CFBA1E7128B43A2F1BBC209BBA10D71D53 14A31B03E68F68A9A97F32C14205D4E998359039CD08D21B0B4A01FA2CB7FA8B28DB40F23B1301 2D1664F42D084CD6D49588BF294EECB7C2CF18B65106BC49DA160DB79A63A9A7194C9F2F79F2A4 F97EFA10698F291334E8B4F74C9D948F557C25C4FBC798ADA8A53B9B0E6DD4BA50968F5A5707A3 A6428BC7CC56704534463F5031272BB5C08DD6F4033FD1B5E1A395316AD330599EDC4E021EB125 7BF081AC55857A913DFCAF39F66A1ED2289A57AB6CDE8A2F56D11157569484BF6EF26B04C7CA9F C821FC46B9F13CA07AC0D90FAD8AC2866BA8DA0D67B908A01387E54F9F9DDEF25F50A1DD65717A 3533023CE04038271DAC6CB401D3F692266712D3E380970368A34962C60646B12D129745C961F1 F6E17FA854630F7FFA9E030A0C2D6001692E71495AD7492FD65912BBE636050F85DE19D51F2722 E8FEA3C931541C9C370626163C528C1A3C0E587C7275806D08892C2618D0CB66B6AB37EB96EE34 26274E9E4A036C57AE33B1C7D50BC5E2BA42BE0F14D32F02F77375087BEA2D3D44366E13F9CDB2 096459878D802A151789E54C21E09FDC98C6A3567B7F6EF03E7E67228998E1F893ADCD0EE49F95 22FFBA193A8BC1D5A2A43FA75300C4C72A1E388A792586B3716979DB9679BD3779EC4D9F427F18 E4017D87C0B8C44460FE64C1A591875E589CB9A4818341FE9FF1E515F6D510685338514684D90B A40FD68AA77BE2F5D5536772A6232B386CEE391C88D1796CD076A2133474F9B1506B446F61D138 E5CE584D113BDE06EAE89D82F1AF25B78891766CB386332EFC60A57352BC96B42905C0072DDC23 61F20E89BA1DF2EFC1C18FB071CF04396A45293E44FE656A19F3AE3A5635560763D03B6039EAC4 605AC30D4E3B1A68AC6CD68B00D694399B9527F13D81099DA664919A3D15C3E6DEF460134A1736 B1FD53DDBD20C248D0832074C2A22802B7405EB6D33D864D97B78252BEAE3BF9BA5DDFC4CA077D 806289B7ACCCA239E6603C7D2BA41B7DC820F86D1F8530604D7E3F8A1239081D7FBF9FF9C2D9ED 4D672417853364CAF9F010CF08E4E060038A67E70EC743AB7FD3BFD62E7C209B0281F592700E1E CD0B18F65DF4947D24B2D9FA6C645348495864F66008BFE85089E6442856D0DFF9B27648A793B2 22E98EF332692C08FFB08A7AFCF9EE4DC33343F8FC0B2BF5F59EA5FF484EEC4D0903A7DE30447B F6159C922C3691A97C2308CC2B32683A72B3CB14023E76410345781F0949E918D47481630EB60F 891D13EA3AA81DA60DA50E67D0DD63E6823DC1375FC60738B633996A10B16BAC8CBF574732679C B238B9BB0C1507515558A5E1419A17DAF43BEA11E31A9F10AA8DF17DD9BD9EFEC13EF6F6D1B47E CE37F8D45D2817B5CAECBE38D45BDE09604146FDA57CC7E0814AC69558F170A7AC2F8DA6A5C7DF 485C1E16BB96C3E1DA2EBC5D76630A99A007AEB8F680F2A10182EE55A0ECBD17267F6A0E4AB5D5 4E062DDDA4DEE9506528043578853DE1CE8ACDE68938EFFE8283419D9A779BBC39221379BA2767 DE78BFECCEA814269A456AEC28CADA35B7A1F5DF89D57F9FE64B2818EFEDB506B1CBDE22F9E706 54A84DF0C0124124646EBAF633E054D704305B2723EE6848011985DCC11CB1DA81ABEB7CD5450E 31C218B45C3556B7D1DCD47D4BEA4E3FFC5930037B2664ECCFAD1204D8CDD7289BFA1B2F4BC59E B586883A9E8757EBB0525A53EB83996963ED8DF4760CC16B542BB7C60FE6C0F3A18E18B26EFFC6 CB96792CF2C2113E04C8E64335082EDB3FBD78DE0F1D61B55EBABDFD44786416F0AF593379728C FF15973618B201D872628100BA908908A978EF091A126505221F6C52E7096CFCF13710DA707347 308943095A0222411C858DC7BAA314EC1107CF9C7C699EE623981946E79B70177FE70BEEC2624A 928FBAF73B1CC7D65A6E76387EF3812177BA0914BAEBCC99564A2A26710129E23899D8822DF447 06AFECAAD63168BC96BB879D418D3A26C214E4F26E186ED9B645F9023013086767A5276DCE1B81 031D6F08055D5898C6C1DF53CF9695F0B1DDAAB78BB824B2EDCB8D726B2F477289C16AB9E85013 1E1E23221929D95E17F4011D2126D783C1363403D650D426D642AF6928AC7A017E2D36A60CE6E9 7EC189432627B4BB14B94E2F46D4ADA823DFD6093F9ECC8F01FE148E59C11AAA4417EBC801B0C8 D8B380A4922D9AA366BA64BEAC25DE3BB50E5EEFC4E0AA8E8D6E7D664FE249F01058D5CAAA8C3C AAC732A1507B9F84AE531A3F5A6CA32C812EC23E31F3F491F21835F655ADFD42E6387D03C500B1 D924D99572BC8F362BDB56FB6962800DDEBA947659674DB719E4CA9CA2CA8BB36E28CBECFB9EF8 16EC9B0AB6B464B959DFFD30F564E6C7480B72A5BE58B2B1527BF6967F08F929D98378B2D18AB6 2A73010C9FF49CAEF7C76CAA65695F1FEDFCE05A487CBE6CA689F4B095BDBA432E349816190CE4 BD03D7246F73B5A6BCA12E262BCCBA77E25C3A19241202EF50A600D21D16E8CFFA05EBB85E65B0 E3AE69730D4D3EF79A0525BFAD3659DDEC3F536BFF0EEA6693A683BF9259E098B1CB8EC38B1DC6 AD3B20DDBB88E1863ED1DF64A2452977A1C70CFAE0AC206977526D2EF4885561EDE9C0642D6524 12A2BCFF8B37DBA2D31079C4AC6B9CF26518BABF3639D9169FACEC29E42DA1F0AE2EE290FC0F35 149E0EC8807C70C4EBAFB12CA44B7DE7D95608DDBAFAEB476E98836E317187715C1F07C3719EB2 0560EB5B241932106C464D074EBF0B4B6EC4E86CAB3C00357D406EA833652D729D32069140817E F7F906E8650CAE88FABE5545CFE266F4966FCFD8F83DEED5C086876952F0D024108B42E06D4DB0 89EF77802BB2DEC90966D331F6E34D92675DAB18FA3334DF9918806BE5058BA582F35B2D742EDC F4FF8BA830F0C86148C235788EFC15400E08ADC57D6ECE093E1F7711590DA9D30017B730774052 6937D9A8A4756ACCB0A6BD2888CE2295658A9B534B88EE43DF464BA3AF64CE2504814D2B065B85 0DC705049E0B346D007B43AFC18028D4E9539EBC7CD14737CC1B7F10F2CB000A7F219DF60B449A 12D21E16E8789B7B8F67C354574B6CB5E0B6B612D9C5D5B0AE7D87342AB404E967494718582FA7 D32CE4D6A81A1C9EAF3EAB6060DFBA250685BABE46B4FF3BCC701AFA8A868F7029B38F3568834A 8C34EB0E6DF3D67334FD0E4838075286331AB693179C65BA5087988383D3D5EC5E0AE7BDC99BFB C358BA2AA274A4521E286CC6052A5C477696C5578D5608267CCB164694974BE93AE7E35F389F2B AC6B7980E61C29B1DD2D15B42195E795B00D2B89E6C4BEC4379413B11B939A1528C56006ECC994 7E4F14E3D60F7400FEE32D77798FF6383B3319C6F92E494BF73A90083F986CE5F2105C0E801027 57AFBBFFAF368A20EBBCC6516B79682D8B70A23D8DF3A2BBE4EE081D4ADF70847F95DDAEC10B35 13B069B9A6E50FDE25E3458050F568625F680D3DAB2FCD3B7007109358EF6428756F742C90118F E443EFD7E6D879CD082F73B0B95E230C06C67DA5CC8DB4792EB274FD596DCE8C966F84B54FCB14 8B57141947461BCC69A012B50DE3667F6DD9F0FC7706525BF5EABB07164BB07B9C973B5D31D0A2 2CC99E37697A6D14B6F4EE4745329EAC6A5DE7BCEF1B10DEEB46DA4AE14BB82CBABC31040987E1 74EA49EE6F543DBDA0063B6C1042EB379F610DB5C0D4263CFC08A9C5604B7FE2345E775EFF6BC3 5C581500BCFFD98E23665B2115CFE33A184BBE1DB4EF955F409074512F61A37827DB751757E284 A23C89932BA251ECCEE545B6DDC98246970B17C12FC7F9237E6D00E8187F7F45E048307688EE64 2FA6CABEA56C1D8C1FB31E0B0B95D7DAFC1BE2E90F933A44AF03E94BA2DCE76D358C2D7A2216C5 E95788A6BDC9350135621D59F52FC74BC96D94F93E6E63123B4F56326413974495E822DE96FC05 315EFDDFEB919FB2A36BFD8580D6A21D11515EC7835082359F3D0B2F79901FD6CC2AC41E2D7B9C 412A49C9D7B8FD6EFA11517821643349EE9FDD5A6F4D55F440CB7284726C6DD45E84049F8931CD 570388CDD6DD5F7AA0323533EEA3DA70FF0AA8BC42F3B129D0AFEDFD840FBAF2CBC35FF45B8656 BDDAC912ADA0A3C2EE447684AD4A0DADF205A419E583D57D352B30356D611E5E8B67538E2AB612 787177B8C8CAE9A3F63E58913E026E2BDBCD9CDF272AB9B181BE3CD650AFAF3FB9D6E07D32F915 4852862C3F7DB6748FC834C868619A4E7823733CA044DBE48F642944A087FAC70432D01392A52A 3FA0D1C54EBA4662AC8DE38827B17CF644C2987ED7E57D436E4A88B29A1C91F454A4637CA5424D 11B82D1137D58867A9BA363CA0E07C005DFEB038136D4FDFD5AF85F48E58E50D2AAEDC886A4B22 CE2DBFBFD24F4A05A3A9FCA87A95A871BF8D6237C8C63E618FA4DBC9E15ABB677EB7F1706B1C9B 125D4F5E39A168A989FC53D34F45C24A52292627E11F64A7BE21E5A61D4D8F8C9F7DC3B0E139FA 1E7EACB8BE224E679A29DD3B44FB9B29220EDEE3FF41E88D15C914E9E2EA6FBD1D409753D69FB3 ABF266FA7991E82B74C7C73BA7DEA82B0A0CFBD6291B4DFFA1D68306D24B50906A3EE87A0C3A17 3ED5A1F983138E7BD4381E1B21AEC00F72873F4EA6C622118F37619F6A451DBC52D2BA704DA804 17298BB1CD70A5FE38163F83ED96C2D5EC1CF2DC8CFDC9C1A8C2EC735ABBC1851C1A3270714B88 ED8E2FB5A0469A18EB27C0B191169E37D71D62D6FE06E23B18B4DFC93F8E220DFEC3B57F34657B 0BCEB41F10C0DECED95960DD664C499BC607614D97C60CD7794807F2D509B6589EE4241E4349C9 33A94C3F1E58FC40D320CFC31153BCB12F7CAE903D829E8B2300F41DE6D21B5BCED26673042B60 3403B1918E2A57662FA77A21D16EAB58C3C81243EBC05D6922C843EAADC9DA99B83AE09FA329F6 A6F0B5BA44AB4C1FE88B63BFA4D629EE411CB1EF26ABAA16264204637182774F1AB200C7E20057 17E5168F766E790C248C4A38B93F5F9B5C07E612D72077C36688A597DAE740D04171E33FF960E4 4C1E795C1C813E39BE2C0365341D1EC946BD30DC8BCBED7F9B4AFED3283B263155414CAF138365 2C1935E75541A553121B7FEE8293ACCAC906EBABB343B875E4774387FD8DE4557830B2A8CFA3C8 4B734F4AD5094754B96AB12E977DDC29F8E43697F737E52A6D9DD9A2D8840906B4ABE9C246F684 10C38B404FA6251A2E8A31E2126D11929B73ABBC01ACE04A84FF25A8F7F1AE3A9C8FC04C2FF867 5A41EB0453373722415563EC07A9DF738F7E8E9423DB8A09DC6714472982ED98165984C99F885C 9E9941F2A64D10BF1936C749019845FE5C5DEDF1C057837AE0C6BEE3072C0ECC044B5A33D4AEF5 3506438F750804B696AAD17897036057E77A0BD7E02F2918CE13A48FED56C55FA447B0F32F47C5 2AA0F53F03F6334E6C484AF42F265EAD25088232BC109B4AA86A475BC11FB22FEE50F92FB4C4B5 01DBBE211228D5C14ABA48B56E59A34C813016D43817AF1B707D09BBCA2B20F3B3C90058EF7E56 DDD4004F8754EBF0A16DBA018F8195FFBFD5668D4D21E7B6AF279A08A17D081811D2C34DA41E91 3399F6F3B4BE23879972BBA56C65F6612606DD000A6C857F8F283E6008281E5D18828EBC6BCA53 29977E4C792E468DEDA9BC087DD8B4FCC6D9279BCC069B5B7544585FB305EA3516268FFE6A3F91 CB25909A61EF71B0016EF040365D193CCA29409EAD1AF569DC290514A10980B94D6E8C609728B4 A35E97299E3DD1EC28764A71AEDD26C6D76F5276139EF13F052403F529713702E5B1089BAA4390 78F4D5B1B2FA80FE3CB11B14BC466434BA54F839B8A9C887B769FB59463D0D50DAF8C71FA0A9F4 0E73AF18FB6C7312FD51D0EB70027ED4A546232410E7D29A156A2291E29F6137FB42525BEFC6DB 3049AFAF2357A8ED9CED95CF7E33FE3845883E35632507F3BEE56533E42DF08FA0183CDCCE22CA 7E06D568D08D161560D106E22E9C9576ABE08ECA90A62510C2811D7CC28730D2BE9A1642052647 394F4CD2A4A93ACC984C954F0E8C57670C08CF0D21D46E08925ACE4665D9D724EDC75EE0392322 E9381632D8C287BCEF09E84D42E3BC345DEB24C2AD0C68FF094E07D32685866270DC457391BF08 15A73D64540C28A7BC178F9A8EEBFF4C4478924B72FE21D51ACE32EF43C0D3628AE353B74FC36A 7267FC679DCB875BDFC77821233B30F41A6E1EFDBCAEE3B4319BBE29D253624E48201DD2EA2498 34F67D2F111BF268942F6842939365C8E2BC3330F0243CD1AC7C5B62B7F0A2FBFCD0965AA10627 73634020A2C7C364CDC14EA24B500CBF4A8C79B01D6DF55DB738CBE3B978111D65DB99A78CD0AE 43619F2E28BD444DEB85A7B585B19C594940C45870E21D4B1B110028A4F3A60C951A0884D57E28 D5E26E0E928619000D5CFF442D019097C45DB01BE693F6528A00120A14845923BCB81F27BBEEBC 15A9FF9124371E485BF4AA8B51B2DA49DE8C2E5F4F1D909B2731B2B14B287D921949115891AFDC 2E9424E11D6A6E01800002B41B60F7AF908FFA016E775C82582A4C15F47F941ABA8889891F9441 F2C850A29185D4B2B68CCF46C38ADFBF046CB7BCF9B610379E95CD8D2F68ACB47107225ACDC6B1 2DD0A72F291E27199399F916370B1F7D6F4EC7D0109EEABE3191393C7D6446F86F10EEAD7F9D79 B5AB0C053768EDBE0E0F211F306507510E589686D29D226E55D9F07696A144BB4A6400647A8743 ED136D3C5DA6B183D0AF2B565D9D9C345EAE5B63BABA6867BED519CFD46CE594AF18AB49DA423F 0C781EAC2BFCA83F4B11B431C1DFF69E12287098A487BA099786DE0906EB2806278912B958D9D0 CC168D6246251F550445413478B8A460A24FA8D80A0924253985753DA56A30920BB237E4521C2A 78B4E79A256EB66A4B2061F4B71B421D85223FCC8DB4FED0C3A4C4918FDEDC558C57850A62917A 0E57EA5C771D64A137E17D12F1C5EC08FDB94D1232B090127259DF02581C2584754EEA872D88EE 7E583D13C54D278DCB5D6AAC44F68E76186133A3EAC6AC3D22FFDE29D0EE251495A96DD973AA89 867C6BF4A1B71B0956F32CA07D796A19A2B64CAEAC3B04AEE03E943B6FE66EE9840DDC086E8C80 A0849F14992530B74EE8C58CA3F4E765A7A097D98D45DC90C48A3F6262E9999BC34EBF07D5DBE8 7185B7CC1BE34DB8D09856E84A5B9B30C01CAD5E72034433045BBC57DE1DB1186BA78C08B6B224 07FA803CFFF1CAB082856810D5639AF9E8653470B3FC95E1CF8FD80DBBB597FEA6A4E3CF584AFB 4A88D02C1EA61B65FB0CC7A96EF09AD692D035EEF27EB3BF2967364A42DF2D7565C61400B0E338 168B81E69C07FCD2CE5B20526A707F36786C0C6D53B7E4567D41DF6435B4DCF13256B7E802441E 4C86A0A329EA7293B1A5FA8D532FD0F529A2CA7CBF0F667C784826A1891E8FB93564158B14EB52 7AFD02156785CB4089DCAA8056EC101F85FCA80333A89AD17EB94C100BDD0552006139C9496EDD FFE06E4D10C1258BC6912C5889D3D9108622BE978F52E855729C691DAFCB358169154A78659CEE C855C995B334280BF279955835BD13DF6AD0066702C7B2A7804A223947A5F8528F0E2A962F76FF 2B41655FCEFD02F3F6F8D848D60B65399746806A9A4E671F62FD3A46A8766E6F94422B84E9E3CC 3F1ECFF2C86FD88EAB7C5665743F5F7E26F34864C701B57625A79CDCD1BAA2A43F482FAE42F9B9 4BDBAA91ADCE7780AD209D2C19994574B9BBB132169B488E6BA22ED05C971D2CC5A9A0262844B2 1698BA297412019CD7F6C796944202C89B7D7B188DCEB11C91F90F0A338F62F636B759924BD999 B488C61DDAECC4B68E0104D51C9B8E38354AAA61EBB5B53A10F5798C3E755662C2F92523CE4710 14B322D56181A39DB9073EF5CF6C99028C66A48DCD259DA4A9CA17375AC33C1AA56235BF1A57E7 B3872799CCF1AE0534C5EC3AAA96128DAC5592C6A3AEF6AC4EC77F1CBFE1F7CBEAED6935913164 C7CBAAE272A953ECFD2F9B95E63968190066A66DE5F87CDBB126AB5B806DB3E8F0665952D051A3 DF91F4BBC261BAB836F921DFB0E6132283C40B9BE25DBA4DB5E9561658D735F4E7C635BA312C55 A499A10352BAEA349607623649CBBD0AEEF6DFD9F436CA20A9A887A13C8B1E40064BC2B5E8F788 887C4D1B853C40D74E4E759D417421FFFF7B2ABFF74E70FF8446E268C784BE7BF93CF20D3B085B B4136068A30E1471895FD2345E05BB57D5C32F1EE6C3A288D1BFECA8276D35139876240E36DAA2 99C18AB7A45DEEBC470F8DAFCE5884FA632F11845C1B28A3B39D820CD09B24ABE6BDF342A90D1B E453764A959A0766C1F1B6F72579977F6BAF22C2620C22D16E52C78220AED5E5B0F977E69BB95C A44F67FCFBA74F292773BBF4590773FAFC9632855223B640F8B5F3B991685215F92F1751EBA738 5C09B7CAA12A617A4BA5497747AF13918DDD1AD89085AA3510443E8CD9B799F325AE43863E7F02 CBEEC80A79A785DA41FAD2572E57A19F9A8DDBD1A12004F41158077B0B9D67E9CC4F9F10C29502 50C74CEDA126664FC366E6C8E5D6C8DA0E935D68DAC7BEFFB648FC6215145ABA587DCC95F2A0BC 5E187C70FB879E6F75FEFB9FF1A09D4BE80EB65AF18BD7CF9ECA28F44E49BE391D4A95633B1329 06A003D3879D1DA13717502851178B791137E3B8D7954BFB34E55B27FB430027D6A836C5773184 C9384BC708991D81665F7D94803EE28BA76CD43DA908B279C772A4249E88DFC85A10849607DF1B CA4D481614518C59017B1079ABDD1FF4A5FDAF8053A6225CED3FBE6F61A3404C797A61DD6845B4 261B7BADCD7FBA647562514F72C0B2EF4077DA86BA5A71E192B2F4E7D9CDFDC1BC990F4A295CED BE13590B98608C1B1A5F8E2A1690A4153B9304F5A32C764E0B05BA8CFE4907E39E33D69C4C424E 6BE32F2C298286EC2C7EE5D6C1B825DE78BA87F2E4FD59985FEFA23933832A4E61A21617B519B2 9360D57CCC21A685DD415048A06C2C8F34A3C98498CF74CDEFD3E5A595140F52F02B47A34202E9 2C07EF8E790186E56920F5967BFDE5DD6E2462DDCE6ADB38FCC059E189F8DA70A8687940CF9D80 98FFAD9D7929487A9191C250ECFF0A90012E0FE9F902F78A2C146ED6E5420C00DD89F7415F2573 3B5146D271A89598EEA4005DB32FD27DFA0E293423E4D433DD78A31910988D75F2726B3B8A7719 EBD40A889AB7E38216F1301D6FB53363240E1A07C2ADE47B26D4B6B438FA69786A582C72855A76 77E6C51555F39F3EFB53C79905BCDB3CD88D3A5801F971BC8809BF73D384B53C1E03D65CC34039 2A7A564270526CBD6F9FBA7871BDDE6D9BE23C38D5E53B51CFE4EF588E519148ECA0649AAC1E1A 2606EFFB8EC97C9E64D46E9BB5DAE9BB73CFA6A9CCA578DB26ACEEB662D020F9D2F163B877AE89 746A4B63040082385DF1C5BEC77350F9F5EA41F5941C90EAB5700820C0C29AB8371180F30BF009 5D7CEF5446D549D0931961B246DA8F1C3535F8967D64FD070B625904D7D7DD6E31B9E410CF3D5B DBB7B6D6473771B85F8E2924CA2F4D8DDFB2DB3D3E4CD46FC27C65F7058E8F908DAFA540BF2726 A5A1A66DE298D6EB770FDD4C2EB07F3C81F190712C2C5253379D518A931097A96866C1D73AF6D3 587202857D0A83D2A526D281B42AD8A29E5084228C527AAC631E85E9FBE26AB60F14D94FEF2E3B 9A24EFF6DB66998C5E2D36966A11AF147CD293723A5F2F34625F6AC2C4FB51D0F851AA5B4B54CA E1C8002ECE653890BBC684E4D4EF528BF815BA9B3DAC3A6EF34EE74BCEBD75F35F370363879C6A F67E849750D4953A880081DA1B64582E8D790C288B65DC1B69BBCB0630C77ABFDE5A40E0630D90 F542F09AAAAFD8BFC57BCB9BBED422602DE45CB377C2E634B47AA83CFAAA35E3C869C0819E6E0E 1CA918941B15F66E9552672110FACBB538E8FB8A7CE8AEB2FF61EA94E098B89062FE76EF53C6E8 2CCDA0E8A19BCA2B33F4671BD38C0DE622522CE84ACC4114473F10554F8B13AF6E50A8F7443EFD AFEF23430F4C2AFC9188ED069E25647C5D89D657E5C570A27A4EE5981E1D9D317CC90F5B25695E 9E1B914773FD447A91E76E5E87E6613127CA54E8AFA17052094F6467438B369C8549E5A0A59B04 D32B5A0B02FAB315F25CD4C7E16FCFF78544D88D983EF7C49AE1DDD72275759ADAFF6F206B563A 5912AA256CFCB35CE30CAFCFA481301F6A25F673A8B90E9795B2981601BA88400DD247AF468011 8C698A366B875A8631AF3A5B4CEA30F1B98870C096B0285AD22D2AE0C3E7C2600BBE9DB96A9A40 96BCB3275481F63EC41789444E088A98C3564F22C7CC1D5D343EE6E3494E46C99B1546AD0FC7A6 561C239B5D233450A80A13F4DB163FED87BFD98FAEBA9178CFABD4B5828EE864403949429940E9 BF97455B4B10F6FD8720930BE10E639F7173B460F56701B5D4AC799A794C9CA075D34829B98461 0FA438749B33EB9FEC2BBC2A2D354DCAED8F46CDB103EF0F64670EB7FE92FFFD4734BCC9F5B68E CBCB0BFF982FC7558774F9814B00802B4147A50F96E52FD1E107E1BBC7CD878D9BB194A3280DE8 0D3BEF8FD0CE0FBEE8919B8E6A9C8A45FA2DD71197AB8F15E122B6D96347181D1363A190CAC8FD 84EDEBE0752BD3EB0312C7EC7864E68CD0962B3AC5B919CA24A3F3B75729AC6578254974D749E0 9E460263EFF0F666129514DA59329972C02FBC41C2965D3F2C7AD1B834D210EAAB5FE5B50DF9C6 E16A3DD52EB2A3E703364958B977060CCEF91334232C9E71E27C03A1DE128CFB721881902A1C27 5FF14F0FD65AEA05A3A58241E874E6222596AB117144C5255EA57322E49F07A7DE465C39DF690A 6A9836B10E035928E05AD103954B6BAFCEC520D364A7E4FFA27EDB5299F47ADD3009FF45463D38 8A3C8571B21DC64DD8CF7028BDFEB4F66D105BACD33DB5E8A00363B47B9D348AA1611C059205EA 3B5897658160F069213875205D4979EA1A1F93F196A322B6ACFA8545EBA221B363A4F6C32C5FC5 FCB4E4DB0E2D103AAE01AC84FF8B1BF81D05CEDCA5A356981AED6A5F4A5978ED737CEE2B686275 2612B63BB055641ADE4F9DFCE2BE94F9B593BA495A1351626702E648B62E781885ED4770A45940 FB25E5C4DCF2CA34BCE72693C063D1F130D728D7D04729E8005CB872D264AB8EE6D125962DD6BD 27C0BD80247AE1DF710BFA28C8A5E32CD34E45D60AF37EACBF49682A1A76B15ED787E1E6371B5D D56DB046DC21B5DD9463996A4D805135A4971B8C187AAD32C422087D8FB8B46B5B472BDAA9AAE6 85C6C08431BE762313E443A37812D19F535AA285DBA7041997EA73498D5630D24F727335289DAC BDAB419E8B044E45D08B45B24134B5BAC9CF14D48DE6AB4705607E8B7ACFA9772C1F4E86A35383 FC11C4AA84A7C734915A2A5EE0C630268C6DC794DD6164C9D28C33E6208266D51ECD5FAC58C455 ABE4DD2E28AE428BBA827C18F347127E07E9E14BDF6FF4555E4E6C79697073F5D01927422FB534 7E854223D6932003F6F7F2B6BE4FBBAA65F2AF984012ADBDFE1DD4AEA80E3CD859BBF018084B8C 0E6D3E4B81B9F2023F818BFCAB27AB55D3930F03EDDF80D2274FB6BDCBD888ABEE7B9C3AACA6A7 70FEB66CF346D7545537531AC4FA6DE2AE0B5F0751CB10EDCC047527117F0974A8E0E48413155F B8E15D487942B6AEB71989CD74C88AC77809E1415C14A5BD4776A2593692BAFB9D3F8B398D9C0E 1DF346BB9A75915575B2ED1F1EAE8BA4DE510ED7F5E795314D5E5FEA572DDE48FC742F6318CD26 4DEF0C83C92032465C5209ACC826D2CC9507097A18679C44329E25C87D98AC7A007B4795FA3F14 E93993E927358E2E5142E7FB9CB2E62C0AA0C494768014DC0FCF8BFA1B299CB788B74A660CC404 F661DCF070C900E4E418C0ECEF6BB7A7572C2A632A9FB4F18C963FAD73B5A0C863ACF3203489D1 EDE5AFF38D67FEDE75F17AFE06F9130700BD092A55129DA2CED26CF10C5C088FCF82B192AF54FB BE884D701A15D71F21099303F9204D0CEE6CE1CD4491FB5B0285EC589C17079AA6599ED30377F6 7538636C92BD6D49B53C1671DDA036FB4A9251BDDDF41383F818F332AED33E010C642605051FB6 5F1E68DDB634644026B08ECE7608AF5AD2F648E32B6DC1ED202F02E12B31E008790FF62B097F9C C871A36A23737F8DB0EACCC75740CEDD89EBF1D1619BC558D35FC49FACF0C4696F577674879B35 DA2342F894FBC85F7EE7F4796B680D12ECD8E344D5FBA7F5E56FE4D5C138309CABC4871D81134E C07D9825556F78F74C9239BAC7365767761577FDF31609C5C884CD95571410856CB2A87CE42BD8 9F92B8AFADFEB5BA618BA10396AC6B31A4E87C2B89B521FA100D8622F39C80190749C5E9C26F9D 1040F6B90D2D380BED092EEA62D6BBD648B1021719799FCF210C5EF3BAE4D44C4D798D6529238B 5BA06D3C9F9AE5367CBB81993C19F9286E690DE1345FFDDAFF9FE36E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lsd %!PS-AdobeFont-1.1: LucidaSans-Demi 1.001 %%CreationDate: 1993 Aug 11 21:10:03 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (1.001) readonly def /Notice ((c) 1992 Bigelow & Holmes Inc. All rights reserved. ) readonly def /Notice ((c) 1992 by Y&Y Inc. All Rights Reserved.) readonly def /FullName (Lucida Sans Demibold) readonly def /FamilyName (LucidaSans) readonly def /Weight (Demibold) readonly def /ItalicAngle 0 def /isFixedPitch false def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaSans-Demi 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 54 /Aditi put dup 39 /Alessio put dup 41 /Ali put dup 47 /Andre put dup 49 /Andrzej put dup 51 /Angelika put dup 53 /Anton put dup 55 /Ari put dup 65 /Bent put dup 67 /Blair put dup 69 /Bonnie put dup 71 /Brian put dup 73 /Burkhard put dup 75 /Castor put dup 77 /Charles put dup 79 /Chi put dup 81 /Christian put dup 83 /Christoph put dup 85 /Chuck put dup 87 /Clovis put dup 89 /Cyrus put dup 189 /Heinz put dup 56 /Jacqueline put dup 57 /Jagannatha put dup 58 /Jan put dup 32 /Jeff put dup 66 /Joel put dup 38 /Johan put dup 68 /John put dup 40 /Johnnie put dup 70 /Jon put dup 72 /Jonathan put dup 44 /Jorgen put dup 74 /Jose put dup 46 /Josh put dup 76 /Juan put dup 48 /Justin put dup 78 /Kamal put dup 50 /Karl put dup 80 /Karlheinz put dup 52 /Kaspar put dup 82 /Kees put dup 84 /Keith put dup 86 /Kenchi put dup 88 /Kettleson put dup 90 /Kieran put dup 98 /Lalu put dup 100 /Leon put dup 102 /Louis put dup 104 /Luc put dup 106 /Lunjin put dup 110 /Malka put dup 112 /Manuel put dup 108 /Marcy put dup 114 /Mariusz put dup 116 /Martin put dup 118 /Masahiro put dup 120 /Matt put dup 122 /Maurizio put dup 121 /Sebastian put dup 97 /Roger put dup 99 /Ron put dup 101 /Rudi put dup 103 /Russell put dup 45 /Will put dup 105 /Sam put dup 107 /Sami put dup 109 /Sanjay put dup 111 /Saroj put dup 113 /Saul put dup 115 /Saulius put dup 117 /Scott put dup 119 /Sean put readonly def /FontBBox{-309 -205 1151 967}readonly def %/UniqueID 5029006 def currentdict end currentfile eexec AE40F8585C2492B57FC8C19373E315912C02C4E404DE7D857CFC574863562CE335405BDCD8F11F 96FF6E8F1C7B7081B95AEE4E19EF19E210EB377985E3A9C4049662C57E12D3250AA62F97535698 C97032B09BB86FAED093CD2338831E8859F00CB0C108EB8E6EF582C1A64E00289B62C4DD3C7ABE 9D68E37629997DAA1BD0F494A609A153E01C0FC558EC2510717C5F3C0D1704E13894839A500B55 234B67E33C3EE5A6E7E905C23EECF0D7320E431F93A893DD533D15A7D941B043EA7698B0BAAC30 D437917A0AB35CB6E43354D38151D2BCAB7D2B5C7EB260C888CD713A2960FB2E510299FADCF020 C4A535A0791F9B9DA4A3D25C989EB20DD198AAF09029DE3109374D40071EB6255A9B872322B00C EE340A09F572634C77960BD50BFCC684BA77A4D15CEB51519C9728E8A3D90555B3EAF8C342A020 6282A97EDAA25BB74F1AE6F862477A7AEAF1A2743843460B3EA6653A0E7348D33FEEDBDED3D45D 85CF2AA51168B0647C1DE8B3C9A78C2EA43726659F3E8EDBC6A899F644DC2932A855CF3F64B115 B46D556E5D9985D389F7F250B017F690E2D057D6C651FD591D0186F44E4E72137572BB6C02B816 DD19473CAF196D22DD8C2CDC3EAB84CAA908B1895059B7CF29D716DE195A6561EDE1D69FBB65D7 CC82A9A4661DF15F693EE6E383D7B8204B693A7B0660686A66F634FB881D0DCB0309DCC421EFC2 F0AEACC7EBDC0D36B4B23BE86EC1BF92CA08E7F7FE75A9573149F4DF5B0FF2E3F1B7152EE18AA4 4C79B6B5B8ADF21B9D463241D00B8D0B1E4C53E374EAECD2370C762B7B6BEFF36ADA6C616B9395 16561AB36577ED5709D2AB556D6828CFE3312375F8352709005A1AB5889D6EE142AFA34C135FF6 A16327F64BA637F66BBEA267A0CF74E93C5FA0BC0025041987825AFB1AE5BBA228C40BC35EAE0B 620B9E90510DBD9762195207113830727F293787D784CC8B3096AAE08DAA086D3F2D02742EACB3 7D210FD447B489559EF0641DAD182D275B4CFA7311FA695AFBC9B689CBE20DEC441EBD2D6CA829 F3C9D7A5F0BD06082A0348E70A97A463340BFE7B8A183D6E01735C49361731501A6BE18C334DED 5FDD2E20E0DC11010983CA608F9A6AF1E2C5887707CD4E1EB02F38BDE030DD8E0DB7D9B39470D9 993CB97420EED3C2238E2D9C5558794D1EA89D7DD24C8E426BA238743695FA0908AFB11012C071 2ECFD83A269452B1DBE37E142A6A45E05E4D3FBFEDA1B8D3B3A8D165F24B8ECC37EAF5F56DAAF2 2FB1E178D15C742CB146B41265017FD85A6EB653C0F69DE9EE0D5C488D1E9FCD5516F6B8721DCB DF10E9A94F678124D6668A291B25A3E898923040749ED3458B9DDD204B196470F18DB90B3B0B0B 62F4979942FAA9F1FC00D98E345560CEA1D8C89CF7BC141ED12696AB78BC44B2483E3B5FDD8F8A 257B81175F5ECADB194647FD147826560D21CC2C1E619079C5E03D47E85014CE98E7AA57F32B97 0F7211D7FA44C26FC12A0BD6F12604B8F3EEBD1DCB0E8959857A5EB5FBAEF277ECD1AC6B564658 A547C9306B51C96E76D46D4878C5B0CA4ED3EA9800F9797A4B5D18D91244C74DAC07C659F3656D 2C2D9B3CC8B2F6FAFA22E74782D61492462936DCABA1363C51EBF7EEE92BA72A7A8E27C733D488 C9363C086AAA51C07577851640AA5232FD80E70934CEF2CE74F5158DA22C7411989672133BEE50 558A852537938BED9A34115416DB0E62A0CF53C5857C7280605EDB2DFAFE3B15A82F64A2C541BF 83903E3381468B8EB372547B548AE62E16131D0E4ACBF1575E3F609835D9DF46FED02D58C0C3E1 804DA0DFB55F6335B910691A3F5E3709B83F3B9FA35771DA4266BD8ABA9FE7F42F5A877D6A4457 BFC547DB8988CA6E77E04FF7845E90E7B72CCADE8A5A14E594E27BBB993E4F73FF91CFE0306C23 A8E6B352A0DFFCBFF83E4D9E6F7C0F05EC7EEE1DA737E4E1B5B70243083FF2EAE5F5F88AE7F040 E7D8CF58D7AD5A2B25B626B4B5525377CA40EA542236128AA40E592421D0D871A37C34FB45DBD6 A45451B15298530EA0E1DC851C212BA010685A92B1F805547CC57D62DD2D7CD4156C420D073AEB CF0CDBFECAA3AFFCA3F1B1B4F817DE41535B77504E891DF0CB42AEE39CA3E37E1B5F787D467CB7 306304950015AA42A53A340AD1D7CD32F2C0D2A7EA8A7297BD0FAB1B2FD027D0FCEF35DC8A32BC DEDCA3F3702008ABC82389A0F12F70859E5F4126A88CA4FAC548C2515A46A3FCFC3E958575CCF2 30858E0465CF6D43D41973057077BF986E4DCB3078CC14096CE6279C919082DC237A9610589B29 E9DC232CA680CC17DB5C545BE9418CBF16AE837E02681BFC873CF630D9044524A9F4373DF78A7E EC5881CECB664A92123639D62758235DF94C854A740A4D38859C9386E1431C5152331D71AE0812 CB23884FAEFD580C53552DB1D51BE03559E7129A8642AA14132AED38CC4357259257698DD96624 76589CD1AF7D72A53A8BA78A6E2737AADE9D3D880140C3907D1C20F6819A0F6465686B6D30A4F5 04E0488F5C8CE701D2096B45BF447743BB1D981E52C65BF78CB8F4D4BB5E1E4B0E3F48CFB19D29 9A4210F36A2FD8557AE2AA0477683FDAC64590A3E6ADEB3E3C24DEE4ED90D8A3EFBC3ADB61346B 6E167CD20F60FD028CF251CBEAF221F423505126973808297125312ADE2F0337C0079BA876BE4F 94D9F38EE5165BA3BF025C012EF13CC89451C63D943AA2D0C40083036AAE18197E87AEAA4E6A4C 678BD07DC68D87C2B18A5BF0B371789D216183C02DCAE89A8BF26C15B6A3ACB23F406D77AD9869 B02E9DA376F0F2299767CAB7DCD0D8330D96A43A1D70EEBD80362872616E3176C3B6CA44B5A8BC 9C0171B08FDCC575ED942B90C55470C69C3DDB7FC6CDBDCE4911418054C7C723F1CAC9646CACCD 23F594B344129B30F7569104989A986099901CB110CC535E57D6AA8CA80FE75C4A208A7B5E39F4 019D8D8A515C0AAF8AEC711A55C6C0DAA0F17C34C3066683AD4AA6A7D3EC57F20D32E15EDCA57D 61FCC7C8F8AD61260B574593CDDC128AD465C59A785983857898D437017360192FF44E19998358 6453672475B760A3F8F6003D3EFA6D22505EE7A12ACBDBEA47B63E5E3540968AEE5B6E7FA8774F B5410F44F9090E880D2B6E7E7E6A7D1D4D717B144D8A7E4DB66CDD5998BE26621B9F4D7C719223 B7A5AF8EB116AA03C6AF30FE61E32A62B4969B4429D0D101889F1BDE8EEF0662FC4D64C06665DB D474E811F87D31BF576271A7A3E52F7990BD79E96C3B4A936E2B1FBFFD2D31509CF7F5BC739F4B 7C0216B5AE0FD8AD25FCE86B33A4D22B2D616C96AE155DBDCD095A77AF84EDC4B7979B078C563F 8588CD016B3C08695D31C8EAF1D497C01A9737F6C1AA4626BA952175B6B898FA389E9493A8DF87 8D4A1C38C0CAEA89B225567AABA00DAA5B6F3E038C0F3198E8B5CCA6302646EB464F062D4BBC8F A8446418626319018C9C8CA08B1C42D0714AE74E49CB33A09CCFCF7A208D1B7212C255AE7701E4 E01D7E5EDACC772C8DE238B4DCE0C3D6A1C7D55FA9819A3570718A6732AD4746A71DACEF94E459 0269025736DB98D2F053305C27D30D50DBACD697EA875932778F2A544C9460A942DE2DDA61AAB2 109FF6363A5EE7E6E336394B882557F7E13F3D740ABFB291290AA5585922FDC27873A8B29525DB ECFE5A994BCC926A5A4B34C49210279F8763281A5D91816D974BC5F22847D68DCB911D265F7B02 FBAADB2E96FB0E46DBA70031B7D7A4BB32711C127FEB546F52C1FA36C7993D40EE93C0D4915B12 FEB19EA6972A3651FDD1DB039B1507600477877D43AF8F23B4D41284F50621DE3902A3BFE3BDAE B057C127605869A6FF573334D00AC079DECA898EC5E7C28CB76B23A617DCA022313B449518FA4E 3556B2335E4A45A8C61121293C3BAA23BE8ACFC53658B3617458168B3F5FDC321715AF886021E4 AF9187E2FF6CCC09AF7FDD019556DF58061AC74581BADCA856650460E5B45C9DCCE4B4CCD18DE6 5AE71D2B3D4F472FD56B46DE9126E08DA99B91A758BD9A94E28A8D951262F220111C3301972A7F 49CA8615AA7E7BA61171300F8E66A9BA949FAC666EAA23720CA825DE4D0F6A9ABFFF233187791C E57E3EFC5FDE95D277D13CA6112D5934D6E27C07B614971D3AD7FD74CF08B4CAC94F1DE512019B CF2400998F207B27277C42562C7EAADE4D090D8261C818DDDC65F65CC793E5A479F1E03E3942DE EEDBEA85B103FE2BC309C6B16D87804C85900E39F51E96276D9BC9F62825D42D1EAEE49694D61F AD59AD71A3EA6E53CB0C06E7916F0FA7A3BC0DA39E224ADF4F23EF2A15A4E0A56D9E38D4D7454E CDF3E8D010A6950975E1967E54F4C63018731DDCCF5F6DA12B4D2AD4A228473E49F6EC799D1967 B7F333ABB650B2B573F24B755BB71607D20FE142C5653358714EDEEB94D1862B435C877C80C1DF 7B02B148E8800CA3A1957207854011A7EA1AE2B831F2ACE4D56F9A2CECCAA4BDA65C6CF8CA936A 05FB76383900D5CF4CF85DA2F2D4E0E10C43B2FE280CC15C75349B170E87909E7113C3AE32E62B 584D7D350D1097EB7161C2DDA01D1CE66B622D041228C3A93F6FD48048ED070EAA88B5AE5751B1 9034DB79FBD58D16639930CDC92B93F439EF6E900FCEDE677D1CA321B93FEC8C22B6563A069710 54DBF7D60967EEF580203D0D4294A16C912B06252B97ADBBEA61CC04F9305A249E88B95ECD4AF7 1F6331BB6DDBB4608CA1548E270CB79FD972293B9EF8DB393898198E0ECAE14C92293506C39170 5CB3B0526B95E3BE6B8D3323D30D1A8933CC0C558C70D22736BEDDEFD0E5DE972D2BF42EE9E340 0F64CA97D4AF620384797F9E17BB831776A38A03E6C719917AAD65B3FE3850EAE611B9ABF47678 D750C0E55CDFCF90E7902A8AD5F0CFBA8125F9C35A49BF4332CC5BB1AF7E6601046E9DB0AFB3B0 F047A17F1E3346F5B3C4E4817A6E75753A3A66FF2F6226B57788DC7C5FE3352A6DE50E7E44723E B4268EB179EB916BCB57F3C7330323B554C5DF750B5B84563DB7248137E312AF17D2BFCFED3E7F 09323553E04E4049B05E4F8C546D198FCF51CAF6D3ED424FC973C3391D9B190E1ECAFF617B6E26 B1F2638FB32391EC52B27D0C353B9E7085B810276FA4728E699E50BB54274130A2B290F8B2E49F 5DCDF560B56DE2A43B41ECB94FD8F4238771D8B55712DD101FAB9A58E4319E58200776583C35D6 0EF2D7181170411BD45A5C2967D7F19487E8C2B17A5483E90316EE7F6ADE0C11AB7355BC66E021 2BCD832EE4AD4DDDC4AD33DB5358CA406876B077CD8D4CB77D1DDFEED860DA562615F51A54F596 C474DF3C2D253EEB1E9B85352211F2F627927893E9F59E70CD59B2163E35D0C72AEB17EE83CF1E F47FD6ACCAC3667E5E297DEE0E7F88644054E99E90DAFF89448641620EB4D165D629A9B59A0561 A144A1CDA31FA7C64E9003B9F66C880793D1A968FDA68159508B61D90C52DA56A5EFBB937D03EC C3F56B7C4E58CC65ABA31D9EFA6F49D3739ED898D2B2FD941180BAB89F6BEBFA09F2AAA3F543B8 447C15E372EC5683C81B987D492F6FEE10317F2C5FD884F813C4E281B5A7D120C24D1C7844CDAA 5CFA497E5760A150E0D22A548AAB3DDFD13429A2CE12526162A66C45B38824E56D4CD47B6FBBD3 3D66795ACC5DCCD1AB9BA0C3D6E2AC6A8E0D14DBB9F693CAC9F3FF65BCB714253A607DC2B25B15 1A7B07690DEB14C2829AE2D043812BDB6881EDBF658C21FBB5DAC05326BD8683B2506ACF3B637E 055E94B6141C24EA1BD6CD7437CB2713700EE829254EF783A926E2768B06545FE263663F79CA3F D4E9C750BA92F6CB2CC44B03D679750FD68524246F4C63CAA44F8C0976EC39F782131014D136FB 96E441F9DF8DA9BE84D7A59497AF90656B9F308BE1B909E51AFE8396CD977B2BD9D6B1D248C594 4B3F0DF9042614F333B91C3511DCBFBD6DEB5D5F323B7F021DB863F63DE2DC9A1774CB6598DF80 011AEBDEAC09EFA9E1644FA39165747C88C8EA6B4AF1897B34E805BE0F0F89FE2B9F71F4236058 E5FEA48B32CECA6C5C4DABD7A2EDE43E477CB3760628DCD2B64E03ECBD3D28D9A13445ACC39C3E 540D0185230D1E89750D1C3DFB6DE4DC9A258156FB559870A29F057121419228AC452A0907E683 74F58C6DAB6DFD46FD4B7B7417A3539F5F2DD26F8FDD1723B6C4030D86C352190716EB980791CF 2426A868B756255AC3CE719D37C81D8BEECC143B623880C1AC8530698369322B6309C672FAF6F6 0C8BB5E787447A61E79877B8405C652A5A71F85B222F724EB406A8E5451B8AB3448121430B4ED3 34299EBF820709C1519E35803396B3DC845302F716DECFF7B34E53E60EEB0C30AFD9862749DA7C 335475A5D432D4161BEEA5D72A3772B499539CB672E9ECB32CE919DB201E20EFF2555B71B569BF CF8B902564763EE7D559D5AA9870837679E4718BE751759A9BACCC51A9061196BE327510BA4865 ECD5B2A3593234E0E6D198DB19D2EA74A437BA555CD8FE70BA380B852858881E83A44FDC32FCEC 52BE9A0EE93ED500F8BD0C660D0894034FAA09B92BA8517CD3D294D16EA7F0D038BFF2B744FFE1 2817B83C7F0DE337F0527433A982B6B43569C18D8D882BC722603FD1A9BABDB464230FA2B0C9E9 13A47D30EDF69AEB8D6737658718321A34A8D5CD33FDABDBE65A9E9DEDCA6F80ECF455DFC6A80E 28687F23D4ECD8D8FF396567EFA09929F748CE124D08360CE3637BCDD08D1A9D54EFA80EE56CA6 43360FEFA5E987845150CCDBC23E5EFE2E3E2F571C1CD5F838EB1884BC39387CF19A0B4CAB69F6 829987C0FB8634BF8F8424E649F9CFCD769E96A040B1CC46EBBA3B17886302C2C98D02ACF9ECC2 0D6495C1A80E2018B1267BDE4D82C9AEC7E284BB825E6E500F85E5554E9E55E7657947879BD719 81582946A1D6F0D70B878B5E280E49C23D3C5F176E43E1878F82210FD465F347B37041FA8FC749 20A45B3D73E71EF44F50CECFA9590BA94CE6D34CCD4FC878DCBCAF0CF713F4AF5F54FBFF508C42 DC97117CC92442E180E4B2307A2FF364E89BC538501A2E3526C77EC08E8B211DDF42042633C978 8EDD3A24389AA1690ED0715F531173163A95E36E87554924FCE4879941C50214A485A26C04960D FBD7A03B9AFCE70866723375086C6DDCB249AE3EEA17CB1BCEA611FF44364DAE6371AC79652C50 0EDC774B75B790B204C9479F3CE3030F6288D1E2C2F9F083F990F217DD42AEB8A95933E7A318D7 CF6656D9C57DEBDEAFF6D532CF206F4BFBA0EC53913CE7D9E2BC72F5BECDC0CCB313131688D769 12FE09419536C188F34C840608A17BA22DC57A7DE9B758E05C3800A8BCA77F95C0842094377A16 B80DACDAD77A3B65651CDF7F7C4550F1214DC47D6E88C006AC5D5066C3AEB2012F2E0C39A055FB BF174FAAC6A9A28D2434E03874446E15DCE7ACE5D7BE7050390186125F0435D4024DF4B5C25B16 719B3240ECE2B00C53EF9091E1043313BC83FB1128F19DD592BDC748E1172069E61AE8A05B6FA2 73CD67F68AA8F783E90D042C630811A8A71C0E22A6142B17D6C2F443F27ACF59C6F4474014DCC7 FE9257ECA7B4C46470DAC7540C34A03B7FC1AA96D6B48179D28A0BFDDC35BBAF155BBB5DD8D40C 2F3CFA7719E0BC7832EED6A37702223D1466A8B4FAB31D2D91AFEA30194B9DC756EA0931A28D92 8B68C0E09F7940A1BFB8817CEBBB0A5A4E65CD9170014C9577F321AD444420BC7522D91672DD1E E7517AB30B7DFF7436C75999DBAB0F7B3A7D452173F9FC066EA136998AB8D3A46AF5CB99ADE3EF F0213AD487A7C50A07E25B5363F2C3E47B79961BC58B4FBC206F8C17D4897A26101714848ECF2C D7219D372F38188AE6657CA5A9D5140B832533226677A992CBD205BD8A7EEB8618B6D2DCE91AF1 8401EBF19DB900BCAB2C7146A0832A3AED3755B8906C9A0AC65CE2FE44E3DF2F68A75FD285A1DE 60FC073205DE3B4BA9ACB0E06C29D5818F55A9DD737F2069BAABC52FD9B3F386127B9DC32B24FE 9F39921778FFFC702300C1FC92E3809379FAD3189B34D98EC371F9FAD6763C81B424B0E8339934 9282C1204BA70499E24CE718B2010FC17458D8208492EE56F9DE924FD848705969B622BB0F2481 6BD0FF48BF235DD71BD6F61C38B6294AEE8676AFCD9B8564E36EA6A95C4876872B94C615DC0994 D522CEEC5B7CA9ECFE9DA4A70613537A1FFDDCB26A909A0C8512796F70FCE357472476F30C9D7C AA718917065C69D2EC1EA9620982EB4B869035E7183A71A910212F18BBCEB054B9BC7419E45ECF 2E0C600F865B44538AEA23950B5E4010BD45921CA12C0C1968C65EB900ECE26C5AF8D29D31346E A2CA571A9E40938D85D4483DD894907ACD68738986D864190CE11362E7C50346473639BF4BEF9B 81160FDEEA602FCE03FA4ED3FC5CEEBD50F3576CDCD4F21408A2D80E265D5D607CF00CF15388F2 C6EC9A1B47C77DCAE2E4F2F978508923FB4AF9CE6C8BD1941F66866465D9826879918CD49BBB89 9A0B12CDA6A069B9944666479515F2B7E39F94202D4B369FAA1887EF5BF5304E8C2B2BF291D6B1 4E656EEBD98A422438DC43124E73DED0C86F71F98AC1DEC79E65C71AE390A9D7BA0A2A5AE8EDD5 5D22DF7FEC889A8953ABC0B0BB9898FAC1CD7B25263F7AB9DE276B20203ED2F2F43E7D52E442EA 02EA9BD77721C48D819AF6A522481180B75C940780AEF72D451D556A9B6781C45369984390B393 A873A2E0ABAA5D91DF10A1A29E7AF13F74FC678716FAAD7523B721B2B9C0C46C358887D0A7F655 40E317B0F9B6359CB0C7FD951F28FD77D33160CF072D79559B31687A19AE294FE3CE1E9D30B083 F955672E43D601A8FED9C7FB8C735C681B612B327D3806794D061C3C95AF819B08515A2D60E536 D3DAB7BF64E37758CC9209777C62677547E065E20B74175EA87DD3836D107D867805AA0D7A913C E8201BF1BB8AA51657E08999788761B3C5747F40511D58798397D64512FFC2BE814C776B9EBB54 9E4F5A3CBE75D920B2BE77CC141D1D26ACDD762BAD54CA7C37EA9BB718059948E6DD2C404BA4F5 08AB7634D7F7CD84A3C6A1881026AF15EE46DCB249436A9EC02E96D88AB19180FC2D01742ED7F0 2D7684B698AD17273CFA4164688C5B411D9E43DCA5806223040AF23ED0534A1E9D922380EEA882 A5B861CADBE7637EFD6064E56107BD6237EBEEB8DA25B11BDF0A02569374B70F09818E9A8A0F6E F9267967EB87CFB403D57215869D265E58194178AD151C0F774C726A2619B08515D3FF9D9ECDF1 4A7A40F43A154D499086B62D82BA643A2742C2F9420D73D7137C20C5C9F9CBAB60278E6909F8C9 AD368E6CA36624FDDE2E1F9DC3A76681FDC202A09CCD9FA7904BD49F29C645AE4B4BDE9433D44A D304FA982F5BD914F42A77EE7C4338435F8312EBDE34BF5F8D805ED362C6A99440A641DDB01CB0 CAB5E911A0E5A2935F340AE81B91592BED1B4272CC03247B1F27AB2E9B23CF77D3DD021B907460 F8A877545C42AC468B68586F0066342AC40F497397DE037EC5F5C517146A72CFEFEC3675C88146 52AA1A648DD3194BE106291289E0A0170FE7C1F0616A12E78E8FE112B7B2F60A623F49836F3FC8 CFE47E820E9911C19AB297882D2311F41D76452CC9DD6F6F95B0520BA3EB394C15189F9DE9573B 85C09AF740EA834A5EEE27A0400F1E3A6B5F86D0C69F8FA26C7BDE10DABAAB8F7B3EB7071A72D0 A21D82F17485DA6AD12BE8668D39CE0B6A4BC7B59A9D8D6A47A15F62D2B41283E9F23C35D2865E 10BFB2603A607E5246775F67A41E2EEC5683A709D02C92F4D021E07649C4C60A5F0E98D44CD83E A34297942AEC4D397C4672E5ED5E1FB1CC51F3B6CC7E8FD0128D7935B05872A6B8D76F5154BB3F 17A4EB5BA0437DF785A63009C1D8084FAA7EB5145E5BDD31E9984DCC2ED1711A2FCA3725445AE8 C78BB1C692F2FCAD9556C68E7C9196541B9A4F2465D16B4205E345D096E8E5B172CDB1E784B228 0D22A28813998F653A4D47B5346C636D7C22CEBF2DBF433A8790FAE8989A18C674BDB566FFAA7A CCDF631AE4B1B2C876E45B911CF9F4B9D7BFCDD2684553B1CC0F3BEC3624E44F023BA223E83EF1 40D0E6D506E11ADB79C0DCDEED41894073B75A931D0DF6AA89078910D35E6F65B956AD74F939A4 B30DA755CC42918F3E6B748F066E891F0A158DDB4FFDEAACC6E71A9AE04DDBAF899F796A80F6DC 02703C64BC7E021BC292A9684305D59CEB84F579B0BDB215E4FE8399DD885C8337A6ED127AB50F E2B562EAFD20C841E7E5DD1DF6993F4E60B59C6FB2B8660ED942D360C5DC9D48A9ED8D9A08BB4B 8F7D51AA81D0F6B5C63E3633EB4A8DD8EE07E99ED5A455B6D5021D91C154AA57807357D477BF2D 626D54E365DED3AA67230CD8FE70C51E3EBBEF88FC014AD287EE77170EA9E47828271235BAA930 087CD8749F3528C7C60AF3EFA55DA68C6D3B166ECC7B0A88E4077EB2C93BC5894EF84D9BACB493 203015DA8CD9EF106CFD123E8057AEEA2454C9651D312E4F6CB7CD12BDC1DBB475A1DC725A21DB FB24F55AC85BA2F07531B23ECC411FB2B0DA6B7379F3BDED7DF2F412A016E9905865ABA4274EE3 1D932014FFD8836B8CD636568CF0BD2A7B7D4F51D716BCDC50D56936A297C0E7807674BCDA480A 1DD90412EDFEB4F18016E5A5EBEF885D3D33E2D925831343B0CDD184AD9D9779F0F50805894776 3DBFE9EED1AFE3FF0DE7D8691104B4155821FCEFF8D0BA9F35DE1C39B063394E2F76B0245555AD 78965B301411E1D93B5D7C2284848B3CA29776059D9AA4CD2AEE88CC0007376C6EDEADA2DD1CA3 F5293EE8E2C9B0F1A8F5EE9D009C63589CD0A7003B7911C254B780C8545203165601845624AA95 2519CB7F1A1CC004B84458A19C7EE68FB249930A268BA05F34C08FA72BA4E4E6919EE667DC762D F206E8BD03D6A1996887DE81640A2BCEA4052FCAECEA52900A9296A4A399F7ED0C3D7D3852A897 9F339D42D32911E6E119BCA337B7F09F2BC74BDE2B71113C439397481A8A5AB3EEE1EF9A2DD798 E9CA52E836034C536C07CD377259B9B72FE7FE68A1FCB8D4707B223AA693CCEED0AB7D97FDF90D 84DEE522697C071AE0EF306ACBC192AB9A9FA397E6CCB97F42FBA37818A844FA045AD2BCE7AD5F 0731590C7A26AB951EF94059198AEEDBDD869096FEDF9EA55D22C23EB6E4ABDD469B3155CB9451 04C51EA9717EC395B7BB64E2E4AF5D31AB85876028BC78E0CD3BDBDE214CE56F5687B3009DAB8B 0AC6D75B13752782F56C590AC4FAAEB6DA1462988BD69173190F7A486077BB49CBF5FFF612B0C9 57474F5401B8B1E8F240EC3F20808DCA2F9F2D810A07498297DA66D9AF329991DAC432BAB46C01 F1B17BF8DC6FFF54F40397026ED09977520A41BEB1411F9334E8CAA93E5CBEE598A88A01B25601 8E529F173153A67AACDE4A8296BFCC5B88E6E20B29D083889C18B4D38418B12F8F3514FC95130C 58A0891AAF8A9C4457603EC6FFD26F0E1B957E783D4F309F4B654980C22D29CB8646C104621282 BB301829676E5F3D07F090E172F9A74E9E36103D3E7FD4D7AF0F6AFABCB9A21250BD6E07A1AB03 66719B2AE6B8B98B6782AC722DCCD0DDE69FE9E39293130A206E9CFD64184A589C4893C03375B7 D7094CAA426EB2DA5FF79C2DE45F5893EE2AEA388A2AADBAE87FF70B629F304AB0D81D41F44352 1FC0BCB558119C9FECF5C9EA1A876A0A06610CCD279BCCF198AA606A2F4554880BB1BE38A91B55 48D503EE76A3ADA011EF1B31F25B3A6FFC1A6C6544431CD1E1DCC06789C88584FD1878D3F5F565 3B6FBB4B5B4795779F976252E9F3F09A482F9C8DF00B5EDAD6F0BDCB811E622A4FAC70FC0D6F6E 37625FC077D143C6AF7E76280B45F241C2FB62951447F84012AD8401C0BB7B794709B48BA3FEA5 D85AB7D9875320A13BE8934E8FBC8B353DCE93A16979FE3A97D0E9A8B5D1F7DF52C6C18F60AC87 C8B17DC80235023652ECA4275A901D9468AA7766128FA157DD051060A62CA5EE8235E79CD8D5D2 B651066E2D8481A717EC08FF985BCC2B4B5D4BAD6408B0557285903F26BB6698710CEF6102230D 042EEFD6069623A5003CCBB8B71F6FCA85A88347DD13459AEB84EB4802ED2ED98D02494CC9CEE7 FF5FF87319C591C72CBC3F43DC7DEE2BCD0E96DF6EE42949CAC9A7B7CFEAB55D3473DFC3724105 81D8C7CE893A1C374D933FC9CFDF462481D98FCA27085AFDCE8CF359E127DCC1EED7B558FC6980 813EFE260620D7A7BAD331651C09B2C7F5EA13A7D095368B1453C7E14E6F6F4C99CEA3F3F51256 77A448D040F2D496616C86D2F6774F2307163FF9C0AB8AC88B20A6023E60A2C8B63E1BCB6F59A4 2D24C107DEF5875E7EA1062646DAC43CCE029F56E91A49B0BC6873D1796DDF7A0117ECC41DD4DC 792B5B97077E2AB5492876A547074A73D404CBA4B5C0FA1938349B7C156FEA5952AF7DAB0002CF 84A92D63E38C0ECAF31FAA2B2A033A3D382C3A4416F554E4E00100D122B2D75AF0BE42C42C7B1B 4E515B81F4EE8D3F9C39796A63506223415C2A55FFA26EB9E28ED5EBCDC5D2E83A3B27DFC8B6BA 8DE74DAEC630AE7BB6DDB12A42C1F666A05EB18665EFC68FCE7DE3820485FE9159E35EB35E2932 62FCF5712BFFEDBC974E5990BAD0D64D820564F54324323B31ACF948B3A27F4AC397A958864268 5F86D44EA685BE3CBF1DC01C293397B8E3E457F619D8B6A85E75D838219CCBABADF23C0E4434A7 787DC52DB315BAE832819F2973F11C045A4662F51256BE3967C3231CF42AC7DD045786B27E377A A42DAA473A697EFE962CEBF368F10E0F3AC73EBDDBA259ED770D8E43F8B39175BCFACFD1E31DB3 88950902A66926774EFA8EDF9649BD8AAC64702EA9ACF5717B5C91B4C150EA2A98CD128235B6D2 645FED4EB709C91D4F71F2E3B6B971A378A7B3499773293D47B59AE87AA1F3220CCC3022066508 5965385DE8031B42CBB2A2A0FCB9A038AE2BB898991A476373CE559ADF3263F47D6C103112A5CC E3EDA9EEE4C24079F0EC6F88E9AD54D1629606C97F6EF26ED0225718AFAEAF1A21C712315C03C6 9B019D238C17AB4FDD0A52E840E28C6D83D6DBC7F04051CD5F8A61654B3037FDD8388C222A55EA 4A423F99635EBE452DB660388127204288A88BA9E08B6C31F92960CB9B7557CD754A3400D48F1F 33EB9C6E820BA19A66FAD15A086EEDCEC0386DDE30E8FD98B3A63EAD8AA52656EAEBF9D3995C08 083CB2901C8C04E8CDDFA28F89FA371822652E71531782D1388AE97BC059278DCB3DF5D175DB21 FC34D07B6D3DD38F44E6BA13133D6E2D54033C4A77F0A4B282069477761F5DE689F4EA7F734BB4 5C0C3AD0198A5C9F9AB087A38A0F47BB85CFCA1DA6E818ACB5B1D9B322EA1A67681427A2E92A5A 72E27208D406D2F24CD583EB914DB7615EA17B0F471DE94AB404502DA4CC394ECE88024B6AE998 CC7FF2D1383E183DD4562ED30BCC8BB6ECE442449BBD57E546AE5E6993E2993A9E0E49784366D2 6A0D3A301F81AD2413F564C4F36F7F8CB3F01E1BC0609F9B6CA4051E30485865768C9CDFFCBC7E 8E5A91904F43024638C4D70994F32D75845F9F865E9037491E7AA0877ACEDA00AED81E74122F94 BB270ADAB594F5055D2B856F9615F1EDF02AE54BEFF75D33F53589F82AA67139C454ECD8077C8F 53509A3151A7EF94E80BF03F881A0553D321B41CEF83350CE9B40F8CD187D37F9B0C0D7537D498 BBF7ECE55A8F58FBECCCD0A67EB9D86889EAC4E61CD90C40992344C0D79FD1C8ED6D7272B48406 81B99C5A06266FD81B0904D89F1CE6CD26D9844358263E5385CAD345FFD28000BD449B1391BEAF FEB2E5EE56A63637690F48105EE0102E398868DE9D2CB1246234605FB2A5165085370E4EF4481A DD0BC5214BAB5055AEF44E54A56E884F96CD9DEB53F44D2BB3D29839F3780655909B8F5968B491 83E5D0978A1D3EF4A15D97EA1D3F1B16FFCEAE52E18F34BA676F2D478A5CE9EF0EBFFA5E0E8DBA AF563359E5B0E1FA0A861DAF2F664F78B338999DE20CBA9DD87A91C7FD06E12F3FDDA8EA27F945 DEA14960910D04FDE66293A8BFDECBCA8F5D1267CCD28B5161C89CEAFCE617CE08496BB3DE963D 34AF77B9BF7533C46F910A673D6DBC905C11D166B26809AF418B3A8CC243E92F7680B1B02A56F3 355FB37EBD6F1CF721BB8B55199F04707C9947CF0747A124D6136C18091F700C1DAD3F30CADD8C AB54C79ACFDFD261A443C3221174F869DC157F61E198A69E6267C9B48E78E907CE5FE7FD4B53EB 9189094E0EC33829F7C27C6AE1CC732C3D191D522CDFAAD023A181FD7B5694F0A65FCC20F51570 95EA8DB3323E2DD26FC06CDCE01EB98A5ABCF0DF84F3A14DD67EDC748193627EB51C8F6692D45D C830F3EF7C823BE662184B79F6B523D75ABB3E83F0BD78369669A26728BE6B6709A835C3299A54 25D05DDCA7CB954F4B325CB2E5E6C28C50C59EB0163915521956EED1A2B2DB82B22F7A1B9E9CC9 F40044CED31C72E9E85B0244EAEE92EE90CBB3A8620A53F805E9A20A6A0FBD52DE2E75ADDBEB97 3C3A794EF204C634F464E0725FD33E8146D31A976D305EEFEEF70DACCA2BE227A1689BF53D61AB CA013B235A2E921FAE0BE489107B223E99209B7CAC5355A33F2F8C04996D075E18007DAA3C1319 EA66E669C4198838FAAC9903B074510749D671308C9BCE1D173D6C296AF100581E501106717F9C 59E3A29537A16D376D9BA8DA51C3FCAB70B0D0F61445AC05758F1B579DCF0B5CAC6738FC4C47E3 6F5A3A27AC9F19045BE6B3D5482E2D30962C3141E12AC96D59E6D43448F85D1999A39827C3DF8A 933571A6585DB257603471CE0C77950F8A7D3C25FD60888A26F6CD77281BFC5F4A72394ACCB7C6 A9894B6015226109D1B043004363DCB6CBE56449917861747F1828E6DB19F835E328524A69464B 60DE76F08CA1FEBA7DD75D78778CF64F0050E225DB6A44C785592459BF38CC075ED97583AF0E17 EC67B74D752E580533F98000A39CAA0A3DEEA46B89D864E22115A084F97B5B0D3A050AB3ADD338 080096BE5A156EA956947EA2B1BE6C357BB1901DE7FCDF02D78B647E1FEC144FF3C8A7711A894A 1E7D849A60E0860EBB256E15C5C995951308CF30F1A87E8D3E678421B7537199E27270B4755DB5 536CACC90C4772CE0CAAE1780BC54ABE0C3BF2627B64451DEEB875362F3B47E95577A80CEA03B3 C6284BD3623306A66907C6EE6F4E16617783DDFE3AB55448F80A97E8D5CE6B73493B8426DD163B 96978D8052FFCFF0B0CD91F1D366FFF67514F92F6B1FEE64C3C023EF905C2830BA7BB7CDDD8532 F18CD1BC5EEDD4E57FCF043625483C58AFFFE5EE5159F1707BA49760CF3D6900B2A6C9B64EED82 ADA8F0B96D7BD624A1AD4B3DF0118E86B98B46D72A0744FC895ED2248618E6A349C51A44A89C6C BEC27E525FEA388BF4A52D963AD520CF9A768B8E1BC6345EB434013BD9FCF6FC5A309CF7953DF4 E6A92DF3FBEF92FB1A4A7FC4AACA0B95F070E908AAAF4738227375A3FEA047E3B4823BA8FA26A1 F497936F94ACBF1920E2C18099F154F2D74E50A5FA623B2048920B7E0AF9446EED9C8D4B737AAD 85515672B6AF1543E5AF733C178FF90B89B6EB1E92162EAA240B158A78652680F3509F9C1BB21D EE46DD3B39A2D17029BC29E260AB570B29B02624F152F6D56DD4F2FE3DBB352A3CFC4AC0534F45 E31ABEB8C099BC8B7B829F6C7D2DA0C2B9D58E22A8A8BF73D9EB1CA278086FC1FAF212EFA755D2 96C938CB7EE5AA4E007EADC88E7205FA0874D44B769CA1E0D757968A39FCF4F553C14DCD9B34FC 5246D3595625943439F4F876FB6A52EBFA06056850F5C92D434FE017FB3D4B0E9022B2CD28C3EB 95F084EE99911CE955B5B93196BCBB65C2699A0C942A998F785A59B43C8F8DD87BBA6107854FDD 70B3763161AC79C7CFF4FA36EACDDABEA6F5CE84567AF95E389F9C2CE9E972B540391F167369AB CECA3C3D9967D41DDE6F455445D686B3B8223C6E8727BE334A73EFD62477DA3D89DE65F3EBF81C 4DACFC5CB89587AC9267B8670AAEC340FBD51971A3323B17978E110745B84C5E6FCD74E132BFE2 19BA1D812A645002FE8827DDEE54546099B47E82F3935006F0B44E174B675CAF24A8FA4CE10017 0F34E1914F3222DD851F0A874650A14866DD1EFEC6A2D97969F4E3DAB9D449AC50B5E4524BB5AB 96932237FA7896A5284F85E592B01D20C761D35BA83B4945F5608F30A77A84D918B6847516F96C F351874BF52EFFF38ACCE88174634AB0338A377E99BC3136A0600362EDFF0E1D42F8C5F984ADF4 AEA2463EC1B3DAE2A6CF86CCC2AA846C7EF31653605619C7D0573D27F914DBE344E5C11B697154 347E09F54C4108A1D71FA878E4B07D35FE056DFBA2D7B99C8F01134CEEAD849AAD3AF0CB60505D 519AFC82A4BF5B342575B774D88173F1BCF2D914026D3413FF187F9C8FCE3709CF0F7E9A793483 876A4FD3F0A29DD8DB7F470E88DFEC249A91BACCAA65AE26EFBC9CBD550A935741A5501021B9AE 064596C775BE5967FDFD3FC595EC5CEC2F185EDCF11492E76C8EB22CF5C91BB63E9AE2649D8A5B CC7A47943E40E3B473EB5E792919F03F09688B71ABC0B0E2CF64E1DD286236360F7EC828CECDE7 64CBEDB243828139AC4C72378B3EAE67D43CDCFB95DFE17DDEB6C2354FB8C52ADC0A666C40E2A0 4FBCD8C01936F04F1A983B68462205765CC6E782A2F459C040958CD16D8AACA06E1A7BF14BA6FF D570675A54E431B2D2CE78D008F082693123D18E1C3D27171DE5940F63C3FA5480E80B5727F684 EBC48DEF479E345D2C9003481AE5A7FE20A1EB0CB422FD2BA07A3208901CA8D782DA95F0A6DE2C CA3DE689C498A10CB8E5AF0A2203C5C147BC17BA14B4C59A34B9351321EFB281494423D0B784E1 622E2F3EE7591A23113B3B90D34D824549B3A0B513B8BFBAADA9E1C4879251BCA93E6C40A8731D 19B411F1FA3C3F3BCEB63F5B9B8E868D4F0B966AA867EB2D4C301FE6A1D35159B4B7BAF8227D6F F7A86BBD70178E4EF798799F4B43E296A889120BE0828EC211A38BF5A5AAC3C00494B0AEE6ADC1 B8FF56733A3FAF015E6BA38FA59DB63FB3C9BA355E5F2A555903E4A22F2D1F26AA89C21A623DC0 F0D8AD654C3FBC752FF21C16321F5027B4353F6C12FD340D272C2D4F30ECC9B58DC4A42F71B954 B2764E077E0CEF1FDEBA5A6A8FE14F3AF0122C0918DAF87B157BE507BBB50DA1F208534607D906 D45CA3444CE68FCCE04739262BA5B3B0DC0FAEADD86FC94FF14548C98592F91F89948A173B76B0 8D2F3F845DD251F09AFE656F69D115157309D537E4F663CAFFDA726A5C62DF8EDE1EEC7916F86E CEF600BA02901BC5A56086478A867024C58A4D8A631736FEA04F09C9DCB4B3EEF89A0C5767B3EB 8B0C2E5D08974638E79EB2CFDB509E0948BC42E1A9A29DDB09BD44BF28186C3C5AD4629D7B1396 610782E464BC4EC12B2C484F01250BCBBECCEE474F25DA98AC82583467B62D51689EE98AD2FCB1 AA13D44BC1CEE4CFEF34D37FB8789AF5BFA59D05D15449332B46347A7CD1F0791D48BD563BA6A0 876C8B00496E3947C0ECF78782945109BD9306030CBF511C2B4FC1E28868EED9E2039002C98F20 43828EBEC486919082BE71A7CA278361D0EB9DD7E21AE9CA80EFA147DCE160ACCD39924F45A821 D89721CEAC542ECD09E76ADD11FB1710804C63B1268FBC89CEFD28314D9D3AFC26FAA897B3B7E8 C882C4125D3DF9A67E2DE27A0245D4FD9075DE5D7FCBC8E48125D8BEC3972FFE5F8ADEFF1258C7 5506691E5DA81359C24A978EAE086E7E885D8151A515F15A475FDB038946F7D369644279C2186D ACD69FFD922EEB5397F5C3196548CE35D6E35C4DE6D95BE566665E4E0EE11EA43CFB9D0133B5E9 D2A6656AE1861C158AAA97C48DD426205842BBDFAA90DA4D5EB11EF29C24898D9FE9B29B2AB913 2A774418F0190C3D0FA29755168BFB149E0066DFD3BAD7FC405B28A27B2DFB2A356CF6F86ABFC2 18C7E164F6F0D6D4CBE011E77EE8A045A1D1134E115D730D944CF34248C1020E15955661DFB6A1 687CB54FAD1AD759B7EB209E6A78B4F3B4F049258E799B6FF7243B26B573D2B26AFCBC36324E2E 9AAF7206D3680EFE913A6E9F4CC8CC7FE5FDBE60D262D378A123D8BA928CDD6651999854F3ACF5 126C00179347DBDB34954378AE5A08A690A98413115809C95A6142A662DDB89BA25B6026064A6B A7D85963FB4D10C0BA1BCF3E73CD597D99C4CA47CEF4692A0EA5DC89C2A92DE5630EF15819840F 10FD394BA987AE798BE15A61AC464345E203B06A3ADD25E1607F9C750887F5E7ED7F2A12109914 542CD396392738C7B7A7DAF58A7823414D648CDA083CAF2133CBC0318CB11464411F85B8FC813B 4D07757D3989E1E5E063F2D8E07E50BCF85811766CD79210C6AAFAF085C74BFA3DA37B45386A6D C83DDCFE3DDBA6B3F999F91406D35374E60CF88F2920208C1D2A162CCA6B27984D905F3C271524 1FBA18949B6684E3433019D3C8B45E454C18485E54A74D196AAF9636E85D179E1B5F0544D09BE1 8855F32091CFE26A425F114C556B995935F821D811E0E5CCF779764DE6EC47256481B25EDCB409 E7A1FD2D72D6B5DD56EC9D4474CD5A9660972D366649D840986AACAA04765435F4EFA7C513A10B 1B67FBB112BBD10490B0BDCF5E5BD4F80787E43895D4EAFC807CF18103A4EE315EC4B71BBB6022 FEB88DE20D8C7E0244B95015DDD03CB93417A691CED38B37C27BD1C510EC50E2D82C5ABD32D24C 29C30888A2E889D0EFC93945681CA613478CBBB222810C4E4478915E598628BAD3A8E31402C1F3 4653671CAFFAA244053AB7174E8576085F90019E0DE486014A115F88DD9DB9B10E91F129DD5A6D 00AA208459CFC5A7A2BD1095DF24BE5DCBCDE96D79E90871084AE04C1DA8DC2459FA0E191FBFFD EA46B20240E40B6467A2455C72427B119BBB07C5725B823C112E734A09D07970748F0D0D969B75 1BAF2451D346FC2C56122EDDB88287B1042B9F24C933F541492D0683DE0B0325AAE667521F66A3 27C863F4AF7F4A937F7BEA60B5299FA5D170F9413A2E6EF5EF70484C0D861EE719126A942E0262 52279876430581F0AF1841719DA6E4D8C3B932837FBDAA3FE08C18E1C89AF300E3AD7DF34FB439 9BE9A757C830E18699450B98B49EED738C09084CA5E06DEF86BC58359DD0D203FFB11EFEB043E3 7B184DA9B71C1AB17A9709FFD273432A34B3D924CB2F29BF5DF84596AD447A049E3A451131D660 57FA9D4C24BF824D43DADBA7D1B2926C9CA62D8AA8C29FB2D00B0EAB7322873FA5F9E2963EF721 6BEDB2D97548F6C40E233B25CB3785258D0E7FC096ACBC0FABACC39DE29BC0E770474A541D87AF 69D3B8E9BFF00AF11DAF9DE908EF674079C7975D7443F30FE21E02B73FF15FD44C619EAA8B9BAA 889266458C136A3A92E7979EB53A04EB00 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %%BeginResource: font lbtr %!PS-AdobeFont-1.1: LucidaTypewriter 1.001 %%CreationDate: 1994 Nov 12 10:47:10 % Lucida is a registered trademark of Bigelow & Holmes Inc. % NOTE: This is a partial font in Adobe Type 1 format. % The complete font in fully hinted ATM compatible form is available from Y&Y % (508) 371-3286 USA, email: tech-help@YandY.com, http://www.YandY.com 11 dict begin /FontInfo 9 dict dup begin /version (1.001) readonly def /Notice ((c) 1993, 1994 Bigelow & Homes Inc. Pat. Des. 289,422. All Rights Reserved.) readonly def /Notice ((c) 1994 Y&Y Inc. All Rights Reserved.) readonly def /FullName (Lucida Typewriter) readonly def /FamilyName (LucidaTypewriter) readonly def /Weight (Medium) readonly def /ItalicAngle 0 def /isFixedPitch true def /UnderlinePosition -100 def /UnderlineThickness 50 def end readonly def /FontName /LucidaTypewriter 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 54 /Aditi put dup 35 /Ahmed put dup 37 /Alasdair put dup 39 /Alessio put dup 41 /Ali put dup 43 /Alois put dup 173 /Ammar put dup 47 /Andre put dup 49 /Andrzej put dup 51 /Angelika put dup 53 /Anton put dup 55 /Ari put dup 33 /Arne put dup 59 /Art put dup 61 /Ayman put dup 63 /Barry put dup 65 /Bent put dup 67 /Blair put dup 69 /Bonnie put dup 71 /Brian put dup 73 /Burkhard put dup 75 /Castor put dup 77 /Charles put dup 79 /Chi put dup 81 /Christian put dup 83 /Christoph put dup 85 /Chuck put dup 87 /Clovis put dup 96 /Curt put dup 89 /Cyrus put dup 187 /Don put dup 255 /George put dup 189 /Heinz put dup 179 /Hong put dup 178 /Ivan put dup 56 /Jacqueline put dup 57 /Jagannatha put dup 58 /Jan put dup 60 /Jason put dup 32 /Jeff put dup 62 /Jerzy put dup 34 /Jim put dup 64 /Jiri put dup 36 /Joe put dup 66 /Joel put dup 38 /Johan put dup 68 /John put dup 40 /Johnnie put dup 70 /Jon put dup 42 /Jonas put dup 72 /Jonathan put dup 44 /Jorgen put dup 74 /Jose put dup 46 /Josh put dup 76 /Juan put dup 48 /Justin put dup 78 /Kamal put dup 50 /Karl put dup 80 /Karlheinz put dup 52 /Kaspar put dup 82 /Kees put dup 84 /Keith put dup 86 /Kenchi put dup 252 /Kendall put dup 88 /Kettleson put dup 90 /Kieran put dup 92 /Koen put dup 94 /Kristian put dup 98 /Lalu put dup 100 /Leon put dup 102 /Louis put dup 104 /Luc put dup 106 /Lunjin put dup 110 /Malka put dup 112 /Manuel put dup 108 /Marcy put dup 114 /Mariusz put dup 116 /Martin put dup 118 /Masahiro put dup 120 /Matt put dup 122 /Maurizio put dup 124 /Max put dup 126 /Michael put dup 177 /Murad put dup 91 /Robert put dup 93 /Robin put dup 95 /Rod put dup 97 /Roger put dup 99 /Ron put dup 101 /Rudi put dup 103 /Russell put dup 105 /Sam put dup 107 /Sami put dup 109 /Sanjay put dup 111 /Saroj put dup 113 /Saul put dup 115 /Saulius put dup 117 /Scott put dup 119 /Sean put dup 121 /Sebastian put dup 123 /Shuichi put dup 125 /Stan put dup 163 /Stefan put dup 171 /Surendar put dup 188 /Vladimir put dup 45 /Will put dup 247 /Waldo put dup 215 /Wilfred put readonly def /FontBBox{0 -211 743 940}readonly def %/UniqueID 5054489 def currentdict end currentfile eexec AD776B2EBF901A49F071BF30E3DCFAC47FA0F916EC503FFC9EFF58A2E5E6ABC78B442C3E49096A 372F9AAE7622C3ECBD02783028DD91D32C0749B44F46D712056235A4901EE1E3989B3DC1451624 40AF8B496D8B010216C5D0E3D6D7F34AED88500CEE93E2A4889C2FC011056B0222BA09F5697B86 A1350BEA78ACFDFDB589C8D82923F5F8AD8C1480A7D7EE8ABF2004A86A75BE914F200B220B02DC E0C7FDAF4B89502B119D1FBD3035453DDB3DC564DD8289E85D637884AFEAAF7C6FF38A32C70EF5 C1B638CB40003001895712A251C27020F3B8D9166E77E2A69E1FF83886E0BE4327AC9142301CA3 F4DB60613570C39367B465BD2E11A593DC63EDCC1810C1F5EDBF099DE46A7BC166F52311BE4A2C DFFAB7110560972AD364AE5170A11FEF4E1FC57E896F7B0FE2389F3BE19EB48DB67AC766314064 174EF2E1412F25E41CF45CB6990732C755064FABE454F1B1D5EA703331A09A7A9AF323557024F3 7B24CB30C52216514E014870A174249B7B1C05638083915C9B633E3FA00DBA2DCCAD433B078A91 E405EFD2CF75CEB10E524FD95A2BBFF9EEDDFE3016F6C2D3E901B81B723E4F422A0B1442A0E63C CC52A0E72EDB5035D945A2FA1441886E56D2B10A7B5950BAB79A9653CD37F0AF255B3850E1ADE0 9CFF282133A2E30770C76618F58007FC51C72485EA377798C5C8A00DAB46815939973C8FDEBBC3 7B5C966BEFCE797755B7E73A5E55CC69BDAB56C7E658C86B8FF147630B6D222993D3AC6AD4542C 078835BECCF377ECA61A10F66C41ED8379C2FCC2A5380AC1CCA64D05CB08109D76CB1901D00BD5 4761978C3481B305877CEBCD436944FB66AF914A1C8D2D125DB01ACAFDA9A8F71BA3CC83FB11B1 6ACFFDE43513DF984167288E886247E02501210DD81ED939D5D18EE3EB3644D5EF61D2BE58B7C8 106045C8A3684AABBF8EA6EEE01208F99F865E297A03B426EB16D44B34467735A1FECECEA719CB F2E24F2A15395A18EC4F6A3990D9EAC78BF523D5911AF11C3EAC620D859B0B642984658A94897D 4BA3F1F622F2DFB6861BC85CEED6172393058E882721A9B3D2E00437CF7FB8DA4D1EC8CB1217E1 697149B23FB1BAE92A7E0FEDA0374AF59FF5CD141426C498D2749C85FA6E6E2DD07EE3FFDCEE86 DC3F0225A5EF81DAB98FA26C89B1B020F884D485893B5EFD6019A149D82925F3DD9694A1058065 EE57C94BD63E5DCEF57F5C3C850419EAC7C4BC2FB81A7D0BC322CB0F88943A6F507A2FE460EEEF A17DBA7B0E7493890299AE86ACE258EE4C7EBC2C9713406E365A5B30FB045AE0163723667C9322 B05319D528C8C67AAEF79A6C34459311764B75BC63AB5165F831F1857F6B1D6801E39931FAD9F8 8B61B304696763D30C0B58313D31CC287EED59C97397E8C0A748426DB6C0B7C4CA57A43E7E27A9 A123734DC7EA137F307B9C9074B908E53E60F99E98CA0DE14A5D61967727709E1CB009EC9CD98E 9D796CF35B7B1FF2536FF8CD9E1C24B7CDC0E89DC29BEB398CB420DEC645001D90D59C7A5B5E33 20425FCCFAA23ED880C41BB82A8CADDCB8B5BDB1D57F414F380BBC00B6A8B9591B25AEEEC69B64 D671A078F39369EDA9E5C9FED9D179AC25F37A4E4D1E438B180B24D851812E407B242F932D9D07 EE2E42BAF2FE9EFD338345C15F1C8329E91644DB1EA96E6F45871D8EAFF292286D7A70281381F5 82CF13F5F987F423463C2DB96A23D3D9CEF5B4636A092BA8FC7C97AB42BADB4DE493C0B0A54C81 82650C094D0B4591A2891949270492240334842911DFD640AEB2B5CB036BEEF59CEAAE37AEEB4F 4CB45AAEDEBE062358058A0D697972BB11E9F30ECBEAE599E404C7BC4C93FC3C2A604CF7F9183A 96962D3D0F03FEBF8D7A171E9537EDB0F8769AD1A442BBEE6F003B87F9EC0C4DCAB4C1BE74EF54 73FAD92638E347980505361CA70D6A28EB18E83ACCBC73C481D4B81F62EC2FB250696E436A8788 2728E8E960E09A330121492079CD349F5C8FDF0CE6824495FB17A3A97D7C031F9E8B50D10234D3 C02792AF0C0BBAB393968B49EDF5BD4F84D83DDB9500A9EAE7EEDDA7CEDFC2A6B3B71F885487B3 31028361BDA2334E83820C7E73A67B200F8E08B742DC3BFFF6E363AA1EA72DB7CEA77826A5D024 68C8B19EFF5F8ADEFF5235AE6AA50F43C5F2EB56AFA58470FB2CE038D35DF1FDB5135B8CAA9F3E F27BACD9D828623636044D161009F558132A6B6DF4AE9CA3EA9DCF94D961D7CB962C4EA67E887F B9D7A3C5F91166D41C8427A1E0C8BA49C21E968D52B92BD7E7B1F5B1800A27F3F7321E3D200B77 98D3F4B0AC1A396BE11D0C919F55CD8AF1406321E8EEF169B785AB38BA5AA61A5EB09A9F312697 92D98DE98AE49A1308A5706738125DE51C98AA3AFBBB10124FFCE47F72BA6A1E5D96FB5BD8F989 D1AB41DA7C2C71FD1C02CE697C81A0512182ECA66EC14CC8E473378FA9EB3927BC9EA91B1BBA8E 0C70BA78B1F7DB3124246AA9E4E349421623DC408D756578B11218BE2D6B613186D1D094179200 8960A7F1B266D7C4DABF9081725EF2E5806AE27E5D8E81CC7B98C9CDF8D319208DD7A75C2B0B1A 7C13DE5CA9912EF40371D9F415840ED99AC446E1EC958001243B0C39641846EE67E79217DC6AF3 02891C024119B55AE58D14B28B68225733BFDA7BC4D54EC2EC58AEF027BD34EDDDE2336EA8B34C 63EAACC4D255340CEB8166FBDA86587E207C06C6F804C366822435388ADD4BDCA7E345DA3C3912 16C19BD9F424C5C5596E3D1BF1C6601D5967942070320981295BECA7EACAA9017B29EE70538768 5DAA8B31D815A53E446EEEB107B369B824C97D5730A4D28ADDB131FA243225A69DB5CC61C9CB21 018510F1930F3AF2AE3987D5110BED80CD8B6BF24998AC07DFB9C648B0BDE300DA8853FCBC3C4E C47181B1665670E4809D03B0FEC298D1E22937C45159BF0E1C3278D727E40CD00A3DAB814D16C0 453C20F343C8767778E20C3E12A9C0F30CF38F782C91B678FA8B73FAF9AB8337EBC636E05518DA 74C57B6696BAF384BC34CF1F50DC361C2E745A9906DD87BB93310DAEA23BCD0AA967E8C062EE03 F573B67C6DBA52C3C78E4A6BC9A879A97924F26EA053CB90F1AE4968BEB209B7496B99E7102390 4591EA1246F12A2B401C36C3D585A3C3E42E95316D7B3BB95509256DBECBFCFA8182EE874AA624 B74C146E164A7509867514349FC6ED41A0EA7375C81E58CAE6AFC5524E4506458FDFF6B6F94A50 18BB41CB3BFFA90AC6A605B372714552AC2CABD4BBB9400485A50E1122F69011BEFD2EA53EF4B5 4DF3481CDB4F97F8BBB549612C3EEF4E860143EB2FAD42E5B9D5913E53DAE0B3468B191C8ED4E2 4B5E8CED287E7012FA0D16B8019EB890D9A8BAA01629B0CEA69402973EFDC1618CA995505606DE DD18D0474B4E08F7FFE947C323A138F944A950734A4586FE82A08B7C2967E67BC975B875A2AAE5 05935906A0484CC6C2478EF1EC03E885D86CEBBE5101101C11B7B8165E132D2B427B8583BCFC89 85A7BBD5B56D12F8C11796232B430613A8B4540BF45C97B6067A74BBFBF64851305257D1BEC901 238A7303E12BA887117301DF80559342A4B551F8189E9DDBC5251D2D384831269A092ED1971292 2396105767405896450A1F07F6B660F4BFD98369836EC514D418E4ACD93095A6AA2C44D0912217 F48B92A5D7CA170A6293B0A4139BBBB39131E2B6F5CCFACB550AD74DCD4D466AD9AF69A409D09F 5ACE8C98851C20E19E4D44B1DB30905B9BE08AC52E0A1548793C591CE0E29DD2B102756822B36C 6E4BC505003DEE549BBAA843BA5EFF252F0A5E4CF14D1EA86F46ADDB6EF52427E0B6E2861583D0 885196B68E53D9B72793100CBAF160F7ABAD3A8E2887D078E7F78FDB1437F0A58A20C7E300ABA8 031E30B35D34628DF6E8A9689F2C5A779D51D6B673F38730E2C28CD4822168D037138B5DFA7A66 4318B681D41864AF487BDAC6E635996D21C5EF1D16BE5CAF809C6E34AA787121164292ACFFA289 15A115A11700B26B0BECD9B05A4CE538438BF67209443B4ADAB5BBC40F9F354A90CE53F0C24AC1 F2C37FBB9022B23FC9111E292ABA30410005355D49B56D38F4C33C37F8A891A88B2F51957420EA E5D22618FEFFB7C1A6436E75E4E6F4F8B3B847D4CA12D3D925A3F1F66EB6D87B19A53042FC860D 2A57D2B2967F001F6B56DABED79E82D33107FAD1F46172D4EF1A52FFBAB95A33180B0AEBECB34B BFA4DD57AD85FCC81833CECA2A9D4667923A57CF8CEA991565051E3BD29DC4CAAF8B8DFBF3A76C 8EDAD02C5F5EEEC19D462EB48758B2440329F43A38CC21D68D26FC54179ECF102F15AD9AB1DA75 046419CD4B0FE0BB79C77A72CB9583EB321C978C8F68A3568C52CF0A85C938A8065D18DFAC5C2B FDC4659C10A237F09B924DDE6B6E09EFB77C158F9DC22E6310ACAB98218FFB6D547ED3D5590541 AD5862078A9CB34C2BB08B4C3E620E0802E99DD0572B36E7B7B9DB269FBAD73F7A49F711E2F790 2C0F15494D642FD63010E3F1B5240ED79B617A655D5FBBB5EACD66B85F02C54023640DF5150BF9 88B62D82E068EA4E35824FA098321F86B68DFDEEB8F575B85AA76ACFD6FE55B40D2B141DCC1B65 DDDAAA3E790F6B0B491E80DE0277D25D48DEAB2D8E48A004C36665468CBE3BA496C57596AB679D C80E9F744FBE8041D3AD6F077CF65B0612F180E8403CB8D58BDF46FA5615F5BAE1AFE3959FD4A3 EB1743ACC7DE83ABB701E949613BA573A67B4E9C816348078B2F857609582E5F144BE599EE4B15 85A08F81174FFDBCD8AC2258B7FF161EB3A1849054B66934DD76DE536680E3AA92EAF1985D5B56 C68B693A3EC10AB0FFB2B88609E8870670D2AACBA8B20E9FC5ECA607D3D90167453BB172484A55 141AD585EF5173AEF115B5BD89B653246AF9C2FE922A8F56B78E797C497318FCACD97E8F33627F 579C8D1254166906EB06F96DD5003DB43878316E2EC4109E8FCBFA4B978AA15701BB16D633C2B6 502F6566AA3869B9C94AB303617C3787C7CC6CBA808FE9C4E67725672D654E075657CD646E26A5 82C68B47CE90C154A51CA289747585668A5A2D4D73D97E730FDA8F9B648B685B409A742AEAFAA2 A818D0897970766B186FAB6836899A1091CD3B9503533334293ED15CF42143C13CE2D05A6EAA2E D1D12A3DAF28F9178B9448E4EC2A8FF6CADBFBEEE028AEC622D3CBA1118E92C98C4B303F8588A2 3012067D2E1481E68B4ADCD6594737FB2206763B5023A0148BA31A165DE5384C63480CAF82E59C 28A133A775A6E7E3A5A17CB8D9D6A3C9F3E638F67CE5D58926932DA3A9DEA6ED2CB7B5BBF07C6E CA417769D07B64A534906E5CB96DEC73E8093209CD2A85120F6E3216B5171B4BA67F2538785907 BF3B8A912CD7E6362E528AC47FC14F2832924FB512259CCE6B650AC1730C5E531AA826D86CB8A9 D9AD673294D4F1D3CFDF738BE5BC6C9401A164C6E7850794ED6587D592F44D409855639AB72C01 6C55878BCBE20DEC3D4C15B0C0D47EEE44D6A4E91AA1C297D25A44378636BE4EB6517BD486DE12 950F53AF60D94F28419AE67BC2316E26BA82ADA180577C6CE2A56FDF0C1EA9B9CA2EF55A95125F D667870226ED5D780A34EB34F468460EBFB8152024F200E40C6D42D5C5513E163C02B82C42FBF2 E4433B60344D3EBEA637C78F734FF3321E743437F5AD1B92429B46ABBDE8E115AEE2904B3F3FE2 369679466A59EC0433FDB261E8B2F227CEA66E4C57DF67F92284F0332A4F4E46431F282EF59975 C430121C5E833A8174095118BCF0CEC899EBA8313C3690E85225F5212ECE4BB82902B0C662D78C 37747BE77B81F47C24F088F5F94A18BA923E54DDF65B9DDF5E9D64E4D8B086BB808CA791A0E8DC 2DBBA31CD58D21489EB64B11560AF93796A8E1E206DC7C15F4310FE985E47A929F76A6BC154FF4 2C07B6F96E03F1D6BEB10A0E053C8C7DF0692929D1B62A3074DCAC64B1A6821FD25F6B434BB016 E3CB58286848D04B8E743C400D477FA5F2130352AB8932CBFDFB9FB5C6C6A6EE9DDBA6DC41589A 89D5F223DEBECC40BBFE5CB5E5DA18A511450C6A679D10FBF99F6A391B11189B921246FDF6F552 5083A1361F6B232E1F5A25F5E1D0DFDB1B812BA87143407C8ECABC78E5C7AA0531293AC7909A8F 7E27C5A87099723739C93CC4F955995D664D4D043D5F4B27028D336A03313A6BFD8A4E1F4023DE 1AA5A0F7EFAAC52FF9378BB890ED9B29F50DBBB920676A54FDAD07963E2846D3733B7417BA5334 5F57F1372E89F4020DC6A0AB9035328B0DF0DF71110C2A452D2702488A229B54FEE6845814C21F 764007C8E119CF84454F608C91E1797DB85D9B8210BA1F7A7CD12B2A8AD55DAA18CF2042F4857E D37C2ACDB63984DABCCC6BDF6A119C464C7D6EC30CB2E4620948B1B7BEA3A2DD88B15EFA953B3B 69C2A624A0CAEAEF17915ED4389D1217080B7F7D91887E055A86A6B287490DAD12D6165A0243A7 A64587BD329E130F8E522D6570E59A33595672C7110FA2B8DDA2EC48F45671492804DAE5DB40A5 42E21C27D2A5F2C37F00E871C3087613F11C6249EB926A0463D0486C5D5919A0A6A556D27A6AC6 0E6065AE76BCCFCC3525732DF91F7C0F24A09A8C2053C231348BAEEB93395AD4DF4AF7A99DB0CA 9CB512D3D71496A74CD776A68E38B90673300A297F6A244CCD0341112F42CB9955DA3980C15BD9 68A2B0DDACE0A835ECCEF41E8CF4EDCB493B59882F812BC4D85694E508FC0CAA2AFDE8C0B21F2E A861F1620F6D01DFAF25B3ED11A7753395F97FBCBBD1E3AECC00B5940A6651BBFAB3556F720081 8AB5744975F71644FD46B060CF74147238B6ADC1E9FAFCBB3C2D2A3F92FD4C141C520978A992EF 90B23EE6178602D2ADCD143E49C6BD72D24C3581F7F1A76E9122B4D8C9DFA3FA94D3CABE5F84DC BDD90ED86A2E6D8C63EF7177AE85AEDE1A594DBC3C249A7B108AFCC6C75A502EE3CA0E733808AE ED05CD0B95431DF8AFCBE86D9EA04971A1ADC6558B5B82E5BC3F98AF6DC4401B04A4D39335C7D8 13DA80152ACDBF6498B99B3E314D18981340A1117D206368E4F2BE11F46911B33BD6FE35B0109E 5B294F59D3F025FEA5C2834ACFF2BE105AB95BAF201BC50A4D98B85C970AF3E39E0B05D15DF28D 0A18E82FCC16D85BAC813A9501A10F4CDFD022905FA5B10C8763361BFC4CB0FCE8654062C0002D AADE193096D10973533795666EEE0AE8B7BC76D60B1713769DAB8AEAFE36A6E6786DCF15A1A890 7C4DF6D252A5CCE68B28B6F564060A53FCC5E39E97FF61DCDA09DB31BAC530C8F5B999B1FC4E36 A2906088897488081D74802A693DED16DCF651F62C15EDD2BC721619F848EBDCF226DFC535A526 C3247E225CB344AAAFE6A954E89B8330A9F5B05961B5A7D362CCD2268D993EDCEBFD46C2944C91 7F004CD27CAC0F142366D8F2419CA77C36770355CAB1C3BBAEDBD7F4D0150C4BEA551AAE4CF898 E5962B6579F5B13A3CAD2EC25AD7AA6015D07028BE165BD40F27A9B33FD805B8F42326CF94589B 29249E4859A8D0F306E3BCB3A7EC3298904B0CC87E913B90149C765A43CC39144D523D6B26A509 E00236093EE99B3513AC69DC5A2941F1E48A71B213559621E5BE6A641D943FE3A13FFD796F2BB1 A6C452A24E4B9864FBD9A9B5331DFBC5DCAAFF5EC6232F15E9412BC2230E8394F5C0F92244FE91 8043D83E3790475F6B35673F695244CB303D708E8E92731C657D81C7A28EB491FD849179BD0886 E72E47F1B4C34B465B4B0A212D57DD804C7CDF5814B1E6B87C9ACB9C74E1EAD3C4B8889EA4F25A 0CE27AF6F91593F0DA3F55C15C9EC3CDA8D6BEB60FA0D8CFDD2C34C1B0143C36A80B3F77E9E4CA CD42068746943063788129B9B10DD969706035C3FB7971E9A56EF6FB3A0B4ADD1D977E014E1417 ED81B819435C8D8002AF809C6A252FCF5F17BFBC747BB7E604C9328F353016B85A69F468164401 67563700E8EF94313BBFCEC58B3FA6C89C0F79AAA61537DCE0B489ADF40540989FB040E2FFC535 0B85D9C011A94B7A806482E02C1038F47D392BE62F7A192CA4659D8F0A17F1D53DBE33A6749125 CB64549F2DF8FC0283E48713E166A6401D1DB6193DA6F4DFA2AA7430EBFDE3DB993A6C8B58132F 3D57AB5E466566ABB13D5C29BA2262F3F6F574D275CDCD653E1F8F824F516B1C688CE97C14FF3E BAB81F8FBF0A6F64648BBE7F5AD5C331614E5CFF13CEA871D865F4F788E4ADE8984BD939AB33E5 17121276461DD3125F3B56CA87900CB449B6497FA6D4F5FB859038374D5BE0AD2A34B1ACC9479D 5530AE8EF469891C174F8860837F7A22F72590CB8309079CDE324BC60787EC690F901A69FAE187 2B6D4D4576F06F5CC37495D0C72A45AD47D2F6CD216FAE7981E4859B5845FBCFCB61829A6BC8A8 E7A9A0F53C020767B5AABE20CFBF2504BE5BC7D32DE9B56BB1F0C48330635D3E72E4913CB1BE01 28C6BD47FEBED891A3FAD8BBD5F916B466E974F9CB2B3129B29DF1F5FBC7B2BF2AB8B2769C12E0 435ED3208EB20E9657200806391492BB1E5899EE594DDAD170A0A61BB6A1D0581D685C80CC2F9C 5E5AF62ADFAB656A33D22F7A572FD25DEBBFEC4B36242F8D77D18A0CBDE2FA03CB8E9394B9CD88 D63CAB57E79081650E58E4BCD0E5A878CE4621251A287C64035BBEAA80881D504C75032F89280B FBFC4991241167BEBA653AF5EAE9B1A3280A58B9C4C59B2FC47659FD1F42D37DB5470E46D2ACB5 62A1D0DA3F4EC9DBEC40635018A141152BDC88F33E79C6DA6DD616BF689E052C0464B62A1E61A3 E58CC805DEE666FE4B4F0096D6D682384A2E95FFD0B542AEF848E1B54056BAEECE36F0C62099F0 4E0AEBC007352614E0349A18A2614FD3998C9907BBDB681C74DC3A24E5C002EB64AEFF55CB6EDB 44CA80E99DF02F8A7B1016824AD38FE7264BDAC41E848CC7B7B38B0C50FE417455BE9AE00F0F8F 79B0A5F492C89CDD1D18F6FAC750437A96608C131AAF7A9C5BC0D3110CCBC25B19C7F1E3906C27 8935A398909D2EE97723CE0207E9CB29807CB9F8ADFA813900D190DD0CC8E3CA457E8CD392441B B800B2B30D034ED66518D487F4F3C33DE3FAC0F88D9A6A597379C2500A6954EF80302912AC116A 74A520C2E40AAC299B78F63879F31E2A8429B13DAF83428B12DB5AEEE33E1150A0FF4174DCCBF3 9610D0BB68DDEE4AC044123B208F3D37A5CA6A646DBB821975DA03DEDBC42714949104033A4C31 0FE6BF0B70F922EFF8C51CA42B1CE7FC496B43E2DDB4B20AE6373972105DFA5843E9A64F63342E 36B154E1575BA26998878A96CBC9A34B2E07188D6E1E8E69FA557DB604BCFFAE3675E237D97F5D EF4C8D2257AD409B239F1D9519F9B718C27B998D69EC2B5321F97AFEDD8F7466E64F45A0843594 7B35221BDF77146E4E33F08935C37F0FFD44D506D8382536365FB3972C455A6EAF0761A03A85EC EC2E8D0FD1FBF0BD829F18874C7C25D8F0ED087F9859136919DD52AC3AE08A7D848E5EB11CEB54 2BF71B537DFA59D6E081574AF536813DF6D9B8B31B83BFD52DDEC2D7D833621EE2608619F0A61F CAFF7EC32F2B0727B24937644F40DE81F6D86FC17A3417392B04448A5EC54C0B0BB1B60F38767A 508ECB5B30113246F3A3066310BE7A115CD9D35EF4133A4110B10D62EF3077CBBC8A3C64E5566C 19BBA49AD10E1D5D11BD5A31DC8ED59EE62CC19143533502D580237950FE90B7ED3803F662A522 A3DF2BD026CEAE7D614EB0EB2D29681934DCF9AB2E6124A18FEFA62F2F478B87E2764C59C2EFF8 946D326860363543F0392CB582F6AB173AF2FF031E77C939597381F724D242E49D323CF0BD1023 74B67D028C331B64DB4642946C72E82092A4890A5491130E312ED47DCB238161CFCF412BF7738E 81B3AABB3CA492B716F92BC684615519BB513526C06FD5BAB6F196807D675DA47A7AD0216B7BB1 35C9EFBA46313A9A7D3E40A5B7E6436114846D1032A163305534DDD10DFBBABB912B1E18882A47 5154FD2A0FB33F1E4AA97827FAAD01CD51F62E492AFCF3B870B5B90AF7CE345F99D07F134A790D 312A7FF00B01DF37741A5E2B98DC2CCEE6BAB34978374CF1CE2F83F03ABA437790E0BA33A0124C 2C8F4A13F3F0D00383141A952242B2129A0B96A45B1CC13255B3118991293700BDDB4E29BC913D 0A3B44D9E5F7FCE6D153EF4FF3824FA229F841EF6DE46E113C9B602A298868AFDD1825CEB017DD D59F67ABD724D8ECC9261BF90C413BB4818D060CE5FE0B0EA9CBB65850E5FA181E9713FDA06800 FFE7C53D9EB62B222ABD8E12EB6E149CCA7713C5639ED530A30DD12D69E271782458E53CC14DB7 5B053E7D61DE9E231A78C2391DC18EE092A5F76CD61AE5B7894B78CD378E0FBF8056701D4990DE 1EF0F36E918D98CD907F624E654836F18A579C7BFB23DE3AA9D59229C3FB1A4B857D9EFBD289AD 0FFC27B6EB42148E7AF8A802C99B14ACE59B52A111DBEC97EC5BFB0F970C9B27AD6231D66F1744 74207E935CD40B5D3787D85B46D4C33AFF9DD5029A0172118C624DA5307F9FA33C256FDA460479 205650A52F5591A14027695126E5AE946A7BAF34835CAC37560EA030B3DD2B06A6DFFA0D02F634 E344CDB5260D84FC6338DAD799DAF44C46E4C4DA1854160E76FBCC0916A3EBDE474E358E9E8B32 8F1223DF95A0F1F8CCF619FBA607F0276C5373C293BC4C4D653893B83F3583D9BA549F8D229DB9 44D7B4B835F97197608BEB526AFD58416980C3C8ACA1080C09797DA0A24B185C793636A15FB82C E003906B613CA3D16DF1D7C51033480123FCED0205AE45BE3DBD332DB88D0BDCBB4DB845AC13A4 215B94ECFFA4D4E88B4BC5093770D5DB8FD7B87E8E4FA0E58F651270701EE92A3B287644F56B40 97237BAD7453C25D29B293ACDD4A295284480A3E19DD134E77498E16512ECB44D77EB24D6C35EC 4586D9B73B2F60FA1F758FA86378485C37D595ECE1B0FD80D64CEE30B7F5A51A724E72E18A9B22 AECA8129067304660294A309E9797F8BBE2402581F43D8636648EE6675C4D30A8B50DFE587FC41 E5C04B4430C58AD44F57C8F6AAFD4750AEAE51BD4715838D8BFE522C6F17ACAE809C3C39F50D72 CBADA2547CD9D0DE80980C53D9ED68E73214037B8A8E365BB3DDF7350A2D1B9AF3ED802436D1EC 75C60C3617995E3AB7B8469915D80285E99BEAB6BB88A9B5A388D7D7CB950E7DBC168885FC5173 4FAD3CABD91109104F52525316943C6E16ACD17CAE128D81C0D98357B0B806ACB460A5E7F5F7B2 385060402CAE0CDAF70188977249C809CD4C6B133ED8447B926E1A30D4FCD0968FD3FD45B50F6E BA94E72E87D4BC7ADA4DCC3D6DA0F31517EA9DD89F6751F707980CA84CF406F7A786AD8E4377D7 5506A96F7293999800C1A59CD813F18398A4094D7426E250BD21F87DC58C094BC00A567541BDE3 D17E1BB01C4AAD986D1E79CC4B29234A28A6A323C0FB98B530012E523AFDA4915851952149B238 CCA18B8F974BAF6CCB738D05B6BB1FCB0825FC1920C4E3AE8A1DB3B7C02991A543AFC9D38DDC1A 563793DEC85BF313F6CC40A1C8BBC09580E54EA3CF1E399F8EDB969290A3203D86D67327E567F8 ED390542AABB07A0DA177C3C6B44F5BFBEFB181DBCD1753C6712A6D7835A64B36922173FEEAE67 735FB82A09CBF309246D104DF7B14AD6A6A87DF431004EE72FE7887929F4DB593B0A113F176409 E69892A4EC6CF250F984F2CC2904C788FC7FB9B164B7C3AAF3B9BF5EB17108C52EED49E5E43D16 F94ABBF85F784008958557FF8DA38DC55BB43D6F8671BD2764A9F276C2A039FE5179D23455BD55 539DEA38921C66C7E19EE407CFA868E9CEC0694D756EBD5B9EBDFE6D18D5E9E33433C886B24CA0 B0F131746FA8FFD23D427828A4998D0776549AB2B4F5B610F07AED694655A7152740A275DE60AC BD7811F31203F32D071761E74D0B34BBD8158DC1282ED895F803B7FD689D429C9A2C32B30E098A A790D6247386B89F03310DE4665C3AE77665D885E456B655846956CA33E3A702F79A9695CE7510 329536FB24143DB109D0E858CB20B3056078F0C151419BF06BBB871F925ECC7B4131E54A935645 D4E00EF0EA720ED493E6731508EFF11B81D9A4DDDBBAC935DFDD1B798BA0E34B0D5695233933E7 8C0C9C1DAB44C7BEE45543C3C310C452FCE97964D2B635C5433318FA367D20DDB9DC8CDCEFE0B1 1DDBBA2D7A7010375EE581C7FFE97F89BB91E3FF1624F0EF5FE27CF9A027BC8D1939F91D88A873 5861127EB0CFD88300D3B821DDE0B54B62762466790A949B2DB6372C75732E87F54CE4F05325D2 0643A2F8388DE10E1C4CBFDA85A70F7551CC8A8F088FD46483446E0BE03BDE1B5F2B23D9B99EEF D4641BD0EE2AE3310B0CC0AE418D0C6797840CC5BFC4F54F0D6AF8DC1AAF3DF297D3955ABAC771 214ED10BC9E88A4CEFBE6E07EDF9F7A2F52C144086C13071F24CE826D468098707090EBC28BBCE 12E0AED14488B547A70EB783D97C98CEBF55858B924F0DB6754B3CF833EBB5EC487046A6C3BAE3 AF59F61B699782A6109E0D7544846F4383C849A917ED1750A8F5813F552C231A3E5954F57C8EF4 D02BC790A6DC865F77B78D920D274C2276F9DE3887540C460B1A6029419B9EE6B88FE29204CD4F 62321824A8B72FEF463400CA6A83C2CF8E161C76058CEBB021216ED92B4D889A9CEAE5619E0CE7 DE0B6927577AF0DC385FDD45EB6F116778E91BC1EBB2B6027FC5D39F8A233D27BF581DB38D31F4 20AF47E77AFC2D67A7FE90A10F0D6AF0816BEB7CE905FF00E5C2DA7CEC75EFC3A170495999AFCB 7A9781375C03C495FC9CDD90F9783CFF0926D795F155CE64AF0817726FCBE7BFF6566FA1A1DED6 D4D6C2395E7DC3DDE9484A2FFFE1C67EDD9D8741E17D526079ADA966C5F17105235C7A5E09B82D 1752B97568029925A6E25DD461063227613F02B66AC5DDE9B4018E253263CFB3EEB717BCE0F8FD 36B0EDF5D82D2DB2DF28F72B13D148F741379D7C31443DD9C452B3F5A8889C93F15957064DA4C8 BD8D3032D94A3133695934D299CA4303797B6A49932A1B672A72DDE67106E2BE984CE7E6BAAD36 396AE3EBAFBC268105DCC191E2773ACCBD92A3D32EAF57721C0EF3E34744AE1ADFD9C56669A08C C7E95C1908D43B569D82CFD4CBD7A41D841D10C107E00CE93F033C7449B78660FBF82D157601F6 A9C721C3FC1264A86363B5A151F63C8B646E2D7E5D44C3DD46CBAE571FF53A9F4064540768148C B69B9752D1E99EACDE8BD201373708BF20C689BDE479A0D11DEDA4243E6D0ECD265294C079C7BF 427F12C737CE72238894FAF3571DC588143F2C86EABF4512C63672D5211514D72120ED97AE70E2 FE4291903259BA3521EF94C9D13C5A614AAC9BF14514761F5D3678F4F96DD8B0A20AC00EBB9A43 235A571280B34341E5761EEA38808C7485C6B9D15B72BA4A0281A517FD2E5E660EF9EB5BEEBD43 2D537F8E3E2FD2BC8D221CB3C6E578B1627EF869CAE922CC154B38D2239A7FBC8D85727C1D533D C71E873CF062F0DB2AD29763A482B6A601EFCC9BF9214E9B270BD9633BAD41C2308A02B94E860E 9B74808796488497C3658F3F33CC29EB099CE42B134AB7A5E168013C64F056375DC95FFFCE9AAA 7813C498FF43DDA22D5186F6E7B3AAEA39A72A5C0EEB95A0CB79539FF14FD409F7D357FB06629C D99C5F277996778C7FD19E776CDC015FB37A29AABFF21ACF0BB36A0F8F7D6758F4AFA31FE61F95 10905BE91866BCF1B92CC5638BF90CEDE72FB7F46FB1892F4F4E965DE76D6162C515195A39FBF5 1A7299F01D20021720B8046FF10A5D5185B217BE8B62874281AF2007EAEA8C41911DB195B8C3E1 BF0E466CE3F398A111A03958BAF0707BBF153C1E4F966E4645795126C6912828923BB3952C5099 C0FF6855AFAB944B776511C96B77A9E0459FC52749F0AD982077A227792126507426736F2965AC BEDCD7938A0E27351E5CBBEC3E331BC2568679E1823DBDCFDE6E46E999604924084D583696F05E D161CF7CAE7A56A31A7EB0BDF8F5883A5825597227619EE45655F15CADDD3100604877F7221866 A27520BA9F4C72A5B7A1B45549C599BECDA8D24BF7504ED6032981AD5EB25E7DCEF6B0E7295F01 0C881F0B0B28C39CBF0708B8F96AFF3A0193AED2DFD8AC7E6F4D85F2EE21971A670C010857737D 4D3C1CC4D1EA8FEEA7756D34FA95B2BE2A27E5864A4183F75861F2EA00D050F04D6C48113EDD40 75A78C5C64E41B437AB8FD6E12C5A25ECA76816702CEEC2B3FE8DE398A130CC49330BDEFB0D76D 047E035448A59484D48D18EFC534328A8556858D4B45CC05377B8140598AFA383939E4A7F73561 68C7B016D012C37B405D4523A1DB884F005A2572A039847C7C065B8B92DDC9BC1E803692A39CC0 0A49CDF0AD24168154D03BFD56E1EADFE29E556B52FD11CF838378E4E4FEAD5243456648DBED06 2A47FA57542E137A9E035569D068F08E43DC4031D85925DEC164FF91F8C207692E8DADBAED305D D38FB4952C61F50F9E4E4CBDE408A16801732F3EFD6F2D600CFAD6F691BD36279AD251D991F24D 18DA3168749E8469A9A39F2106B98701956F265C3DA4081278A3366118DAC644DD5B4B5DBCF7B6 EF6AB84D9C41350B18320C0FFEE0B5C26AEAE1A6028093337FDB82EC40105175175CC19A7884A0 B07DC34C349177DD4BCDC16323E36197073F1D6447BAA0A45F0DE7453E6891AF0FE2D21C26D9BE 37454F2F83F6E974DFBB014511275360A9FDBF6CB77510C92A45C0C1FF6A004F854FDD323CA4EA 45EF334B4BD189F1131FFA7B4C7FBE315DD788FF2D89DC3804ACC9D689816A22E39BA45AA98AAD 6971FFD22B5CF38794385EA00AE18FEA562E0AD2688CF6176E1FF4CF8910ABE1C4E98F59750C26 9858AD2B32E717C29D97878953F729AE13B3403F997593542639DEEACE7BB88D45B6C4FCDBBAFA 3B18BC0F085B25A87B16BBD084EE088FDBF6D62F4E65052E374F2DC012DF690E23C6A00A5E8760 B2B2A213FA8D0B31E08070741FD2D8752274CD71B1CF566890113EA34518457B1778DC1CA38345 78502A62CF4CF563252B3ECF554D477283CBE6AA7A434A279AB71B2CF20765F5B197592C681FE4 6ABC6115B49D776B1CD457A3335FB3B61B4258EB77327688686072B7906B2D8016C5FB12A626D7 E8B2590CDF574F3A410D75FDECE4BE7DDBAD69EDA08F44B73D6F7C92B97C67201FA2AD698D058C EB7AE6C88B699207669D68FAEBAC5E75905B9688707B199F516E944056C2CBE773CC95BCE59D82 AA93DF52227D477CC2345EA8F1A2CB96A00D186F3A02C30FC0330EDACC404ABCCE86F0462784B9 7C1F55A03C4ED89C79C0BD3A0AF3B19259963CE966F654D7D4EF9B9093B27526E5C09A084F3C9F DDF3C8F261A5720DFEE14B6B198D8F0CEA0CCCC7B70CE185F0B65B0B4E5CE79898A8E3DBEBF65E A2A7F82EFD92AA7EB65AABAC5A3CEE49070E78D5C591409756EB4A706DE5192D13083C4A10BBCE 3A818990406945A4036CAB65E3F53A54E6992866E130F01DBADC1F15751256DFCB408DCC671CA0 731A01A6457CB40B4A04BBB0BF77C8B655ABD484705AD31CBB88CDDC3C599B35B86D3C4BB8B8E6 7751A095E43C9B9228C58A920E48D679DEAA88DEEC58F7B5573DE4D7C7288BA9F0A5899D1E6588 557ECAA123CF7D504406BB03F580FE02A2E88FA32F9A824B5A895CE8EB1BC271FF2702FA463454 717D37672DF5C7F78561F889EB0E57984A96E1430B26E27BAEFFA17AAB5FB94A890AF8FB57AEF2 4FE880121E0B31708F1AE9B09DBE64B26A5EBFBE42A4BBC0C3ADEC0A14CF7496AA53263D4889B0 929645EC2B8C5144A4D76FDEDE6345B1407F990C5D7644B21C0D827AEA7D4E8D4D17311099A703 689B2F68A9EFE15696C589BC02FAC8F5CD6FF68964EB222EE012E28A490614BA93405E4F2798EA 0E8A8B5EED8D7C554737ECD26CCFF16F50C8AF2373E8688DCC297269C2836E4FED50EABA465EF6 908DF9F55DA80A501E0165DBEE8E3F9FCE4F6B9C31AD5505E71AD3D7FFE6EAA9D764B965FC163A B0ABF7DFEE391546EB78C79466886C7393D4036FA247E9C4DEC84FE72D4B5AFC6D7FE58714C70A AC3799C4B419D3701267915677FBD571073B70D68F141651A59ABF8B6483E216F90117879A34CA 43BFA857B831DFE321C2FAFB887131B607D2B9AE7F0290705C254716161DB40AA383006A8B74A5 767DEDEF5D60711B5A9E45D63A6EBDB15740AA04BAAE078FAD7FDCB9D26AE3DBB66ECBD9D7E641 D064B881BF5190FB31EECBF3659036FC145D8BF0DFB325A78F0B3723ED8DD2A967BF916A90A92C 32292F3330D3F1FA1F31CD6AF9373D12A1EDFA00EE7A4859BB6F6D4D6F6F7F944ACDE744E3D6DD CD646F83539F983B1C70BD94E1FF6CD3E072F06DF4193676388C95A3E4E3D07ECD40FB6928AC52 CBCCF63B71B47DF4567E19E0840D6452494EC3883F6144E5791853B0EBF93D6DDDF15B3C8AA14D 8A20E191DE9ABEB1ADF7B19B3B688961F0B86E215451E4DD52BA655B00D1495BF08660AA5CE7F7 134698F4C73B97103D1074220946455466FDC08FFC63A1C97D60E0B931E94A6A559BAF54574696 D5F5460FB18B3213144F42F1AA8D5FEC8361A6E401A82454C897403E82DEED2B65E6E50CC603DC 34BEF5E2EF0F2FC24421E5DF012640D1C6E5C87F2CC8A3997362E27463CE29C903A5B32863321C 55B8540DC3DDAB6892FF114F3EF72647A3525119AED1A65DBC779358C5AF9F3AEDB5AE85085CF8 9F55C71EE44D229C122DE658C83290BD82FC39F044163EB56F841A9E568D50493B535837415A12 7D618BE80156E1AF95AC39BE234ACA11CFE3744A8AF714724C04359EC8729BBEA07EB8908FC41D 4E5D045D2261A9E20C66A161F98584A2FD1AA56473A0287082ABF956B6F34C0AC3D6139C00020C A13C7CDC60F1F1778CAB99930BF104139967B728C75120BB7FC3625513C7F992CAE757EEAC275B 7172522F0E178F4EB6F862080D0494FCC5F159DA45FEDD5C7A19064BF1EC59531E973A9846C5A2 F8BD12B34B0152021D6C41F7226BE7DD8876AEFE003A4DD181EC983284F8855F9535318246A668 196BACDC3A71CCBB1BDA4547168F0624CB896CF96E7629EC8D1BD11530E5E8D5568D77D9DCAC00 ADB7021BD4BF6FC3E1F178C51E67781337D7D3AC1A09ECA650B8278FF569501CBB021B2C8C9ED1 C9A23380D3CA67ED0E27A41929FD835DB776103C8CBE4498470C2ADA09AAD19EA5D781C3D5132E 8C343AFC91E36ABD78327AF6A4F589F146E702BBF6A6C3EA6F720B5052FA18E4BCCDD1A7B8C7A0 E654A9883396E6442EDCF3ECB05C55B0895C130ECD3B9544A3FAEB5ADA3F5CE8C5FF342D2DA291 2E9FA59276DB5418BC5B065FCE1ABD42FF3238894BF00C86C52030258449D995943259F600B1BB 8F63809E2D84425DB00AF60E9E8AE791E5ACB6D3E5C7FC9023144DF022F86FFFB37D30899ED2D9 FA1A5CA5E442170A2BF817985767EEA87C4F57B8E19681F607EBAA22860C8C549738FE95D85F4D 2027CF0F99F31985FC568EAF856FFFC056B118EAAF09E8982C0DFE550FDD8652F3D94CA70DE411 00C17F820E4A7A2217619B20FC0303AF62BFF042764382147169272BE9769043C3D41F9A246A01 C4C63FC7DC2FD62306EE813196D620F584B007BCA0286A39E296B210F64F684CFB2F9CCCA5B74E 950D35A1F18B19A26940674DF66392255091A6A6ECE640DD8142F5CBEF4A7810FD8175C9833539 A34A911E0BDF64DBFFC534EE22CA6229D62B7A95DCACC46D3989BCC85749B248523AD44ABFE05B E796126E6745E1DD1653FB938612FCF0C877566CA9F686823F4D069234EC7E3826D0080C32615A 88423A09651A9F3EE6A9DCC95646FB0E7E24C7C3372C6D6CDF1375CB4EB1440FE95C5C7FE435B7 290E78ABCC143A9C015B410A8555271833A466D49AC0611340731580BD29F73A2DCDBCBAA6E07B 643DCF9B18613A6652B655A2167CBB1CCB0FA71534BB0759873FF5B4CDEE677AFA1059E1F4519E EFC1BEF079A9C04D13842F516B096D3D281533502C4023E13C25C59C662340A45B6874B5C9F08A 08BE03B7C35FE00ED31BBFC5119463F2FB1165D22F117A04F27FCB5F0949BFAD0E882703755454 B629821B7EB4B048FBBC21E1390620EDFDE83B894FFB434632EB7B4B21647D4C9660E7213902E3 E2B6AF6181D797F2551513F3529E6C7679712CBF72F2437CD4685E117AD8C2D61A28132170427D 398392C7A27EBA6C244C6BD7700969004D52395FFCE11000B07A7093714F781E353BBC152F2EA5 B275818DA2E9FD5C04F63B23EF722257EAB81FB2AB97C5B8BF455B2AFE648C895A6D38BE154683 831704144F5D8FD68BBC0A96165E27F262804140E34A7C7361CDCDD5F14BA4A45EB7BDFFFF91BD 7429BFC9775BAD532BD4DAB6F7FFE85CBD60FA6D0B138CE116058504803D0F449ACA8C380A7829 A0ED3623A5EE64BB34A345A8720C7B57B1A7C18560A5E56A5DC8C553B58A73762FB04036217CD6 081F8227F61556BE59FF02C0DEA3639D44A6C3C97F921CA96752FB9B9D28597873AE2AE2C38D46 A2AF40DBC3DB23A297503A5579998B0DB6B93D1AA1ED3BF5BCC480D0CD9688135FDD40A3E487B9 A4005AAED374C2E9E036BAAB288AC862726F3FAB60D38B5BB135799A3BE5F4470903445D3A66C8 24256158426369C70439148F4701DDC2F6F6F77559DE968F0305C42B43E665F7E8DCC6D72F055F 038616F9C030A9AF1A06E6036E72640D11962CD4A622A9DCD07C8EBAF060BEB846F25C1ED28835 C28059C5C1FD4987CDBAC09780B5AC782964DBBEC7F776B5DB51B44E3817BFF658D2DC37C4291F E1778D7B964E22AFC5EDDBB03538567378B7F62E806422EAD35C9F6F82046E7E79BFD6FAF3E7E0 A52C63DD5E8C0A838B3969022987DCB7377E15BAC7B1525EA24C666E0C69508881C204BB515233 C9B6FFB3F0B4EE37D12EDE6E192B1A17A7F6699FD6C1E87F03C2D8AC0B9DEC767234A2E7C32016 D3AD9A8015F489BEDA95EC6400EA9DB2CB8626FA253A718FF13FF0E013A172E06C3E5591C15715 C60C30795CAAAB098B52CE441EB71F2063ABBE3DD3558B7F07DB17F49C24A7861589ECD8E825EC 797ABE3521B5924F53045230CF94C34F5BD6F197E008F3BC38401B3AA6BAA7EFF54F1F926677CC FC0E77D5EA05B218213737DB84C21AA724E05F37896667FA8EF4E3899727DDD936BE2F8E64ADBA CA74032C2FF23805D1E6029E7B305F0CD7259865D7271444A5886B5C76CE0DF62429164E844F2E 95880B6BECDBB0BD005229964442A20AE582DF5F3735885E217E4C399535B965047A892BE0985F 6C1EA35B95457414038746316BC93CF4C776AA50650E617A6F0DCC586D3F4CBC19F6043DD04915 F0CE9EA31EFF2F8D36268A044EF15BCA63FC5AE91D7DB0879FE5AA9A3D51BDA3160658ECEFC447 CD2C9A848D1DB4BB48D277EC154B52297EBD188B2B7ABA0E4B840831E1B9B647AF654E1BB08D0A 64446A3BB49FB7F19E8FD8E9084C8B8C93924EFDFD9A9458A4F3B4F1D948B123681DEE542CA97D 6A5857A3E47622A6C6B2EC09768705223894BD7867242D819277C5DB24DCCE8DA6062199482923 4F17F56BB1A0C2A2E099BEAA6D94942AF9706FA6A1D0C67560BD1E3861F8FFD465CE6C48AEC2C1 F762BFD3D4A68B8B25D0FFAE02376B34DC1BAD9B39DAD6FAB6491002A1E6796BE978DC1DC62EA3 9D708671DC9CFE4F757CCCE4DD7F1B0ED59EBF5EF3DCE61C4AA16DD6411B68E8A9CE4FF6AD85E6 F98CE16CE25A8405801669678204CDB7305BD7A29469C539BE2348B8AC412DC95EACA3012D3D96 A3BA334FF4E16EDB9115B83AFD66192142423BDA32D8A76277A763C373217BE75370C5813FD53D E7DCE0807C087DDE87E029F0211CA9F1B1A67E72D7922388A6C84B3C6E3D44B192B0B7588A7DED 100C04F87780F070DDFEF41C90EFC0E0BB8F3692F7D360BA180E1D4579FC1AC671454E413A8613 F40F9CDA8AEFEC06CE40F1DF6FAEBFAEB57AAF73898F869C6BD165B9A3A60C5942A48292B5805E 01897F3DC17253668A774D13E23C5D5D90BB6B8F60E89875B353A8FE0D03ECEC140EBB2B3BE613 907F32DE8F445CFDC60272E5EBC753BC2ED4CBEC34588879870277190FCFBEAAA6D81759C2CE36 6CE0EED2B8915F93BD1ABBA0613DD9E2EE93633EF81F4B36C29F4A24847104ACEC56CA46416884 462AE9C21D1A21D20125B71DC52D38989FBAF0A0A6EC1068E7C963B2B6894326A5E70AE420214F EDAB638988110066D741B301760451CEA275988C2270532D4A78712F28922011D564F12928B4BB 9484657DC0F2378F07A139C75843624CE599A261AFC6192D58F89F36556AFE32531138FA46B505 54898E65B82883BE97CC02B92B7C7D1979F799720345EE930BE3CBC3BA01CDC2311147AA768202 A59BD84F601A5FBF6F882DA51E7644D7B734D89555FFDECED4BD2B14DB3D3C57E0403680796446 3DC5C9D6427B591A00A82E2EE4DB81D533D52857A250E579F9C9D45109F06862E64564B5E18615 4B6AFF5AA065792AAD0D38340C26A0B7C7E4DC7F054A850C0BA6EC8F66535E5CE1758160CF83B3 CD1D0F7EFDA4B0D11E679C74386C2234505F7FB083578BE4D43C4922330EEFE114DAF7C58C0AB8 7E4F6C6511A1B311FB9FC645FD7199015B5491584D2E135C573206A96EC49B6F0BD7428755A69C 9D1DAE3978F70CF6F2B518C74B81908258509FC96282AAB0DEE885CD5D66B5A91BBBF74B08142A 827DA25A4F0FBC4E1BDB4952556B04F32DB3A8CE6873DA2EE081E81DC1D3C429BD76E62986CCBE D21F956E4F45F869E0E00FBFD1B17011439E6E0196C8A7726A96186634E51951B5DC1CC4F96850 9AF5DB930D892EA290C70EDCC65DD905D6AF9221AF3C6EE64E01FC3A37EB358A759DDE53CDDC74 B6937F1DA36B00174481A40AD8B6E9BA2F9BA1A15D80C560BF4A3CAB972DD12B2890C3BDEB06EB FE05BAB7E2BCDAFC641643B67D553AD78D5CC498B43A458C06E9A428307498EB76BD7096F2DEBD 2905AB09BC0E748239D90663C26A3FAA9347C32D44BEEA2DDECCA24825DD2A154E8A82282F4122 96D11C6E0CA8F28CCD52A3E0A9B442838BD6FE90A931C8A462A97759CC9EE21B47C44B2032E5B4 083750CA3483E688F67FBE91EAC9199D49963060712314618A725457FB71945C535BCD330A9D8D 850EA0EB723BE0A00F2C3A8E6C80660F59A84DE34A52F00725C945521ACFFFCE8FA1CBC2CA9F9C C98AB2987C636CFB83DB46B4B3A7F1CF4EECF6E08A3B94229B54CB34272829C4BC264E303DFA2B 170D5E7A66A7EE3C463502D5425AB0739F1DFF5FE9B751975E4379569580B641C7296DFEA54E7A 99A9478583A0D8DE565575DB2CD00B35D2BF82A5597F4134CD3F7A201C80DA9AF49EB8D9D049C2 5869843331F140753DAAF303592715A35751B4597F458F5BD9A894D8E2173E03C85853515E3D71 CDB51E7000279E462386A1DBAC817073DDD29CB89F211CD5FCEB9657C107041E605DDBBB7275F8 B084FBB48A233D826F9D3079F56BEA088092B8156B4C38ECCBAE22EDF9135E5E2DE147EAF1D562 2735F9FC9C5124149AEE31FD4B35CBBD848E81605EF9B89C0E116E4394195122D3F5D28A60CCD3 19A85D7EF24CFEA5AA946B8EE737786DFD5A6B2C1100F3F2DCABDEBC012CBC19AD314198536720 37233DA6D3B6AB83458179190D11FC866BD3343C9CB85381BBFE2226D612BCE91D13226F4AA348 C48D5F05D927518E5587BF7EEAE0B2E40F6D2F5847B25832970681DCDDE5A3DAB4E305DC7CCF1D 817F07975F4575D97355347E3AA2DA7A8B230B81673ABF1052EEE2F524D5330975E811FC32AF0F E8538EF37B67EDE2F2D521F45AEE885D379835E820C8EFFDDD7E3E381BF267E32E9E6DC40A1D36 D0068A698B970C492B79D5AE4C645286631FF56704053F81474FD546FC9498CDE9176F7483F9F1 7FF8654B0EAFC6352FF7070D969C8F7005389B7F465EF1B6C0A1329A2B18F577586CF4B9427D48 886B0AC61575474C87A37340B7EFC0090F3E489505EF51BA12B1394144F3895AABC6916DFA5C6A 4E8D07D3E351853A2E0370688E5E6000F5B751AFB8821C4C25DE80A9640ECC48B99E05C94E4932 D120A4893E85CC91CDFB5A7218C972A482914E5401ACFE7BFF59B4D8D5E5F563AEAE5E34B052A7 2ED5ED7854C32C20C933D68992DEAAD311F6DE5C03DD24B878F536560A2F43E5FC70452A39C7B0 AE56A0A559607EDC991BE7F571857A7F55FEDC84C679B9BE89401F504805BDDCC9CAA625B2111B C4815AC79A78AAEA643466199721879697A341639ED003B5FA52331D3A2AE25D8F20EACCBAF791 D62421A00937BFDDF444EB59D2F460AAFDF8BE9F82D5FD1D48F6712B908E5FA81345A567C18705 6944C722C55A0D418ABB1BC622EEC5D416F6F52BC188DD51405215AD6B75B04DBF4BC6D85F0618 FA111126E41351C3F7B0667F8FC08ED06342B2DB6201A1A63AB018B2FE5FD760366A9A420F56A6 C61B835F9AB9F385A81430F867146C8B01784534CC959126389D1CAFE10E3AF40DBE594B6B9219 8F50D9759E60519DE8AB4CC0224ED624A3AA9FC95AAFD676706448A9F05BF008095121314FD044 A3A350ABFD1CCCD5EB18DBD2EA71C3DB2F37066021E39F4E77CB1B155D05CE1FA00C8A59FF39A3 A16891235A599F95F9A62E6EE47839135A0750A2CB528F11EC47F0D4D3BA828501C9B76FDFE178 21F11814DEFDE3AB561ADA314060D7112BC8BF02E92793A3D864B83AEA78F8D49DF9AB07AC0762 229534C0288FBC00662E53035A037B1C9745195CFAB54D22032A16E7AE0B971CAC5A67FF0EDE11 E265B88805314BC7563CF177BABB367618A27734611D7B662DA407911EF2FEC47D74C482F7DF82 3960081466CECBF4BA94FC5AC8C9F91AC151FB1ECB78BA5D5607A1D59D34C18C83000F8507AB1F 1C44347FCA2BC27087A28F0F3B24BDD8E7A0DDCF782CBCED5DDA4565308E10062145895A9C437C CAED86458890311EDCDE2109233BF9ABCEF0535080D7C5A76D6E3BCE8210C7E89FB95E63CD8A76 FEA978AF5000DFE7C0E659B902503758736C6DB295B9368EE50F5F8CF3E200456B5B2087219150 294871F7B980800E59A5DE5973AB9ED52F7DBC7C433FD0E099D3E3EEF6DF7D77E40D1C8B34C117 588ADBBD7A29AB4805A87C13CE93A65854DFDA87321ECF7D34E72C193365B632B455F8A2916BD1 E63441A633D144C254E3FD89FE2884840146B4C992A07BE6A0FCEEB6AE9B0234D234645D73C064 EAFEDA1EB7A9DE6661D31226A6F54BC9510DF6F64F7200CEC5EAF90357716E7C246D47C04E0906 98C5F6AC446DC6107E6342FE8B746C0FFA058FBBCA0730CFB20A367ED10661670C1618A4D467DC 2A7E87894DE0D5392B3F0DE6582901693C28568D2253D514A3FACD1B063B02A5F8A19C1D6DFBAE CC79435F694E914014DEFC5553A5984993154997E63768DD7BC462BDF6D1A8B28DF568B22FF460 087163AEEC37F0BDDBBA4C30322AD71922AC802DD491207E6A6C255F50EEB0C492EC86AFED9040 B068671FE4A1E66AF15D3D976C7267F3EEE19462487772087ABF36700B4821D2DB5193BBEFCE82 BF67F7034972A708E93C55E0F7A52EAEE47E68FDC6F1BC49B9370F28DAE122D13CB2CBCB55933F A27291003E862FB0C7E20A0F979DFD8BA918322F6CD597809F9E05DD210F7996F314B65F54FD7B F453F15CCBEB2CD5E53535261E696EB73F2698D1159076D0EAE35FFB1FB53F98808ED2325B2CC7 9D90772C15273EE50294AC931626EC573BED7CCE2D713328962528EE0F00FADB1C1ED8B302F24A 40F9A22D1D6411EC669670ADF93C4C67D8520109FDE9F64CB0382842C88845267528F57AB7E408 9EDE614E79799D08D3D01378AE9D42D7601D821C9C5BFB77EEFF37B634D2698BDC11CB60192B6B 4FFDEE834EDEA99CCCB760D3E7548E6810FE300596C246AE56DCC6BA8132AE3779ECD5ECFA6963 F9B5C4B9AD8B6C480BB184FE31EF0F8DD3ADAA96AFBFA250FCBFEB529239AD2A524B3C8AA1C2C2 7ED016E8EE24B355BA84D1D0AC6AF00B0A230578609A3F09639D2CA7175710FE9D455A58A6982B 7B7FCA52BB5490FBAA064D1C506C9598D88B5CB330C97F434BD1EF060ADC21B9F6ED9FB7A7E604 20FA1B481881C73B1DEEDA0A7E197B8D38EEE68CD8D442D083772FE2BA1F1C07A57D5B67BD8230 80BF438089A4D6C311D421F5F16C35B3207649CC0433AEE4987E3AB5698D55309B5F5C8B95332C 77157E3309EDB4954613428AE9DA6686799ABCE483FCFA8C060F0614995E01FD14A6189AB61A0F 7AC9465BE297F053E85AAD0EFD921502269D01FA6D5ADAD672F3D48C5D4EDEEA65E53E03A24AA9 E78660AFF7942E7F23E3754582CB2976FB65997FF35582FF83FE9BF43CE5CA20AE5EB62CA819D9 B63ABE39EA3A13AC163F64A55B4E840B12FEED5BF447E3CA1FD61E6FB51D6F7B3176F697491217 306EC21CC462AEFA069C9432AFAFDE4D586D5EF8DD4E49882CD701C4F4FBDBF42E370AE7F332AB E22DDB2FA70D17B0E053BD6332A1B51840A6C18760A46EDB9C8933039C8B724FBA4C4D62B98876 71F94505D1242067281063F91A7DE032FCE95DA4B54C32B46B762CC927667306101A7186DA78BB BFF306C62708B92D76D2225B1FACC18157268623387B5D80FF9E394E3DB68D5404AE3CAF3A8654 7704EEE75E7BCBC9A96610D96E96C0CEC85785FC7D54BF035D0E03E6B1ACE9691D7DD71B607B9D C37DC020E9B5D4216AA991C5022AC52A4637FCA79DC21DC1FCBD5BA4B28B591F69CEFD0D99E35F C568550A5E11B32BD59BE83149B82FC840C99267AA84AF41FC56D1C4F7F6365B65DBED15163D55 9A95630AF5005C7FEF23EE87208AAE88AB3CA22FEAF682088FB1F2F78027FDED141D161183FD67 5E16ECE34A9664C1373C2793C35080519D0BBE2D9B98BEF67D2716B4036A25274B4370AD209164 BEAC0BFFBCC3F6B2956AEF76143644485280FD50462B63F324A992F3A5B187321107BEC7A301C0 4338312EA32DCABA2C13A6ADA387B668A45743B4D7C02F2BFFC69F49AFB429434EA529B04EB8B7 4596D90FE74AE32F57CEC0433922B00236C189FFCD8A1FDD896CCC957DFA2EEABB23BD8E5A428F FDC06F4F75C3222DC161472687547B173F632D15BACE92A07A0A71DCCE2B8EB739EFFEA173E57C 4DF651FA936221DABBDB3B8AE5C30D595C33DCFC485EF2721743A6957E26A79A97EFD24BE5AC7F D6792166AD1F09A8590F5871E74B2215E9012BF05DC89BEF6A2FFBA06BC619A08B14D6679877A1 10165E943223B0DDC672C591F26D6C865B78B59703C3C977FFD605CB241C35FA1FD928A4A4F11C 052EA00B2FC0CEAD4BD9041899EE135DE98A260518AC927508ADD78D7A6D8049C88B42241D25CA 5DF0550706C3671B2DB3D848C3B94CC77D7FC2D157E37B8D4780B6B7F3B04502F3167D8D5B99A4 6B63151FA7FC1FE52BD66ACF20DB58A7A092623E63FF6F7C7D0001AB09059A5CB6D79504900589 A349E8D19E76F6FBEA194D18CB6526691C7B66E219092FCB73A4F7807E6BFD82510687A50BFA3C EEB4F8818B11A8B9F7B71676C5B44078996994DA808DC39D3CB6A66B476FA2ED6390B7181A591D 171DE548152A5CC5B71F5F9DCED5B648AEF57E2B3644909577EA607E49C8D0105DB7FC57FA1A2D E0105EADBF35AA385C972F9CF07D379454FBFB1EAC4B573498C10B2E98C3FB6F1483A123237B96 0BAA3A3CDC0E9327F0FCABF72E8AC7DB04E22CDAA0F6EE108564565AEAC4A4DA8328F30AA878DD B35D6AB16FC49D928066ED24C583434447AFBE2E4D22848A516862207480EAF650624943925E0C 351A6407ABE0BF04E36C87BE715B11FE53B8A13AB4669B7B2238D0B295D60028D1111A5AFE23AC E77C59415C466042B93790A8055FD8C39B262848BBCEE84DA425462871EA73BFC927DC4DAF9336 E13B1BC99887E8C1D8721311B5396209A634F3A1F91D51EB7B28F0A827A50688ED60370F6BF3EC A867BB995B125BAB4203DE9E26DFC0D3D8E91D3E749AA0407C6A74C86E98FDF8A314B201E1EE0C 98015360074379F70367DE7CEE75864C9789533ECEBE1323C12261A8622C5666C932177CFDCACD 2D494F1741EC983E51CE4E3A63AE6FD282DA64A32CC3B2F55549080C7A190BFDD2C2393C675DE4 90C79A325DCC04D14E0445C218AAFA0E54A305A889DBE613D4F28FB08253892A0D673908479B87 E9D8E13F467B7F9EBCD8E5E16D7CD3358C71CECCD08C6B8ACA8525657D37560BF2221F91258EF4 E6B70118BD1CB1F4EB421C4C32C76437340EA398E22351CEA31D250E46F946D44D97C2B3DE06F8 D8003381600E2E2C28AFBADC25DC94224AFAD0D7D951609BB2478C476085C01AA601F3AFFED544 F251D5A49BD263D64F4FEFB0803F162BD5FE1082FA2949BA8987AFFA1D9A7A4EF28BFCAFFD3311 0E1A1A2A22C76734DF6CC30E3C4662DFAFB32DF55DB12D138148435A6F7ADB4ACC4F4124EF772A A63D5F65490E9763FFD66C6153F5B0FEF1A307D6A9753102CE51DA88E2EF7275FFFD2A7B4F81E9 DF549938193AB7A58D5C237D669ACF27DFA35744F7622F8D54B5B54AA31D9403841D4C5D193D87 E60622E18C2D7E333AD4CB2DB27DEE813D9902D17DD0F2D3BDC8B340DFE9C8D34B993CC2CC91BD 47B4861809902E11197967922FC625989AC6F4BA0D48166F3F4B6C6C47D3B9A932F3D47A8613F3 6329406BF5ADEE519002394FB288D3A8AC3DCD5C37270AC7F5C5CDE46BE5C2A103FD468FEBC0F5 180143DB4312076FB062CE88DC373B5F120C591B9C09B9E3E1B26F52A48339AE70F729BA02977A B60666637D9FF9287DB4CC52BD5C7B2D4F038E5C927B97B54F611396E2211514A8684A02D5DB1F DE728DB58AE1BB7253740349771118D2D33211D2ED7BBEB97BB4776666F6A2AC7B54A1E2DB79D2 A9DE31745745CB39BDEE3E7CF425C27F86CFA89F825A09F9C7027E8DF7A773497690F328D22FF5 A5CB2821623A570C29D03081E9DCE770F3E7F5B7377A1BC3F52B383EA0CB1C1BDC00E67AE90F72 9DC77450407C0A9D0ECB2CE16C91CC3C7D487457800654F86BA7A8E26A25B78204CC7F58BBF69C 5C406BA012563A4379506C28A39538F9A5D57BD197443A02A9D3C67149D654FF12FC6E05612981 7F7236BF90FA626FB91D49C48D824248EABD764EB3C20634D56BDC2E170A814567D278F7AFB96B F6AEF216C0B42AAF85AE299752C50E6D2963FA5DB384FD110868D43DA804FDB9D0CA26BBC8CD72 EFAC451FBAF4BB0B44C675DD4E0B4AD8D6149DAE44DC4EC36942CE1876C8602E3F97CD6E18BD0B 5BCCF7B1773619FC8AC3B3D4958F71E5D2C631C6B17EEE7ADCBA30CA0E30B538249113223FA987 4D4B294563B9F42D9D259374F28A8D8A654F26D7BFD8667CCBC43F75B61C2F5CF8D7E06642E93D 76554642B7666B7905D6859F79DC080CB5574D03A072DB0D47AB82461DF6638C77234A3F97428F D2FC973687786BCF1D2F65AABAF55C257914247AEA0B3AF17A867C0CF1E5A6883D68680343CC5F 3604DC8E1E7A9DAB9CFA316A14D4CF7A3A60CA56E947AE632762B2303C0EDAF9B3AA206191730D 18B522FCD29D036AA4E6540F6A0DA836638A2EACE334B232199F61B357B10F4322A1F58F249101 CB1399E5E60483F12A6008F8FFB52709F34136D93902FE367A01419F79A4D4DEDBBAE63741526D 3D9EB7BFB4332C1775E2F0A05A4D7B203C2816F30081A67440D09D1FF94DDB3B7BB91B63703581 A696ECEB393963FA9199AB61A3F449061E048FA2C1F91897C5A60A4D30D0C276DE88EA143BA4FC 545FFC8F0B0950A38AAD126D73DA6BBDBDB480C3AFF4D2C7657A33652D5728E1866DB82B8F1A8A 72235DAB477C38ECFCCD0CDBB77D30A0436FDDC1D70426C0C5B408A4ADD039CC2B5750B7BB5E07 CC56039DB7FF3298151718E167CD482E88AE498B2D89C79C572FCE5ECEA3BBFE5603FD7AF6F4DF 2C06BD8EF8501B52E8CBFB5481CA45CBAE44D87D455DFB6F030FBC0938EDFF80592B68390452F2 42584D9C529BBAA2615F9A493BDB3C4BCD99422B69FB658ADA813AE39E447151F9312A005AB210 D9FFB508C7A036BFA34C7264CFC1B92929C7CD892CD8BE48D388545B8CE7A79F70D0F1B852625D F331D75342E9EC57219DE4E61BFFEB066D82DC6256892E89B25BCE034F7F6FF09D7DC8ABBC8739 3B70FDAB372D2FDFC51902A6E7FBE5DF3F41A91DAFA35D9A99A18DCD9E9D9050CA9D6FD417C9B8 DE3C0648F8458BA2E0ABCEE10E759C97F019D1A1C8E1CC9EC8A6680C2566F42E478EB1F5706435 16EBAF85E4F9E972BA3FA6D20B8BD1734229563A1ADA6D4D1857257EB760050F4FD997090653CA 7771430101EEE3BCA1EA8E5F230F1B54E25A50458A1F7EBC35AEC36A88E4E345EF4CD9F97978EC E8F3C53ABD56FD3DB6C71206DEB0058509F24D0EB4C68BCFAD5A773EFD04F5472984000960F67E 261B9152A176B230EB447633653ED0CBD3F50B214773DB454E89625BE27B7B75C93330E1F782BE EA101988B04AEF3601BA7FE868F614035647349D97F9F1AA598FD808885D91F5E24FE348015E46 D80FCC9E62 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndResource %!PS-Adobe-2.0 %%Version: 0.1 %%Pages: (atend) %%EndComments % % Version 3.3.2 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /rotation 1 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation rotation mul rotate width 2 div neg height 2 div translate xoffset inch yoffset inch neg translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale addmetrics 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /addmetrics { /Symbol /S null Sdefs cf /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newencoding exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall newencoding type /arraytype eq {newdict /Encoding newencoding put} if newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % % Move braceleftbt a bit - default PostScript character is off a bit. % /Sdefs [ /bracketlefttp [201 500] /bracketleftbt [201 500] /bracketrighttp [-81 380] /bracketrightbt [-83 380] /braceleftbt [203 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 0] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def % % Version 3.3.2 drawing procedures for dpost. Automatically pulled in when % needed. % /inpath false def /savematrix matrix def /Dl { inpath {neg lineto pop pop} {newpath neg moveto neg lineto stroke} ifelse } bind def /De { /y1 exch 2 div def /x1 exch 2 div def /savematrix savematrix currentmatrix def neg exch x1 add exch translate x1 y1 scale 0 0 1 0 360 inpath {1 0 moveto arc savematrix setmatrix} {newpath arc savematrix setmatrix stroke} ifelse } bind def /Da { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arc} {newpath arc stroke} ifelse } bind def /DA { /dy2 exch def /dx2 exch def /dy1 exch def /dx1 exch def dy1 add neg exch dx1 add exch dx1 dx1 mul dy1 dy1 mul add sqrt dy1 dx1 neg atan dy2 neg dx2 atan inpath {arcn} {newpath arcn stroke} ifelse } bind def /Ds { /y2 exch def /x2 exch def /y1 exch def /x1 exch def /y0 exch def /x0 exch def x0 5 x1 mul add 6 div y0 5 y1 mul add -6 div x2 5 x1 mul add 6 div y2 5 y1 mul add -6 div x1 x2 add 2 div y1 y2 add -2 div inpath {curveto} {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke} ifelse } bind def % % Tries to round clipping path dimensions, as stored in array pagebbox, so they % match one of the known sizes in the papersizes array. Lower left coordinates % are always set to 0. % /roundpagebbox { 7 dict begin /papersizes [8.5 inch 11 inch 14 inch 17 inch] def /mappapersize { /val exch def /slop .5 inch def /diff slop def /j 0 def 0 1 papersizes length 1 sub { /i exch def papersizes i get val sub abs dup diff le {/diff exch def /j i def} {pop} ifelse } for diff slop lt {papersizes j get} {val} ifelse } def pagebbox 0 0 put pagebbox 1 0 put pagebbox dup 2 get mappapersize 2 exch put pagebbox dup 3 get mappapersize 3 exch put end } bind def %%EndProlog %%BeginSetup mark % % Encoding vector and redefinition of findfont for the ISO Latin1 standard. % The 18 characters missing from ROM based fonts on older printers are noted % below. % /ISOLatin1Encoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /minus /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent /sterling /currency /yen /brokenbar % missing /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree % missing /plusminus % missing /twosuperior % missing /threesuperior % missing /acute /mu % missing /paragraph /periodcentered /cedilla /onesuperior % missing /ordmasculine /guillemotright /onequarter % missing /onehalf % missing /threequarters % missing /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth % missing /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply % missing /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute % missing /Thorn % missing /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth % missing /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide % missing /oslash /ugrave /uacute /ucircumflex /udieresis /yacute % missing /thorn % missing /ydieresis ] def /NewFontDirectory FontDirectory maxlength dict def % % Apparently no guarantee findfont is defined in systemdict so the obvious % % systemdict /findfont get exec % % can generate an error. So far the only exception is a VT600 (version 48.0). % userdict /@RealFindfont known not { userdict begin /@RealFindfont systemdict begin /findfont load end def end } if /findfont { dup NewFontDirectory exch known not { dup %dup systemdict /findfont get exec % not always in systemdict dup userdict /@RealFindfont get exec dup /Encoding get StandardEncoding eq { dup length dict begin {1 index /FID ne {def}{pop pop} ifelse} forall /Encoding ISOLatin1Encoding def currentdict end /DummyFontName exch definefont } if NewFontDirectory 3 1 roll put } if NewFontDirectory exch get } bind def %%Patch from lp %%EndPatch from lp setup %%EndSetup %%Page: 1 1 /saveobj save def mark 1 pagesetup 12 /LucidaSans-Demi f (Security) 2346 1230 w (in Plan 9) 2879 1230 w 10 /LucidaSans-Italic f (Russ Cox, MIT LCS) 2439 1470 w (Eric Grosse, Bell Labs) 2364 1590 w (Rob Pike, Bell Labs) 2428 1710 w (Dave Presotto, Avaya Labs and Bell Labs) 1895 1830 w (Sean Quinlan, Bell Labs) 2311 1950 w 10 /LucidaTypewriter f ({rsc,ehg,rob,presotto,seanq}@plan9.bell-labs.com) 1152 2070 w 10 /LucidaSans-Italic f (ABSTRACT) 2626 2510 w 10 /LucidaSansUnicode00 f (Abstract) 1330 2770 w (The) 1778 2770 w (security) 2004 2770 w (architecture) 2428 2770 w (of) 3051 2770 w (the) 3194 2770 w (Plan) 3394 2770 w (9) 3640 2770 w 10 /LucidaSansUnicode21 f (") 3703 2770 w 10 /LucidaSansUnicode00 f (operating) 3829 2770 w (system) 4340 2770 w (has) 1080 2890 w (recently) 1299 2890 w (been) 1734 2890 w (redesigned) 2022 2890 w (to) 2612 2890 w (address) 2761 2890 w (some) 3192 2890 w (technical) 3504 2890 w (shortcomings.) 3987 2890 w (This redesign provided an opportunity also to make the system more) 1080 3010 w (con\255) 4473 3010 w (venient) 1080 3130 w (to) 1476 3130 w (use) 1616 3130 w (securely.) 1827 3130 w (Plan) 2331 3130 w (9) 2574 3130 w (has) 2679 3130 w (thus) 2889 3130 w (improved) 3143 3130 w (in) 3643 3130 w (two) 3776 3130 w (ways) 3993 3130 w (not) 4270 3130 w (usu\255) 4472 3130 w (ally seen together: it has become more secure) 1080 3250 w 10 /LucidaSans-Italic f (and) 3352 3250 w 10 /LucidaSansUnicode00 f (easier to use.) 3568 3250 w (The) 1080 3406 w (central) 1333 3406 w (component) 1736 3406 w (of) 2354 3406 w (the) 2524 3406 w (new) 2751 3406 w (architecture) 3018 3406 w (is) 3668 3406 w (a) 3820 3406 w (per-user) 3948 3406 w (self-) 4449 3406 w (contained) 1080 3526 w (agent) 1591 3526 w (called) 1898 3526 w 10 /LucidaTypewriter f (factotum) 2216 3526 w 10 /LucidaSansUnicode00 f (.) 2792 3526 w 10 /LucidaTypewriter f (Factotum) 2890 3526 w 10 /LucidaSansUnicode00 f (securely) 3500 3526 w (holds) 3932 3526 w (a) 4232 3526 w (copy) 4321 3526 w (of) 4582 3526 w (the) 1080 3646 w (user) 1273 3646 w 10 /LucidaSansUnicode20 f (\031) 1483 3646 w 10 /LucidaSansUnicode00 f (s) 1515 3646 w (keys) 1605 3646 w (and) 1861 3646 w (negotiates) 2080 3646 w (authentication) 2625 3646 w (protocols,) 3359 3646 w (on) 3885 3646 w (behalf) 4047 3646 w (of) 4388 3646 w (the) 4525 3646 w (user,) 1080 3766 w (with) 1376 3766 w (secure) 1635 3766 w (services) 2006 3766 w (around) 2447 3766 w (the) 2845 3766 w (network.) 3054 3766 w (Concentrating) 3564 3766 w (security) 4301 3766 w (code) 1080 3886 w (in) 1366 3886 w (a) 1512 3886 w (single) 1622 3886 w (program) 1966 3886 w (offers) 2437 3886 w (several) 2775 3886 w (advantages) 3170 3886 w (including:) 3773 3886 w (ease) 4309 3886 w (of) 4582 3886 w (update) 1080 4006 w (or) 1456 4006 w (repair) 1597 4006 w (to) 1921 4006 w (broken) 2058 4006 w (security) 2438 4006 w (software) 2856 4006 w (and) 3310 4006 w (protocols;) 3529 4006 w (the) 4055 4006 w (ability) 4249 4006 w (to) 4582 4006 w (run) 1080 4126 w (secure) 1298 4126 w (services) 1668 4126 w (at) 2108 4126 w (a) 2253 4126 w (lower) 2361 4126 w (privilege) 2679 4126 w (level;) 3150 4126 w (uniform) 3458 4126 w (management) 3897 4126 w (of) 4582 4126 w (keys) 1080 4246 w (for) 1340 4246 w (all) 1522 4246 w (services;) 1678 4246 w (and) 2140 4246 w (an) 2363 4246 w (opportunity) 2523 4246 w (to) 3133 4246 w (provide) 3273 4246 w (single) 3680 4246 w (sign) 4011 4246 w (on,) 4257 4246 w (even) 4454 4246 w (to) 1080 4366 w (unchanged) 1222 4366 w (legacy) 1801 4366 w (applications.) 2150 4366 w 10 /LucidaTypewriter f (Factotum) 2843 4366 w 10 /LucidaSansUnicode00 f (has) 3463 4366 w (an) 3675 4366 w (unusual) 3837 4366 w (architec\255) 4265 4366 w (ture: it is implemented as a Plan 9 file server.) 1080 4486 w 10 /LucidaSans-Demi f (1.) 720 4846 w (Introduction) 873 4846 w 10 /LucidaSansUnicode00 f (Secure) 720 5002 w (computing) 1089 5002 w (systems) 1658 5002 w (face) 2098 5002 w (two) 2346 5002 w (challenges:) 2570 5002 w (first,) 3164 5002 w (they) 3441 5002 w (must) 3698 5002 w (employ) 3991 5002 w (sophisticated) 4395 5002 w (technology) 720 5122 w (that) 1293 5122 w (is) 1524 5122 w (difficult) 1644 5122 w (to) 2058 5122 w (design) 2196 5122 w (and) 2559 5122 w (prove) 2779 5122 w (correct;) 3092 5122 w (and) 3502 5122 w (second,) 3722 5122 w (they) 4138 5122 w (must) 4385 5122 w (be) 4668 5122 w (easy) 4826 5122 w (for) 720 5242 w (regular) 894 5242 w (people) 1275 5242 w (to) 1638 5242 w (use.) 1771 5242 w (The) 2040 5242 w (question) 2257 5242 w (of) 2714 5242 w (ease) 2848 5242 w (of) 3102 5242 w (use) 3236 5242 w (is) 3441 5242 w (sometimes) 3557 5242 w (neglected,) 4120 5242 w (but) 4660 5242 w (it) 4858 5242 w (is) 4960 5242 w (essential:) 720 5362 w (weak) 1255 5362 w (but) 1577 5362 w (easy-to-use) 1815 5362 w (security) 2488 5362 w (can) 2943 5362 w (be) 3187 5362 w (more) 3382 5362 w (effective) 3709 5362 w (than) 4196 5362 w (strong) 4488 5362 w (but) 4878 5362 w (difficult-to-use) 720 5482 w (security) 1526 5482 w (if) 1954 5482 w (it) 2069 5482 w (is) 2184 5482 w (more) 2314 5482 w (likely) 2615 5482 w (to) 2918 5482 w (be) 3066 5482 w (used.) 3235 5482 w (People) 3581 5482 w (lock) 3951 5482 w (their) 4200 5482 w (front) 4475 5482 w (doors) 4763 5482 w (when) 720 5602 w (they leave the house, knowing full well that a burglar is capable of picking the lock) 1010 5602 w (\(or) 720 5722 w (avoiding) 896 5722 w (the) 1350 5722 w (door) 1546 5722 w (altogether\);) 1813 5722 w (yet) 2415 5722 w (few) 2601 5722 w (would) 2812 5722 w (accept) 3145 5722 w (the) 3499 5722 w (cost) 3695 5722 w (and) 3936 5722 w (awkwardness) 4157 5722 w (of) 4845 5722 w (a) 4985 5722 w (bank) 720 5842 w (vault) 1002 5842 w (door) 1281 5842 w (on) 1551 5842 w (the) 1717 5842 w (house) 1915 5842 w (even) 2250 5842 w (though) 2519 5842 w (that) 2908 5842 w (might) 3142 5842 w (reduce) 3468 5842 w (the) 3840 5842 w (probability) 4038 5842 w (of) 4603 5842 w (a) 4744 5842 w (rob\255) 4842 5842 w (bery.) 720 5962 w (A) 1038 5962 w (related) 1149 5962 w (point) 1528 5962 w (is) 1822 5962 w (that) 1944 5962 w (users) 2177 5962 w (need) 2480 5962 w (a) 2759 5962 w (clear) 2856 5962 w (model) 3130 5962 w (of) 3474 5962 w (how) 3615 5962 w (the) 3858 5962 w (security) 4056 5962 w (operates) 4478 5962 w (\(if) 4941 5962 w (not) 720 6082 w (how) 916 6082 w (it) 1152 6082 w (actually) 1254 6082 w (provides) 1660 6082 w (security\)) 2112 6082 w (in) 2560 6082 w (order) 2686 6082 w (to) 2983 6082 w (use) 3116 6082 w (it) 3320 6082 w (well;) 3421 6082 w (for) 3679 6082 w (example,) 3853 6082 w (the) 4333 6082 w (clarity) 4523 6082 w (of) 4852 6082 w (a) 4985 6082 w (lock) 720 6202 w (icon) 963 6202 w (on) 1210 6202 w (a) 1377 6202 w (web) 1476 6202 w (browser) 1716 6202 w (is) 2150 6202 w (offset) 2274 6202 w (by) 2597 6202 w (the) 2756 6202 w (confusing) 2956 6202 w (and) 3478 6202 w (typically) 3703 6202 w (insecure) 4145 6202 w (steps) 4598 6202 w (for) 4901 6202 w (installing X.509 certificates.) 720 6322 w (The) 720 6478 w (security) 957 6478 w (architecture) 1392 6478 w (of) 2026 6478 w (the) 2180 6478 w (Plan) 2392 6478 w (9) 2650 6478 w (operating) 2770 6478 w (system) 3293 6478 w ([Pike95]) 3690 6478 w (has) 4137 6478 w (recently) 4362 6478 w (been) 4803 6478 w (redesigned) 720 6598 w (to) 1301 6598 w (make) 1441 6598 w (it) 1745 6598 w (both) 1853 6598 w (more) 2118 6598 w (secure) 2410 6598 w (and) 2768 6598 w (easier) 2989 6598 w (to) 3318 6598 w (use.) 3457 6598 w (By) 3731 6598 w 10 /LucidaSans-Italic f (security) 3882 6598 w 10 /LucidaSansUnicode00 f (we) 4307 6598 w (mean) 4481 6598 w (three) 4788 6598 w (things:) 720 6718 w (first,) 1103 6718 w (the) 1378 6718 w (business) 1581 6718 w (of) 2054 6718 w (authenticating) 2200 6718 w (users) 2944 6718 w (and) 3254 6718 w (services;) 3483 6718 w (second,) 3951 6718 w (the) 4376 6718 w (safe) 4580 6718 w (han\255) 4828 6718 w (dling,) 720 6838 w (deployment,) 1039 6838 w (and) 1685 6838 w (use) 1907 6838 w (of) 2118 6838 w (keys) 2258 6838 w (and) 2517 6838 w (other) 2739 6838 w (secret) 3037 6838 w (information;) 3370 6838 w (and) 4010 6838 w (third,) 4231 6838 w (the) 4536 6838 w (use) 4732 6838 w (of) 4942 6838 w 8 /S1 f (__________________) 720 6938 w 8 /LucidaSansUnicode00 f (To) 720 7038 w (appear,) 871 7038 w (in) 1215 7038 w (a) 1340 7038 w (slightly) 1436 7038 w (different) 1770 7038 w (form,) 2158 7038 w (in) 2422 7038 w 8 /LucidaSans-Italic f (Proc.) 2547 7038 w (of) 2795 7038 w (the) 2923 7038 w (2002) 3097 7038 w (Usenix) 3349 7038 w (Security) 3653 7038 w (Symposium,) 4016 7038 w (San) 4537 7038 w (Francisco.) 720 7138 w cleartomark showpage saveobj restore %%EndPage: 1 1 %%Page: 2 2 /saveobj save def mark 2 pagesetup 10 /LucidaSansUnicode00 f (\255 2 \255) 2783 480 w (encryption and integrity checks to safeguard communications from prying eyes.) 720 840 w (The) 720 996 w (old) 951 996 w (security) 1154 996 w (architecture) 1583 996 w (of) 2211 996 w (Plan) 2359 996 w (9) 2610 996 w (had) 2723 996 w (several) 2953 996 w (engineering) 3343 996 w (problems) 3970 996 w (in) 4477 996 w (common) 4619 996 w (with) 720 1116 w (other) 976 1116 w (operating) 1284 1116 w (systems.) 1801 1116 w (First,) 2307 1116 w (it) 2602 1116 w (had) 2719 1116 w (an) 2950 1116 w (inadequate) 3118 1116 w (notion) 3706 1116 w (of) 4068 1116 w (security) 4216 1116 w (domain.) 4645 1116 w (Once) 720 1236 w (a) 1011 1236 w (user) 1110 1236 w (provided) 1364 1236 w (a) 1837 1236 w (password) 1937 1236 w (to) 2444 1236 w (connect) 2587 1236 w (to) 3012 1236 w (a) 3155 1236 w (local) 3255 1236 w (file) 3525 1236 w (store,) 3721 1236 w (the) 4044 1236 w (system) 4244 1236 w (required) 4629 1236 w (that) 720 1356 w (the) 951 1356 w (same) 1146 1356 w (password) 1441 1356 w (be) 1943 1356 w (used) 2102 1356 w (to) 2374 1356 w (access) 2512 1356 w (all) 2867 1356 w (the) 3019 1356 w (other) 3213 1356 w (file) 3509 1356 w (stores.) 3699 1356 w (That) 4099 1356 w (is,) 4355 1356 w (the) 4506 1356 w (system) 4700 1356 w (treated all network services as belonging to the same security domain.) 720 1476 w (Second,) 720 1632 w (the) 1138 1632 w (algorithms) 1332 1632 w (and) 1891 1632 w (protocols) 2111 1632 w (used) 2606 1632 w (in) 2878 1632 w (authentication,) 3009 1632 w (by) 3776 1632 w (nature) 3931 1632 w (tricky) 4284 1632 w (and) 4592 1632 w (diffi\255) 4812 1632 w (cult) 720 1752 w (to) 942 1752 w (get) 1083 1752 w (right,) 1281 1752 w (were) 1587 1752 w (compiled) 1860 1752 w (into) 2348 1752 w (the) 2580 1752 w (various) 2778 1752 w (applications,) 3172 1752 w (kernel) 3832 1752 w (modules,) 4177 1752 w (and) 4667 1752 w (file) 4889 1752 w (servers.) 720 1872 w (Changes) 1178 1872 w (and) 1642 1872 w (fixes) 1869 1872 w (to) 2150 1872 w (a) 2295 1872 w (security) 2397 1872 w (protocol) 2823 1872 w (required) 3274 1872 w (that) 3732 1872 w (all) 3970 1872 w (components) 4130 1872 w (using) 4774 1872 w (that protocol needed to be recompiled, or at least relinked, and restarted.) 720 1992 w (Third,) 720 2148 w (the) 1048 2148 w (file) 1241 2148 w (transport) 1430 2148 w (protocol,) 1916 2148 w (9P) 2390 2148 w ([Pike93],) 2546 2148 w (that) 3006 2148 w (forms) 3235 2148 w (the) 3556 2148 w (core) 3749 2148 w (of) 3996 2148 w (the) 4132 2148 w (Plan) 4326 2148 w (9) 4566 2148 w (system,) 4668 2148 w (had) 720 2268 w (its) 962 2268 w (authentication) 1141 2268 w (protocol) 1898 2268 w (embedded) 2363 2268 w (in) 2937 2268 w (its) 3089 2268 w (design.) 3267 2268 w (This) 3715 2268 w (meant) 3981 2268 w (that) 4345 2268 w (fixing) 4597 2268 w (or) 4938 2268 w (changing) 720 2388 w (the) 1203 2388 w (authentication) 1396 2388 w (used) 2129 2388 w (by) 2399 2388 w (9P) 2552 2388 w (required) 2708 2388 w (deep) 3157 2388 w (changes) 3433 2388 w (to) 3870 2388 w (the) 4006 2388 w (system.) 4199 2388 w (If) 4641 2388 w (some\255) 4746 2388 w (one) 720 2508 w (were) 939 2508 w (to) 1209 2508 w (find) 1347 2508 w (a) 1578 2508 w (way) 1672 2508 w (to) 1895 2508 w (break) 2032 2508 w (the) 2344 2508 w (protocol,) 2538 2508 w (the) 3013 2508 w (system) 3207 2508 w (would) 3586 2508 w (be) 3917 2508 w (wide) 4075 2508 w (open) 4339 2508 w (and) 4620 2508 w (very) 4839 2508 w (hard to fix.) 720 2628 w (These) 720 2784 w (and) 1051 2784 w (a) 1275 2784 w (number) 1374 2784 w (of) 1795 2784 w (lesser) 1937 2784 w (problems,) 2265 2784 w (combined) 2798 2784 w (with) 3320 2784 w (a) 3569 2784 w (desire) 3668 2784 w (for) 4008 2784 w (more) 4191 2784 w (widespread) 4486 2784 w (use) 720 2904 w (of) 925 2904 w (encryption) 1059 2904 w (in) 1609 2904 w (the) 1736 2904 w (system,) 1927 2904 w (spurred) 2335 2904 w (us) 2748 2904 w (to) 2896 2904 w (rethink) 3029 2904 w (the) 3409 2904 w (entire) 3599 2904 w (security) 3915 2904 w (architecture) 4329 2904 w (of) 4942 2904 w (Plan 9.) 720 3024 w (The) 720 3180 w (centerpiece) 934 3180 w (of) 1525 3180 w (the) 1656 3180 w (new) 1845 3180 w (architecture) 2074 3180 w (is) 2686 3180 w (an) 2800 3180 w (agent,) 2951 3180 w (called) 3289 3180 w 10 /LucidaTypewriter f (factotum) 3606 3180 w 10 /LucidaSansUnicode00 f (,) 4182 3180 w (that) 4248 3180 w (handles) 4473 3180 w (the) 4885 3180 w (user) 720 3300 w 10 /LucidaSansUnicode20 f (\031) 930 3300 w 10 /LucidaSansUnicode00 f (s) 962 3300 w (keys) 1065 3300 w (and) 1334 3300 w (negotiates) 1566 3300 w (all) 2124 3300 w (security) 2289 3300 w (interactions) 2720 3300 w (with) 3343 3300 w (system) 3600 3300 w (services) 3992 3300 w (and) 4431 3300 w (applica\255) 4662 3300 w (tions.) 720 3420 w (Like) 1057 3420 w (a) 1286 3420 w (trusted) 1374 3420 w (houseboy) 1754 3420 w (with) 2256 3420 w (a) 2495 3420 w (copy) 2584 3420 w (of) 2845 3420 w (the) 2977 3420 w (owner) 3166 3420 w 10 /LucidaSansUnicode20 f (\031) 3463 3420 w 10 /LucidaSansUnicode00 f (s) 3495 3420 w (keys,) 3580 3420 w 10 /LucidaTypewriter f (factotum) 3863 3420 w 10 /LucidaSansUnicode00 f (does) 4473 3420 w (all) 4738 3420 w (the) 4885 3420 w (negotiation) 720 3540 w (for) 1319 3540 w (security) 1506 3540 w (and) 1933 3540 w (authentication.) 2160 3540 w (Programs) 2966 3540 w (no) 3472 3540 w (longer) 3642 3540 w (need) 4000 3540 w (to) 4284 3540 w (be) 4429 3540 w (compiled) 4595 3540 w (with) 720 3660 w (cryptographic) 963 3660 w (code;) 1670 3660 w (instead) 1972 3660 w (they) 2364 3660 w (communicate) 2610 3660 w (with) 3299 3660 w 10 /LucidaTypewriter f (factotum) 3543 3660 w 10 /LucidaSansUnicode00 f (agents) 4158 3660 w (that) 4520 3660 w (repre\255) 4750 3660 w (sent) 720 3780 w (distinct) 981 3780 w (entities) 1395 3780 w (in) 1807 3780 w (the) 1953 3780 w (cryptographic) 2162 3780 w (exchange,) 2884 3780 w (such) 3435 3780 w (as) 3715 3780 w (a) 3875 3780 w (user) 3984 3780 w (and) 4248 3780 w (server) 4482 3780 w (of) 4833 3780 w (a) 4985 3780 w (secure) 720 3900 w (service.) 1090 3900 w (If) 1544 3900 w (a) 1664 3900 w (security) 1773 3900 w (protocol) 2206 3900 w (needs) 2664 3900 w (to) 3006 3900 w (be) 3158 3900 w (added,) 3331 3900 w (deleted,) 3717 3900 w (or) 4163 3900 w (modified,) 4319 3900 w (only) 4836 3900 w 10 /LucidaTypewriter f (factotum) 720 4020 w 10 /LucidaSansUnicode00 f (needs to be updated for all system services to be kept secure.) 1328 4020 w (Building) 720 4176 w (on) 1178 4176 w 10 /LucidaTypewriter f (factotum) 1365 4176 w 10 /LucidaSansUnicode00 f (,) 1941 4176 w (we) 2037 4176 w (modified) 2234 4176 w (secure) 2729 4176 w (services) 3110 4176 w (in) 3561 4176 w (the) 3716 4176 w (system) 3935 4176 w (to) 4340 4176 w (move) 4503 4176 w (user) 4830 4176 w (authentication) 720 4296 w (code) 1467 4296 w (into) 1750 4296 w 10 /LucidaTypewriter f (factotum) 1991 4296 w 10 /LucidaSansUnicode00 f (;) 2567 4296 w (made) 2651 4296 w (authentication) 2970 4296 w (a) 3717 4296 w (separable) 3824 4296 w (component) 4345 4296 w (of) 4942 4296 w (the) 720 4416 w (file) 919 4416 w (server) 1114 4416 w (protocol;) 1455 4416 w (deployed) 1935 4416 w (new) 2422 4416 w (security) 2661 4416 w (protocols;) 3085 4416 w (designed) 3617 4416 w (a) 4104 4416 w (secure) 4204 4416 w (file) 4566 4416 w (store,) 4762 4416 w (called) 720 4536 w 10 /LucidaTypewriter f (secstore) 1064 4536 w 10 /LucidaSansUnicode00 f (,) 1640 4536 w (to) 1733 4536 w (protect) 1892 4536 w (our) 2299 4536 w (keys) 2524 4536 w (but) 2802 4536 w (make) 3025 4536 w (them) 3348 4536 w (easy) 3657 4536 w (to) 3931 4536 w (get) 4089 4536 w (when) 4304 4536 w (they) 4621 4536 w (are) 4888 4536 w (needed;) 720 4656 w (designed) 1153 4656 w (a) 1640 4656 w (new) 1740 4656 w (kernel) 1980 4656 w (module) 2327 4656 w (to) 2736 4656 w (support) 2879 4656 w (transparent) 3302 4656 w (use) 3907 4656 w (of) 4121 4656 w (Transport) 4264 4656 w (Layer) 4783 4656 w (Security) 720 4776 w (\(TLS\)) 1140 4776 w ([RFC2246];) 1413 4776 w (and) 1986 4776 w (began) 2203 4776 w (using) 2538 4776 w (encryption) 2841 4776 w (for) 3392 4776 w (all) 3568 4776 w (communications) 3718 4776 w (within) 4552 4776 w (the) 4885 4776 w (system.) 720 4896 w (The overall architecture is illustrated in Figure 1a.) 1156 4896 w (Secure) 720 5052 w (protocols) 1087 5052 w (and) 1589 5052 w (algorithms) 1816 5052 w (are) 2383 5052 w (well) 2582 5052 w (understood) 2820 5052 w (and) 3424 5052 w (are) 3651 5052 w (usually) 3851 5052 w (not) 4239 5052 w (the) 4447 5052 w (weakest) 4650 5052 w (link) 720 5172 w (in) 964 5172 w (a) 1120 5172 w (system) 1240 5172 w 10 /LucidaSansUnicode20 f (\031) 1580 5172 w 10 /LucidaSansUnicode00 f (s) 1612 5172 w (security.) 1728 5172 w (In) 2236 5172 w (practice,) 2392 5172 w (most) 2872 5172 w (security) 3179 5172 w (problems) 3623 5172 w (arise) 4145 5172 w (from) 4442 5172 w (buggy) 4739 5172 w (servers,) 720 5292 w (confusing) 1138 5292 w (software,) 1653 5292 w (or) 2138 5292 w (administrative) 2278 5292 w (oversights.) 3005 5292 w (It) 3609 5292 w (is) 3713 5292 w (these) 3832 5292 w (practical) 4133 5292 w (problems) 4583 5292 w (that) 720 5412 w (we) 948 5412 w (are) 1118 5412 w (addressing.) 1307 5412 w (Although) 1941 5412 w (this) 2422 5412 w (paper) 2638 5412 w (describes) 2953 5412 w (the) 3451 5412 w (algorithms) 3643 5412 w (and) 4200 5412 w (protocols) 4416 5412 w (we) 4907 5412 w (are) 720 5532 w (using,) 909 5532 w (they) 1244 5532 w (are) 1488 5532 w (included) 1677 5532 w (mainly) 2130 5532 w (for) 2488 5532 w (concreteness.) 2665 5532 w (Instead,) 3402 5532 w (our) 3825 5532 w (focus) 4027 5532 w (is) 4327 5532 w (to) 4445 5532 w (present) 4581 5532 w (a) 4985 5532 w (simple) 720 5652 w (security) 1085 5652 w (architecture) 1508 5652 w (built) 2130 5652 w (upon) 2394 5652 w (a) 2686 5652 w (small) 2785 5652 w (trusted) 3086 5652 w (code) 3476 5652 w (base) 3750 5652 w (that) 4018 5652 w (is) 4252 5652 w (easy) 4375 5652 w (to) 4632 5652 w (verify) 4773 5652 w (\(whether by manual or automatic means\), easy to understand, and easy to use.) 720 5772 w (Although) 720 5928 w (it) 1200 5928 w (is) 1302 5928 w (a) 1418 5928 w (subjective) 1510 5928 w (assessment,) 2034 5928 w (we) 2666 5928 w (believe) 2836 5928 w (we) 3214 5928 w (have) 3384 5928 w (achieved) 3646 5928 w (our) 4107 5928 w (goal) 4308 5928 w (of) 4552 5928 w (ease) 4687 5928 w (of) 4942 5928 w (use.) 720 6048 w (That) 995 6048 w (we) 1254 6048 w (have) 1429 6048 w (achieved) 1696 6048 w (our) 2161 6048 w (goal) 2366 6048 w (of) 2614 6048 w (improved) 2753 6048 w (security) 3252 6048 w (is) 3672 6048 w (supported) 3793 6048 w (by) 4331 6048 w (our) 4487 6048 w (plan) 4692 6048 w (to) 4942 6048 w (move) 720 6168 w (our) 1020 6168 w (currently) 1222 6168 w (private) 1691 6168 w (computing) 2062 6168 w (environment) 2620 6168 w (onto) 3269 6168 w (the) 3528 6168 w (Internet) 3721 6168 w (outside) 4139 6168 w (the) 4536 6168 w (corpo\255) 4730 6168 w (rate) 720 6288 w (firewall.) 961 6288 w (The) 1429 6288 w (rest) 1661 6288 w (of) 1897 6288 w (this) 2046 6288 w (paper) 2276 6288 w (explains) 2605 6288 w (the) 3062 6288 w (architecture) 3268 6288 w (and) 3897 6288 w (how) 4128 6288 w (it) 4379 6288 w (is) 4496 6288 w (used,) 4627 6288 w (to) 4942 6288 w (explain) 720 6408 w (why) 1110 6408 w (a) 1336 6408 w (system) 1426 6408 w (that) 1801 6408 w (is) 2027 6408 w (easy) 2142 6408 w (to) 2391 6408 w (use) 2524 6408 w (securely) 2728 6408 w (is) 3161 6408 w (also) 3277 6408 w (safe) 3509 6408 w (enough) 3744 6408 w (to) 4145 6408 w (run) 4279 6408 w (in) 4480 6408 w (the) 4607 6408 w (open) 4798 6408 w (network.) 720 6528 w 10 /LucidaSans-Demi f (2.) 720 6768 w (An Agent for Security) 873 6768 w 10 /LucidaSansUnicode00 f (One) 720 6924 w (of) 953 6924 w (the) 1088 6924 w (primary) 1280 6924 w (reasons) 1692 6924 w (for) 2107 6924 w (the) 2284 6924 w (redesign) 2477 6924 w (of) 2935 6924 w (the) 3071 6924 w (Plan) 3264 6924 w (9) 3503 6924 w (security) 3604 6924 w (infrastructure) 4021 6924 w (was) 4721 6924 w (to) 4942 6924 w (remove) 720 7044 w (the) 1138 7044 w (authentication) 1352 7044 w (method) 2106 7044 w (both) 2537 7044 w (from) 2819 7044 w (the) 3109 7044 w (applications) 3322 7044 w (and) 3965 7044 w (from) 4203 7044 w (the) 4493 7044 w (kernel.) 4706 7044 w (Cryptographic) 720 7164 w (code) 1446 7164 w (is) 1717 7164 w (large) 1837 7164 w (and) 2120 7164 w (intricate,) 2341 7164 w (so) 2811 7164 w (it) 2964 7164 w (should) 3071 7164 w (be) 3440 7164 w (packaged) 3600 7164 w (as) 4104 7164 w (a) 4251 7164 w (separate) 4347 7164 w (com\255) 4802 7164 w (ponent) 720 7284 w (that) 1102 7284 w (can) 1334 7284 w (be) 1543 7284 w (repaired) 1703 7284 w (or) 2148 7284 w (modified) 2291 7284 w (without) 2763 7284 w (altering) 3168 7284 w (or) 3579 7284 w (even) 3721 7284 w (relinking) 3987 7284 w (applications) 4455 7284 w cleartomark showpage saveobj restore %%EndPage: 2 2 %%Page: 3 3 /saveobj save def mark 3 pagesetup 10 /LucidaSansUnicode00 f (\255 3 \255) 2783 480 w 2044 1104 2044 882 Dl 2044 882 2622 882 Dl 2623 882 2623 1104 Dl 2623 1104 2045 1104 Dl (Secstore) 2131 1013 w 2134 1639 2134 1194 Dl 2134 1193 2623 1193 Dl 2623 1193 2623 1638 Dl 2623 1639 2134 1639 Dl 8 /LucidaSansUnicode00 f (Terminal) 2207 1725 w 2427 1285 177 133 De 9 /LucidaSans-Italic f (F) 2465 1305 w 6 /LucidaSans-Italic f (T) 2524 1323 w 2183 1478 267 200 De 9 /LucidaSans-Italic f (P) 2264 1498 w 6 /LucidaSans-Italic f (T) 2326 1516 w 3470 1639 3470 1194 Dl 3470 1193 3959 1193 Dl 3960 1193 3960 1638 Dl 3960 1639 3471 1639 Dl 8 /LucidaSansUnicode00 f (CPU) 3505 1725 w (Server) 3685 1725 w 3488 1285 177 133 De 9 /LucidaSans-Italic f (F) 3524 1305 w 6 /LucidaSans-Italic f (C) 3583 1323 w 3643 1478 267 200 De 9 /LucidaSans-Italic f (P) 3721 1498 w 6 /LucidaSans-Italic f (C) 3783 1516 w 2044 2129 2066 2129 Dl 2091 2129 2113 2129 Dl 2137 2129 2159 2129 Dl 2184 2129 2206 2129 Dl 2230 2129 2252 2129 Dl 2276 2129 2298 2129 Dl 2323 2129 2345 2129 Dl 2369 2129 2391 2129 Dl 2416 2129 2438 2129 Dl 2462 2129 2484 2129 Dl 2509 2129 2531 2129 Dl 2555 2129 2577 2129 Dl 2601 2129 2623 2129 Dl 2623 2129 2623 2107 Dl 2623 2078 2623 2056 Dl 2623 2028 2623 2006 Dl 2623 1978 2623 1956 Dl 2623 1928 2623 1906 Dl 2623 1906 2601 1906 Dl 2577 1906 2555 1906 Dl 2530 1906 2508 1906 Dl 2484 1906 2462 1906 Dl 2438 1906 2416 1906 Dl 2391 1906 2369 1906 Dl 2345 1906 2323 1906 Dl 2298 1906 2276 1906 Dl 2252 1906 2230 1906 Dl 2206 1906 2184 1906 Dl 2160 1906 2138 1906 Dl 2113 1906 2091 1906 Dl 2067 1906 2045 1906 Dl 2044 1906 2044 1928 Dl 2044 1956 2044 1978 Dl 2044 2006 2044 2028 Dl 2044 2056 2044 2078 Dl 2044 2106 2044 2128 Dl 10 /LucidaSansUnicode00 f (Auth Server) 2053 2037 w 3470 2306 3470 1861 Dl 3470 1861 3959 1861 Dl 3960 1861 3960 2306 Dl 3960 2306 3471 2306 Dl 8 /LucidaSansUnicode00 f (File) 3515 2393 w (Server) 3675 2393 w 3488 1953 177 133 De 9 /LucidaSans-Italic f (F) 3528 1973 w 6 /LucidaSans-Italic f (F) 3587 1991 w 3643 2147 267 200 De 9 /LucidaSans-Italic f (P) 3726 2167 w 6 /LucidaSans-Italic f (F) 3788 2185 w 2450 1457 3641 1457 Dl 2450 1501 2450 1501 2895 1501 Ds 2450 1501 2895 1501 3117 2169 Ds 2895 1501 3117 2169 3339 2169 Ds 3117 2169 3339 2169 3639 2169 Ds 3339 2169 3639 2169 3639 2169 Ds 3643 1501 3643 1501 3154 1501 Ds 3643 1501 3154 1501 3154 2124 Ds 3154 1501 3154 2124 3376 2124 Ds 3154 2124 3376 2124 3643 2124 Ds 3376 2124 3643 2124 3643 2124 Ds 3672 1366 3642 1333 Dl 3652 1377 3641 1333 Dl 3640 1332 3681 1407 Dl 3651 1374 3681 1407 Dl 3670 1363 3681 1407 Dl 2441 1377 2452 1333 Dl 2422 1366 2452 1333 Dl 2453 1332 2412 1407 Dl 2423 1363 2412 1407 Dl 2442 1374 2412 1407 Dl 3672 2034 3642 2001 Dl 3652 2045 3641 2001 Dl 3640 2000 3681 2075 Dl 3651 2042 3681 2075 Dl 3670 2031 3681 2075 Dl 2668 982 2624 992 Dl 2668 1004 2624 994 Dl 2623 993 2623 993 2845 993 Ds 2623 993 2845 993 2845 1284 Ds 2845 993 2845 1284 2623 1284 Ds 2845 1284 2623 1284 2605 1284 Ds 2623 1284 2605 1284 2605 1284 Ds 2649 1272 2606 1284 Dl 2650 1295 2606 1285 Dl 9 /LucidaSansUnicode00 f (Figure) 720 2587 w (1a.) 1032 2587 w (Components) 1235 2587 w (of) 1827 2587 w (the) 1953 2587 w (security) 2131 2587 w (architecture.) 2511 2587 w (Each) 3128 2587 w (box) 3368 2587 w (is) 3574 2587 w (a) 3685 2587 w (\(typically\)) 3774 2587 w (separate) 4231 2587 w (machine;) 4643 2587 w (each) 720 2687 w (ellipse) 963 2687 w (a) 1285 2687 w (process.) 1376 2687 w (The) 1812 2687 w (ellipses) 2016 2687 w (labeled) 2383 2687 w 9 /LucidaSans-Italic f (F) 2739 2687 w 6 /LucidaSans-Italic f (X) 2798 2705 w 9 /LucidaSansUnicode00 f (are) 2882 2687 w 9 /LucidaTypewriter f (factotum) 3059 2687 w 9 /LucidaSansUnicode00 f (processes;) 3619 2687 w (those) 4121 2687 w (labeled) 4401 2687 w 9 /LucidaSans-Italic f (P) 4757 2687 w 6 /LucidaSans-Italic f (X) 4819 2705 w 9 /LucidaSansUnicode00 f (are) 4903 2687 w (the) 720 2787 w (pieces) 907 2787 w (and) 1230 2787 w (proxies) 1442 2787 w (of) 1817 2787 w (a) 1954 2787 w (distributed) 2053 2787 w (program.) 2580 2787 w (The) 3063 2787 w (authentication) 3275 2787 w (server) 3950 2787 w (is) 4266 2787 w (one) 4387 2787 w (of) 4597 2787 w (several) 4734 2787 w (repositories) 720 2887 w (for) 1301 2887 w (users) 1489 2887 w 9 /LucidaSansUnicode20 f (\031) 1724 2887 w 9 /LucidaSansUnicode00 f (security) 1816 2887 w (information) 2219 2887 w (that) 2792 2887 w 9 /LucidaTypewriter f (factotum) 3026 2887 w 9 /LucidaSansUnicode00 f (processes) 3608 2887 w (consult) 4103 2887 w (as) 4483 2887 w (required.) 4641 2887 w 9 /LucidaTypewriter f (Secstore) 720 2987 w 9 /LucidaSansUnicode00 f (is) 1280 2987 w (a) 1392 2987 w (shared) 1482 2987 w (resource) 1818 2987 w (for) 2236 2987 w (storing) 2402 2987 w (private) 2752 2987 w (information) 3093 2987 w (such) 3645 2987 w (as) 3890 2987 w (keys;) 4027 2987 w 9 /LucidaTypewriter f (factotum) 4292 2987 w 9 /LucidaSansUnicode00 f (con\255) 4853 2987 w (sults) 720 3087 w (it) 956 3087 w (for) 1044 3087 w (the) 1198 3087 w (user) 1366 3087 w (during) 1584 3087 w (bootstrap.) 1901 3087 w 10 /LucidaSansUnicode00 f (and) 720 3307 w (services) 944 3307 w (that) 1375 3307 w (depend) 1610 3307 w (on) 2017 3307 w (it.) 2184 3307 w (If) 2358 3307 w (a) 2468 3307 w (security) 2567 3307 w (protocol) 2990 3307 w (is) 3438 3307 w (broken,) 3562 3307 w (it) 3979 3307 w (should) 4089 3307 w (be) 4461 3307 w (trivial) 4625 3307 w (to) 4942 3307 w (repair,) 720 3427 w (disable,) 1074 3427 w (or) 1489 3427 w (replace) 1628 3427 w (it) 2016 3427 w (on) 2119 3427 w (the) 2279 3427 w (fly.) 2471 3427 w (Similarly,) 2690 3427 w (it) 3170 3427 w (should) 3273 3427 w (be) 3638 3427 w (possible) 3794 3427 w (for) 4233 3427 w (multiple) 4408 3427 w (pro\255) 4842 3427 w (grams to use a common security protocol without embedding it in each program.) 720 3547 w (Some) 720 3703 w (systems) 1038 3703 w (use) 1483 3703 w (dynamically) 1707 3703 w (linked) 2332 3703 w (libraries) 2684 3703 w (\(DLLs\)) 3133 3703 w (to) 3486 3703 w (address) 3639 3703 w (these) 4074 3703 w (configuration) 4391 3703 w (issues.) 720 3823 w (The) 1141 3823 w (problem) 1379 3823 w (with) 1842 3823 w (this) 2103 3823 w (approach) 2338 3823 w (is) 2845 3823 w (that) 2981 3823 w (it) 3228 3823 w (leaves) 3350 3823 w (security) 3705 3823 w (code) 4140 3823 w (in) 4427 3823 w (the) 4574 3823 w (same) 4785 3823 w (address) 720 3943 w (space) 1140 3943 w (as) 1456 3943 w (the) 1602 3943 w (program) 1797 3943 w (using) 2253 3943 w (it.) 2559 3943 w (The) 2729 3943 w (interactions) 2951 3943 w (between) 3563 3943 w (the) 4011 3943 w (program) 4207 3943 w (and) 4664 3943 w (the) 4885 3943 w (DLL) 720 4063 w (can) 944 4063 w (therefore) 1155 4063 w (accidentally) 1645 4063 w (or) 2257 4063 w (deliberately) 2402 4063 w (violate) 3011 4063 w (the) 3373 4063 w (interface,) 3571 4063 w (weakening) 4070 4063 w (security.) 4629 4063 w (Also,) 720 4183 w (a) 1010 4183 w (program) 1113 4183 w (using) 1578 4183 w (a) 1893 4183 w (library) 1997 4183 w (to) 2356 4183 w (implement) 2503 4183 w (secure) 3070 4183 w (services) 3436 4183 w (must) 3872 4183 w (run) 4164 4183 w (at) 4378 4183 w (a) 4519 4183 w (privilege) 4623 4183 w (level) 720 4303 w (necessary) 993 4303 w (to) 1519 4303 w (provide) 1668 4303 w (the) 2084 4303 w (service;) 2290 4303 w (separating) 2708 4303 w (the) 3269 4303 w (security) 3474 4303 w (to) 3903 4303 w (a) 4051 4303 w (different) 4156 4303 w (program) 4624 4303 w (makes) 720 4423 w (it) 1070 4423 w (possible) 1173 4423 w (to) 1613 4423 w (run) 1748 4423 w (the) 1950 4423 w (services) 2142 4423 w (at) 2566 4423 w (a) 2695 4423 w (weaker) 2787 4423 w (privilege) 3167 4423 w (level,) 3622 4423 w (isolating) 3914 4423 w (the) 4367 4423 w (privileged) 4560 4423 w (code to a single, more trustworthy component.) 720 4543 w (Following) 720 4699 w (the) 1242 4699 w (lead) 1455 4699 w (of) 1717 4699 w (the) 1874 4699 w (SSH) 2088 4699 w (agent) 2329 4699 w ([Ylon96],) 2660 4699 w (we) 3157 4699 w (give) 3349 4699 w (each) 3607 4699 w (user) 3890 4699 w (an) 4159 4699 w (agent) 4335 4699 w (process) 4666 4699 w (responsible) 720 4819 w (for) 1353 4819 w (holding) 1563 4819 w (and) 2002 4819 w (using) 2253 4819 w (the) 2589 4819 w (user) 2814 4819 w 10 /LucidaSansUnicode20 f (\031) 3024 4819 w 10 /LucidaSansUnicode00 f (s) 3056 4819 w (keys.) 3177 4819 w (The) 3528 4819 w (agent) 3779 4819 w (program) 4121 4819 w (is) 4607 4819 w (called) 4757 4819 w 10 /LucidaTypewriter f (factotum) 720 4939 w 10 /LucidaSansUnicode00 f (because) 1336 4939 w (of) 1770 4939 w (its) 1908 4939 w (similarity) 2066 4939 w (to) 2552 4939 w (the) 2691 4939 w (proverbial) 2887 4939 w (servant) 3418 4939 w (with) 3813 4939 w (the) 4059 4939 w (power) 4255 4939 w (to) 4594 4939 w (act) 4733 4939 w (on) 4917 4939 w (behalf) 720 5059 w (of) 1070 5059 w (his) 1216 5059 w (master) 1406 5059 w (because) 1787 5059 w (he) 2229 5059 w (holds) 2395 5059 w (the) 2709 5059 w (keys) 2912 5059 w (to) 3177 5059 w (all) 3323 5059 w (the) 3484 5059 w (master) 3686 5059 w 10 /LucidaSansUnicode20 f (\031) 4019 5059 w 10 /LucidaSansUnicode00 f (s) 4051 5059 w (possessions.) 4149 5059 w (It) 4847 5059 w (is) 4960 5059 w (essential) 720 5179 w (that) 1184 5179 w 10 /LucidaTypewriter f (factotum) 1414 5179 w 10 /LucidaSansUnicode00 f (keep) 2029 5179 w (the) 2301 5179 w (keys) 2495 5179 w (secret) 2751 5179 w (and) 3082 5179 w (use) 3301 5179 w (them) 3509 5179 w (only) 3796 5179 w (in) 4039 5179 w (the) 4169 5179 w (owner) 4363 5179 w 10 /LucidaSansUnicode20 f (\031) 4660 5179 w 10 /LucidaSansUnicode00 f (s) 4692 5179 w (inter\255) 4782 5179 w (est.) 720 5299 w (Later) 998 5299 w (we) 1310 5299 w 10 /LucidaSansUnicode20 f (\031) 1443 5299 w 10 /LucidaSansUnicode00 f (ll) 1475 5299 w (discuss) 1603 5299 w (some) 2030 5299 w (changes) 2360 5299 w (to) 2828 5299 w (the) 2995 5299 w (kernel) 3219 5299 w (to) 3590 5299 w (reduce) 3757 5299 w (the) 4155 5299 w (possibility) 4379 5299 w (of) 4942 5299 w 10 /LucidaTypewriter f (factotum) 720 5419 w 10 /LucidaSansUnicode00 f (leaking information inadvertently.) 1328 5419 w 10 /LucidaTypewriter f (Factotum) 720 5575 w 10 /LucidaSansUnicode00 f (is) 1332 5575 w (implemented,) 1448 5575 w (like) 2153 5575 w (most) 2361 5575 w (Plan) 2639 5575 w (9) 2877 5575 w (services,) 2977 5575 w (as) 3433 5575 w (a) 3576 5575 w (file) 3668 5575 w (server.) 3856 5575 w (It) 4254 5575 w (is) 4357 5575 w (convention\255) 4474 5575 w (ally) 720 5695 w (mounted) 939 5695 w (upon) 1426 5695 w (the) 1727 5695 w (directory) 1935 5695 w 10 /LucidaTypewriter f (/mnt/factotum) 2419 5695 w 10 /LucidaSansUnicode00 f (and) 3408 5695 w (the) 3641 5695 w (files) 3849 5695 w (it) 4104 5695 w (serves) 4223 5695 w (there) 4583 5695 w (are) 4888 5695 w (analogous) 720 5815 w (to) 1261 5815 w (virtual) 1402 5815 w (devices) 1750 5815 w (that) 2152 5815 w (provide) 2387 5815 w (access) 2796 5815 w (to,) 3155 5815 w (and) 3329 5815 w (control) 3553 5815 w (of,) 3939 5815 w (the) 4113 5815 w (services) 4312 5815 w (of) 4743 5815 w (the) 4885 5815 w 10 /LucidaTypewriter f (factotum) 720 5935 w 10 /LucidaSansUnicode00 f (.) 1296 5935 w (The) 1395 5935 w (next) 1611 5935 w (few) 1862 5935 w (sections) 2067 5935 w (describe) 2500 5935 w (the) 2945 5935 w (design) 3135 5935 w (of) 3493 5935 w 10 /LucidaTypewriter f (factotum) 3626 5935 w 10 /LucidaSansUnicode00 f (and) 4237 5935 w (how) 4452 5935 w (it) 4686 5935 w (oper\255) 4786 5935 w (ates with the other pieces of Plan 9 to provide security services.) 720 6055 w (Logging in) 3881 6055 w (To) 720 6211 w (make) 878 6211 w (the) 1174 6211 w (discussions) 1363 6211 w (that) 1958 6211 w (follow) 2184 6211 w (more) 2513 6211 w (concrete,) 2799 6211 w (we) 3281 6211 w (begin) 3449 6211 w (with) 3756 6211 w (a) 3996 6211 w (couple) 4086 6211 w (of) 4443 6211 w (examples) 4576 6211 w (showing) 720 6331 w (how) 1159 6331 w (the) 1394 6331 w (Plan) 1584 6331 w (9) 1820 6331 w (security) 1918 6331 w (architecture) 2332 6331 w (appears) 2945 6331 w (to) 3364 6331 w (the) 3497 6331 w (user.) 3687 6331 w (These) 3996 6331 w (examples) 4319 6331 w (both) 4817 6331 w (involve) 720 6451 w (a) 1100 6451 w (user) 1194 6451 w 10 /LucidaTypewriter f (gre) 1443 6451 w 10 /LucidaSansUnicode00 f (logging) 1698 6451 w (in) 2104 6451 w (after) 2234 6451 w (booting) 2500 6451 w (a) 2915 6451 w (local) 3010 6451 w (machine.) 3275 6451 w (The) 3787 6451 w (user) 4008 6451 w (may) 4258 6451 w (or) 4498 6451 w (may) 4640 6451 w (not) 4880 6451 w (have) 720 6571 w (a) 987 6571 w (secure) 1084 6571 w (store) 1442 6571 w (in) 1729 6571 w (which) 1861 6571 w (all) 2183 6571 w (his) 2337 6571 w (keys) 2520 6571 w (are) 2778 6571 w (kept.) 2971 6571 w (If) 3290 6571 w (he) 3397 6571 w (does,) 3556 6571 w 10 /LucidaTypewriter f (factotum) 3860 6571 w 10 /LucidaSansUnicode00 f (will) 4477 6571 w (prompt) 4682 6571 w (him) 720 6691 w (for) 941 6691 w (the) 1117 6691 w (password) 1309 6691 w (to) 1808 6691 w (the) 1943 6691 w (secure) 2135 6691 w (store) 2489 6691 w (and) 2772 6691 w (obtain) 2989 6691 w (keys) 3333 6691 w (from) 3587 6691 w (it,) 3856 6691 w (prompting) 3992 6691 w (only) 4541 6691 w (when) 4783 6691 w (a key isn) 720 6811 w 10 /LucidaSansUnicode20 f (\031) 1147 6811 w 10 /LucidaSansUnicode00 f (t found in the store.) 1179 6811 w (If not,) 2217 6811 w 10 /LucidaTypewriter f (factotum) 2539 6811 w 10 /LucidaSansUnicode00 f (must prompt for each key.) 3147 6811 w (In) 720 6967 w (the) 864 6967 w (typescripts,) 1072 6967 w 10 /LucidaTypewriter f (\\n) 1688 6967 w 10 /LucidaSansUnicode00 f (represents) 1885 6967 w (a) 2452 6967 w (literal) 2560 6967 w (newline) 2889 6967 w (character) 3313 6967 w (typed) 3815 6967 w (to) 4140 6967 w (force) 4292 6967 w (a) 4592 6967 w (default) 4701 6967 w (response.) 720 7087 w (User input is in italics, and long lines are folded and indented to fit.) 1257 7087 w (This) 720 7243 w (first) 971 7243 w (example) 1212 7243 w (shows) 1671 7243 w (a) 2019 7243 w (user) 2120 7243 w (logging) 2376 7243 w (in) 2789 7243 w (without) 2926 7243 w (help) 3337 7243 w (from) 3594 7243 w (the) 3873 7243 w (secure) 4075 7243 w (store.) 4439 7243 w (First,) 4796 7243 w cleartomark showpage saveobj restore %%EndPage: 3 3 %%Page: 4 4 /saveobj save def mark 4 pagesetup 10 /LucidaSansUnicode00 f (\255 4 \255) 2783 480 w 10 /LucidaTypewriter f (factotum) 720 840 w 10 /LucidaSansUnicode00 f (prompts for a user name that the local kernel will use:) 1328 840 w 9 /LucidaTypewriter f (user[none]:) 1008 1010 w 9 /Helvetica f (gre) 1788 1010 w 10 /LucidaSansUnicode00 f (\(Default) 720 1190 w (responses) 1151 1190 w (appear) 1690 1190 w (in) 2070 1190 w (square) 2208 1190 w (brackets.\)) 2583 1190 w (The) 3139 1190 w (kernel) 3367 1190 w (then) 3716 1190 w (starts) 3980 1190 w (accessing) 4299 1190 w (local) 4815 1190 w (resources and requests, through) 720 1310 w 10 /LucidaTypewriter f (factotum) 2334 1310 w 10 /LucidaSansUnicode00 f (, a user/password pair to do so:) 2910 1310 w 9 /LucidaTypewriter f (!Adding) 1008 1480 w (key:) 1528 1480 w (dom=cs.bell-labs.com) 1853 1480 w (proto=p9sk1) 1268 1590 w (user[gre]:) 1008 1700 w 9 /Helvetica f (\\n) 1723 1700 w 9 /LucidaTypewriter f (password:) 1008 1810 w 9 /Helvetica f (****) 1658 1810 w 10 /LucidaSansUnicode00 f (Now the user is logged in to the local system, and the mail client starts up:) 720 1990 w 9 /LucidaTypewriter f (!Adding) 1008 2160 w (key:) 1528 2160 w (proto=apop) 1853 2160 w (server=plan9.bell-labs.com) 1268 2270 w (user[gre]:) 1008 2380 w 9 /Helvetica f (\\n) 1723 2380 w 9 /LucidaTypewriter f (password:) 1008 2490 w 9 /Helvetica f (****) 1658 2490 w 10 /LucidaTypewriter f (Factotum) 720 2670 w 10 /LucidaSansUnicode00 f (is) 1337 2670 w (doing) 1458 2670 w (all) 1776 2670 w (the) 1930 2670 w (prompting) 2126 2670 w (and) 2678 2670 w (the) 2899 2670 w (applications) 3095 2670 w (being) 3722 2670 w (started) 4036 2670 w (are) 4418 2670 w (not) 4612 2670 w (even) 4814 2670 w (touching the keys.) 720 2790 w (Note that it) 1678 2790 w 10 /LucidaSansUnicode20 f (\031) 2227 2790 w 10 /LucidaSansUnicode00 f (s always clear what key is being requested.) 2259 2790 w (Now) 720 2946 w (consider) 974 2946 w (the) 1430 2946 w (same) 1627 2946 w (login) 1924 2946 w (sequence,) 2209 2946 w (but) 2740 2946 w (in) 2944 2946 w (the) 3077 2946 w (case) 3275 2946 w (where) 3531 2946 w 10 /LucidaTypewriter f (gre) 3866 2946 w 10 /LucidaSansUnicode00 f (has) 4125 2946 w (a) 4336 2946 w (secure) 4434 2946 w (store) 4794 2946 w (account:) 720 3066 w 9 /LucidaTypewriter f (user[none]:) 1008 3236 w 9 /Helvetica f (gre) 1788 3236 w 9 /LucidaTypewriter f (secstore) 1008 3346 w (password:) 1593 3346 w 9 /Helvetica f (******) 2243 3346 w 9 /LucidaTypewriter f (STA) 1008 3456 w (PIN+SecurID:) 1268 3456 w 9 /Helvetica f (******) 2113 3456 w 10 /LucidaSansUnicode00 f (That) 720 3636 w 10 /LucidaSansUnicode20 f (\031) 937 3636 w 10 /LucidaSansUnicode00 f (s) 969 3636 w (the) 1062 3636 w (last) 1259 3636 w 10 /LucidaTypewriter f (gre) 1473 3636 w 10 /LucidaSansUnicode00 f (will) 1731 3636 w (hear) 1937 3636 w (from) 2193 3636 w 10 /LucidaTypewriter f (factotum) 2467 3636 w 10 /LucidaSansUnicode00 f (unless) 3085 3636 w (an) 3438 3636 w (attempt) 3597 3636 w (is) 4017 3636 w (made) 4139 3636 w (to) 4448 3636 w (contact) 4588 3636 w (a) 4985 3636 w (system for which no key is kept in the secure store.) 720 3756 w (The factotum) 3288 3756 w (Each) 720 3912 w (computer) 983 3912 w (running) 1488 3912 w (Plan) 1909 3912 w (9) 2151 3912 w (has) 2255 3912 w (one) 2464 3912 w (user) 2684 3912 w (id) 2935 3912 w (that) 3068 3912 w (owns) 3300 3912 w (all) 3592 3912 w (the) 3746 3912 w (resources) 3943 3912 w (on) 4455 3912 w (that) 4620 3912 w (sys\255) 4853 3912 w (tem) 720 4032 w 10 /LucidaSansUnicode20 f (\024) 944 4032 w 10 /LucidaSansUnicode00 f (the) 1082 4032 w (scheduler,) 1275 4032 w (local) 1816 4032 w (disks,) 2079 4032 w (network) 2401 4032 w (interfaces,) 2831 4032 w (etc.) 3376 4032 w (That) 3622 4032 w (user,) 3877 4032 w (the) 4157 4032 w 10 /LucidaSans-Italic f (host) 4350 4032 w (owner) 4593 4032 w 10 /LucidaSansUnicode00 f (,) 4891 4032 w (is) 4960 4032 w (the) 720 4152 w (closest) 911 4152 w (analogue) 1283 4152 w (in) 1761 4152 w (Plan) 1888 4152 w (9) 2125 4152 w (to) 2224 4152 w (a) 2358 4152 w (Unix) 2449 4152 w 10 /LucidaTypewriter f (root) 2706 4152 w 10 /LucidaSansUnicode00 f (account) 3030 4152 w (\(although) 3446 4152 w (it) 3946 4152 w (is) 4049 4152 w (far) 4166 4152 w (weaker;) 4336 4152 w (rather) 4748 4152 w (than) 720 4272 w (having) 983 4272 w (special) 1352 4272 w (powers,) 1733 4272 w (as) 2161 4272 w (its) 2313 4272 w (name) 2476 4272 w (implies) 2788 4272 w (the) 3184 4272 w (host) 3385 4272 w (owner) 3642 4272 w (is) 3985 4272 w (just) 4111 4272 w (a) 4337 4272 w (regular) 4438 4272 w (user) 4830 4272 w (that) 720 4392 w (happens) 963 4392 w (to) 1427 4392 w (own) 1578 4392 w (the) 1831 4392 w (resources) 2039 4392 w (of) 2562 4392 w (the) 2713 4392 w (local) 2921 4392 w (machine\).) 3199 4392 w (On) 3757 4392 w (a) 3950 4392 w (single-user) 4058 4392 w (system,) 4668 4392 w (which) 720 4512 w (we) 1037 4512 w (call) 1206 4512 w (a) 1406 4512 w (terminal,) 1497 4512 w (the) 1967 4512 w (host) 2158 4512 w (owner) 2405 4512 w (is) 2738 4512 w (the) 2854 4512 w (id) 3045 4512 w (of) 3173 4512 w (the) 3307 4512 w (terminal) 3497 4512 w 10 /LucidaSansUnicode20 f (\031) 3899 4512 w 10 /LucidaSansUnicode00 f (s) 3931 4512 w (user.) 4017 4512 w (Shared) 4326 4512 w (servers) 4692 4512 w (such) 720 4632 w (as) 989 4632 w (CPU) 1139 4632 w (servers) 1376 4632 w (normally) 1768 4632 w (have) 2234 4632 w (a) 2503 4632 w (pseudo-user) 2602 4632 w (that) 3270 4632 w (initially) 3505 4632 w (owns) 3900 4632 w (all) 4195 4632 w (resources.) 4352 4632 w (By) 4930 4632 w (default,) 720 4752 w 10 /LucidaTypewriter f (factotum) 1123 4752 w 10 /LucidaSansUnicode00 f (executes as, and therefore has the privileges of, the host owner.) 1731 4752 w (New) 720 4908 w (processes) 969 4908 w (run) 1492 4908 w (as) 1699 4908 w (the) 1847 4908 w (same) 2044 4908 w (user) 2341 4908 w (as) 2593 4908 w (the) 2741 4908 w (process) 2938 4908 w (which) 3354 4908 w (created) 3678 4908 w (them.) 4080 4908 w (When) 4435 4908 w (a) 4744 4908 w (pro\255) 4842 4908 w (cess) 720 5028 w (must) 981 5028 w (take) 1276 5028 w (on) 1534 5028 w (the) 1709 5028 w (identity) 1916 5028 w (of) 2333 5028 w (a) 2483 5028 w (new) 2590 5028 w (user,) 2837 5028 w (such) 3131 5028 w (as) 3409 5028 w (to) 3567 5028 w (provide) 3717 5028 w (a) 4133 5028 w (login) 4239 5028 w (shell) 4533 5028 w (on) 4811 5028 w (a) 4985 5028 w (shared) 720 5148 w (CPU) 1102 5148 w (server,) 1349 5148 w (it) 1732 5148 w (does) 1852 5148 w (so) 2137 5148 w (by) 2303 5148 w (proving) 2473 5148 w (to) 2898 5148 w (the) 3051 5148 w (host) 3261 5148 w (owner) 3527 5148 w 10 /LucidaSansUnicode20 f (\031) 3824 5148 w 10 /LucidaSansUnicode00 f (s) 3856 5148 w 10 /LucidaTypewriter f (factotum) 3962 5148 w 10 /LucidaSansUnicode00 f (that) 4593 5148 w (it) 4839 5148 w (is) 4960 5148 w (authorized) 720 5268 w (to) 1323 5268 w (do) 1501 5268 w (so.) 1705 5268 w (This) 1961 5268 w (is) 2246 5268 w (done) 2406 5268 w (by) 2728 5268 w (running) 2923 5268 w (an) 3382 5268 w (authentication) 3578 5268 w (protocol) 4352 5268 w (with) 4835 5268 w 10 /LucidaTypewriter f (factotum) 720 5388 w 10 /LucidaSansUnicode00 f (to) 1340 5388 w (prove) 1482 5388 w (that) 1799 5388 w (the) 2034 5388 w (process) 2233 5388 w (has) 2651 5388 w (access) 2863 5388 w (to) 3222 5388 w (secret) 3364 5388 w (information) 3700 5388 w (which) 4311 5388 w (only) 4636 5388 w (the) 4885 5388 w (new) 720 5508 w (user) 948 5508 w (should possess.) 1191 5508 w (For example, consider the setup in Figure 1a.) 2031 5508 w (If a user on the) 4303 5508 w (terminal) 720 5628 w (wants) 1162 5628 w (to) 1484 5628 w (log) 1622 5628 w (on) 1814 5628 w (to) 1977 5628 w (the) 2115 5628 w (CPU) 2310 5628 w (server) 2543 5628 w (using) 2880 5628 w (the) 3186 5628 w (Plan) 3381 5628 w (9) 3622 5628 w 10 /LucidaTypewriter f (cpu) 3726 5628 w 10 /LucidaSansUnicode00 f (service) 3983 5628 w ([Pike93],) 4360 5628 w (then) 4823 5628 w 11 /LucidaSans-Italic f (P) 720 5748 w 8 /LucidaSans-Italic f (T) 797 5770 w 10 /LucidaSansUnicode00 f (might) 892 5748 w (be) 1211 5748 w (the) 1366 5748 w 10 /LucidaTypewriter f (cpu) 1557 5748 w 10 /LucidaSansUnicode00 f (client) 1809 5748 w (program) 2109 5748 w (and) 2561 5748 w 11 /LucidaSans-Italic f (P) 2780 5748 w 8 /LucidaSans-Italic f (C) 2857 5770 w 10 /LucidaSansUnicode00 f (the) 2956 5748 w 10 /LucidaTypewriter f (cpu) 3147 5748 w 10 /LucidaSansUnicode00 f (server.) 3399 5748 w (Neither) 3796 5748 w 11 /LucidaSans-Italic f (P) 4186 5748 w 8 /LucidaSans-Italic f (C) 4263 5770 w 10 /LucidaSansUnicode00 f (nor) 4361 5748 w 11 /LucidaSans-Italic f (P) 4560 5748 w 8 /LucidaSans-Italic f (T) 4637 5770 w 10 /LucidaSansUnicode00 f (knows) 4731 5748 w (the) 720 5868 w (details) 908 5868 w (of) 1261 5868 w (the) 1392 5868 w (authentication.) 1580 5868 w (They) 2372 5868 w (do) 2639 5868 w (need) 2797 5868 w (to) 3068 5868 w (be) 3200 5868 w (able) 3353 5868 w (to) 3590 5868 w (shuttle) 3722 5868 w (messages) 4090 5868 w (back) 4599 5868 w (and) 4860 5868 w (forth) 720 5988 w (between) 1012 5988 w (the) 1473 5988 w (two) 1682 5988 w 10 /LucidaTypewriter f (factotums) 1911 5988 w 10 /LucidaSansUnicode00 f (,) 2559 5988 w (but) 2645 5988 w (this) 2861 5988 w (is) 3094 5988 w (a) 3228 5988 w (generic) 3337 5988 w (function) 3748 5988 w (easily) 4203 5988 w (performed) 4529 5988 w (without) 720 6108 w (knowing,) 1120 6108 w (or) 1598 6108 w (being) 1735 6108 w (able) 2042 6108 w (to) 2280 6108 w (extract,) 2413 6108 w (secrets) 2818 6108 w (in) 3196 6108 w (the) 3322 6108 w (messages.) 3512 6108 w 11 /LucidaSans-Italic f (P) 4092 6108 w 8 /LucidaSans-Italic f (T) 4169 6130 w 10 /LucidaSansUnicode00 f (will) 4263 6108 w (make) 4463 6108 w (a) 4761 6108 w (net\255) 4852 6108 w (work) 720 6228 w (connection) 1000 6228 w (to) 1575 6228 w 11 /LucidaSans-Italic f (P) 1716 6228 w 8 /LucidaSans-Italic f (C) 1793 6250 w 10 /LucidaSansUnicode00 f (.) 1856 6228 w 11 /LucidaSans-Italic f (P) 1969 6228 w 8 /LucidaSans-Italic f (T) 2046 6250 w 10 /LucidaSansUnicode00 f (and) 2148 6228 w 11 /LucidaSans-Italic f (P) 2374 6228 w 8 /LucidaSans-Italic f (C) 2451 6250 w 10 /LucidaSansUnicode00 f (will) 2557 6228 w (then) 2764 6228 w (relay) 3024 6228 w (messages) 3300 6228 w (between) 3818 6228 w (the) 4267 6228 w 10 /LucidaTypewriter f (factotum) 4464 6228 w 10 /LucidaSansUnicode00 f (owned) 720 6348 w (by) 1073 6348 w (the) 1222 6348 w (user,) 1411 6348 w 11 /LucidaSans-Italic f (F) 1687 6348 w 8 /LucidaSans-Italic f (T) 1759 6370 w 10 /LucidaSansUnicode00 f (,) 1818 6348 w (and) 1884 6348 w (the) 2098 6348 w (one) 2287 6348 w (owned) 2500 6348 w (by) 2853 6348 w (the) 3002 6348 w (CPU) 3191 6348 w (server,) 3418 6348 w 11 /LucidaSans-Italic f (F) 3781 6348 w 8 /LucidaSans-Italic f (C) 3853 6370 w 10 /LucidaSansUnicode00 f (,) 3916 6348 w (until) 3982 6348 w (mutual) 4235 6348 w (authenti\255) 4607 6348 w (cation) 720 6468 w (has) 1056 6468 w (been) 1265 6468 w (established.) 1543 6468 w (Later) 2200 6468 w (sections) 2483 6468 w (describe) 2922 6468 w (the) 3373 6468 w (RPC) 3569 6468 w (between) 3797 6468 w 10 /LucidaTypewriter f (factotum) 4244 6468 w 10 /LucidaSansUnicode00 f (and) 4860 6468 w (applications and the library functions to support proxy operations.) 720 6588 w (The) 720 6744 w (kernel) 960 6744 w (always) 1321 6744 w (uses) 1699 6744 w (a) 1978 6744 w (single) 2092 6744 w (local) 2440 6744 w (instance) 2724 6744 w (of) 3186 6744 w 10 /LucidaTypewriter f (factotum) 3343 6744 w 10 /LucidaSansUnicode00 f (,) 3919 6744 w (running) 4010 6744 w (as) 4449 6744 w (the) 4614 6744 w (host) 4829 6744 w (owner,) 720 6864 w (for) 1082 6864 w (its) 1254 6864 w (authentication) 1404 6864 w (purposes,) 2132 6864 w (but) 2645 6864 w (a) 2840 6864 w (regular) 2928 6864 w (user may start multiple) 3307 6864 w 10 /LucidaTypewriter f (factotum) 4464 6864 w 10 /LucidaSansUnicode00 f (agents.) 720 6984 w (In) 1141 6984 w (fact,) 1267 6984 w (the) 1514 6984 w 10 /LucidaTypewriter f (factotum) 1704 6984 w 10 /LucidaSansUnicode00 f (representing) 2315 6984 w (the) 2966 6984 w (user) 3156 6984 w (need) 3401 6984 w (not) 3673 6984 w (be) 3868 6984 w (running) 4022 6984 w (on) 4437 6984 w (the) 4595 6984 w (same) 4785 6984 w (machine) 720 7104 w (as) 1169 7104 w (its) 1315 7104 w (client.) 1472 7104 w (For) 1840 7104 w (instance,) 2036 7104 w (it) 2511 7104 w (is) 2617 7104 w (easy) 2737 7104 w (for) 2991 7104 w (a) 3170 7104 w (user) 3265 7104 w (on) 3515 7104 w (a) 3678 7104 w (CPU) 3773 7104 w (server,) 4006 7104 w (through) 4375 7104 w (stan\255) 4802 7104 w (dard) 720 7224 w (Plan) 977 7224 w (9) 1213 7224 w (operations,) 1311 7224 w (to) 1894 7224 w (replace) 2027 7224 w (the) 2413 7224 w 10 /LucidaTypewriter f (/mnt/factotum) 2603 7224 w 10 /LucidaSansUnicode00 f (in) 3574 7224 w (the) 3700 7224 w (user) 3890 7224 w 10 /LucidaSansUnicode20 f (\031) 4100 7224 w 10 /LucidaSansUnicode00 f (s) 4132 7224 w (private) 4218 7224 w (file) 4587 7224 w (name) 4774 7224 w cleartomark showpage saveobj restore %%EndPage: 4 4 %%Page: 5 5 /saveobj save def mark 5 pagesetup 10 /LucidaSansUnicode00 f (\255 5 \255) 2783 480 w (space) 720 840 w (on) 1033 840 w (the) 1193 840 w (server) 1385 840 w (with) 1719 840 w (a) 1961 840 w (connection) 2053 840 w (to) 2621 840 w (the) 2755 840 w 10 /LucidaTypewriter f (factotum) 2946 840 w 10 /LucidaSansUnicode00 f (running) 3558 840 w (on) 3974 840 w (the) 4133 840 w (terminal.) 4324 840 w (\(The) 4826 840 w (usual) 720 960 w (file) 1018 960 w (system) 1208 960 w (permissions) 1587 960 w (prevent) 2213 960 w (interlopers) 2619 960 w (from) 3184 960 w (doing) 3455 960 w (so) 3772 960 w (maliciously.\)) 3924 960 w (This) 4602 960 w (per\255) 4847 960 w (mits) 720 1080 w (secure operations on the CPU server to be transparently validated by the user) 963 1080 w 10 /LucidaSansUnicode20 f (\031) 4725 1080 w 10 /LucidaSansUnicode00 f (s own) 4757 1080 w 10 /LucidaTypewriter f (factotum) 720 1200 w 10 /LucidaSansUnicode00 f (,) 1296 1200 w (so) 1369 1200 w (secrets) 1522 1200 w (need) 1906 1200 w (never) 2184 1200 w (leave) 2493 1200 w (the) 2783 1200 w (user) 2980 1200 w 10 /LucidaSansUnicode20 f (\031) 3190 1200 w 10 /LucidaSansUnicode00 f (s) 3222 1200 w (terminal.) 3315 1200 w (SSH) 3823 1200 w (agent) 4047 1200 w ([Ylon96]) 4361 1200 w (does) 4809 1200 w (much) 720 1320 w (the) 1036 1320 w (same) 1239 1320 w (with) 1541 1320 w (special) 1793 1320 w (SSH) 2174 1320 w (protocol) 2403 1320 w (messages,) 2854 1320 w (but) 3408 1320 w (an) 3617 1320 w (advantage) 3781 1320 w (to) 4325 1320 w (making) 4470 1320 w (our) 4876 1320 w (agent) 720 1440 w (a) 1043 1440 w (file) 1149 1440 w (system) 1351 1440 w (is) 1742 1440 w (that) 1873 1440 w (we) 2115 1440 w (need) 2299 1440 w (no) 2587 1440 w (new) 2761 1440 w (mechanism) 3007 1440 w (to) 3610 1440 w (access) 3759 1440 w (our) 4125 1440 w (remote) 4340 1440 w (agent;) 4736 1440 w (remote file access is sufficient.) 720 1560 w (Within) 720 1716 w 10 /LucidaTypewriter f (factotum) 1078 1716 w 10 /LucidaSansUnicode00 f (,) 1654 1716 w (each) 1739 1716 w (protocol) 2016 1716 w (is) 2473 1716 w (implemented) 2606 1716 w (as) 3296 1716 w (a) 3455 1716 w (state) 3563 1716 w (machine) 3853 1716 w (with) 4315 1716 w (a) 4574 1716 w (generic) 4683 1716 w (interface,) 720 1836 w (so) 1214 1836 w (protocols) 1364 1836 w (are) 1857 1836 w (in) 2047 1836 w (essence) 2176 1836 w (pluggable) 2597 1836 w (modules,) 3116 1836 w (easy) 3601 1836 w (to) 3852 1836 w (add,) 3987 1836 w (modify,) 4237 1836 w (or) 4641 1836 w (drop.) 4780 1836 w (Writing) 720 1956 w (a) 1106 1956 w (message) 1201 1956 w (to) 1665 1956 w (and) 1803 1956 w (reading) 2023 1956 w (a) 2431 1956 w (message) 2526 1956 w (from) 2990 1956 w 10 /LucidaTypewriter f (factotum) 3262 1956 w 10 /LucidaSansUnicode00 f (each) 3878 1956 w (require) 4142 1956 w (a) 4530 1956 w (separate) 4626 1956 w (RPC) 720 2076 w (and) 950 2076 w (result) 1173 2076 w (in) 1492 2076 w (a) 1626 2076 w (single) 1724 2076 w (state) 2056 2076 w (transition.) 2335 2076 w (Therefore) 2906 2076 w 10 /LucidaTypewriter f (factotum) 3422 2076 w 10 /LucidaSansUnicode00 f (always) 4041 2076 w (runs) 4403 2076 w (to) 4662 2076 w (com\255) 4802 2076 w (pletion) 720 2196 w (on) 1115 2196 w (every) 1296 2196 w (RPC) 1611 2196 w (and) 1856 2196 w (never) 2094 2196 w (blocks) 2419 2196 w (waiting) 2790 2196 w (for) 3199 2196 w (input) 3396 2196 w (during) 3707 2196 w (any) 4085 2196 w (authentication.) 4313 2196 w (Moreover,) 720 2316 w (the) 1244 2316 w (number) 1437 2316 w (of) 1852 2316 w (simultaneous) 1988 2316 w (authentications) 2674 2316 w (is) 3458 2316 w (limited) 3576 2316 w (only) 3950 2316 w (by) 4191 2316 w (the) 4343 2316 w (amount) 4535 2316 w (of) 4942 2316 w (memory we) 720 2436 w 10 /LucidaSansUnicode20 f (\031) 1281 2436 w 10 /LucidaSansUnicode00 f (re willing to dedicate to representing the state machines.) 1313 2436 w (Authentication) 720 2592 w (protocols) 1493 2592 w (are) 2012 2592 w (implemented) 2229 2592 w (only) 2931 2592 w (within) 3200 2592 w 10 /LucidaTypewriter f (factotum) 3561 2592 w 10 /LucidaSansUnicode00 f (,) 4137 2592 w (but) 4234 2592 w (adding) 4461 2592 w (and) 4860 2592 w (removing) 720 2712 w (protocols) 1215 2712 w (does) 1709 2712 w (require) 1979 2712 w (relinking) 2366 2712 w (the) 2833 2712 w (binary,) 3027 2712 w (so) 3400 2712 w 10 /LucidaTypewriter f (factotum) 3551 2712 w 10 /LucidaSansUnicode00 f (processes) 4165 2712 w (\(but) 4684 2712 w (no) 4917 2712 w (others\) need to be restarted in order to take advantage of new or repaired protocols.) 720 2832 w (At) 720 2988 w (the) 886 2988 w (time) 1101 2988 w (of) 1376 2988 w (writing,) 1534 2988 w 10 /LucidaTypewriter f (factotum) 1963 2988 w 10 /LucidaSansUnicode00 f (contains) 2599 2988 w (authentication) 3067 2988 w (modules) 3823 2988 w (for) 4299 2988 w (the) 4499 2988 w (Plan) 4715 2988 w (9) 4977 2988 w (shared) 720 3108 w (key) 1082 3108 w (protocol) 1281 3108 w (\(p9sk1\),) 1718 3108 w (for) 2147 3108 w (SSH) 2319 3108 w 10 /LucidaSansUnicode20 f (\031) 2501 3108 w 10 /LucidaSansUnicode00 f (s) 2533 3108 w (RSA) 2617 3108 w (authentication,) 2836 3108 w (passwords) 3596 3108 w (in) 4142 3108 w (the) 4266 3108 w (clear,) 4454 3108 w (APOP,) 4751 3108 w (CRAM,) 720 3228 w (PPP) 1085 3228 w 10 /LucidaSansUnicode20 f (\031) 1250 3228 w 10 /LucidaSansUnicode00 f (s) 1282 3228 w (CHAP,) 1379 3228 w (Microsoft) 1724 3228 w (PPP) 2224 3228 w 10 /LucidaSansUnicode20 f (\031) 2389 3228 w 10 /LucidaSansUnicode00 f (s) 2421 3228 w (MSCHAP,) 2518 3228 w (and) 3003 3228 w (VNC) 3229 3228 w 10 /LucidaSansUnicode20 f (\031) 3437 3228 w 10 /LucidaSansUnicode00 f (s) 3469 3228 w (challenge/response.) 3566 3228 w (We) 4632 3228 w 10 /LucidaSansUnicode20 f (\031) 4774 3228 w 10 /LucidaSansUnicode00 f (re) 4806 3228 w (in) 4949 3228 w (the process of adding support for TLS handshakes.) 720 3348 w (Local capabilities) 3263 3348 w (A) 720 3504 w (capability) 833 3504 w (system,) 1340 3504 w (managed) 1756 3504 w (by) 2246 3504 w (the) 2405 3504 w (kernel,) 2604 3504 w (is) 2982 3504 w (used) 3107 3504 w (to) 3384 3504 w (empower) 3527 3504 w 10 /LucidaTypewriter f (factotum) 4019 3504 w 10 /LucidaSansUnicode00 f (to) 4640 3504 w (grant) 4783 3504 w (permission) 720 3624 w (to) 1293 3624 w (another) 1428 3624 w (process) 1839 3624 w (to) 2250 3624 w (change) 2385 3624 w (its) 2770 3624 w (user) 2924 3624 w (id.) 3171 3624 w (A) 3364 3624 w (kernel) 3470 3624 w (device) 3809 3624 w (driver) 4153 3624 w (implements) 4471 3624 w (two) 720 3744 w (files,) 934 3744 w 10 /LucidaTypewriter f (/dev/caphash) 1207 3744 w 10 /LucidaSansUnicode00 f (and) 2110 3744 w 10 /LucidaTypewriter f (/dev/capuse) 2329 3744 w 10 /LucidaSansUnicode00 f (.) 3121 3744 w (The) 3224 3744 w (write-only) 3444 3744 w (file) 3985 3744 w 10 /LucidaTypewriter f (/dev/caphash) 4176 3744 w 10 /LucidaSansUnicode00 f (can) 720 3864 w (be) 944 3864 w (opened) 1119 3864 w (only) 1536 3864 w (by) 1796 3864 w (the) 1967 3864 w (host) 2178 3864 w (owner,) 2445 3864 w (and) 2830 3864 w (only) 3066 3864 w (once.) 3326 3864 w 10 /LucidaTypewriter f (Factotum) 3676 3864 w 10 /LucidaSansUnicode00 f (opens) 4307 3864 w (this) 4655 3864 w (file) 4889 3864 w (immediately after booting.) 720 3984 w (To) 720 4140 w (use) 896 4140 w (the) 1117 4140 w (files,) 1324 4140 w 10 /LucidaTypewriter f (factotum) 1610 4140 w 10 /LucidaSansUnicode00 f (creates) 2238 4140 w (a) 2637 4140 w (string) 2744 4140 w (of) 3078 4140 w (the) 3228 4140 w (form) 3436 4140 w 10 /LucidaSans-Italic f (userid1) 3721 4140 w 10 /LucidaTypewriter f (@) 4086 4140 w 10 /LucidaSans-Italic f (userid2) 4158 4140 w 10 /LucidaTypewriter f (@) 4523 4140 w 10 /LucidaSans-Italic f (random-) 4595 4140 w (string) 720 4260 w 10 /LucidaSansUnicode00 f (,) 1007 4260 w (uses) 1084 4260 w (SHA1) 1349 4260 w (HMAC) 1654 4260 w (to) 1996 4260 w (hash) 2138 4260 w 10 /LucidaSans-Italic f (userid1) 2412 4260 w 10 /LucidaTypewriter f (@) 2777 4260 w 10 /LucidaSans-Italic f (userid2) 2849 4260 w 10 /LucidaSansUnicode00 f (with) 3258 4260 w (key) 3507 4260 w 10 /LucidaSans-Italic f (random-string) 3717 4260 w 10 /LucidaSansUnicode00 f (,) 4449 4260 w (and) 4525 4260 w (writes) 4749 4260 w (that) 720 4380 w (hash) 954 4380 w (to) 1227 4380 w 10 /LucidaTypewriter f (/dev/caphash) 1368 4380 w 10 /LucidaSansUnicode00 f (.) 2232 4380 w 10 /LucidaTypewriter f (Factotum) 2339 4380 w 10 /LucidaSansUnicode00 f (then) 2958 4380 w (passes) 3218 4380 w (the) 3588 4380 w (original) 3786 4380 w (string) 4198 4380 w (to) 4524 4380 w (another) 4666 4380 w (process) 720 4500 w (on) 1154 4500 w (the) 1337 4500 w (same) 1552 4500 w (machine,) 1867 4500 w (running) 2367 4500 w (as) 2807 4500 w (user) 2972 4500 w 10 /LucidaSans-Italic f (userid1) 3241 4500 w 10 /LucidaSansUnicode00 f (,) 3606 4500 w (which) 3697 4500 w (writes) 4037 4500 w (the) 4387 4500 w (string) 4601 4500 w (to) 4942 4500 w 10 /LucidaTypewriter f (/dev/capuse) 720 4620 w 10 /LucidaSansUnicode00 f (.) 1512 4620 w (The) 1612 4620 w (kernel) 1829 4620 w (hashes) 2167 4620 w (the) 2540 4620 w (string) 2731 4620 w (and) 3049 4620 w (looks) 3265 4620 w (for) 3561 4620 w (a) 3736 4620 w (matching) 3827 4620 w (hash) 4314 4620 w (in) 4580 4620 w (its) 4708 4620 w (list.) 4862 4620 w (If) 720 4740 w (it) 837 4740 w (finds) 954 4740 w (one,) 1247 4740 w (the) 1509 4740 w (writing) 1715 4740 w (process) 2103 4740 w 10 /LucidaSansUnicode20 f (\031) 2477 4740 w 10 /LucidaSansUnicode00 f (s) 2509 4740 w (user) 2611 4740 w (id) 2872 4740 w (changes) 3015 4740 w (from) 3465 4740 w 10 /LucidaSans-Italic f (userid1) 3748 4740 w 10 /LucidaSansUnicode00 f (to) 4164 4740 w 10 /LucidaSans-Italic f (userid2) 4313 4740 w 10 /LucidaSansUnicode00 f (.) 4678 4740 w (Once) 4793 4740 w (used, or if a timeout expires, the capability is discarded by the kernel.) 720 4860 w (The) 720 5016 w (capabilities) 934 5016 w (are) 1514 5016 w (hashed) 1699 5016 w (to) 2081 5016 w (keep) 2212 5016 w (them) 2478 5016 w (secret) 2759 5016 w (if) 3084 5016 w (someone) 3183 5016 w (is) 3656 5016 w (spying) 3769 5016 w (on) 4121 5016 w (kernel) 4277 5016 w (memory.) 4612 5016 w (Also,) 720 5136 w (they) 997 5136 w (are) 1239 5136 w (local) 1426 5136 w (to) 1686 5136 w (the) 1819 5136 w (machine) 2009 5136 w (on) 2452 5136 w (which) 2610 5136 w (they) 2926 5136 w (are) 3167 5136 w (created.) 3353 5136 w (Hence) 3810 5136 w (a) 4143 5136 w 10 /LucidaTypewriter f (factotum) 4232 5136 w 10 /LucidaSansUnicode00 f (run\255) 4842 5136 w (ning) 720 5256 w (on) 976 5256 w (one) 1140 5256 w (system) 1360 5256 w (cannot) 1741 5256 w (pass) 2110 5256 w (capabilities) 2371 5256 w (to) 2960 5256 w (processes) 3100 5256 w (on) 3623 5256 w (another) 3788 5256 w (and) 4204 5256 w (expect) 4426 5256 w (them) 4792 5256 w (to work.) 720 5376 w (Keys) 1183 5376 w (We) 720 5532 w (define) 899 5532 w (the) 1239 5532 w (word) 1431 5532 w 10 /LucidaSans-Italic f (key) 1710 5532 w 10 /LucidaSansUnicode00 f (to) 1913 5532 w (mean) 2048 5532 w (not) 2351 5532 w (only) 2548 5532 w (a) 2789 5532 w (secret,) 2881 5532 w (but) 3242 5532 w (also) 3441 5532 w (a) 3674 5532 w (description) 3766 5532 w (of) 4346 5532 w (the) 4482 5532 w (context) 4675 5532 w (in) 720 5652 w (which) 858 5652 w (that) 1186 5652 w (secret) 1424 5652 w (is) 1763 5652 w (to) 1890 5652 w (be) 2035 5652 w (used:) 2201 5652 w (the) 2511 5652 w (protocol,) 2712 5652 w (server,) 3194 5652 w (user,) 3569 5652 w (etc.) 3857 5652 w (to) 4079 5652 w (which) 4223 5652 w (it) 4550 5652 w (applies.) 4662 5652 w (That) 720 5772 w (is,) 980 5772 w (a) 1135 5772 w (key) 1233 5772 w (is) 1442 5772 w (a) 1565 5772 w (combination) 1663 5772 w (of) 2309 5772 w (secret) 2450 5772 w (and) 2785 5772 w (descriptive) 3008 5772 w (information) 3579 5772 w (used) 4189 5772 w (to) 4465 5772 w (authenti\255) 4607 5772 w (cate) 720 5892 w (the) 954 5892 w (identities) 1144 5892 w (of) 1628 5892 w (parties) 1761 5892 w (transmitting) 2128 5892 w (or) 2758 5892 w (receiving) 2895 5892 w (information.) 3367 5892 w (The) 4032 5892 w (set) 4247 5892 w (of) 4425 5892 w (keys) 4557 5892 w (used) 4808 5892 w (in) 720 6012 w (any) 856 6012 w (authentication) 1070 6012 w (depends) 1810 6012 w (both) 2269 6012 w (on) 2537 6012 w (the) 2705 6012 w (protocol) 2905 6012 w (and) 3354 6012 w (on) 3579 6012 w (parameters) 3747 6012 w (passed) 4340 6012 w (by) 4724 6012 w (the) 4885 6012 w (program requesting the authentication.) 720 6132 w (Taking) 720 6288 w (a) 1113 6288 w (tip) 1232 6288 w (from) 1425 6288 w (SDSI) 1721 6288 w ([RiLa],) 1997 6288 w (which) 2359 6288 w (represents) 2704 6288 w (security) 3282 6288 w (information) 3725 6288 w (as) 4356 6288 w (textual) 4526 6288 w (S-) 4928 6288 w (expressions,) 720 6408 w (keys) 1378 6408 w (in) 1639 6408 w (Plan) 1774 6408 w (9) 2019 6408 w (are) 2126 6408 w (represented) 2322 6408 w (as) 2947 6408 w (plain) 3096 6408 w (UTF-8) 3377 6408 w (text.) 3727 6408 w (Text) 4025 6408 w (is) 4285 6408 w (easily) 4408 6408 w (under\255) 4723 6408 w (stood) 720 6528 w (and) 1029 6528 w (manipulated) 1245 6528 w (by) 1886 6528 w (users.) 2038 6528 w (By) 2400 6528 w (contrast,) 2547 6528 w (a) 3011 6528 w (binary) 3103 6528 w (or) 3442 6528 w (other) 3581 6528 w (cryptic) 3875 6528 w (format) 4236 6528 w (can) 4597 6528 w (actu\255) 4802 6528 w (ally) 720 6648 w (reduce) 932 6648 w (overall) 1308 6648 w (security.) 1678 6648 w (Binary) 2168 6648 w (formats) 2512 6648 w (are) 2934 6648 w (difficult) 3132 6648 w (for) 3552 6648 w (users) 3737 6648 w (to) 4044 6648 w (examine) 4188 6648 w (and) 4646 6648 w (can) 4872 6648 w (only) 720 6768 w (be) 978 6768 w (cracked) 1151 6768 w (by) 1580 6768 w (special) 1750 6768 w (tools,) 2139 6768 w (themselves) 2465 6768 w (poorly) 3063 6768 w (understood) 3425 6768 w (by) 4037 6768 w (most) 4207 6768 w (users.) 4504 6768 w (For) 4884 6768 w (example,) 720 6888 w (very) 1219 6888 w (few) 1474 6888 w (people) 1698 6888 w (know) 2080 6888 w (or) 2392 6888 w (understand) 2548 6888 w (what) 3153 6888 w 10 /LucidaSansUnicode20 f (\031) 3384 6888 w 10 /LucidaSansUnicode00 f (s) 3416 6888 w (inside) 3520 6888 w (their) 3863 6888 w (X.509) 4141 6888 w (certificates.) 4478 6888 w (Most) 720 7008 w (don) 995 7008 w 10 /LucidaSansUnicode20 f (\031) 1181 7008 w 10 /LucidaSansUnicode00 f (t) 1213 7008 w (even) 1290 7008 w (know) 1556 7008 w (where) 1854 7008 w (in) 2186 7008 w (the) 2317 7008 w (system) 2512 7008 w (to) 2892 7008 w (find) 3030 7008 w (them.) 3261 7008 w (Therefore,) 3613 7008 w (they) 4159 7008 w (have) 4407 7008 w (no) 4673 7008 w (idea) 4837 7008 w (what) 720 7128 w (they) 993 7128 w (are) 1242 7128 w (trusting,) 1436 7128 w (and) 1891 7128 w (why,) 2113 7128 w (and) 2378 7128 w (are) 2600 7128 w (powerless) 2793 7128 w (to) 3319 7128 w (change) 3458 7128 w (their) 3847 7128 w (trust) 4113 7128 w (relationships.) 4382 7128 w (Textual, centrally stored and managed keys are easier to use and safer.) 720 7248 w cleartomark showpage saveobj restore %%EndPage: 5 5 %%Page: 6 6 /saveobj save def mark 6 pagesetup 10 /LucidaSansUnicode00 f (\255 6 \255) 2783 480 w (Plan) 720 840 w (9) 965 840 w (has) 1072 840 w (historically) 1284 840 w (represented) 1854 840 w (databases) 2480 840 w (as) 3010 840 w (attribute/value) 3160 840 w (pairs,) 3928 840 w (since) 4243 840 w (they) 4536 840 w (are) 4788 840 w (a) 4985 840 w (good) 720 960 w (foundation) 1013 960 w (for) 1588 960 w (selection) 1773 960 w (and) 2251 960 w (projection) 2476 960 w (operations.) 3012 960 w 10 /LucidaTypewriter f (Factotum) 3637 960 w 10 /LucidaSansUnicode00 f (therefore) 4258 960 w (repre\255) 4750 960 w (sents) 720 1080 w (the) 1022 1080 w (keys) 1222 1080 w (in) 1484 1080 w (the) 1620 1080 w (format) 1820 1080 w 10 /LucidaSans-Italic f (attribute) 2189 1080 w 10 /LucidaTypewriter f (=) 2617 1080 w 10 /LucidaSans-Italic f (value) 2689 1080 w 10 /LucidaSansUnicode00 f (,) 2948 1080 w (where) 3025 1080 w 10 /LucidaSans-Italic f (attribute) 3362 1080 w 10 /LucidaSansUnicode00 f (is) 3835 1080 w (an) 3961 1080 w (identifier,) 4124 1080 w (possibly) 4641 1080 w (with) 720 1200 w (a) 964 1200 w (single-character) 1058 1200 w (prefix,) 1893 1200 w (and) 2251 1200 w 10 /LucidaSans-Italic f (value) 2470 1200 w 10 /LucidaSansUnicode00 f (is) 2768 1200 w (an) 2887 1200 w (arbitrary) 3043 1200 w (quoted) 3496 1200 w (string.) 3877 1200 w (The) 4262 1200 w (pairs) 4482 1200 w (them\255) 4759 1200 w (selves) 720 1320 w (are) 1051 1320 w (separated) 1240 1320 w (by) 1754 1320 w (white) 1906 1320 w (space.) 2204 1320 w (For) 2581 1320 w (example,) 2774 1320 w (a) 3256 1320 w (Plan) 3348 1320 w (9) 3586 1320 w (key) 3686 1320 w (and) 3889 1320 w (an) 4106 1320 w (APOP) 4260 1320 w (key) 4554 1320 w (might) 4757 1320 w (be represented like this:) 720 1440 w 9 /LucidaTypewriter f (dom=bell-labs.com) 1008 1610 w (proto=p9sk1) 2178 1610 w (user=gre) 2958 1610 w (!password='don''t) 1528 1720 w (tell') 2698 1720 w (proto=apop) 1008 1830 w (server=x.y.com) 1723 1830 w (user=gre) 2698 1830 w (!password='bite) 1528 1940 w (me') 2568 1940 w 10 /LucidaSansUnicode00 f (If) 720 2120 w (a) 825 2120 w (value) 919 2120 w (is) 1212 2120 w (empty) 1331 2120 w (or) 1671 2120 w (contains) 1812 2120 w (white) 2259 2120 w (space) 2559 2120 w (or) 2875 2120 w (single) 3017 2120 w (quotes,) 3346 2120 w (it) 3748 2120 w (must) 3854 2120 w (be) 4137 2120 w (quoted;) 4296 2120 w (quotes) 4710 2120 w (are) 720 2240 w (represented) 921 2240 w (by) 1552 2240 w (doubled) 1716 2240 w (single) 2162 2240 w (quotes.) 2500 2240 w (Attributes) 2943 2240 w (that) 3474 2240 w (begin) 3713 2240 w (with) 4033 2240 w (an) 4286 2240 w (exclamation) 4451 2240 w (mark) 720 2360 w (\() 1022 2360 w 10 /LucidaTypewriter f (!) 1055 2360 w 10 /LucidaSansUnicode00 f (\)) 1127 2360 w (are) 1215 2360 w (considered) 1422 2360 w 10 /LucidaSans-Italic f (secret) 2010 2360 w 10 /LucidaSansUnicode00 f (.) 2301 2360 w 10 /LucidaTypewriter f (Factotum) 2420 2360 w 10 /LucidaSansUnicode00 f (will) 3051 2360 w (never) 3270 2360 w (let) 3592 2360 w (a) 3769 2360 w (secret) 3879 2360 w (value) 4226 2360 w (escape) 4535 2360 w (its) 4923 2360 w (address space and will suppress keyboard echo when asking the user to type one.) 720 2480 w (A) 720 2636 w (program) 835 2636 w (requesting) 1297 2636 w (authentication) 1862 2636 w (selects) 2603 2636 w (a) 2980 2636 w (key) 3082 2636 w (by) 3295 2636 w (providing) 3457 2636 w (a) 3966 2636 w 10 /LucidaSans-Italic f (query) 4068 2636 w 10 /LucidaSansUnicode00 f (,) 4347 2636 w (a) 4426 2636 w (list) 4528 2636 w (of) 4721 2636 w (ele\255) 4866 2636 w (ments) 720 2756 w (to) 1063 2756 w (be) 1205 2756 w (matched) 1367 2756 w (by) 1827 2756 w (the) 1985 2756 w (key.) 2183 2756 w (Each) 2456 2756 w (element) 2721 2756 w (in) 3153 2756 w (the) 3287 2756 w (list) 3485 2756 w (is) 3674 2756 w (either) 3797 2756 w (an) 4121 2756 w 10 /LucidaSans-Italic f (attribute) 4281 2756 w 10 /LucidaTypewriter f (=) 4709 2756 w 10 /LucidaSans-Italic f (value) 4781 2756 w 10 /LucidaSansUnicode00 f (pair,) 720 2876 w (which) 974 2876 w (is) 1289 2876 w (satisfied) 1404 2876 w (by) 1847 2876 w (keys) 1997 2876 w (with) 2249 2876 w (exactly) 2489 2876 w (that) 2865 2876 w (pair;) 3091 2876 w (or) 3346 2876 w (an) 3483 2876 w (attribute) 3635 2876 w (followed) 4087 2876 w (by) 4535 2876 w (a) 4685 2876 w (ques\255) 4775 2876 w (tion) 720 2996 w (mark,) 946 2996 w 10 /LucidaSans-Italic f (attribute) 1261 2996 w 10 /LucidaTypewriter f (?) 1689 2996 w 10 /LucidaSansUnicode00 f (,) 1761 2996 w (which) 1829 2996 w (is) 2146 2996 w (satisfied) 2262 2996 w (by) 2706 2996 w (keys) 2857 2996 w (with) 3110 2996 w (some) 3351 2996 w (pair) 3648 2996 w (specifying) 3872 2996 w (the) 4400 2996 w (attribute.) 4591 2996 w (A) 720 3116 w (key) 822 3116 w (matches) 1021 3116 w (a) 1459 3116 w (query) 1547 3116 w (if) 1854 3116 w (every) 1953 3116 w (element) 2243 3116 w (in) 2666 3116 w (the) 2791 3116 w (list) 2980 3116 w (is) 3160 3116 w (satisfied.) 3274 3116 w (For) 3780 3116 w (instance,) 3970 3116 w (to) 4439 3116 w (select) 4571 3116 w (the) 4885 3116 w (APOP key in the previous example, an APOP client process might specify the query) 720 3236 w 9 /LucidaTypewriter f (server=x.y.com) 1008 3406 w (proto=apop) 1983 3406 w 10 /LucidaSansUnicode00 f (Internally,) 720 3586 w 10 /LucidaTypewriter f (factotum) 1239 3586 w 10 /LucidaSansUnicode20 f (\031) 1815 3586 w 10 /LucidaSansUnicode00 f (s) 1847 3586 w (APOP) 1933 3586 w (module) 2225 3586 w (would) 2625 3586 w (add) 2953 3586 w (the) 3170 3586 w (requirements) 3361 3586 w (of) 4044 3586 w (having) 4178 3586 w 10 /LucidaTypewriter f (user) 4536 3586 w 10 /LucidaSansUnicode00 f (and) 4860 3586 w 10 /LucidaTypewriter f (!password) 720 3706 w 10 /LucidaSansUnicode00 f (attributes, forming the query) 1400 3706 w 9 /LucidaTypewriter f (server=x.y.com) 1008 3876 w (proto=apop) 1983 3876 w (user?) 2698 3876 w (!password?) 3088 3876 w 10 /LucidaSansUnicode00 f (when searching for an appropriate key.) 720 4056 w 10 /LucidaTypewriter f (Factotum) 720 4212 w 10 /LucidaSansUnicode00 f (modules expect keys to have some) 1328 4212 w (well-known) 3061 4212 w (attributes.) 3663 4212 w (For) 4228 4212 w (instance,) 4417 4212 w (the) 4885 4212 w 10 /LucidaTypewriter f (proto) 720 4332 w 10 /LucidaSansUnicode00 f (attribute) 1127 4332 w (specifies) 1591 4332 w (the) 2061 4332 w (protocol) 2263 4332 w (module) 2714 4332 w (responsible) 3125 4332 w (for) 3734 4332 w (using) 3920 4332 w (a) 4232 4332 w (particular) 4333 4332 w (key,) 4842 4332 w (and) 720 4452 w (protocol) 951 4452 w (modules) 1406 4452 w (may) 1872 4452 w (expect) 2124 4452 w (other) 2500 4452 w (well-known) 2809 4452 w (attributes) 3430 4452 w (\(many) 3950 4452 w (expect) 4297 4452 w (keys) 4673 4452 w (to) 4942 4452 w (have) 720 4572 w 10 /LucidaTypewriter f (!password) 988 4572 w 10 /LucidaSansUnicode00 f (attributes,) 1679 4572 w (for) 2222 4572 w (example\).) 2404 4572 w (Additional) 2957 4572 w (attributes) 3497 4572 w (can) 4008 4572 w (be) 4219 4572 w (used) 4380 4572 w (as) 4654 4572 w (com\255) 4802 4572 w (ments) 720 4692 w (or) 1068 4692 w (for) 1219 4692 w (further) 1407 4692 w (discrimination) 1792 4692 w (without) 2534 4692 w (intervention) 2949 4692 w (by) 3583 4692 w 10 /LucidaTypewriter f (factotum) 3748 4692 w 10 /LucidaSansUnicode00 f (;) 4324 4692 w (for) 4406 4692 w (example,) 4595 4692 w (the) 720 4812 w (APOP) 915 4812 w (and) 1212 4812 w (IMAP) 1432 4812 w (mail) 1711 4812 w (clients) 1957 4812 w (conventionally) 2312 4812 w (include) 3050 4812 w (a) 3442 4812 w 10 /LucidaTypewriter f (server) 3537 4812 w 10 /LucidaSansUnicode00 f (attribute) 4009 4812 w (to) 4466 4812 w (select) 4604 4812 w (an) 4923 4812 w (appropriate key for authentication.) 720 4932 w (Unlike) 720 5088 w (in) 1056 5088 w (SDSI,) 1181 5088 w (keys) 1459 5088 w (in) 1710 5088 w (Plan) 1835 5088 w (9) 2070 5088 w (have) 2167 5088 w (no) 2426 5088 w (nested) 2583 5088 w (structure.) 2942 5088 w (This) 3478 5088 w (design) 3717 5088 w (keeps) 4074 5088 w (the) 4392 5088 w (represen\255) 4581 5088 w (tation) 720 5208 w (simple) 1044 5208 w (and) 1408 5208 w (straightforward.) 1631 5208 w (If) 2487 5208 w (necessary,) 2595 5208 w (we) 3144 5208 w (could) 3319 5208 w (add) 3627 5208 w (a) 3850 5208 w (nested) 3947 5208 w (attribute) 4314 5208 w (or,) 4773 5208 w (in) 4949 5208 w (the manner of relational databases, an attribute that) 720 5328 w (selects) 3296 5328 w (another) 3660 5328 w (tuple,) 4067 5328 w (but) 4379 5328 w (so) 4574 5328 w (far) 4719 5328 w (the) 4885 5328 w (simple design has been sufficient.) 720 5448 w (A) 720 5604 w (simple) 833 5604 w (common) 1198 5604 w (structure) 1663 5604 w (for) 2145 5604 w (all) 2328 5604 w (keys) 2485 5604 w (makes) 2746 5604 w (them) 3103 5604 w (easy) 3395 5604 w (for) 3653 5604 w (users) 3836 5604 w (to) 4142 5604 w (administer,) 4285 5604 w (but) 4878 5604 w (the) 720 5724 w (set) 914 5724 w (of) 1097 5724 w (attributes) 1234 5724 w (and) 1741 5724 w (their) 1960 5724 w (interpretation) 2224 5724 w (is) 2929 5724 w (still) 3048 5724 w (protocol-specific) 3262 5724 w (and) 4129 5724 w (can) 4347 5724 w (be) 4553 5724 w (subtle.) 4710 5724 w (Users) 720 5844 w (may) 1042 5844 w (still) 1296 5844 w (need) 1525 5844 w (to) 1816 5844 w (consult) 1968 5844 w (a) 2375 5844 w (manual) 2484 5844 w (to) 2895 5844 w (understand) 3048 5844 w (all) 3655 5844 w (details.) 3823 5844 w (Many) 4262 5844 w (attributes) 4572 5844 w (\() 720 5964 w 10 /LucidaTypewriter f (proto) 753 5964 w 10 /LucidaSansUnicode00 f (,) 1113 5964 w 10 /LucidaTypewriter f (user) 1192 5964 w 10 /LucidaSansUnicode00 f (,) 1480 5964 w 10 /LucidaTypewriter f (password) 1559 5964 w 10 /LucidaSansUnicode00 f (,) 2135 5964 w 10 /LucidaTypewriter f (server) 2214 5964 w 10 /LucidaSansUnicode00 f (\)) 2646 5964 w (are) 2726 5964 w (self-explanatory) 2925 5964 w (and) 3775 5964 w (our) 4001 5964 w (short) 4211 5964 w (experience) 4509 5964 w (has) 720 6084 w (not) 926 6084 w (uncovered) 1124 6084 w (any) 1666 6084 w (particular) 1873 6084 w (difficulty) 2374 6084 w (in) 2838 6084 w (handling) 2967 6084 w (keys.) 3430 6084 w (Things) 3750 6084 w (will) 4118 6084 w (likely) 4321 6084 w (get) 4613 6084 w (mes\255) 4807 6084 w (sier,) 720 6204 w (however,) 965 6204 w (when) 1438 6204 w (we) 1731 6204 w (grapple) 1900 6204 w (with) 2305 6204 w (public) 2546 6204 w (keys) 2878 6204 w (and) 3130 6204 w (their) 3345 6204 w (myriad) 3605 6204 w (components.) 3973 6204 w (Protect\255) 4669 6204 w (ing keys) 720 6324 w (Secrets must be prevented from escaping) 720 6480 w 10 /LucidaTypewriter f (factotum) 2767 6480 w 10 /LucidaSansUnicode00 f (.) 3343 6480 w (There) 3440 6480 w (are) 3751 6480 w (a) 3936 6480 w (number) 4024 6480 w (of) 4434 6480 w (ways) 4565 6480 w (they) 4833 6480 w (could) 720 6600 w (leak:) 1024 6600 w (another) 1292 6600 w (process) 1704 6600 w (might) 2116 6600 w (be) 2437 6600 w (able) 2594 6600 w (to) 2834 6600 w (debug) 2969 6600 w (the) 3312 6600 w (agent) 3504 6600 w (process,) 3813 6600 w (the) 4256 6600 w (agent) 4448 6600 w (might) 4757 6600 w (swap) 720 6720 w (out) 1001 6720 w (to) 1196 6720 w (disk,) 1329 6720 w (or) 1597 6720 w (the) 1735 6720 w (process) 1926 6720 w (might) 2336 6720 w (willingly) 2655 6720 w (disclose) 3089 6720 w (the) 3516 6720 w (key.) 3707 6720 w (The) 3973 6720 w (last) 4190 6720 w (is) 4398 6720 w (the) 4514 6720 w (easiest) 4705 6720 w (to avoid: secret information in a key is marked as such, and whenever) 720 6840 w 10 /LucidaTypewriter f (factotum) 4149 6840 w 10 /LucidaSansUnicode00 f (prints) 4757 6840 w (keys) 720 6960 w (or) 978 6960 w (queries) 1121 6960 w (for) 1520 6960 w (new) 1700 6960 w (ones,) 1936 6960 w (it) 2239 6960 w (is) 2346 6960 w (careful) 2467 6960 w (to) 2840 6960 w (avoid) 2980 6960 w (displaying) 3282 6960 w (secret) 3819 6960 w (information.) 4153 6960 w (\(The) 4826 6960 w (only) 720 7080 w (exception) 967 7080 w (to) 1486 7080 w (this) 1627 7080 w (is) 1849 7080 w (the) 1972 7080 w 10 /LucidaSansUnicode20 f (\030\030) 2170 7080 w 10 /LucidaSansUnicode00 f (plaintext) 2234 7080 w (password) 2706 7080 w 10 /LucidaSansUnicode20 f (\031\031) 3168 7080 w 10 /LucidaSansUnicode00 f (protocol,) 3275 7080 w (which) 3754 7080 w (consists) 4078 7080 w (of) 4514 7080 w (sending) 4655 7080 w (the) 720 7200 w (values) 964 7200 w (of) 1358 7200 w (the) 1545 7200 w 10 /LucidaTypewriter f (user) 1789 7200 w 10 /LucidaSansUnicode00 f (and) 2166 7200 w 10 /LucidaTypewriter f (!password) 2435 7200 w 10 /LucidaSansUnicode00 f (attributes.) 3172 7200 w (Only) 3793 7200 w (keys) 4103 7200 w (tagged) 4410 7200 w (with) 4835 7200 w cleartomark showpage saveobj restore %%EndPage: 6 6 %%Page: 7 7 /saveobj save def mark 7 pagesetup 10 /LucidaSansUnicode00 f (\255 7 \255) 2783 480 w 10 /LucidaTypewriter f (proto=pass) 720 840 w 10 /LucidaSansUnicode00 f (can have their passwords disclosed by this mechanism.\)) 1472 840 w (Preventing) 720 996 w (the) 1267 996 w (first) 1457 996 w (two) 1687 996 w (forms) 1897 996 w (of) 2215 996 w (leakage) 2348 996 w (requires) 2754 996 w (help) 3188 996 w (from) 3433 996 w (the) 3700 996 w (kernel.) 3890 996 w (In) 4291 996 w (Plan) 4417 996 w (9,) 4653 996 w (every) 4783 996 w (process) 720 1116 w (is) 1136 1116 w (represented) 1258 1116 w (by) 1882 1116 w (a) 2039 1116 w (directory) 2136 1116 w (in) 2609 1116 w (the) 2742 1116 w 10 /LucidaTypewriter f (/proc) 2938 1116 w 10 /LucidaSansUnicode00 f (file) 3339 1116 w (system.) 3531 1116 w (Using) 3976 1116 w (the) 4290 1116 w (files) 4486 1116 w (in) 4729 1116 w (this) 4861 1116 w (directory,) 720 1236 w (other) 1277 1236 w (processes) 1628 1236 w (could) 2203 1236 w (\(with) 2563 1236 w (appropriate) 2895 1236 w (access) 3554 1236 w (permission\)) 3964 1236 w (examine) 4628 1236 w 10 /LucidaTypewriter f (factotum) 720 1356 w 10 /LucidaSansUnicode20 f (\031) 1296 1356 w 10 /LucidaSansUnicode00 f (s) 1328 1356 w (memory) 1420 1356 w (and) 1857 1356 w (registers.) 2078 1356 w 10 /LucidaTypewriter f (Factotum) 2607 1356 w 10 /LucidaSansUnicode00 f (is) 3224 1356 w (protected) 3345 1356 w (from) 3851 1356 w (processes) 4124 1356 w (of) 4645 1356 w (other) 4783 1356 w (users) 720 1476 w (by) 1017 1476 w (the) 1168 1476 w (default) 1359 1476 w (access) 1734 1476 w (bits) 2085 1476 w (of) 2301 1476 w (its) 2435 1476 w 10 /LucidaTypewriter f (/proc) 2588 1476 w 10 /LucidaSansUnicode00 f (directory.) 2984 1476 w (However,) 3515 1476 w (we) 4000 1476 w 10 /LucidaSansUnicode20 f (\031) 4133 1476 w 10 /LucidaSansUnicode00 f (d) 4165 1476 w (also) 4265 1476 w (like) 4498 1476 w (to) 4707 1476 w (pro\255) 4842 1476 w (tect) 720 1596 w (the) 937 1596 w (agent) 1128 1596 w (from) 1436 1596 w (other) 1704 1596 w (processes) 1997 1596 w (owned) 2514 1596 w (by) 2869 1596 w (the) 3020 1596 w (same) 3211 1596 w (user,) 3502 1596 w (both) 3780 1596 w (to) 4039 1596 w (avoid) 4173 1596 w (honest) 4469 1596 w (mis\255) 4834 1596 w (takes) 720 1716 w (and) 1024 1716 w (to) 1251 1716 w (prevent) 1396 1716 w (an) 1810 1716 w (unattended) 1975 1716 w (terminal) 2576 1716 w (being) 3026 1716 w (exploited) 3346 1716 w (to) 3849 1716 w (discover) 3995 1716 w (secret) 4447 1716 w (pass\255) 4787 1716 w (words.) 720 1836 w (To) 1116 1836 w (do) 1279 1836 w (this,) 1442 1836 w (we) 1692 1836 w (added) 1864 1836 w (a) 2203 1836 w (control) 2297 1836 w (message) 2677 1836 w (to) 3139 1836 w 10 /LucidaTypewriter f (/proc) 3275 1836 w 10 /LucidaSansUnicode00 f (called) 3673 1836 w 10 /LucidaTypewriter f (private) 3994 1836 w 10 /LucidaSansUnicode00 f (.) 4498 1836 w (Once) 4600 1836 w (the) 4885 1836 w 10 /LucidaTypewriter f (factotum) 720 1956 w 10 /LucidaSansUnicode00 f (process) 1334 1956 w (has) 1746 1956 w (written) 1952 1956 w 10 /LucidaTypewriter f (private) 2329 1956 w 10 /LucidaSansUnicode00 f (to) 2872 1956 w (its) 3009 1956 w 10 /LucidaTypewriter f (/proc/) 3165 1956 w 10 /LucidaSans-Italic f (pid) 3597 1956 w 10 /LucidaTypewriter f (/ctl) 3748 1956 w 10 /LucidaSansUnicode00 f (file,) 4075 1956 w (no) 4297 1956 w (process) 4459 1956 w (can) 4872 1956 w (access) 720 2076 w 10 /LucidaTypewriter f (factotum) 1079 2076 w 10 /LucidaSansUnicode20 f (\031) 1655 2076 w 10 /LucidaSansUnicode00 f (s) 1687 2076 w (memory) 1782 2076 w (through) 2222 2076 w 10 /LucidaTypewriter f (/proc) 2653 2076 w 10 /LucidaSansUnicode00 f (.) 3013 2076 w (\(Plan) 3121 2076 w (9) 3399 2076 w (has) 3506 2076 w (no) 3718 2076 w (other) 3885 2076 w (mechanism,) 4186 2076 w (such) 4814 2076 w (as) 720 2196 w 10 /LucidaTypewriter f (/dev/kmem) 858 2196 w 10 /LucidaSansUnicode00 f (, for accessing a process) 1506 2196 w 10 /LucidaSansUnicode20 f (\031) 2702 2196 w 10 /LucidaSansUnicode00 f (s memory.\)) 2734 2196 w (Similarly,) 720 2352 w (the) 1201 2352 w (agent) 1394 2352 w 10 /LucidaSansUnicode20 f (\031) 1666 2352 w 10 /LucidaSansUnicode00 f (s) 1698 2352 w (address) 1787 2352 w (space) 2205 2352 w (should) 2519 2352 w (not) 2885 2352 w (be) 3084 2352 w (swapped) 3242 2352 w (out,) 3709 2352 w (to) 3940 2352 w (prevent) 4077 2352 w (discovering) 4483 2352 w (unencrypted) 720 2472 w (keys) 1377 2472 w (on) 1646 2472 w (the) 1821 2472 w (swapping) 2028 2472 w (media.) 2542 2472 w (The) 2954 2472 w 10 /LucidaTypewriter f (noswap) 3187 2472 w 10 /LucidaSansUnicode00 f (control) 3670 2472 w (message) 4063 2472 w (in) 4538 2472 w 10 /LucidaTypewriter f (/proc) 4680 2472 w 10 /LucidaSansUnicode00 f (prevents) 720 2592 w (this) 1181 2592 w (scenario.) 1403 2592 w (Neither) 1916 2592 w 10 /LucidaTypewriter f (private) 2314 2592 w 10 /LucidaSansUnicode00 f (nor) 2861 2592 w 10 /LucidaTypewriter f (noswap) 3068 2592 w 10 /LucidaSansUnicode00 f (is) 3543 2592 w (specific) 3666 2592 w (to) 4077 2592 w 10 /LucidaTypewriter f (factotum) 4219 2592 w 10 /LucidaSansUnicode00 f (;) 4795 2592 w (any) 4871 2592 w (process) 720 2712 w (can) 1133 2712 w (use) 1340 2712 w (them.) 1548 2712 w (Both) 1899 2712 w (are) 2156 2712 w (useful,) 2347 2712 w (for) 2715 2712 w (instance,) 2893 2712 w (to) 3367 2712 w (protect) 3504 2712 w (any) 3889 2712 w (user-level) 4096 2712 w (program) 4624 2712 w (providing critical file services for the kernel.) 720 2832 w (Despite) 720 2988 w (our) 1121 2988 w (precautions,) 1319 2988 w (attackers) 1953 2988 w (might) 2428 2988 w (still) 2745 2988 w (find) 2954 2988 w (a) 3179 2988 w (way) 3268 2988 w (to) 3486 2988 w (gain) 3618 2988 w (access) 3860 2988 w (to) 4210 2988 w (a) 4343 2988 w (process) 4433 2988 w (run\255) 4842 2988 w (ning) 720 3108 w (as) 971 3108 w (the) 1113 3108 w (host) 1304 3108 w (owner) 1551 3108 w (on) 1884 3108 w (a) 2043 3108 w (machine.) 2134 3108 w (Although) 2641 3108 w (they) 3120 3108 w (could) 3362 3108 w (not) 3663 3108 w (directly) 3858 3108 w (access) 4251 3108 w (the) 4601 3108 w (keys,) 4791 3108 w (attackers) 720 3228 w (could) 1207 3228 w (use) 1519 3228 w (the) 1734 3228 w (local) 1935 3228 w 10 /LucidaTypewriter f (factotum) 2206 3228 w 10 /LucidaSansUnicode00 f (to) 2828 3228 w (perform) 2972 3228 w (authentications) 3410 3228 w (for) 4202 3228 w (them.) 4388 3228 w (In) 4747 3228 w (the) 4885 3228 w (case) 720 3348 w (of) 972 3348 w (some) 1109 3348 w (keys,) 1409 3348 w (for) 1697 3348 w (example) 1875 3348 w (those) 2327 3348 w (locking) 2633 3348 w (bank) 3024 3348 w (accounts,) 3301 3348 w (we) 3802 3348 w (want) 3974 3348 w (a) 4243 3348 w (way) 4336 3348 w (to) 4558 3348 w (disable) 4694 3348 w (or) 720 3468 w (at) 874 3468 w (least) 1018 3468 w (detect) 1298 3468 w (such) 1650 3468 w (access.) 1928 3468 w (That) 2359 3468 w (is) 2628 3468 w (the) 2760 3468 w (role) 2967 3468 w (of) 3206 3468 w (the) 3356 3468 w 10 /LucidaTypewriter f (confirm) 3563 3468 w 10 /LucidaSansUnicode00 f (attribute) 4120 3468 w (in) 4590 3468 w (a) 4734 3468 w (key.) 4842 3468 w (Whenever) 720 3588 w (a) 1229 3588 w (key) 1322 3588 w (with) 1526 3588 w (a) 1769 3588 w 10 /LucidaTypewriter f (confirm) 1862 3588 w 10 /LucidaSansUnicode00 f (attribute) 2404 3588 w (is) 2859 3588 w (accessed,) 2976 3588 w (the) 3479 3588 w (local) 3671 3588 w (user) 3933 3588 w (must) 4180 3588 w (confirm) 4460 3588 w (use) 4871 3588 w (of the key via a local GUI.) 720 3708 w (The next section describes the actual mechanism.) 2013 3708 w (We) 720 3864 w (have) 905 3864 w (not) 1173 3864 w (addressed) 1376 3864 w (leaks) 1918 3864 w (possible) 2210 3864 w (as) 2656 3864 w (a) 2805 3864 w (result) 2903 3864 w (of) 3222 3864 w (someone) 3364 3864 w (rebooting) 3848 3864 w (or) 4364 3864 w (resetting) 4510 3864 w (a) 4985 3864 w (machine) 720 3984 w (running) 1163 3984 w 10 /LucidaTypewriter f (factotum) 1578 3984 w 10 /LucidaSansUnicode00 f (.) 2154 3984 w (For) 2253 3984 w (example,) 2444 3984 w (someone) 2924 3984 w (could) 3399 3984 w (reset) 3700 3984 w (a) 3976 3984 w (machine) 4065 3984 w (and) 4507 3984 w (reboot) 4721 3984 w (it) 720 4104 w (with) 824 4104 w (a) 1067 4104 w (debugger) 1160 4104 w (instead) 1664 4104 w (of) 2056 4104 w (a) 2193 4104 w (kernel,) 2287 4104 w (allowing) 2660 4104 w (them) 3103 4104 w (to) 3390 4104 w (examine) 3527 4104 w (the) 3978 4104 w (contents) 4172 4104 w (of) 4628 4104 w (mem\255) 4765 4104 w (ory) 720 4224 w (and) 910 4224 w (find) 1126 4224 w (keys.) 1353 4224 w (We) 1670 4224 w (have) 1848 4224 w (not) 2109 4224 w (found) 2305 4224 w (a) 2626 4224 w (satisfactory) 2717 4224 w (solution) 3310 4224 w (to) 3738 4224 w (this) 3871 4224 w (problem.) 4085 4224 w (Factotum) 4590 4224 w (transactions) 720 4344 w (External) 720 4500 w (programs) 1168 4500 w (manage) 1688 4500 w 10 /LucidaTypewriter f (factotum) 2124 4500 w 10 /LucidaSansUnicode20 f (\031) 2700 4500 w 10 /LucidaSansUnicode00 f (s) 2732 4500 w (internal) 2836 4500 w (key) 3260 4500 w (state) 3479 4500 w (through) 3768 4500 w (its) 4208 4500 w (file) 4379 4500 w (interface,) 4584 4500 w (writing) 720 4620 w (textual) 1095 4620 w 10 /LucidaTypewriter f (key) 1470 4620 w 10 /LucidaSansUnicode00 f (and) 1724 4620 w 10 /LucidaTypewriter f (delkey) 1942 4620 w 10 /LucidaSansUnicode00 f (commands) 2412 4620 w (to) 2979 4620 w (the) 3115 4620 w 10 /LucidaTypewriter f (/mnt/factotum/ctl) 3308 4620 w 10 /LucidaSansUnicode00 f (file.) 4570 4620 w (Both) 4822 4620 w (commands) 720 4740 w (take) 1292 4740 w (a) 1541 4740 w (list) 1640 4740 w (of) 1830 4740 w (attributes) 1972 4740 w (as) 2484 4740 w (an) 2634 4740 w (argument.) 2795 4740 w 10 /LucidaTypewriter f (Key) 3371 4740 w 10 /LucidaSansUnicode00 f (creates) 3631 4740 w (a) 4022 4740 w (key) 4121 4740 w (with) 4331 4740 w (the) 4580 4740 w (given) 4779 4740 w (attributes,) 720 4860 w (replacing) 1262 4860 w (any) 1751 4860 w (extant) 1961 4860 w (key) 2310 4860 w (with) 2517 4860 w (an) 2763 4860 w (identical) 2921 4860 w (set) 3373 4860 w (of) 3558 4860 w (public) 3697 4860 w (attributes.) 4035 4860 w 10 /LucidaTypewriter f (Delkey) 4608 4860 w 10 /LucidaSansUnicode00 f (deletes) 720 4980 w (all) 1111 4980 w (keys) 1267 4980 w (that) 1527 4980 w (match) 1761 4980 w (the) 2102 4980 w (given) 2300 4980 w (set) 2604 4980 w (of) 2791 4980 w (attributes.) 2932 4980 w (Reading) 3507 4980 w (the) 3940 4980 w 10 /LucidaTypewriter f (ctl) 4138 4980 w 10 /LucidaSansUnicode00 f (file) 4397 4980 w (returns) 4591 4980 w (a) 4985 4980 w (list) 720 5100 w (of) 903 5100 w (keys,) 1038 5100 w (one) 1324 5100 w (per) 1540 5100 w (line,) 1737 5100 w (displaying) 1982 5100 w (only) 2514 5100 w (public) 2755 5100 w (attributes.) 3089 5100 w (The) 3658 5100 w (following) 3875 5100 w (example) 4358 5100 w (illus\255) 4807 5100 w (trates these interactions.) 720 5220 w cleartomark showpage saveobj restore %%EndPage: 7 7 %%Page: 8 8 /saveobj save def mark 8 pagesetup 10 /LucidaSansUnicode00 f (\255 8 \255) 2783 480 w 9 /LucidaTypewriter f (%) 1008 830 w (cd) 1138 830 w (/mnt/factotum) 1333 830 w (%) 1008 940 w (ls) 1138 940 w (-l) 1333 940 w (-lrw-------) 1008 1050 w (gre) 1788 1050 w (gre) 2048 1050 w (0) 2308 1050 w (Jan) 2438 1050 w (30) 2698 1050 w (22:17) 2893 1050 w (confirm) 3283 1050 w (--rw-------) 1008 1160 w (gre) 1788 1160 w (gre) 2048 1160 w (0) 2308 1160 w (Jan) 2438 1160 w (30) 2698 1160 w (22:17) 2893 1160 w (ctl) 3283 1160 w (-lr--------) 1008 1270 w (gre) 1788 1270 w (gre) 2048 1270 w (0) 2308 1270 w (Jan) 2438 1270 w (30) 2698 1270 w (22:17) 2893 1270 w (log) 3283 1270 w (-lrw-------) 1008 1380 w (gre) 1788 1380 w (gre) 2048 1380 w (0) 2308 1380 w (Jan) 2438 1380 w (30) 2698 1380 w (22:17) 2893 1380 w (needkey) 3283 1380 w (--r--r--r--) 1008 1490 w (gre) 1788 1490 w (gre) 2048 1490 w (0) 2308 1490 w (Jan) 2438 1490 w (30) 2698 1490 w (22:17) 2893 1490 w (proto) 3283 1490 w (--rw-rw-rw-) 1008 1600 w (gre) 1788 1600 w (gre) 2048 1600 w (0) 2308 1600 w (Jan) 2438 1600 w (30) 2698 1600 w (22:17) 2893 1600 w (rpc) 3283 1600 w (%) 1008 1710 w (cat) 1138 1710 w (>ctl) 1398 1710 w (key) 1008 1820 w (dom=bell-labs.com) 1268 1820 w (proto=p9sk1) 2438 1820 w (user=gre) 3218 1820 w (!password='don''t) 1268 1930 w (tell') 2438 1930 w (key) 1008 2040 w (proto=apop) 1268 2040 w (server=x.y.com) 1983 2040 w (user=gre) 2958 2040 w (!password='bite) 1268 2150 w (me') 2308 2150 w (^D) 1008 2260 w (%) 1008 2370 w (cat) 1138 2370 w (ctl) 1398 2370 w (key) 1008 2480 w (dom=bell-labs.com) 1268 2480 w (proto=p9sk1) 2438 2480 w (user=gre) 3218 2480 w (key) 1008 2590 w (proto=apop) 1268 2590 w (server=x.y.com) 1983 2590 w (user=gre) 2958 2590 w (%) 1008 2700 w (echo) 1138 2700 w ('delkey) 1463 2700 w (proto=apop') 1983 2700 w (>ctl) 2763 2700 w (%) 1008 2810 w (cat) 1138 2810 w (ctl) 1398 2810 w (key) 1008 2920 w (dom=bell-labs.com) 1268 2920 w (proto=p9sk1) 2438 2920 w (user=gre) 3218 2920 w (%) 1008 3030 w 10 /LucidaSansUnicode00 f (\(A file with the) 720 3210 w 10 /LucidaTypewriter f (l) 1461 3210 w 10 /LucidaSansUnicode00 f (bit set can be opened by only one process at a time.\)) 1565 3210 w (The) 720 3366 w (heart) 946 3366 w (of) 1242 3366 w (the) 1385 3366 w (interface) 1585 3366 w (is) 2054 3366 w (the) 2179 3366 w 10 /LucidaTypewriter f (rpc) 2379 3366 w 10 /LucidaSansUnicode00 f (file.) 2641 3366 w (Programs) 2902 3366 w (authenticate) 3407 3366 w (with) 4052 3366 w 10 /LucidaTypewriter f (factotum) 4303 3366 w 10 /LucidaSansUnicode00 f (by) 4925 3366 w (writing) 720 3486 w (a) 1096 3486 w (request) 1190 3486 w (to) 1595 3486 w (the) 1732 3486 w 10 /LucidaTypewriter f (rpc) 1926 3486 w 10 /LucidaSansUnicode00 f (file) 2181 3486 w (and) 2371 3486 w (reading) 2590 3486 w (back) 2997 3486 w (the) 3263 3486 w (reply;) 3457 3486 w (this) 3769 3486 w (sequence) 3987 3486 w (is) 4483 3486 w (called) 4602 3486 w (an) 4923 3486 w (RPC) 720 3606 w 10 /LucidaSans-Italic f (transaction) 939 3606 w 10 /LucidaSansUnicode00 f (.) 1494 3606 w (Requests and replies have the same format: a textual verb possibly fol\255) 1590 3606 w (lowed) 720 3726 w (by) 1048 3726 w (arguments,) 1205 3726 w (which) 1798 3726 w (may) 2121 3726 w (be) 2363 3726 w (textual) 2524 3726 w (or) 2903 3726 w (binary.) 3047 3726 w (The) 3455 3726 w (most) 3678 3726 w (common) 3962 3726 w (reply) 4425 3726 w (verb) 4707 3726 w (is) 4960 3726 w 10 /LucidaTypewriter f (ok) 720 3846 w 10 /LucidaSansUnicode00 f (,) 864 3846 w (indicating) 930 3846 w (success.) 1443 3846 w (An) 1914 3846 w (RPC) 2079 3846 w (session) 2300 3846 w (begins) 2695 3846 w (with) 3052 3846 w (a) 3291 3846 w 10 /LucidaTypewriter f (start) 3380 3846 w 10 /LucidaSansUnicode00 f (transaction;) 3774 3846 w (the) 4382 3846 w (argument) 4572 3846 w (is) 720 3966 w (a) 841 3966 w (key) 936 3966 w (query) 1142 3966 w (as) 1456 3966 w (described) 1602 3966 w (earlier.) 2115 3966 w (Once) 2526 3966 w (started,) 2813 3966 w (an) 3225 3966 w (RPC) 3382 3966 w (conversation) 3609 3966 w (usually) 4267 3966 w (consists) 4647 3966 w (of) 720 4086 w (a) 861 4086 w (sequence) 959 4086 w (of) 1459 4086 w 10 /LucidaTypewriter f (read) 1600 4086 w 10 /LucidaSansUnicode00 f (and) 1931 4086 w 10 /LucidaTypewriter f (write) 2154 4086 w 10 /LucidaSansUnicode00 f (transactions.) 2557 4086 w (If) 3256 4086 w (the) 3365 4086 w (conversation) 3563 4086 w (is) 4224 4086 w (successful,) 4347 4086 w (an) 4923 4086 w 10 /LucidaTypewriter f (authinfo) 720 4206 w 10 /LucidaSansUnicode00 f (transaction) 1342 4206 w (will) 1929 4206 w (return) 2139 4206 w (information) 2484 4206 w (about) 3097 4206 w (the) 3420 4206 w (identities) 3620 4206 w (learned) 4114 4206 w (during) 4521 4206 w (the) 4885 4206 w (transaction.) 720 4326 w (The) 1365 4326 w 10 /LucidaTypewriter f (attr) 1586 4326 w 10 /LucidaSansUnicode00 f (transaction) 1914 4326 w (returns) 2495 4326 w (a) 2885 4326 w (list) 2980 4326 w (of) 3166 4326 w (attributes) 3304 4326 w (for) 3812 4326 w (the) 3991 4326 w (current) 4187 4326 w (conversa\255) 4578 4326 w (tion;) 720 4446 w (the) 991 4446 w (list) 1196 4446 w (includes) 1392 4446 w (any) 1845 4446 w (attributes) 2064 4446 w (given) 2582 4446 w (in) 2893 4446 w (the) 3034 4446 w 10 /LucidaTypewriter f (start) 3239 4446 w 10 /LucidaSansUnicode00 f (query) 3649 4446 w (as) 3973 4446 w (well) 4129 4446 w (as) 4370 4446 w (any) 4525 4446 w (public) 4743 4446 w (attributes from keys being used.) 720 4566 w (As) 720 4722 w (an) 891 4722 w (example) 1059 4722 w (of) 1524 4722 w (the) 1674 4722 w (RPC) 1881 4722 w (file) 2120 4722 w (in) 2323 4722 w (action,) 2466 4722 w (consider) 2845 4722 w (a) 3311 4722 w (mail) 3418 4722 w (client) 3676 4722 w (connecting) 3992 4722 w (to) 4577 4722 w (a) 4727 4722 w (mail) 4834 4722 w (server) 720 4842 w (and) 1077 4842 w (authenticating) 1316 4842 w (using) 2071 4842 w (the) 2396 4842 w (POP3) 2610 4842 w (protocol) 2920 4842 w 10 /LucidaSansUnicode20 f (\031) 3324 4842 w 10 /LucidaSansUnicode00 f (s) 3356 4842 w (APOP) 3466 4842 w (challenge-response) 3782 4842 w (com\255) 4802 4842 w (mand.) 720 4962 w (There) 1094 4962 w (are) 1409 4962 w (four) 1598 4962 w (programs) 1836 4962 w (involved:) 2340 4962 w (the) 2813 4962 w (mail) 3005 4962 w (client) 3249 4962 w 11 /LucidaSans-Italic f (P) 3551 4962 w 8 /LucidaSans-Italic f (C) 3628 4984 w 10 /LucidaSansUnicode00 f (,) 3691 4962 w (the) 3761 4962 w (client) 3954 4962 w 10 /LucidaTypewriter f (factotum) 4256 4962 w 11 /LucidaSans-Italic f (F) 4873 4962 w 8 /LucidaSans-Italic f (C) 4945 4984 w 10 /LucidaSansUnicode00 f (,) 5008 4962 w (the) 720 5082 w (mail) 914 5082 w (server) 1159 5082 w 11 /LucidaSans-Italic f (P) 1495 5082 w 8 /LucidaSans-Italic f (S) 1572 5104 w 10 /LucidaSansUnicode00 f (,) 1625 5082 w (and) 1696 5082 w (the) 1915 5082 w (server) 2109 5082 w 10 /LucidaTypewriter f (factotum) 2445 5082 w 11 /LucidaSans-Italic f (F) 3063 5082 w 8 /LucidaSans-Italic f (S) 3135 5104 w 10 /LucidaSansUnicode00 f (.) 3188 5082 w (All) 3290 5082 w (authentication) 3455 5082 w (computations) 4188 5082 w (are) 4888 5082 w (handled) 720 5202 w (by) 1159 5202 w (the) 1323 5202 w 10 /LucidaTypewriter f (factotum) 1527 5202 w 10 /LucidaSansUnicode00 f (processes.) 2152 5202 w (The) 2746 5202 w (mail) 2976 5202 w (programs) 3231 5202 w 10 /LucidaSansUnicode20 f (\031) 3698 5202 w 10 /LucidaSansUnicode00 f (role) 3779 5202 w (is) 4016 5202 w (just) 4146 5202 w (to) 4376 5202 w (relay) 4524 5202 w (mes\255) 4807 5202 w (sages.) 720 5322 w (At) 720 5478 w (startup,) 904 5478 w (the) 1360 5478 w (mail) 1593 5478 w (server) 1878 5478 w (at) 2254 5478 w 10 /LucidaTypewriter f (x.y.com) 2425 5478 w 10 /LucidaSansUnicode00 f (begins) 3008 5478 w (an) 3410 5478 w (APOP) 3606 5478 w (conversation) 3942 5478 w (with) 4639 5478 w (its) 4923 5478 w 10 /LucidaTypewriter f (factotum) 720 5598 w 10 /LucidaSansUnicode00 f (to obtain the banner greeting, which includes a challenge:) 1328 5598 w 11 /LucidaSans-Italic f (P) 1008 5768 w 8 /LucidaSans-Italic f (S) 1085 5790 w 11 /S f (\256) 1147 5768 w 11 /LucidaSans-Italic f (F) 1265 5768 w 8 /LucidaSans-Italic f (S) 1337 5790 w 9 /LucidaTypewriter f (:) 1390 5768 w (start) 1520 5768 w (proto=apop) 1910 5768 w (role=server) 2625 5768 w 11 /LucidaSans-Italic f (F) 1008 5878 w 8 /LucidaSans-Italic f (S) 1080 5900 w 11 /S f (\256) 1142 5878 w 11 /LucidaSans-Italic f (P) 1260 5878 w 8 /LucidaSans-Italic f (S) 1337 5900 w 9 /LucidaTypewriter f (:) 1390 5878 w (ok) 1520 5878 w 11 /LucidaSans-Italic f (P) 1008 5988 w 8 /LucidaSans-Italic f (S) 1085 6010 w 11 /S f (\256) 1147 5988 w 11 /LucidaSans-Italic f (F) 1265 5988 w 8 /LucidaSans-Italic f (S) 1337 6010 w 9 /LucidaTypewriter f (:) 1390 5988 w (read) 1520 5988 w 11 /LucidaSans-Italic f (F) 1008 6098 w 8 /LucidaSans-Italic f (S) 1080 6120 w 11 /S f (\256) 1142 6098 w 11 /LucidaSans-Italic f (P) 1260 6098 w 8 /LucidaSans-Italic f (S) 1337 6120 w 9 /LucidaTypewriter f (:) 1390 6098 w (ok) 1520 6098 w (+OK) 1715 6098 w (POP3) 1975 6098 w 9 /LucidaSans-Italic f (challenge) 2300 6098 w 10 /LucidaSansUnicode00 f (Having obtained the challenge, the server greets the client:) 720 6278 w 11 /LucidaSans-Italic f (P) 1008 6448 w 8 /LucidaSans-Italic f (S) 1085 6470 w 11 /S f (\256) 1147 6448 w 11 /LucidaSans-Italic f (P) 1265 6448 w 8 /LucidaSans-Italic f (C) 1342 6470 w 9 /LucidaTypewriter f (:) 1405 6448 w (+OK) 1535 6448 w (POP3) 1795 6448 w 9 /LucidaSans-Italic f (challenge) 2120 6448 w 10 /LucidaSansUnicode00 f (The client then uses an APOP conversation with its) 720 6628 w 10 /LucidaTypewriter f (factotum) 3204 6628 w 10 /LucidaSansUnicode00 f (to obtain a response:) 3812 6628 w cleartomark showpage saveobj restore %%EndPage: 8 8 %%Page: 9 9 /saveobj save def mark 9 pagesetup 10 /LucidaSansUnicode00 f (\255 9 \255) 2783 480 w 11 /LucidaSans-Italic f (P) 1008 830 w 8 /LucidaSans-Italic f (C) 1085 852 w 11 /S f (\256) 1157 830 w 11 /LucidaSans-Italic f (F) 1275 830 w 8 /LucidaSans-Italic f (C) 1347 852 w 9 /LucidaTypewriter f (:) 1410 830 w (start) 1540 830 w (proto=apop) 1930 830 w (role=client) 2645 830 w (server=x.y.com) 1788 940 w 11 /LucidaSans-Italic f (F) 1008 1050 w 8 /LucidaSans-Italic f (C) 1080 1072 w 11 /S f (\256) 1152 1050 w 11 /LucidaSans-Italic f (P) 1270 1050 w 8 /LucidaSans-Italic f (C) 1347 1072 w 9 /LucidaTypewriter f (:) 1410 1050 w (ok) 1540 1050 w 11 /LucidaSans-Italic f (P) 1008 1160 w 8 /LucidaSans-Italic f (C) 1085 1182 w 11 /S f (\256) 1157 1160 w 11 /LucidaSans-Italic f (F) 1275 1160 w 8 /LucidaSans-Italic f (C) 1347 1182 w 9 /LucidaTypewriter f (:) 1410 1160 w (write) 1540 1160 w (+OK) 1930 1160 w (POP3) 2190 1160 w 9 /LucidaSans-Italic f (challenge) 2515 1160 w 11 /LucidaSans-Italic f (F) 1008 1270 w 8 /LucidaSans-Italic f (C) 1080 1292 w 11 /S f (\256) 1152 1270 w 11 /LucidaSans-Italic f (P) 1270 1270 w 8 /LucidaSans-Italic f (C) 1347 1292 w 9 /LucidaTypewriter f (:) 1410 1270 w (ok) 1540 1270 w 11 /LucidaSans-Italic f (P) 1008 1380 w 8 /LucidaSans-Italic f (C) 1085 1402 w 11 /S f (\256) 1157 1380 w 11 /LucidaSans-Italic f (F) 1275 1380 w 8 /LucidaSans-Italic f (C) 1347 1402 w 9 /LucidaTypewriter f (:) 1410 1380 w (read) 1540 1380 w 11 /LucidaSans-Italic f (F) 1008 1490 w 8 /LucidaSans-Italic f (C) 1080 1512 w 11 /S f (\256) 1152 1490 w 11 /LucidaSans-Italic f (P) 1270 1490 w 8 /LucidaSans-Italic f (C) 1347 1512 w 9 /LucidaTypewriter f (:) 1410 1490 w (ok) 1540 1490 w (APOP) 1735 1490 w (gre) 2060 1490 w 9 /LucidaSans-Italic f (response) 2320 1490 w 10 /LucidaTypewriter f (Factotum) 720 1670 w 10 /LucidaSansUnicode00 f (requires) 1347 1670 w (that) 1797 1670 w 10 /LucidaTypewriter f (start) 2039 1670 w 10 /LucidaSansUnicode00 f (requests) 2451 1670 w (include) 2920 1670 w (a) 3324 1670 w 10 /LucidaTypewriter f (proto) 3431 1670 w 10 /LucidaSansUnicode00 f (attribute,) 3843 1670 w (and) 4344 1670 w (the) 4576 1670 w (APOP) 4783 1670 w (module) 720 1790 w (requires) 1122 1790 w (an) 1559 1790 w (additional) 1714 1790 w 10 /LucidaTypewriter f (role) 2235 1790 w 10 /LucidaSansUnicode00 f (attribute,) 2561 1790 w (but) 3047 1790 w (the) 3246 1790 w (other) 3438 1790 w (attributes) 3732 1790 w (are) 4237 1790 w (optional) 4426 1790 w (and) 4860 1790 w (only) 720 1910 w (restrict) 978 1910 w (the) 1375 1910 w (key) 1584 1910 w (space.) 1804 1910 w (Before) 2198 1910 w (responding) 2561 1910 w (to) 3165 1910 w (the) 3317 1910 w 10 /LucidaTypewriter f (start) 3526 1910 w 10 /LucidaSansUnicode00 f (transaction,) 3940 1910 w (the) 4567 1910 w (client) 4776 1910 w 10 /LucidaTypewriter f (factotum) 720 2030 w 10 /LucidaSansUnicode00 f (looks) 1331 2030 w (for) 1626 2030 w (a) 1800 2030 w (key) 1890 2030 w (to) 2090 2030 w (use) 2222 2030 w (for) 2425 2030 w (the) 2598 2030 w (rest) 2787 2030 w (of) 3006 2030 w (the) 3138 2030 w (conversation.) 3327 2030 w (Because) 4043 2030 w (of) 4466 2030 w (the) 4598 2030 w (argu\255) 4787 2030 w (ments) 720 2150 w (in) 1065 2150 w (the) 1203 2150 w 10 /LucidaTypewriter f (start) 1405 2150 w 10 /LucidaSansUnicode00 f (request,) 1812 2150 w (the) 2257 2150 w (key) 2459 2150 w (must) 2672 2150 w (have) 2962 2150 w (public) 3234 2150 w (attributes) 3578 2150 w 10 /LucidaTypewriter f (proto=apop) 4093 2150 w 10 /LucidaSansUnicode00 f (and) 4860 2150 w 10 /LucidaTypewriter f (server=x.y.com) 720 2270 w 10 /LucidaSansUnicode00 f (;) 1728 2270 w (as) 1803 2270 w (mentioned) 1952 2270 w (earlier,) 2514 2270 w (the) 2896 2270 w (APOP) 3094 2270 w (module) 3394 2270 w (additionally) 3801 2270 w (requires) 4408 2270 w (that) 4849 2270 w (the) 720 2390 w (key) 925 2390 w (have) 1141 2390 w 10 /LucidaTypewriter f (user) 1416 2390 w 10 /LucidaSansUnicode00 f (and) 1754 2390 w 10 /LucidaTypewriter f (!password) 1984 2390 w 10 /LucidaSansUnicode00 f (attributes.) 2682 2390 w (Now) 3264 2390 w (that) 3526 2390 w (the) 3768 2390 w (client) 3974 2390 w (has) 4289 2390 w (obtained) 4508 2390 w (a) 4985 2390 w (response from its) 720 2510 w 10 /LucidaTypewriter f (factotum) 1606 2510 w 10 /LucidaSansUnicode00 f (, it echoes that response to the server:) 2182 2510 w 11 /LucidaSans-Italic f (P) 1008 2680 w 8 /LucidaSans-Italic f (C) 1085 2702 w 11 /S f (\256) 1157 2680 w 11 /LucidaSans-Italic f (P) 1275 2680 w 8 /LucidaSans-Italic f (S) 1352 2702 w 9 /LucidaTypewriter f (:) 1405 2680 w (APOP) 1535 2680 w (gre) 1860 2680 w 9 /LucidaSans-Italic f (response) 2120 2680 w 10 /LucidaSansUnicode00 f (Similarly,) 720 2860 w (the) 1198 2860 w (server) 1388 2860 w (passes) 1720 2860 w (this) 2082 2860 w (message) 2296 2860 w (to) 2755 2860 w (its) 2889 2860 w 10 /LucidaTypewriter f (factotum) 3042 2860 w 10 /LucidaSansUnicode00 f (and) 3654 2860 w (obtains) 3870 2860 w (another) 4264 2860 w (to) 4674 2860 w (send) 4808 2860 w (back.) 720 2980 w 11 /LucidaSans-Italic f (P) 1008 3150 w 8 /LucidaSans-Italic f (S) 1085 3172 w 11 /S f (\256) 1147 3150 w 11 /LucidaSans-Italic f (F) 1265 3150 w 8 /LucidaSans-Italic f (S) 1337 3172 w 9 /LucidaTypewriter f (:) 1390 3150 w (write) 1520 3150 w (APOP) 1910 3150 w (gre) 2235 3150 w 9 /LucidaSans-Italic f (response) 2495 3150 w 11 /LucidaSans-Italic f (F) 1008 3260 w 8 /LucidaSans-Italic f (S) 1080 3282 w 11 /S f (\256) 1142 3260 w 11 /LucidaSans-Italic f (P) 1260 3260 w 8 /LucidaSans-Italic f (S) 1337 3282 w 9 /LucidaTypewriter f (:) 1390 3260 w (ok) 1520 3260 w 11 /LucidaSans-Italic f (P) 1008 3370 w 8 /LucidaSans-Italic f (S) 1085 3392 w 11 /S f (\256) 1147 3370 w 11 /LucidaSans-Italic f (F) 1265 3370 w 8 /LucidaSans-Italic f (S) 1337 3392 w 9 /LucidaTypewriter f (:) 1390 3370 w (read) 1520 3370 w 11 /LucidaSans-Italic f (F) 1008 3480 w 8 /LucidaSans-Italic f (S) 1080 3502 w 11 /S f (\256) 1142 3480 w 11 /LucidaSans-Italic f (P) 1260 3480 w 8 /LucidaSans-Italic f (S) 1337 3502 w 9 /LucidaTypewriter f (:) 1390 3480 w (ok) 1520 3480 w (+OK) 1715 3480 w (welcome) 1975 3480 w 11 /LucidaSans-Italic f (P) 1008 3700 w 8 /LucidaSans-Italic f (S) 1085 3722 w 11 /S f (\256) 1147 3700 w 11 /LucidaSans-Italic f (P) 1265 3700 w 8 /LucidaSans-Italic f (C) 1342 3722 w 9 /LucidaTypewriter f (:) 1405 3700 w (+OK) 1535 3700 w (welcome) 1795 3700 w 10 /LucidaSansUnicode00 f (Now) 720 3880 w (the) 972 3880 w (authentication) 1167 3880 w (protocol) 1902 3880 w (is) 2346 3880 w (done,) 2466 3880 w (and) 2781 3880 w (the) 3002 3880 w (server) 3198 3880 w (can) 3536 3880 w (retrieve) 3745 3880 w (information) 4154 3880 w (about) 4762 3880 w (what the protocol established.) 720 4000 w 11 /LucidaSans-Italic f (P) 1008 4170 w 8 /LucidaSans-Italic f (S) 1085 4192 w 11 /S f (\256) 1147 4170 w 11 /LucidaSans-Italic f (F) 1265 4170 w 8 /LucidaSans-Italic f (S) 1337 4192 w 9 /LucidaTypewriter f (:) 1390 4170 w (authinfo) 1520 4170 w 11 /LucidaSans-Italic f (F) 1008 4280 w 8 /LucidaSans-Italic f (S) 1080 4302 w 11 /S f (\256) 1142 4280 w 11 /LucidaSans-Italic f (P) 1260 4280 w 8 /LucidaSans-Italic f (S) 1337 4302 w 9 /LucidaTypewriter f (:) 1390 4280 w (ok) 1520 4280 w (client=gre) 1715 4280 w (capability=) 1788 4390 w 9 /LucidaSans-Italic f (capability) 2503 4390 w 10 /LucidaSansUnicode00 f (The) 720 4570 w 10 /LucidaTypewriter f (authinfo) 936 4570 w 10 /LucidaSansUnicode00 f (data) 1547 4570 w (is) 1792 4570 w (a) 1907 4570 w (list) 1997 4570 w (of) 2178 4570 w 10 /LucidaSans-Italic f (attr) 2311 4570 w 10 /LucidaTypewriter f (=) 2496 4570 w 10 /LucidaSans-Italic f (value) 2568 4570 w 10 /LucidaSansUnicode00 f (pairs,) 2862 4570 w (here) 3168 4570 w (a) 3418 4570 w (client) 3508 4570 w (user) 3807 4570 w (name) 4053 4570 w (and) 4355 4570 w (a) 4571 4570 w (capabil\255) 4662 4570 w (ity.) 720 4690 w (\(Protocols) 951 4690 w (that) 1479 4690 w (establish) 1718 4690 w (shared) 2199 4690 w (secrets) 2575 4690 w (or) 2966 4690 w (provide) 3116 4690 w (mutual) 3529 4690 w (authentication) 3915 4690 w (indicate) 4658 4690 w (this by adding appropriate) 720 4810 w 10 /LucidaSans-Italic f (attr) 2040 4810 w 10 /LucidaTypewriter f (=) 2225 4810 w 10 /LucidaSans-Italic f (value) 2297 4810 w 10 /LucidaSansUnicode00 f (pairs.\)) 2588 4810 w (The capability can be used by the server to) 2956 4810 w (change) 720 4930 w (its) 1115 4930 w (identity) 1279 4930 w (to) 1691 4930 w (that) 1835 4930 w (of) 2072 4930 w (the) 2216 4930 w (client,) 2417 4930 w (as) 2759 4930 w (described) 2911 4930 w (earlier.) 3430 4930 w (Once) 3847 4930 w (it) 4140 4930 w (has) 4252 4930 w (changed) 4466 4930 w (its) 4923 4930 w (identity, the server can access and serve the client) 720 5050 w 10 /LucidaSansUnicode20 f (\031) 3163 5050 w 10 /LucidaSansUnicode00 f (s mailbox.) 3195 5050 w (Two) 720 5206 w (more) 967 5206 w (files) 1264 5206 w (provide) 1512 5206 w (hooks) 1923 5206 w (for) 2262 5206 w (a) 2447 5206 w (graphical) 2548 5206 w 10 /LucidaTypewriter f (factotum) 3041 5206 w 10 /LucidaSansUnicode00 f (control) 3663 5206 w (interface.) 4051 5206 w (The) 4585 5206 w (first,) 4813 5206 w 10 /LucidaTypewriter f (confirm) 720 5326 w 10 /LucidaSansUnicode00 f (,) 1224 5326 w (allows) 1296 5326 w (the) 1638 5326 w (user) 1833 5326 w (detailed) 2083 5326 w (control) 2511 5326 w (over) 2893 5326 w (the) 3143 5326 w (use) 3338 5326 w (of) 3547 5326 w (certain) 3684 5326 w (keys.) 4054 5326 w (If) 4374 5326 w (a) 4479 5326 w (key) 4573 5326 w (has) 4778 5326 w (a) 4985 5326 w 10 /LucidaTypewriter f (confirm=) 720 5446 w 10 /LucidaSansUnicode00 f (attribute,) 1333 5446 w (then) 1819 5446 w (the) 2073 5446 w (user) 2265 5446 w (must) 2512 5446 w (approve) 2792 5446 w (each) 3220 5446 w (use) 3481 5446 w (of) 3687 5446 w (the) 3822 5446 w (key.) 4015 5446 w (A) 4283 5446 w (separate) 4390 5446 w (pro\255) 4842 5446 w (gram) 720 5566 w (with) 1014 5566 w (a) 1262 5566 w (graphical) 1360 5566 w (interface) 1850 5566 w (reads) 2317 5566 w (from) 2626 5566 w (the) 2901 5566 w 10 /LucidaTypewriter f (confirm) 3098 5566 w 10 /LucidaSansUnicode00 f (file) 3644 5566 w (to) 3837 5566 w (see) 3977 5566 w (when) 4182 5566 w (a) 4481 5566 w (confirma\255) 4578 5566 w (tion is necessary.) 720 5686 w (The read blocks until a key usage needs to be approved, whereupon it) 1624 5686 w (will return a line of the form) 720 5806 w 9 /LucidaTypewriter f (confirm) 1008 5976 w (tag=1) 1528 5976 w 9 /LucidaSans-Italic f (attributes) 1918 5976 w 10 /LucidaSansUnicode00 f (requesting) 720 6156 w (permission) 1279 6156 w (to) 1855 6156 w (use) 1994 6156 w (the) 2204 6156 w (key) 2400 6156 w (with) 2607 6156 w (those) 2853 6156 w (public) 3161 6156 w (attributes.) 3499 6156 w (The) 4072 6156 w (graphical) 4294 6156 w (inter\255) 4782 6156 w (face then prompts the user for approval and writes back) 720 6276 w 9 /LucidaTypewriter f (tag=1) 1008 6446 w (answer=yes) 1398 6446 w 10 /LucidaSansUnicode00 f (\(or) 720 6626 w 10 /LucidaTypewriter f (answer=no) 887 6626 w 10 /LucidaSansUnicode00 f (\).) 1535 6626 w (The) 720 6782 w (second) 935 6782 w (file,) 1313 6782 w 10 /LucidaTypewriter f (needkey) 1530 6782 w 10 /LucidaSansUnicode00 f (,) 2034 6782 w (diverts) 2100 6782 w (key) 2463 6782 w (requests.) 2663 6782 w (In) 3178 6782 w (the) 3304 6782 w (APOP) 3494 6782 w (example,) 3786 6782 w (if) 4266 6782 w (a) 4367 6782 w (suitable) 4457 6782 w (key) 4874 6782 w (had) 720 6902 w (not) 947 6902 w (been) 1154 6902 w (found) 1438 6902 w (during) 1770 6902 w (the) 2136 6902 w 10 /LucidaTypewriter f (start) 2338 6902 w 10 /LucidaSansUnicode00 f (transaction,) 2745 6902 w 10 /LucidaTypewriter f (factotum) 3364 6902 w 10 /LucidaSansUnicode00 f (would) 3986 6902 w (have) 4324 6902 w (indicated) 4595 6902 w (failure by returning a response indicating what key was needed:) 720 7022 w cleartomark showpage saveobj restore %%EndPage: 9 9 %%Page: 10 10 /saveobj save def mark 10 pagesetup 10 /LucidaSansUnicode00 f (\255 10 \255) 2752 480 w 11 /LucidaSans-Italic f (F) 1008 830 w 8 /LucidaSans-Italic f (C) 1080 852 w 11 /S f (\256) 1152 830 w 11 /LucidaSans-Italic f (P) 1270 830 w 8 /LucidaSans-Italic f (C) 1347 852 w 9 /LucidaTypewriter f (:) 1410 830 w (needkey) 1540 830 w (proto=apop) 2060 830 w (server=x.y.com) 1268 940 w (user?) 2243 940 w (!password?) 2633 940 w 10 /LucidaSansUnicode00 f (A) 720 1120 w (typical) 836 1120 w (client) 1199 1120 w (would) 1511 1120 w (then) 1851 1120 w (prompt) 2116 1120 w (the) 2522 1120 w (user) 2725 1120 w (for) 2983 1120 w (the) 3170 1120 w (desired) 3373 1120 w (key) 3780 1120 w (information,) 3994 1120 w (create) 4641 1120 w (a) 4985 1120 w (new) 720 1240 w (key) 955 1240 w (via) 1160 1240 w (the) 1335 1240 w 10 /LucidaTypewriter f (ctl) 1529 1240 w 10 /LucidaSansUnicode00 f (file,) 1784 1240 w (and) 2006 1240 w (then) 2225 1240 w (reissue) 2481 1240 w (the) 2866 1240 w 10 /LucidaTypewriter f (start) 3060 1240 w 10 /LucidaSansUnicode00 f (request.) 3459 1240 w (If) 3928 1240 w (the) 4033 1240 w 10 /LucidaTypewriter f (needkey) 4227 1240 w 10 /LucidaSansUnicode00 f (file) 4770 1240 w (is) 4960 1240 w (open,) 720 1360 w (then) 1046 1360 w (instead) 1315 1360 w (of) 1720 1360 w (failing,) 1870 1360 w (the) 2257 1360 w (transaction) 2464 1360 w (will) 3058 1360 w (block,) 3275 1360 w (and) 3622 1360 w (the) 3855 1360 w (next) 4063 1360 w (read) 4332 1360 w (from) 4600 1360 w (the) 4885 1360 w 10 /LucidaTypewriter f (/mnt/factotum/needkey) 720 1480 w 10 /LucidaSansUnicode00 f (file will return a line of the form) 2264 1480 w 9 /LucidaTypewriter f (needkey) 1008 1650 w (tag=1) 1528 1650 w 9 /LucidaSans-Italic f (attributes) 1918 1650 w 10 /LucidaSansUnicode00 f (The) 720 1830 w (graphical) 943 1830 w (interface) 1433 1830 w (then) 1900 1830 w (prompts) 2160 1830 w (the) 2612 1830 w (user) 2810 1830 w (for) 3063 1830 w (the) 3245 1830 w (needed) 3443 1830 w (key) 3842 1830 w (information,) 4051 1830 w (creates) 4693 1830 w (the key via the) 720 1950 w 10 /LucidaTypewriter f (ctl) 1460 1950 w 10 /LucidaSansUnicode00 f (file, and writes back) 1708 1950 w 10 /LucidaTypewriter f (tag=1) 2717 1950 w 10 /LucidaSansUnicode00 f (to resume the transaction.) 3109 1950 w (The) 720 2106 w (remaining) 935 2106 w (files) 1458 2106 w (are) 1694 2106 w (informational) 1880 2106 w (and) 2565 2106 w (used) 2779 2106 w (for) 3045 2106 w (debugging.) 3218 2106 w (The) 3837 2106 w 10 /LucidaTypewriter f (proto) 4052 2106 w 10 /LucidaSansUnicode00 f (file) 4446 2106 w (contains) 4632 2106 w (a) 720 2226 w (list) 852 2226 w (of) 1075 2226 w (supported) 1250 2226 w (protocols) 1824 2226 w (\(to) 2356 2226 w (see) 2563 2226 w (what) 2802 2226 w (protocols) 3109 2226 w (the) 3640 2226 w (system) 3871 2226 w (supports,) 4287 2226 w 10 /LucidaTypewriter f (cat) 4824 2226 w (/mnt/factotum/proto) 720 2346 w 10 /LucidaSansUnicode00 f (\),) 2088 2346 w (and) 2192 2346 w (the) 2411 2346 w 10 /LucidaTypewriter f (log) 2605 2346 w 10 /LucidaSansUnicode00 f (file) 2861 2346 w (contains) 3052 2346 w (a) 3500 2346 w (log) 3595 2346 w (of) 3787 2346 w (operations) 3925 2346 w (and) 4481 2346 w (debug\255) 4701 2346 w (ging output enabled by a) 720 2466 w 10 /LucidaTypewriter f (debug) 1971 2466 w 10 /LucidaSansUnicode00 f (control message.) 2363 2466 w (The next few sections explain how) 720 2622 w 10 /LucidaTypewriter f (factotum) 2432 2622 w 10 /LucidaSansUnicode00 f (is used by system services.) 3040 2622 w 10 /LucidaSans-Demi f (3.) 720 2862 w (Authentication in 9P) 873 2862 w 10 /LucidaSansUnicode00 f (Plan) 720 3018 w (9) 962 3018 w (uses) 1066 3018 w (a) 1327 3018 w (remote) 1423 3018 w (file) 1808 3018 w (access) 2000 3018 w (protocol,) 2356 3018 w (9P) 2833 3018 w ([Pike93],) 2992 3018 w (to) 3455 3018 w (connect) 3594 3018 w (to) 4015 3018 w (resources) 4154 3018 w (such) 4666 3018 w (as) 4934 3018 w (the) 720 3138 w (file) 917 3138 w (server) 1110 3138 w (and) 1449 3138 w (remote) 1671 3138 w (processes.) 2056 3138 w (The) 2642 3138 w (original) 2864 3138 w (design) 3273 3138 w (for) 3637 3138 w (9P) 3817 3138 w (included) 3976 3138 w (special) 4432 3138 w (mes\255) 4807 3138 w (sages) 720 3258 w (at) 1031 3258 w (the) 1159 3258 w (start) 1350 3258 w (of) 1607 3258 w (a) 1741 3258 w (conversation) 1832 3258 w (to) 2486 3258 w (authenticate) 2620 3258 w (the) 3255 3258 w (user.) 3446 3258 w (Multiple) 3756 3258 w (users) 4183 3258 w (can) 4480 3258 w (share) 4684 3258 w (a) 4985 3258 w (single) 720 3378 w (connection,) 1046 3378 w (such) 1647 3378 w (as) 1910 3378 w (when) 2053 3378 w (a) 2347 3378 w (CPU) 2439 3378 w (server) 2669 3378 w (runs) 3002 3378 w (processes) 3254 3378 w (for) 3771 3378 w (many) 3946 3378 w (users) 4244 3378 w (connected) 4541 3378 w (to) 720 3498 w (a) 854 3498 w (single) 945 3498 w (file) 1270 3498 w (server,) 1457 3498 w (but) 1822 3498 w (each) 2021 3498 w (must) 2282 3498 w (authenticate) 2562 3498 w (separately.) 3198 3498 w (The) 3794 3498 w (authentication) 4012 3498 w (proto\255) 4744 3498 w (col,) 720 3618 w (similar) 935 3618 w (to) 1304 3618 w (that) 1444 3618 w (of) 1676 3618 w (Kerberos) 1815 3618 w ([Stei88],) 2290 3618 w (used) 2731 3618 w (a) 3004 3618 w (sequence) 3100 3618 w (of) 3598 3618 w (messages) 3737 3618 w (passed) 4253 3618 w (between) 4633 3618 w (client,) 720 3738 w (file) 1061 3738 w (server,) 1257 3738 w (and) 1631 3738 w (authentication) 1856 3738 w (server) 2596 3738 w (to) 2938 3738 w (verify) 3081 3738 w (the) 3394 3738 w (identities) 3595 3738 w (of) 4090 3738 w (the) 4234 3738 w (user,) 4435 3738 w (calling) 4723 3738 w (machine,) 720 3858 w (and) 1196 3858 w (serving) 1412 3858 w (machine.) 1801 3858 w (One) 2309 3858 w (major) 2541 3858 w (drawback) 2857 3858 w (to) 3356 3858 w (the) 3490 3858 w (design) 3681 3858 w (was) 4039 3858 w (that) 4257 3858 w (the) 4483 3858 w (authen\255) 4673 3858 w (tication) 720 3978 w (method) 1115 3978 w (was) 1521 3978 w (defined) 1738 3978 w (by) 2138 3978 w (9P) 2287 3978 w (itself) 2439 3978 w (and) 2712 3978 w (could) 2926 3978 w (not) 3226 3978 w (be) 3420 3978 w (changed.) 3573 3978 w (Moreover,) 4050 3978 w (there) 4570 3978 w (was) 4857 3978 w (no) 720 4098 w (mechanism) 893 4098 w (to) 1495 4098 w (relegate) 1642 4098 w (authentication) 2083 4098 w (to) 2827 4098 w (an) 2974 4098 w (external) 3140 4098 w (\(trusted\)) 3586 4098 w (agent,) 4048 4098 w (so) 4401 4098 w (a) 4562 4098 w (process) 4666 4098 w (implementing) 720 4218 w (9P) 1430 4218 w (needed,) 1587 4218 w (besides) 2014 4218 w (support) 2423 4218 w (for) 2841 4218 w (file) 3020 4218 w (service,) 3211 4218 w (a) 3619 4218 w (substantial) 3714 4218 w (body) 4285 4218 w (of) 4564 4218 w (crypto\255) 4702 4218 w (graphic code to implement a handful of early messages in the protocol.) 720 4338 w (A) 720 4494 w (recent) 829 4494 w (redesign) 1172 4494 w (of) 1632 4494 w (9P) 1770 4494 w (addressed) 1928 4494 w (a) 2467 4494 w (number) 2562 4494 w (of) 2979 4494 w (file) 3117 4494 w (service) 3308 4494 w (issues) 3684 4494 w (outside) 4024 4494 w (the) 4423 4494 w (scope) 4619 4494 w (of) 4942 4494 w (this) 720 4614 w (paper.) 944 4614 w (On) 1331 4614 w (issues) 1516 4614 w (of) 1861 4614 w (authentication,) 2004 4614 w (there) 2776 4614 w (were) 3073 4614 w (two) 3348 4614 w (goals:) 3568 4614 w (first,) 3903 4614 w (to) 4175 4614 w (remove) 4317 4614 w (details) 4720 4614 w (about) 720 4734 w (authentication) 1042 4734 w (from) 1781 4734 w (the) 2057 4734 w (protocol) 2256 4734 w (itself;) 2704 4734 w (second,) 3019 4734 w (to) 3439 4734 w (allow) 3581 4734 w (an) 3877 4734 w (external) 4039 4734 w (program) 4481 4734 w (to) 4942 4734 w (execute) 720 4854 w (the) 1159 4854 w (authentication) 1373 4854 w (part) 2127 4854 w (of) 2382 4854 w (the) 2539 4854 w (protocol.) 2753 4854 w (In) 3280 4854 w (particular,) 3430 4854 w (we) 3984 4854 w (wanted) 4176 4854 w (a) 4585 4854 w (way) 4699 4854 w (to) 4942 4854 w (quickly incorporate ideas found in other systems such as SFS [Mazi99].) 720 4974 w (Since) 720 5130 w (9P) 1008 5130 w (is) 1162 5130 w (a) 1278 5130 w (file) 1369 5130 w (service) 1556 5130 w (protocol,) 1929 5130 w (the) 2402 5130 w (solution) 2594 5130 w (involved) 3023 5130 w (creating) 3464 5130 w (a) 3894 5130 w (new) 3986 5130 w (type) 4218 5130 w (of) 4463 5130 w (file) 4598 5130 w (to) 4786 5130 w (be) 4921 5130 w (served:) 720 5250 w (an) 1104 5250 w 10 /LucidaSans-Italic f (authentication) 1254 5250 w (file) 1989 5250 w 10 /LucidaSansUnicode00 f (.) 2138 5250 w (When) 2235 5250 w (a) 2534 5250 w (new user connects to a 9P service, the connection) 2622 5250 w (has) 720 5370 w (the) 921 5370 w (permissions) 1109 5370 w (of) 1729 5370 w 10 /LucidaSansUnicode20 f (\030) 1861 5370 w 10 /LucidaTypewriter f (none) 1893 5370 w 10 /LucidaSansUnicode20 f (\031) 2181 5370 w 10 /LucidaSansUnicode00 f (,) 2213 5370 w (a) 2279 5370 w (state) 2368 5370 w (that) 2638 5370 w (allows) 2863 5370 w (no) 3199 5370 w (general) 3356 5370 w (file) 3751 5370 w (access) 3936 5370 w (but) 4285 5370 w (permits) 4481 5370 w (the) 4885 5370 w (user) 720 5490 w (to) 967 5490 w (open) 1102 5490 w (an) 1381 5490 w (authentication) 1535 5490 w (file) 2267 5490 w (by) 2454 5490 w (sending) 2605 5490 w (a) 3026 5490 w (special) 3117 5490 w (message,) 3487 5490 w (generated) 3979 5490 w (by) 4503 5490 w (the) 4654 5490 w (new) 4845 5490 w 10 /LucidaTypewriter f (fauth) 720 5610 w 10 /LucidaSansUnicode00 f (system call:) 1112 5610 w 9 /LucidaTypewriter f (afd) 1008 5780 w (=) 1268 5780 w (fauth\(int) 1398 5780 w (fd,) 2048 5780 w (char) 2308 5780 w (*servicename\);) 2633 5780 w 10 /LucidaSansUnicode00 f (Here) 720 5960 w 10 /LucidaTypewriter f (fd) 992 5960 w 10 /LucidaSansUnicode00 f (is) 1181 5960 w (the) 1306 5960 w (user) 1506 5960 w 10 /LucidaSansUnicode20 f (\031) 1716 5960 w 10 /LucidaSansUnicode00 f (s) 1748 5960 w (file) 1844 5960 w (descriptor) 2040 5960 w (for) 2578 5960 w (the) 2762 5960 w (established) 2963 5960 w (network) 3561 5960 w (connection) 3999 5960 w (to) 4577 5960 w (the) 4721 5960 w (9P) 4922 5960 w (server) 720 6080 w (and) 1051 6080 w 10 /LucidaTypewriter f (servicename) 1265 6080 w 10 /LucidaSansUnicode00 f (is) 2091 6080 w (the) 2205 6080 w (name) 2394 6080 w (of) 2694 6080 w (the) 2826 6080 w (desired) 3014 6080 w (service) 3406 6080 w (offered) 3775 6080 w (on) 4159 6080 w (that) 4315 6080 w (server,) 4539 6080 w (for) 4901 6080 w (example) 720 6200 w (the) 1187 6200 w (file) 1396 6200 w (subsystem) 1601 6200 w (to) 2172 6200 w (be) 2325 6200 w (accessed.) 2499 6200 w (The) 3052 6200 w (returned) 3288 6200 w (file) 3761 6200 w (descriptor,) 3967 6200 w 10 /LucidaTypewriter f (afd) 4547 6200 w 10 /LucidaSansUnicode00 f (,) 4763 6200 w (is) 4850 6200 w (a) 4985 6200 w (unique) 720 6320 w (handle) 1088 6320 w (representing) 1449 6320 w (the) 2099 6320 w (authentication) 2288 6320 w (file) 3017 6320 w (created) 3201 6320 w (for) 3593 6320 w (this) 3765 6320 w (connection) 3977 6320 w (to) 4542 6320 w (authen\255) 4673 6320 w (ticate) 720 6440 w (to) 1021 6440 w (this) 1155 6440 w (service;) 1370 6440 w (it) 1774 6440 w (is) 1877 6440 w (analogous) 1994 6440 w (to) 2529 6440 w (a) 2664 6440 w (capability.) 2756 6440 w (The) 3320 6440 w (authentication) 3538 6440 w (file) 4270 6440 w (represented) 4458 6440 w (by) 720 6560 w 10 /LucidaTypewriter f (afd) 868 6560 w 10 /LucidaSansUnicode00 f (is not otherwise addressable on the server, such as through the file name hierar\255) 1116 6560 w (chy.) 720 6680 w (Otherwise,) 989 6680 w (it) 1548 6680 w (behaves) 1655 6680 w (like) 2091 6680 w (a) 2304 6680 w (regular) 2400 6680 w (file;) 2787 6680 w (most) 3011 6680 w (important,) 3294 6680 w (it) 3845 6680 w (accepts) 3952 6680 w (standard) 4357 6680 w (read) 4825 6680 w (and write operations.) 720 6800 w (To) 720 6956 w (prove) 878 6956 w (its) 1185 6956 w (identity,) 1336 6956 w (the) 1767 6956 w (user) 1956 6956 w (process) 2200 6956 w (\(via) 2609 6956 w 10 /LucidaTypewriter f (factotum) 2813 6956 w 10 /LucidaSansUnicode00 f (\)) 3389 6956 w (executes) 3457 6956 w (the) 3922 6956 w (authentication) 4112 6956 w (pro\255) 4842 6956 w (tocol,) 720 7076 w (described) 1026 7076 w (in) 1534 7076 w (the) 1660 7076 w (next) 1850 7076 w (section) 2101 7076 w (of) 2483 7076 w (this) 2616 7076 w (paper,) 2830 7076 w (over) 3175 7076 w (the) 3420 7076 w 10 /LucidaTypewriter f (afd) 3610 7076 w 10 /LucidaSansUnicode00 f (file) 3861 7076 w (descriptor) 4047 7076 w (with) 4574 7076 w (ordi\255) 4813 7076 w (nary) 720 7196 w (reads) 965 7196 w (and) 1266 7196 w (writes.) 1481 7196 w (When) 1871 7196 w (client) 2172 7196 w (and) 2471 7196 w (server) 2686 7196 w (have) 3018 7196 w (successfully) 3278 7196 w (negotiated,) 3896 7196 w (the) 4482 7196 w (authen\255) 4673 7196 w (tication file changes state so it can be used as evidence of authority in) 720 7316 w 10 /LucidaTypewriter f (mount) 4168 7316 w 10 /LucidaSansUnicode00 f (.) 4528 7316 w cleartomark showpage saveobj restore %%EndPage: 10 10 %%Page: 11 11 /saveobj save def mark 11 pagesetup 10 /LucidaSansUnicode00 f (\255 11 \255) 2752 480 w (Once) 720 840 w (identity) 1015 840 w (is) 1428 840 w (established,) 1556 840 w (the) 2188 840 w (process) 2391 840 w (presents) 2813 840 w (the) 3279 840 w (\(now) 3483 840 w (verified\)) 3765 840 w 10 /LucidaTypewriter f (afd) 4210 840 w 10 /LucidaSansUnicode00 f (as) 4475 840 w (proof) 4630 840 w (of) 4942 840 w (identity to the) 720 960 w 10 /LucidaTypewriter f (mount) 1434 960 w 10 /LucidaSansUnicode00 f (system call:) 1826 960 w 9 /LucidaTypewriter f (mount\(int) 1008 1130 w (fd,) 1658 1130 w (int) 1918 1130 w (afd,) 2178 1130 w (char) 2503 1130 w (*mountpoint,) 2828 1130 w (int) 1398 1240 w (flag,) 1658 1240 w (char) 2048 1240 w (*servicename\)) 2373 1240 w 10 /LucidaSansUnicode00 f (If) 720 1420 w (the) 823 1420 w 10 /LucidaTypewriter f (mount) 1015 1420 w 10 /LucidaSansUnicode00 f (succeeds,) 1412 1420 w (the) 1922 1420 w (user) 2114 1420 w (now) 2361 1420 w (has) 2599 1420 w (appropriate) 2805 1420 w (permissions) 3407 1420 w (for) 4032 1420 w (the) 4209 1420 w (file) 4402 1420 w (hierarchy) 4591 1420 w (made visible at the mount point.) 720 1540 w (This) 720 1696 w (sequence) 965 1696 w (of) 1462 1696 w (events) 1600 1696 w (has) 1954 1696 w (several) 2163 1696 w (advantages.) 2544 1696 w (First,) 3197 1696 w (the) 3482 1696 w (actual) 3678 1696 w (authentication) 4008 1696 w (proto\255) 4744 1696 w (col) 720 1816 w (is) 895 1816 w (implemented) 1009 1816 w (using) 1680 1816 w (regular) 1980 1816 w (reads) 2360 1816 w (and) 2660 1816 w (writes,) 2874 1816 w (not) 3231 1816 w (special) 3425 1816 w (9P) 3793 1816 w (messages,) 3945 1816 w (so) 4486 1816 w (they) 4632 1816 w (can) 4872 1816 w (be) 720 1936 w (processed,) 881 1936 w (forwarded,) 1448 1936 w (proxied,) 2016 1936 w (and) 2464 1936 w (so) 2686 1936 w (on) 2840 1936 w (by) 3005 1936 w (any) 3162 1936 w (9P) 3374 1936 w (agent) 3535 1936 w (without) 3850 1936 w (special) 4258 1936 w (arrange\255) 4635 1936 w (ment.) 720 2056 w (Second,) 1065 2056 w (the) 1477 2056 w (business) 1665 2056 w (of) 2123 2056 w (negotiating) 2254 2056 w (the) 2839 2056 w (authentication) 3027 2056 w (by) 3755 2056 w (reading) 3903 2056 w (and writing the) 4304 2056 w (authentication) 720 2176 w (file) 1457 2176 w (can) 1651 2176 w (be) 1862 2176 w (delegated) 2024 2176 w (to) 2544 2176 w (an) 2685 2176 w (outside) 2845 2176 w (agent,) 3247 2176 w (in) 3594 2176 w (particular) 3728 2176 w 10 /LucidaTypewriter f (factotum) 4234 2176 w 10 /LucidaSansUnicode00 f (;) 4810 2176 w (the) 4885 2176 w (programs) 720 2296 w (that) 1246 2296 w (implement) 1496 2296 w (the) 2073 2296 w (client) 2287 2296 w (and) 2610 2296 w (server) 2849 2296 w (ends) 3205 2296 w (of) 3496 2296 w (a) 3653 2296 w (9P) 3767 2296 w (conversation) 3944 2296 w (need) 4621 2296 w (no) 4917 2296 w (authentication) 720 2416 w (or) 1467 2416 w (cryptographic) 1621 2416 w (code.) 2341 2416 w (Third,) 2689 2416 w (since) 3032 2416 w (the) 3334 2416 w (authentication) 3542 2416 w (protocol) 4290 2416 w (is) 4747 2416 w (not) 4880 2416 w (defined) 720 2536 w (by) 1146 2536 w (9P) 1321 2536 w (itself,) 1499 2536 w (it) 1830 2536 w (is) 1956 2536 w (easy) 2095 2536 w (to) 2368 2536 w (change) 2525 2536 w (and) 2932 2536 w (can) 3171 2536 w (even) 3398 2536 w (be) 3683 2536 w (negotiated) 3861 2536 w (dynamically.) 4438 2536 w (Finally,) 720 2656 w (since) 1107 2656 w 10 /LucidaTypewriter f (afd) 1401 2656 w 10 /LucidaSansUnicode00 f (acts) 1662 2656 w (like) 1901 2656 w (a) 2118 2656 w (capability,) 2218 2656 w (it) 2758 2656 w (can) 2870 2656 w (be) 3084 2656 w (treated) 3249 2656 w (like) 3640 2656 w (one:) 3858 2656 w (handed) 4115 2656 w (to) 4522 2656 w (another) 4666 2656 w (process) 720 2776 w (to) 1134 2776 w (give) 1272 2776 w (it) 1511 2776 w (special) 1617 2776 w (permissions;) 1991 2776 w (kept) 2650 2776 w (around) 2904 2776 w (for) 3287 2776 w (later) 3465 2776 w (use) 3722 2776 w (when) 3930 2776 w (authentication) 4226 2776 w (is) 4960 2776 w (again required; or closed to make sure no other process can use it.) 720 2896 w (All) 720 3052 w (these) 894 3052 w (advantages) 1203 3052 w (stem) 1798 3052 w (from) 2082 3052 w (moving) 2361 3052 w (the) 2767 3052 w (authentication) 2969 3052 w (negotiation) 3711 3052 w (into) 4309 3052 w (reads) 4546 3052 w (and) 4860 3052 w (writes) 720 3172 w (on) 1045 3172 w (a) 1202 3172 w (separate) 1291 3172 w (file.) 1739 3172 w (As) 1988 3172 w (is) 2141 3172 w (often) 2254 3172 w (the) 2540 3172 w (case) 2728 3172 w (in) 2974 3172 w (Plan) 3098 3172 w (9,) 3332 3172 w (making) 3460 3172 w (a) 3852 3172 w (resource) 3940 3172 w (\(here) 4392 3172 w (authen\255) 4673 3172 w (tication\)) 720 3292 w (accessible) 1155 3292 w (with) 1688 3292 w (a) 1934 3292 w (file-like) 2030 3292 w (interface) 2452 3292 w (reduces) 2917 3292 w 10 /LucidaSans-Italic f (a) 3338 3292 w (priori) 3440 3292 w 10 /LucidaSansUnicode00 f (the) 3753 3292 w (need) 3949 3292 w (for) 4227 3292 w (special) 4407 3292 w (inter\255) 4782 3292 w (faces.) 720 3412 w (Plan 9 shared key protocol) 720 3568 w (In) 720 3724 w (addition) 844 3724 w (to) 1276 3724 w (the) 1407 3724 w (various) 1596 3724 w (standard) 1981 3724 w (protocols) 2442 3724 w (supported) 2931 3724 w (by) 3462 3724 w 10 /LucidaTypewriter f (factotum) 3611 3724 w 10 /LucidaSansUnicode00 f (,) 4187 3724 w (we) 4253 3724 w (use) 4420 3724 w (a) 4623 3724 w (shared) 4712 3724 w (key) 720 3844 w (protocol) 922 3844 w (for) 1362 3844 w (native) 1536 3844 w (Plan) 1862 3844 w (9) 2098 3844 w (authentication.) 2196 3844 w (This) 2990 3844 w (protocol) 3230 3844 w (provides) 3669 3844 w (backward) 4120 3844 w (compati\255) 4618 3844 w (bility) 720 3964 w (with) 994 3964 w (older) 1234 3964 w (versions) 1519 3964 w (of) 1957 3964 w (the) 2090 3964 w (system.) 2280 3964 w (One) 2719 3964 w (reason) 2950 3964 w (for) 3311 3964 w (the) 3485 3964 w (new) 3675 3964 w (architecture) 3905 3964 w (is) 4519 3964 w (to) 4635 3964 w (let) 4769 3964 w (us) 4927 3964 w (replace such protocols in the near future with more cryptographically secure ones.) 720 4084 w 10 /LucidaSans-Italic f (P9sk1) 720 4240 w 10 /LucidaSansUnicode00 f (is) 1061 4240 w (a) 1191 4240 w (shared) 1296 4240 w (key) 1674 4240 w (protocol) 1890 4240 w (that) 2344 4240 w (uses) 2585 4240 w (tickets) 2855 4240 w (much) 3224 4240 w (like) 3542 4240 w (those) 3764 4240 w (in) 4081 4240 w (the) 4222 4240 w (original) 4427 4240 w (Ker\255) 4845 4240 w (beros.) 720 4360 w (The) 1091 4360 w (difference) 1307 4360 w (is) 1829 4360 w (that) 1943 4360 w (we) 2168 4360 w 10 /LucidaSansUnicode20 f (\031) 2301 4360 w 10 /LucidaSansUnicode00 f (ve) 2333 4360 w (replaced) 2475 4360 w (the) 2923 4360 w (expiration) 3112 4360 w (time) 3640 4360 w (in) 3889 4360 w (Kerberos) 4014 4360 w (tickets) 4482 4360 w (with) 4835 4360 w (a random nonce parameter and a counter.) 720 4480 w (We summarize it here:) 2832 4480 w 11 /LucidaSans-Italic f (C) 1008 4650 w 11 /S f (\256) 1092 4650 w 11 /LucidaSans-Italic f (S) 1210 4650 w 11 /LucidaSansUnicode00 f (:) 1280 4650 w 11 /LucidaSans-Italic f (nonce) 1500 4650 w 8 /LucidaSans-Italic f (C) 1825 4672 w 11 /LucidaSans-Italic f (S) 1008 4760 w 11 /S f (\256) 1078 4760 w 11 /LucidaSans-Italic f (C) 1196 4760 w 11 /LucidaSansUnicode00 f (:) 1280 4760 w 11 /LucidaSans-Italic f (nonce) 1500 4760 w 8 /LucidaSans-Italic f (S) 1825 4782 w 11 /LucidaSansUnicode00 f (,) 1887 4760 w 11 /LucidaSans-Italic f (uid) 1931 4760 w 8 /LucidaSans-Italic f (S) 2111 4782 w 11 /LucidaSansUnicode00 f (,) 2173 4760 w 11 /LucidaSans-Italic f (domain) 2217 4760 w 8 /LucidaSans-Italic f (S) 2629 4782 w 11 /LucidaSans-Italic f (C) 1008 4980 w 11 /S f (\256) 1092 4980 w 11 /LucidaSans-Italic f (A) 1210 4980 w 11 /LucidaSansUnicode00 f (:) 1295 4980 w 11 /LucidaSans-Italic f (nonce) 1515 4980 w 8 /LucidaSans-Italic f (S) 1840 5002 w 11 /LucidaSansUnicode00 f (,) 1902 4980 w 11 /LucidaSans-Italic f (uid) 1946 4980 w 8 /LucidaSans-Italic f (S) 2126 5002 w 11 /LucidaSansUnicode00 f (,) 2188 4980 w 11 /LucidaSans-Italic f (domain) 2232 4980 w 8 /LucidaSans-Italic f (S) 2644 5002 w 11 /LucidaSansUnicode00 f (,) 2706 4980 w 11 /LucidaSans-Italic f (uid) 2750 4980 w 8 /LucidaSans-Italic f (C) 2930 5002 w 11 /LucidaSansUnicode00 f (,) 3002 4980 w 11 /LucidaSans-Italic f (factotum) 1593 5090 w 8 /LucidaSans-Italic f (C) 2087 5112 w 11 /LucidaSans-Italic f (A) 1008 5200 w 11 /S f (\256) 1093 5200 w 11 /LucidaSans-Italic f (C) 1211 5200 w 11 /LucidaSansUnicode00 f (:) 1295 5200 w 11 /LucidaSans-Italic f (K) 1515 5200 w 8 /LucidaSans-Italic f (C) 1598 5222 w 11 /LucidaSansUnicode00 f ({) 1670 5200 w 11 /LucidaSans-Italic f (nonce) 1715 5200 w 8 /LucidaSans-Italic f (S) 2040 5222 w 11 /LucidaSansUnicode00 f (,) 2102 5200 w 11 /LucidaSans-Italic f (uid) 2146 5200 w 8 /LucidaSans-Italic f (C) 2326 5222 w 11 /LucidaSansUnicode00 f (,) 2398 5200 w 11 /LucidaSans-Italic f (uid) 2442 5200 w 8 /LucidaSans-Italic f (S) 2622 5222 w 8 /LucidaSansUnicode00 f (,) 2672 5222 w 11 /LucidaSans-Italic f (K) 2716 5200 w 8 /LucidaSans-Italic f (n) 2799 5222 w 11 /LucidaSansUnicode00 f (}) 2867 5200 w (,) 2912 5200 w 11 /LucidaSans-Italic f (K) 1593 5310 w 8 /LucidaSans-Italic f (S) 1676 5332 w 11 /LucidaSansUnicode00 f ({) 1738 5310 w 11 /LucidaSans-Italic f (nonce) 1783 5310 w 8 /LucidaSans-Italic f (S) 2108 5332 w 11 /LucidaSansUnicode00 f (,) 2170 5310 w 11 /LucidaSans-Italic f (uid) 2214 5310 w 8 /LucidaSans-Italic f (C) 2394 5332 w 11 /LucidaSansUnicode00 f (,) 2466 5310 w 11 /LucidaSans-Italic f (uid) 2510 5310 w 8 /LucidaSans-Italic f (S) 2690 5332 w 8 /LucidaSansUnicode00 f (,) 2740 5332 w 11 /LucidaSans-Italic f (K) 2784 5310 w 8 /LucidaSans-Italic f (n) 2867 5332 w 11 /LucidaSansUnicode00 f (}) 2935 5310 w 11 /LucidaSans-Italic f (C) 1008 5530 w 11 /S f (\256) 1092 5530 w 11 /LucidaSans-Italic f (S) 1210 5530 w 11 /LucidaSansUnicode00 f (:) 1280 5530 w 11 /LucidaSans-Italic f (K) 1500 5530 w 8 /LucidaSans-Italic f (S) 1583 5552 w 11 /LucidaSansUnicode00 f ({) 1645 5530 w 11 /LucidaSans-Italic f (nonce) 1690 5530 w 8 /LucidaSans-Italic f (S) 2015 5552 w 11 /LucidaSansUnicode00 f (,) 2077 5530 w 11 /LucidaSans-Italic f (uid) 2121 5530 w 8 /LucidaSans-Italic f (C) 2301 5552 w 11 /LucidaSansUnicode00 f (,) 2373 5530 w 11 /LucidaSans-Italic f (uid) 2417 5530 w 8 /LucidaSans-Italic f (S) 2597 5552 w 11 /LucidaSansUnicode00 f (,) 2659 5530 w 11 /LucidaSans-Italic f (K) 2703 5530 w 8 /LucidaSans-Italic f (n) 2786 5552 w 11 /LucidaSansUnicode00 f (}) 2854 5530 w (,) 2899 5530 w 11 /LucidaSans-Italic f (K) 1593 5640 w 8 /LucidaSans-Italic f (n) 1676 5662 w 11 /LucidaSansUnicode00 f ({) 1744 5640 w 11 /LucidaSans-Italic f (nonce) 1789 5640 w 8 /LucidaSans-Italic f (S) 2114 5662 w 11 /LucidaSansUnicode00 f (,) 2176 5640 w 11 /LucidaSans-Italic f (counter) 2220 5640 w 11 /LucidaSansUnicode00 f (}) 2636 5640 w 11 /LucidaSans-Italic f (S) 1008 5750 w 11 /S f (\256) 1078 5750 w 11 /LucidaSans-Italic f (C) 1196 5750 w 11 /LucidaSansUnicode00 f (:) 1280 5750 w 11 /LucidaSans-Italic f (K) 1500 5750 w 8 /LucidaSans-Italic f (n) 1583 5772 w 11 /LucidaSansUnicode00 f ({) 1651 5750 w 11 /LucidaSans-Italic f (nonce) 1696 5750 w 8 /LucidaSans-Italic f (C) 2021 5772 w 11 /LucidaSansUnicode00 f (,) 2093 5750 w 11 /LucidaSans-Italic f (counter) 2137 5750 w 11 /LucidaSansUnicode00 f (}) 2553 5750 w 10 /LucidaSansUnicode00 f (\(Here) 720 5930 w 11 /LucidaSans-Italic f (K) 1029 5930 w 11 /LucidaSansUnicode00 f ({) 1108 5930 w 11 /LucidaSans-Italic f (x) 1153 5930 w 11 /LucidaSansUnicode00 f (}) 1221 5930 w 10 /LucidaSansUnicode00 f (indicates) 1306 5930 w 11 /LucidaSans-Italic f (x) 1788 5930 w 10 /LucidaSansUnicode00 f (encrypted) 1897 5930 w (with) 2428 5930 w (DES) 2683 5930 w (key) 2916 5930 w 11 /LucidaSans-Italic f (K) 3132 5930 w 10 /LucidaSansUnicode00 f (.\)) 3202 5930 w (The) 3349 5930 w (first) 3580 5930 w (two) 3825 5930 w (messages) 4050 5930 w (exchange) 4575 5930 w (nonces) 720 6050 w (and) 1121 6050 w (server) 1359 6050 w (identification.) 1714 6050 w (After) 2473 6050 w (this) 2771 6050 w (initial) 3008 6050 w (exchange,) 3336 6050 w (the) 3890 6050 w (client) 4102 6050 w (contacts) 4423 6050 w (the) 4885 6050 w (authentication) 720 6170 w (server) 1450 6170 w (to) 1782 6170 w (obtain) 1916 6170 w (a) 2259 6170 w (pair) 2350 6170 w (of) 2574 6170 w (encrypted) 2708 6170 w (tickets,) 3225 6170 w (one) 3612 6170 w (encrypted) 3827 6170 w (with) 4344 6170 w (the) 4585 6170 w (client) 4776 6170 w (key) 720 6290 w (and) 928 6290 w (one) 1150 6290 w (with) 1371 6290 w (the) 1618 6290 w (server) 1815 6290 w (key.) 2154 6290 w (The) 2426 6290 w (client) 2649 6290 w (relays) 2954 6290 w (the) 3279 6290 w (server) 3475 6290 w (ticket) 3813 6290 w (to) 4122 6290 w (the) 4261 6290 w (server.) 4457 6290 w (The) 4859 6290 w (server) 720 6410 w (believes) 1058 6410 w (that) 1491 6410 w (the) 1723 6410 w (ticket) 1919 6410 w (is) 2228 6410 w (new) 2349 6410 w (because) 2585 6410 w (it) 3020 6410 w (contains) 3127 6410 w 11 /LucidaSans-Italic f (nonce) 3579 6410 w 8 /LucidaSans-Italic f (S) 3904 6432 w 10 /LucidaSansUnicode00 f (and) 3998 6410 w (that) 4220 6410 w (the) 4453 6410 w (ticket) 4650 6410 w (is) 4960 6410 w (from) 720 6530 w (the) 985 6530 w (authentication server because it is encrypted in the server key) 1173 6530 w 11 /LucidaSans-Italic f (K) 4215 6530 w 8 /LucidaSans-Italic f (S) 4298 6552 w 10 /LucidaSansUnicode00 f (.) 4351 6530 w (The ticket is) 4447 6530 w (basically) 720 6650 w (a) 1181 6650 w (statement) 1283 6650 w (from) 1814 6650 w (the) 2094 6650 w (authentication) 2297 6650 w (server) 3040 6650 w (that) 3385 6650 w (now) 3624 6650 w 11 /LucidaSans-Italic f (uid) 3872 6650 w 8 /LucidaSans-Italic f (C) 4052 6672 w 10 /LucidaSansUnicode00 f (and) 4163 6650 w 11 /LucidaSans-Italic f (uid) 4391 6650 w 8 /LucidaSans-Italic f (S) 4571 6672 w 10 /LucidaSansUnicode00 f (share) 4672 6650 w (a) 4985 6650 w (secret) 720 6770 w 11 /LucidaSans-Italic f (K) 1050 6770 w 8 /LucidaSans-Italic f (n) 1133 6792 w 10 /LucidaSansUnicode00 f (.) 1192 6770 w (The) 1294 6770 w (authenticator) 1513 6770 w 11 /LucidaSans-Italic f (K) 2196 6770 w 8 /LucidaSans-Italic f (n) 2279 6792 w 11 /LucidaSansUnicode00 f ({) 2347 6770 w 11 /LucidaSans-Italic f (nonce) 2392 6770 w 8 /LucidaSans-Italic f (S) 2717 6792 w 11 /LucidaSansUnicode00 f (,) 2779 6770 w 11 /LucidaSans-Italic f (counter) 2823 6770 w 11 /LucidaSansUnicode00 f (}) 3239 6770 w 10 /LucidaSansUnicode00 f (convinces) 3313 6770 w (the) 3826 6770 w (server) 4019 6770 w (that) 4354 6770 w (the) 4583 6770 w (client) 4776 6770 w (knows) 720 6890 w 11 /LucidaSans-Italic f (K) 1076 6890 w 8 /LucidaSans-Italic f (n) 1159 6912 w 10 /LucidaSansUnicode00 f (and) 1265 6890 w (thus) 1492 6890 w (must) 1751 6890 w (be) 2042 6890 w 11 /LucidaSans-Italic f (uid) 2209 6890 w 8 /LucidaSans-Italic f (C) 2389 6912 w 10 /LucidaSansUnicode00 f (.) 2452 6890 w (Similarly,) 2564 6890 w (the) 3055 6890 w (authenticator) 3258 6890 w 11 /LucidaSans-Italic f (K) 3951 6890 w 8 /LucidaSans-Italic f (n) 4034 6912 w 11 /LucidaSansUnicode00 f ({) 4102 6890 w 11 /LucidaSans-Italic f (nonce) 4147 6890 w 8 /LucidaSans-Italic f (C) 4472 6912 w 11 /LucidaSansUnicode00 f (,) 4544 6890 w 11 /LucidaSans-Italic f (counter) 4588 6890 w 11 /LucidaSansUnicode00 f (}) 5004 6890 w 10 /LucidaSansUnicode00 f (convinces) 720 7010 w (the) 1239 7010 w (client) 1438 7010 w (that) 1746 7010 w (the) 1981 7010 w (server) 2179 7010 w (knows) 2519 7010 w 11 /LucidaSans-Italic f (K) 2871 7010 w 8 /LucidaSans-Italic f (n) 2954 7032 w 10 /LucidaSansUnicode00 f (and) 3056 7010 w (thus) 3279 7010 w (must) 3534 7010 w (be) 3820 7010 w 11 /LucidaSans-Italic f (uid) 3982 7010 w 8 /LucidaSans-Italic f (S) 4162 7032 w 10 /LucidaSansUnicode00 f (.) 4215 7010 w (Tickets) 4322 7010 w (can) 4710 7010 w (be) 4921 7010 w (reused,) 720 7130 w (without) 1117 7130 w (contacting) 1518 7130 w (the) 2061 7130 w (authentication) 2252 7130 w (server) 2983 7130 w (again,) 3317 7130 w (by) 3649 7130 w (incrementing) 3801 7130 w (the) 4478 7130 w (counter) 4670 7130 w (before each authenticator is generated.) 720 7250 w cleartomark showpage saveobj restore %%EndPage: 11 11 %%Page: 12 12 /saveobj save def mark 12 pagesetup 10 /LucidaSansUnicode00 f (\255 12 \255) 2752 480 w (In) 720 840 w (the) 859 840 w (future) 1062 840 w (we) 1405 840 w (hope) 1586 840 w (to) 1876 840 w (introduce) 2022 840 w (a) 2532 840 w (public) 2635 840 w (key) 2980 840 w (version) 3194 840 w (of) 3594 840 w (p9sk1,) 3740 840 w (which) 4118 840 w (would) 4448 840 w (allow) 4789 840 w (authentication) 720 960 w (even) 1455 960 w (when) 1721 960 w (the) 2017 960 w (authentication) 2211 960 w (server) 2945 960 w (is) 3281 960 w (not) 3400 960 w (available.) 3599 960 w (The) 4125 960 w (authentication) 4345 960 w (server) 720 1080 w (Each) 720 1236 w (Plan) 975 1236 w (9) 1209 1236 w (security) 1305 1236 w (domain) 1717 1236 w (has) 2113 1236 w (an) 2314 1236 w (authentication) 2464 1236 w (server) 3192 1236 w (\(AS\)) 3523 1236 w (that) 3746 1236 w (all) 3971 1236 w (users) 4118 1236 w (trust) 4413 1236 w (to) 4675 1236 w (keep) 4807 1236 w (the) 720 1356 w (complete) 915 1356 w (set) 1401 1356 w (of) 1585 1356 w (shared) 1723 1356 w (keys.) 2091 1356 w (It) 2412 1356 w (also) 2518 1356 w (offers) 2753 1356 w (services) 3075 1356 w (for) 3501 1356 w (users) 3679 1356 w (and) 3979 1356 w (administrators) 4198 1356 w (to) 4942 1356 w (manage) 720 1476 w (the) 1148 1476 w (keys,) 1348 1476 w (create) 1642 1476 w (and) 1983 1476 w (disable) 2208 1476 w (accounts,) 2599 1476 w (and) 3106 1476 w (so) 3331 1476 w (on.) 3488 1476 w (It) 3720 1476 w (typically) 3831 1476 w (runs) 4273 1476 w (on) 4534 1476 w (a) 4702 1476 w (stan\255) 4802 1476 w (dalone) 720 1596 w (machine) 1094 1596 w (with) 1550 1596 w (few) 1803 1596 w (other) 2021 1596 w (services.) 2326 1596 w (The) 2824 1596 w (AS) 3052 1596 w (comprises) 3222 1596 w (two) 3765 1596 w (services,) 3987 1596 w 10 /LucidaTypewriter f (keyfs) 4453 1596 w 10 /LucidaSansUnicode00 f (and) 4860 1596 w 10 /LucidaTypewriter f (authsrv) 720 1716 w 10 /LucidaSansUnicode00 f (.) 1224 1716 w 10 /LucidaTypewriter f (Keyfs) 720 1872 w 10 /LucidaSansUnicode00 f (is) 1147 1872 w (a) 1294 1872 w (user-level) 1416 1872 w (file) 1973 1872 w (system) 2191 1872 w (that) 2598 1872 w (manages) 2857 1872 w (an) 3359 1872 w (encrypted) 3544 1872 w (data) 4093 1872 w (base) 4371 1872 w (of) 4664 1872 w (user) 4830 1872 w (accounts.) 720 1992 w (Each) 1253 1992 w (account) 1513 1992 w (is) 1930 1992 w (represented) 2048 1992 w (by) 2668 1992 w (a) 2821 1992 w (directory) 2914 1992 w (containing) 3383 1992 w (the) 3931 1992 w (files) 4124 1992 w 10 /LucidaTypewriter f (key) 4364 1992 w 10 /LucidaSansUnicode00 f (,) 4580 1992 w (contain\255) 4650 1992 w (ing) 720 2112 w (the) 927 2112 w (Plan) 1136 2112 w (9) 1391 2112 w (key) 1508 2112 w (for) 1728 2112 w (p9sk1;) 1921 2112 w 10 /LucidaTypewriter f (secret) 2306 2112 w 10 /LucidaSansUnicode00 f (for) 2793 2112 w (the) 2987 2112 w (challenge/response) 3197 2112 w (protocols) 4208 2112 w (\(APOP,) 4718 2112 w (VNC,) 720 2232 w (CHAP,) 998 2232 w (MSCHAP,) 1335 2232 w (CRAM\);) 1812 2232 w 10 /LucidaTypewriter f (log) 2201 2232 w 10 /LucidaSansUnicode00 f (for) 2454 2232 w (authentication) 2630 2232 w (outcomes;) 3362 2232 w 10 /LucidaTypewriter f (expire) 3903 2232 w 10 /LucidaSansUnicode00 f (for) 4372 2232 w (an) 4548 2232 w (expira\255) 4702 2232 w (tion) 720 2352 w (time;) 963 2352 w (and) 1264 2352 w 10 /LucidaTypewriter f (status) 1499 2352 w 10 /LucidaSansUnicode00 f (.) 1931 2352 w (If) 2050 2352 w (the) 2171 2352 w (expiration) 2381 2352 w (time) 2930 2352 w (passes,) 3200 2352 w (if) 3614 2352 w (the) 3735 2352 w (number) 3945 2352 w (of) 4377 2352 w (successive) 4530 2352 w (failed) 720 2472 w (authentications) 1043 2472 w (exceeds) 1843 2472 w (50,) 2291 2472 w (or) 2502 2472 w (if) 2657 2472 w 10 /LucidaTypewriter f (disabled) 2776 2472 w 10 /LucidaSansUnicode00 f (is) 3405 2472 w (written) 3538 2472 w (to) 3930 2472 w (the) 4081 2472 w (status) 4289 2472 w (file,) 4635 2472 w (any) 4871 2472 w (attempt to access the) 720 2592 w 10 /LucidaTypewriter f (key) 1794 2592 w 10 /LucidaSansUnicode00 f (or) 2042 2592 w 10 /LucidaTypewriter f (secret) 2176 2592 w 10 /LucidaSansUnicode00 f (files will fail.) 2640 2592 w 10 /LucidaTypewriter f (Authsrv) 720 2748 w 10 /LucidaSansUnicode00 f (is) 1257 2748 w (a) 1370 2748 w (network) 1458 2748 w (service) 1883 2748 w (that) 2252 2748 w (brokers) 2476 2748 w (shared) 2881 2748 w (key) 3243 2748 w (authentications) 3443 2748 w (for) 4223 2748 w (the) 4396 2748 w (protocols) 4585 2748 w (p9sk1,) 720 2868 w (APOP,) 1084 2868 w (VNC,) 1407 2868 w (CHAP,) 1681 2868 w (MSCHAP,) 2014 2868 w (and) 2487 2868 w (CRAM.) 2701 2868 w (Remote) 3085 2868 w (users) 3484 2868 w (can) 3778 2868 w (also) 3979 2868 w (call) 4208 2868 w 10 /LucidaTypewriter f (authsrv) 4405 2868 w 10 /LucidaSansUnicode00 f (to) 4942 2868 w (change their passwords.) 720 2988 w (The) 720 3144 w (p9sk1) 935 3144 w (protocol) 1267 3144 w (was) 1705 3144 w (described) 1922 3144 w (in) 2429 3144 w (the) 2554 3144 w (previous) 2743 3144 w (section.) 3192 3144 w (The) 3637 3144 w (challenge/response) 3852 3144 w (pro\255) 4842 3144 w (tocols differ in detail but all follow the general structure:) 720 3264 w 11 /LucidaSans-Italic f (C) 1008 3434 w 11 /S f (\256) 1092 3434 w 11 /LucidaSans-Italic f (S) 1210 3434 w 11 /LucidaSansUnicode00 f (:) 1280 3434 w 11 /LucidaSans-Italic f (uid) 1500 3434 w 8 /LucidaSans-Italic f (C) 1680 3456 w 11 /LucidaSans-Italic f (S) 1008 3544 w 11 /S f (\256) 1078 3544 w 11 /LucidaSans-Italic f (A) 1196 3544 w 11 /LucidaSansUnicode00 f (:) 1281 3544 w 11 /LucidaSans-Italic f (nonce) 1501 3544 w 8 /LucidaSans-Italic f (S) 1826 3566 w 11 /LucidaSansUnicode00 f (,) 1888 3544 w 11 /LucidaSans-Italic f (uid) 1932 3544 w 8 /LucidaSans-Italic f (S) 2112 3566 w 11 /LucidaSansUnicode00 f (,) 2174 3544 w 11 /LucidaSans-Italic f (domain) 2218 3544 w 8 /LucidaSans-Italic f (S) 2630 3566 w 11 /LucidaSansUnicode00 f (,) 2692 3544 w 11 /LucidaSans-Italic f (uid) 2736 3544 w 8 /LucidaSans-Italic f (C) 2916 3566 w 11 /LucidaSansUnicode00 f (,) 2988 3544 w 11 /LucidaSans-Italic f (factotum) 1593 3654 w 8 /LucidaSans-Italic f (S) 2087 3676 w 11 /LucidaSans-Italic f (A) 1008 3764 w 11 /S f (\256) 1093 3764 w 11 /LucidaSans-Italic f (S) 1211 3764 w 11 /LucidaSansUnicode00 f (:) 1281 3764 w 11 /LucidaSans-Italic f (challenge) 1501 3764 w (S) 1008 3874 w 11 /S f (\256) 1078 3874 w 11 /LucidaSans-Italic f (C) 1196 3874 w 11 /LucidaSansUnicode00 f (:) 1280 3874 w 11 /LucidaSans-Italic f (challenge) 1500 3874 w (C) 1008 3984 w 11 /S f (\256) 1092 3984 w 11 /LucidaSans-Italic f (S) 1210 3984 w 11 /LucidaSansUnicode00 f (:) 1280 3984 w 11 /LucidaSans-Italic f (response) 1500 3984 w (S) 1008 4094 w 11 /S f (\256) 1078 4094 w 11 /LucidaSans-Italic f (A) 1196 4094 w 11 /LucidaSansUnicode00 f (:) 1281 4094 w 11 /LucidaSans-Italic f (response) 1501 4094 w (A) 1008 4204 w 11 /S f (\256) 1093 4204 w 11 /LucidaSans-Italic f (S) 1211 4204 w 11 /LucidaSansUnicode00 f (:) 1281 4204 w 11 /LucidaSans-Italic f (K) 1501 4204 w 8 /LucidaSans-Italic f (C) 1584 4226 w 11 /LucidaSansUnicode00 f ({) 1656 4204 w 11 /LucidaSans-Italic f (nonce) 1701 4204 w 8 /LucidaSans-Italic f (S) 2026 4226 w 11 /LucidaSansUnicode00 f (,) 2088 4204 w 11 /LucidaSans-Italic f (uid) 2132 4204 w 8 /LucidaSans-Italic f (C) 2312 4226 w 11 /LucidaSansUnicode00 f (,) 2384 4204 w 11 /LucidaSans-Italic f (uid) 2428 4204 w 8 /LucidaSans-Italic f (S) 2608 4226 w 8 /LucidaSansUnicode00 f (,) 2658 4226 w 11 /LucidaSans-Italic f (K) 2702 4204 w 8 /LucidaSans-Italic f (n) 2785 4226 w 11 /LucidaSansUnicode00 f (}) 2853 4204 w (,) 2898 4204 w 11 /LucidaSans-Italic f (K) 1593 4314 w 8 /LucidaSans-Italic f (n) 1676 4336 w 11 /LucidaSansUnicode00 f ({) 1744 4314 w 11 /LucidaSans-Italic f (nonce) 1789 4314 w 8 /LucidaSans-Italic f (C) 2114 4336 w 11 /LucidaSansUnicode00 f (}) 2186 4314 w 10 /LucidaSansUnicode00 f (The password protocol is:) 720 4494 w 11 /LucidaSans-Italic f (C) 1008 4664 w 11 /S f (\256) 1092 4664 w 11 /LucidaSans-Italic f (A) 1210 4664 w 11 /LucidaSansUnicode00 f (:) 1295 4664 w 11 /LucidaSans-Italic f (uid) 1515 4664 w 8 /LucidaSans-Italic f (C) 1695 4686 w 11 /LucidaSans-Italic f (A) 1008 4774 w 11 /S f (\256) 1093 4774 w 11 /LucidaSans-Italic f (C) 1211 4774 w 11 /LucidaSansUnicode00 f (:) 1295 4774 w 11 /LucidaSans-Italic f (K) 1515 4774 w 8 /LucidaSans-Italic f (c) 1598 4796 w 11 /LucidaSansUnicode00 f ({) 1656 4774 w 11 /LucidaSans-Italic f (K) 1701 4774 w 8 /LucidaSans-Italic f (n) 1784 4796 w 11 /LucidaSansUnicode00 f (}) 1852 4774 w 11 /LucidaSans-Italic f (C) 1008 4884 w 11 /S f (\256) 1092 4884 w 11 /LucidaSans-Italic f (A) 1210 4884 w 11 /LucidaSansUnicode00 f (:) 1295 4884 w 11 /LucidaSans-Italic f (K) 1515 4884 w 8 /LucidaSans-Italic f (n) 1598 4906 w 11 /LucidaSansUnicode00 f ({) 1666 4884 w 11 /LucidaSans-Italic f (password) 1711 4884 w 8 /LucidaSans-Italic f (old) 2235 4906 w 11 /LucidaSansUnicode00 f (,) 2371 4884 w 11 /LucidaSans-Italic f (password) 2415 4884 w 8 /LucidaSans-Italic f (new) 2939 4906 w 11 /LucidaSansUnicode00 f (}) 3111 4884 w 11 /LucidaSans-Italic f (A) 1008 4994 w 11 /S f (\256) 1093 4994 w 11 /LucidaSans-Italic f (C) 1211 4994 w 11 /LucidaSansUnicode00 f (:) 1295 4994 w 11 /LucidaSans-Italic f (OK) 1515 4994 w 10 /LucidaSansUnicode00 f (To) 720 5174 w (avoid) 883 5174 w (replay) 1182 5174 w (attacks,) 1517 5174 w (the) 1932 5174 w (pre-encryption) 2126 5174 w (clear) 2897 5174 w (text) 3168 5174 w (for) 3399 5174 w (each) 3578 5174 w (of) 3842 5174 w (the) 3980 5174 w (protocols) 4175 5174 w (\(as) 4670 5174 w (well) 4849 5174 w (as) 720 5294 w (for) 867 5294 w (p9sk1\)) 1047 5294 w (includes) 1418 5294 w (a) 1861 5294 w (tag) 1956 5294 w (indicating) 2150 5294 w (the) 2669 5294 w (encryption) 2864 5294 w 10 /LucidaSansUnicode20 f (\031) 3378 5294 w 10 /LucidaSansUnicode00 f (s) 3410 5294 w (role) 3501 5294 w (in) 3728 5294 w (the) 3859 5294 w (protocol.) 4054 5294 w (We) 4562 5294 w (elided) 4744 5294 w (them in these outlines.) 720 5414 w (Protocol negotiation) 1900 5414 w (Rather) 720 5570 w (than) 1070 5570 w (require) 1322 5570 w (particular) 1706 5570 w (protocols) 2206 5570 w (for) 2698 5570 w (particular) 2874 5570 w (services,) 3374 5570 w (we) 3830 5570 w (implemented) 4000 5570 w (a) 4674 5570 w (nego\255) 4766 5570 w (tiation) 720 5690 w (metaprotocol,) 1079 5690 w 10 /LucidaSans-Italic f (p9any) 1805 5690 w 10 /LucidaSansUnicode00 f (,) 2107 5690 w (which) 2188 5690 w (chooses) 2517 5690 w (the) 2958 5690 w (actual) 3161 5690 w (authentication) 3498 5690 w (protocol) 4241 5690 w (to) 4693 5690 w (use.) 4839 5690 w (P9any is used now by all native services on Plan 9.) 720 5810 w (The metaprotocol is simple.) 720 5966 w (The callee sends a null-terminated string of the form:) 2139 5966 w 9 /LucidaTypewriter f (v) 1008 6136 w 8 /LucidaSans-Italic f (n) 1086 6158 w 11 /LucidaSans-Italic f (proto) 1210 6136 w 8 /LucidaSansUnicode00 f (1) 1511 6158 w 9 /LucidaTypewriter f (@) 1570 6136 w 11 /LucidaSans-Italic f (domain) 1635 6136 w 8 /LucidaSansUnicode00 f (1) 2047 6158 w 11 /LucidaSans-Italic f (proto) 2171 6136 w 8 /LucidaSansUnicode00 f (2) 2472 6158 w 9 /LucidaTypewriter f (@) 2531 6136 w 11 /LucidaSans-Italic f (domain) 2596 6136 w 8 /LucidaSansUnicode00 f (2) 3008 6158 w 9 /LucidaTypewriter f (...) 3132 6136 w 10 /LucidaSansUnicode00 f (where) 720 6316 w 10 /LucidaSans-Italic f (n) 1056 6316 w 10 /LucidaSansUnicode00 f (is) 1162 6316 w (a) 1286 6316 w (decimal) 1385 6316 w (version) 1805 6316 w (number,) 2201 6316 w 11 /LucidaSans-Italic f (proto) 2654 6316 w 8 /LucidaSans-Italic f (k) 2955 6338 w 10 /LucidaSansUnicode00 f (is) 3054 6316 w (the) 3178 6316 w (name) 3377 6316 w (of) 3687 6316 w (a) 3829 6316 w (protocol) 3928 6316 w (for) 4376 6316 w (which) 4559 6316 w (the) 4885 6316 w 10 /LucidaTypewriter f (factotum) 720 6436 w 10 /LucidaSansUnicode00 f (has) 1346 6436 w (a) 1564 6436 w (key,) 1668 6436 w (and) 1915 6436 w 11 /LucidaSans-Italic f (domain) 2144 6436 w 8 /LucidaSans-Italic f (k) 2556 6458 w 10 /LucidaSansUnicode00 f (is) 2660 6436 w (the) 2789 6436 w (name) 2993 6436 w (of) 3308 6436 w (the) 3455 6436 w (domain) 3659 6436 w (in) 4071 6436 w (which) 4211 6436 w (the) 4541 6436 w (key) 4745 6436 w (is) 4960 6436 w (valid.) 720 6556 w (The caller then responds) 1044 6556 w 9 /LucidaSans-Italic f (proto) 1008 6726 w 9 /LucidaTypewriter f (@) 1242 6726 w 9 /LucidaSans-Italic f (domain) 1307 6726 w 10 /LucidaSansUnicode00 f (indicating its choice.) 720 6906 w (Finally the callee responds) 1786 6906 w 9 /LucidaTypewriter f (OK) 1008 7076 w 10 /LucidaSansUnicode00 f (Any) 720 7256 w (other) 947 7256 w (string) 1248 7256 w (indicates) 1574 7256 w (failure.) 2051 7256 w (At) 2468 7256 w (this) 2618 7256 w (point) 2842 7256 w (the) 3139 7256 w (chosen) 3339 7256 w (protocol) 3727 7256 w (commences.) 4176 7256 w (The) 4859 7256 w cleartomark showpage saveobj restore %%EndPage: 12 12 %%Page: 13 13 /saveobj save def mark 13 pagesetup 10 /LucidaSansUnicode00 f (\255 13 \255) 2752 480 w (final) 720 840 w (fixed-length) 966 840 w (reply) 1612 840 w (is) 1887 840 w (used) 2000 840 w (to) 2265 840 w (make) 2396 840 w (it) 2691 840 w (easy) 2790 840 w (to) 3037 840 w (delimit) 3168 840 w (the) 3537 840 w (I/O) 3725 840 w (stream) 3918 840 w (should) 4284 840 w (the) 4645 840 w (cho\255) 4833 840 w (sen protocol require the caller rather than the callee to send the first message.) 720 960 w (With) 720 1116 w (this) 990 1116 w (negotiation) 1225 1116 w (metaprotocol,) 1832 1116 w (the) 2565 1116 w (underlying) 2776 1116 w (authentication) 3350 1116 w (protocols) 4101 1116 w (used) 4612 1116 w (for) 4901 1116 w (Plan) 720 1236 w (9) 961 1236 w (services) 1064 1236 w (can) 1491 1236 w (be) 1699 1236 w (changed) 1858 1236 w (under) 2309 1236 w (any) 2632 1236 w (application) 2840 1236 w (just) 3413 1236 w (by) 3632 1236 w (changing) 3786 1236 w (the) 4270 1236 w (keys) 4464 1236 w (known) 4720 1236 w (by the) 720 1356 w 10 /LucidaTypewriter f (factotum) 1054 1356 w 10 /LucidaSansUnicode00 f (agents at each end.) 1662 1356 w (P9any is vulnerable to man in the middle attacks to the extent that the attacker may con\255) 720 1512 w (strain) 720 1632 w (the) 1033 1632 w (possible) 1226 1632 w (choices) 1667 1632 w (by) 2066 1632 w (changing) 2219 1632 w (the) 2701 1632 w (stream.) 2893 1632 w (However,) 3327 1632 w (we) 3813 1632 w (believe) 3983 1632 w (this) 4361 1632 w (is) 4577 1632 w (accept\255) 4694 1632 w (able) 720 1752 w (since) 960 1752 w (the) 1247 1752 w (attacker) 1440 1752 w (cannot) 1868 1752 w (force) 2234 1752 w (either) 2518 1752 w (side) 2837 1752 w (to) 3074 1752 w (choose) 3210 1752 w (algorithms) 3590 1752 w (that) 4148 1752 w (it) 4377 1752 w (is) 4481 1752 w (unwilling) 4599 1752 w (to use.) 720 1872 w 10 /LucidaSans-Demi f (4.) 720 2112 w (Library Interface to Factotum) 873 2112 w 10 /LucidaSansUnicode00 f (Although) 720 2268 w (programs) 1197 2268 w (can) 1697 2268 w (access) 1898 2268 w 10 /LucidaTypewriter f (factotum) 2246 2268 w 10 /LucidaSansUnicode20 f (\031) 2822 2268 w 10 /LucidaSansUnicode00 f (s) 2854 2268 w (services) 2938 2268 w (through) 3358 2268 w (its) 3778 2268 w (file) 3928 2268 w (system) 4112 2268 w (interface,) 4485 2268 w (it) 4974 2268 w (is) 720 2388 w (more) 833 2388 w (common) 1117 2388 w (to) 1571 2388 w (use) 1702 2388 w (a) 1904 2388 w (C) 1992 2388 w (library) 2094 2388 w (that) 2437 2388 w (packages) 2661 2388 w (the) 3145 2388 w (interaction.) 3333 2388 w (There) 3950 2388 w (are) 4261 2388 w (a number of) 4446 2388 w (routines in the library, not all of which are relevant here, but a) 720 2508 w (few) 3780 2508 w (examples) 3983 2508 w (should) 4480 2508 w (give) 4841 2508 w (their flavor.) 720 2628 w (First,) 720 2784 w (consider) 997 2784 w (the) 1444 2784 w (problem) 1632 2784 w (of) 2071 2784 w (mounting) 2202 2784 w (a) 2703 2784 w (remote) 2791 2784 w (file) 3168 2784 w (server) 3352 2784 w (using) 3682 2784 w (9P.) 3981 2784 w (An) 4196 2784 w (earlier) 4360 2784 w (discus\255) 4700 2784 w (sion) 720 2904 w (showed) 964 2904 w (how) 1375 2904 w (the) 1616 2904 w 10 /LucidaTypewriter f (fauth) 1812 2904 w 10 /LucidaSansUnicode00 f (and) 2213 2904 w 10 /LucidaTypewriter f (mount) 2433 2904 w 10 /LucidaSansUnicode00 f (system) 2833 2904 w (calls) 3213 2904 w (use) 3468 2904 w (an) 3677 2904 w (authentication) 3834 2904 w (file,) 4569 2904 w 10 /LucidaTypewriter f (afd) 4792 2904 w 10 /LucidaSansUnicode00 f (,) 5008 2904 w (as) 720 3024 w (a) 865 3024 w (capability,) 959 3024 w (but) 1494 3024 w (not) 1696 3024 w (how) 1896 3024 w 10 /LucidaTypewriter f (factotum) 2136 3024 w 10 /LucidaSansUnicode00 f (manages) 2752 3024 w 10 /LucidaTypewriter f (afd) 3226 3024 w 10 /LucidaSansUnicode00 f (.) 3442 3024 w (The) 3546 3024 w (library) 3767 3024 w (contains) 4117 3024 w (a) 4565 3024 w (routine,) 4660 3024 w 10 /LucidaTypewriter f (amount) 720 3144 w 10 /LucidaSansUnicode00 f (\(authenticated) 1187 3144 w (mount\),) 1917 3144 w (that) 2332 3144 w (is) 2558 3144 w (used) 2673 3144 w (by) 2940 3144 w (most) 3090 3144 w (programs) 3367 3144 w (in) 3868 3144 w (preference) 3993 3144 w (to) 4546 3144 w (the) 4678 3144 w (raw) 4867 3144 w 10 /LucidaTypewriter f (fauth) 720 3264 w 10 /LucidaSansUnicode00 f (and) 1126 3264 w 10 /LucidaTypewriter f (mount) 1352 3264 w 10 /LucidaSansUnicode00 f (calls.) 1758 3264 w 10 /LucidaTypewriter f (Amount) 2083 3264 w 10 /LucidaSansUnicode00 f (engages) 2561 3264 w 10 /LucidaTypewriter f (factotum) 3011 3264 w 10 /LucidaSansUnicode00 f (to) 3633 3264 w (validate) 3778 3264 w 10 /LucidaTypewriter f (afd) 4201 3264 w 10 /LucidaSansUnicode00 f (;) 4417 3264 w (here) 4496 3264 w (is) 4758 3264 w (the) 4885 3264 w (complete code:) 720 3384 w 9 /LucidaTypewriter f (int) 1008 3554 w (amount\(int) 1008 3664 w (fd,) 1723 3664 w (char) 1983 3664 w (*mntpt,) 2308 3664 w (int) 1143 3774 w (flags,) 1403 3774 w (char) 1858 3774 w (*aname\)) 2183 3774 w ({) 1008 3884 w (int) 1143 3994 w (afd,) 1403 3994 w (ret;) 1728 3994 w (AuthInfo) 1143 4104 w (*ai;) 1728 4104 w (afd) 1143 4324 w (=) 1403 4324 w (fauth\(fd,) 1533 4324 w (aname\);) 2183 4324 w (if\(afd) 1143 4434 w (>=) 1598 4434 w (0\){) 1793 4434 w (ai) 1278 4544 w (=) 1473 4544 w (auth_proxy\(afd,) 1603 4544 w (amount_getkey,) 2643 4544 w ("proto=p9any) 1413 4654 w (role=client"\);) 2258 4654 w (if\(ai) 1278 4764 w (!=) 1668 4764 w (NULL\)) 1863 4764 w (auth_freeAI\(ai\);) 1413 4874 w (}) 1143 4984 w (ret) 1143 5094 w (=) 1403 5094 w (mount\(fd,) 1533 5094 w (afd,) 2183 5094 w (mntpt,) 2508 5094 w (flags,) 1278 5204 w (aname\);) 1733 5204 w (if\(afd) 1143 5314 w (>=) 1598 5314 w (0\)) 1793 5314 w (close\(afd\);) 1278 5424 w (return) 1143 5534 w (ret;) 1598 5534 w (}) 1008 5644 w 10 /LucidaSansUnicode00 f (The) 720 5824 w (conversation) 939 5824 w (with) 1595 5824 w 10 /LucidaTypewriter f (factotum) 1839 5824 w 10 /LucidaSansUnicode00 f (occurs) 2454 5824 w (in) 2810 5824 w (the) 2940 5824 w (call) 3134 5824 w (to) 3337 5824 w 10 /LucidaTypewriter f (auth_proxy) 3474 5824 w 10 /LucidaSansUnicode00 f (,) 4194 5824 w (which) 4265 5824 w (specifies,) 4585 5824 w (as) 720 5944 w (a) 859 5944 w (key) 947 5944 w (query, which authentication protocol to use \(here the metaprotocol) 1146 5944 w 10 /LucidaTypewriter f (p9any) 4435 5944 w 10 /LucidaSansUnicode00 f (\) and) 4795 5944 w (the) 720 6064 w (role) 927 6064 w (being) 1166 6064 w (played) 1490 6064 w (\() 1860 6064 w 10 /LucidaTypewriter f (client) 1893 6064 w 10 /LucidaSansUnicode00 f (\).) 2325 6064 w 10 /LucidaTypewriter f (Auth_proxy) 2474 6064 w 10 /LucidaSansUnicode00 f (will) 3246 6064 w (read) 3462 6064 w (and) 3730 6064 w (write) 3963 6064 w (the) 4256 6064 w 10 /LucidaTypewriter f (factotum) 4464 6064 w 10 /LucidaSansUnicode00 f (files,) 720 6184 w (and) 1000 6184 w (the) 1226 6184 w (authentication) 1427 6184 w (file) 2168 6184 w (descriptor) 2365 6184 w 10 /LucidaTypewriter f (afd) 2904 6184 w 10 /LucidaSansUnicode00 f (,) 3120 6184 w (to) 3198 6184 w (validate) 3342 6184 w (the) 3764 6184 w (user) 3965 6184 w 10 /LucidaSansUnicode20 f (\031) 4175 6184 w 10 /LucidaSansUnicode00 f (s) 4207 6184 w (right) 4304 6184 w (to) 4581 6184 w (access) 4725 6184 w (the) 720 6304 w (service.) 909 6304 w (If) 1343 6304 w (the) 1443 6304 w (call) 1632 6304 w (is) 1830 6304 w (successful,) 1944 6304 w (any) 2511 6304 w (auxiliary) 2714 6304 w (data,) 3161 6304 w (held) 3437 6304 w (in) 3681 6304 w (an) 3807 6304 w 10 /LucidaTypewriter f (AuthInfo) 3959 6304 w 10 /LucidaSansUnicode00 f (structure,) 4570 6304 w (is) 720 6424 w (freed.) 837 6424 w (In) 1191 6424 w (any) 1319 6424 w (case,) 1525 6424 w (the) 1807 6424 w 10 /LucidaTypewriter f (mount) 1999 6424 w 10 /LucidaSansUnicode00 f (is) 2396 6424 w (then) 2513 6424 w (called) 2767 6424 w (with) 3087 6424 w (the) 3329 6424 w (\(perhaps) 3521 6424 w (validated\)) 3982 6424 w 10 /LucidaTypewriter f (afd.) 4491 6424 w 10 /LucidaSansUnicode00 f (A) 4816 6424 w (9P) 4922 6424 w (server) 720 6544 w (can) 1060 6544 w (cause) 1271 6544 w (the) 1590 6544 w 10 /LucidaTypewriter f (fauth) 1789 6544 w 10 /LucidaSansUnicode00 f (system) 2193 6544 w (call) 2577 6544 w (to) 2785 6544 w (fail,) 2927 6544 w (as) 3153 6544 w (an) 3303 6544 w (indication) 3464 6544 w (that) 3986 6544 w (authentication) 4221 6544 w (is) 4960 6544 w (not required to access the service.) 720 6664 w (The) 720 6820 w (second) 950 6820 w (argument) 1343 6820 w (to) 1860 6820 w 10 /LucidaTypewriter f (auth_proxy) 2007 6820 w 10 /LucidaSansUnicode00 f (is) 2776 6820 w (a) 2905 6820 w (function,) 3009 6820 w (here) 3491 6820 w 10 /LucidaTypewriter f (amount_getkey) 3755 6820 w 10 /LucidaSansUnicode00 f (,) 4691 6820 w (to) 4773 6820 w (be) 4921 6820 w (called) 720 6940 w (if) 1037 6940 w (secret) 1137 6940 w (information) 1463 6940 w (such) 2064 6940 w (as) 2324 6940 w (a) 2464 6940 w (password) 2553 6940 w (or) 3049 6940 w (response) 3185 6940 w (to) 3660 6940 w (a) 3792 6940 w (challenge) 3881 6940 w (is) 4377 6940 w (required) 4490 6940 w (as) 4934 6940 w (part) 720 7060 w (of) 949 7060 w (the) 1080 7060 w (authentication.) 1268 7060 w (This) 2060 7060 w (function,) 2298 7060 w (of) 2764 7060 w (course,) 2895 7060 w (will) 3282 7060 w (provide) 3479 7060 w (this) 3877 7060 w (data) 4089 7060 w (to) 4332 7060 w 10 /LucidaTypewriter f (factotum) 4464 7060 w 10 /LucidaSansUnicode00 f (as a) 720 7180 w 10 /LucidaTypewriter f (key) 945 7180 w 10 /LucidaSansUnicode00 f (message on the) 1193 7180 w 10 /LucidaTypewriter f (/mnt/factotum/ctl) 1991 7180 w 10 /LucidaSansUnicode00 f (file.) 3247 7180 w cleartomark showpage saveobj restore %%EndPage: 13 13 %%Page: 14 14 /saveobj save def mark 14 pagesetup 10 /LucidaSansUnicode00 f (\255 14 \255) 2752 480 w (Although) 720 840 w (the) 1197 840 w (final) 1385 840 w (argument) 1630 840 w (to) 2131 840 w 10 /LucidaTypewriter f (auth_proxy) 2262 840 w 10 /LucidaSansUnicode00 f (in) 3015 840 w (this) 3139 840 w (example) 3351 840 w (is) 3797 840 w (a) 3910 840 w (simple) 3999 840 w (string,) 4354 840 w (in) 4702 840 w (gen\255) 4827 840 w (eral) 720 960 w (it) 941 960 w (can) 1047 960 w (be) 1255 960 w (a) 1414 960 w (formatted-print) 1509 960 w (specifier) 2318 960 w (in) 2770 960 w (the) 2900 960 w (manner) 3094 960 w (of) 3502 960 w 10 /LucidaTypewriter f (printf) 3639 960 w 10 /LucidaSansUnicode00 f (,) 4071 960 w (to) 4142 960 w (enable) 4279 960 w (the) 4639 960 w (con\255) 4833 960 w (struction of more elaborate key queries.) 720 1080 w (As) 720 1236 w (another) 881 1236 w (example,) 1296 1236 w (consider) 1782 1236 w (the) 2237 1236 w (Plan) 2433 1236 w (9) 2675 1236 w 10 /LucidaTypewriter f (cpu) 2779 1236 w 10 /LucidaSansUnicode00 f (service,) 3036 1236 w (which) 3445 1236 w (exports) 3767 1236 w (local) 4178 1236 w (devices) 4445 1236 w (to) 4845 1236 w (a) 4985 1236 w (shell) 720 1356 w (process) 980 1356 w (on) 1387 1356 w (a) 1543 1356 w (remote) 1631 1356 w (machine,) 2008 1356 w (typically) 2481 1356 w (to) 2911 1356 w (connect) 3042 1356 w (the) 3455 1356 w (local screen and keyboard to) 3643 1356 w (a) 720 1476 w (more) 814 1476 w (powerful) 1104 1476 w (computer.) 1569 1476 w (At) 2136 1476 w (heart,) 2281 1476 w 10 /LucidaTypewriter f (cpu) 2604 1476 w 10 /LucidaSansUnicode00 f (is) 2860 1476 w (a) 2980 1476 w (superset) 3075 1476 w (of) 3532 1476 w (a) 3670 1476 w (service) 3765 1476 w (called) 4141 1476 w 10 /LucidaTypewriter f (exportfs) 4464 1476 w 10 /LucidaSansUnicode00 f ([Pike93],) 720 1596 w (which) 1178 1596 w (allows) 1495 1596 w (one) 1833 1596 w (machine) 2048 1596 w (to) 2492 1596 w (see) 2626 1596 w (an) 2825 1596 w (arbitrary) 2978 1596 w (portion) 3428 1596 w (of) 3818 1596 w (the) 3952 1596 w (file) 4143 1596 w (name) 4330 1596 w (space) 4631 1596 w (of) 4942 1596 w (another) 720 1716 w (machine,) 1129 1716 w (such) 1604 1716 w (as) 1865 1716 w (to) 2006 1716 w (export) 2139 1716 w (the) 2493 1716 w (network) 2683 1716 w (device) 3110 1716 w (to) 3452 1716 w (another) 3585 1716 w (machine) 3994 1716 w (for) 4438 1716 w (gateway\255) 4613 1716 w (ing.) 720 1836 w (However,) 972 1836 w 10 /LucidaTypewriter f (cpu) 1456 1836 w 10 /LucidaSansUnicode00 f (is) 1707 1836 w (not) 1822 1836 w (just) 2016 1836 w 10 /LucidaTypewriter f (exportfs) 2230 1836 w 10 /LucidaSansUnicode00 f (because) 2840 1836 w (it) 3268 1836 w (also) 3368 1836 w (delivers) 3598 1836 w (signals) 4009 1836 w (such) 4382 1836 w (as) 4642 1836 w (inter\255) 4782 1836 w (rupt and negotiates the initial environment for the remote shell.) 720 1956 w (To) 720 2112 w (authenticate) 889 2112 w (an) 1533 2112 w (instance) 1695 2112 w (of) 2143 2112 w 10 /LucidaTypewriter f (cpu) 2286 2112 w 10 /LucidaSansUnicode00 f (requires) 2547 2112 w 10 /LucidaTypewriter f (factotum) 2991 2112 w 10 /LucidaSansUnicode00 f (processes) 3612 2112 w (on) 4138 2112 w (both) 4306 2112 w (ends:) 4575 2112 w (the) 4885 2112 w (local, client end running as the user on a terminal and the remote, server end running as) 720 2232 w (the host owner of the server machine.) 720 2352 w (Here is schematic code for the two ends:) 2629 2352 w 9 /LucidaTypewriter f (/*) 1008 2522 w (client) 1203 2522 w (*/) 1658 2522 w (int) 1008 2632 w (p9auth\(int) 1008 2742 w (fd\)) 1723 2742 w ({) 1008 2852 w (AuthInfo) 1143 2962 w (*ai;) 1728 2962 w (ai) 1143 3182 w (=) 1338 3182 w (auth_proxy\(fd,) 1468 3182 w (auth_getkey,) 2443 3182 w ("proto=p9any) 1278 3292 w (role=client"\);) 2123 3292 w (if\(ai) 1143 3402 w (==) 1533 3402 w (NULL\)) 1728 3402 w (return) 1278 3512 w (-1;) 1733 3512 w (/*) 1143 3732 w (start) 1338 3732 w (cpu) 1728 3732 w (protocol) 1988 3732 w (here) 2573 3732 w (*/) 2898 3732 w (}) 1008 3842 w (/*) 1008 4062 w (server) 1203 4062 w (*/) 1658 4062 w (int) 1008 4172 w (srvp9auth\(int) 1008 4282 w (fd,) 1918 4282 w (char) 2178 4282 w (*user\)) 2503 4282 w ({) 1008 4392 w (AuthInfo) 1143 4502 w (*ai;) 1728 4502 w (ai) 1143 4722 w (=) 1338 4722 w (auth_proxy\(fd,) 1468 4722 w (NULL,) 2443 4722 w ("proto=p9any) 1278 4832 w (role=server"\);) 2123 4832 w (if\(ai) 1143 4942 w (==) 1533 4942 w (NULL\)) 1728 4942 w (return) 1278 5052 w (-1;) 1733 5052 w (/*) 1143 5162 w (set) 1338 5162 w (user) 1598 5162 w (id) 1923 5162 w (for) 2118 5162 w (server) 2378 5162 w (process) 2833 5162 w (*/) 3353 5162 w (if\(auth_chuid\(ai,) 1143 5272 w (NULL\)) 2313 5272 w (<) 2703 5272 w (0\)) 2833 5272 w (return) 1278 5382 w (-1;) 1733 5382 w (/*) 1143 5602 w (start) 1338 5602 w (cpu) 1728 5602 w (protocol) 1988 5602 w (here) 2573 5602 w (*/) 2898 5602 w (}) 1008 5712 w 10 /LucidaTypewriter f (Auth_chuid) 720 5892 w 10 /LucidaSansUnicode00 f (encapsulates) 1488 5892 w (the) 2165 5892 w (negotiation) 2369 5892 w (to) 2969 5892 w (change) 3116 5892 w (a) 3513 5892 w (user) 3617 5892 w (id) 3876 5892 w (using) 4017 5892 w (the) 4332 5892 w 10 /LucidaTypewriter f (caphash) 4536 5892 w 10 /LucidaSansUnicode00 f (and) 720 6012 w 10 /LucidaTypewriter f (capuse) 937 6012 w 10 /LucidaSansUnicode00 f (files) 1406 6012 w (of) 1645 6012 w (the) 1780 6012 w (\(server\)) 1972 6012 w (kernel.) 2372 6012 w (Note) 2775 6012 w (that) 3040 6012 w (although) 3268 6012 w (the) 3735 6012 w (client) 3927 6012 w (process) 4228 6012 w (may) 4639 6012 w (ask) 4876 6012 w (the) 720 6132 w (user) 911 6132 w (for) 1157 6132 w (new) 1333 6132 w (keys,) 1565 6132 w (using) 1851 6132 w 10 /LucidaTypewriter f (auth_getkey) 2154 6132 w 10 /LucidaSansUnicode00 f (,) 2946 6132 w (the) 3015 6132 w (server) 3207 6132 w (machine,) 3541 6132 w (presumably) 4018 6132 w (a) 4620 6132 w (shared) 4712 6132 w (machine with a pseudo-user for the host owner, sets the key-getting function to) 720 6252 w 10 /LucidaTypewriter f (NULL) 4680 6252 w 10 /LucidaSansUnicode00 f (.) 4968 6252 w 10 /LucidaSans-Demi f (5.) 720 6492 w (Secure Store) 873 6492 w 10 /LucidaTypewriter f (Factotum) 720 6648 w 10 /LucidaSansUnicode00 f (stores) 1337 6648 w (keys) 1675 6648 w (in) 1933 6648 w (volatile) 2065 6648 w (RAM) 2454 6648 w (that) 2713 6648 w (must) 2946 6648 w (be) 3231 6648 w (initialized) 3392 6648 w (at) 3909 6648 w (boot) 4043 6648 w (time.) 4307 6648 w (To) 4628 6648 w (store) 4794 6648 w (the) 720 6768 w (keys,) 911 6768 w (therefore,) 1196 6768 w 10 /LucidaTypewriter f (factotum) 1711 6768 w 10 /LucidaSansUnicode00 f (must) 2323 6768 w (be) 2602 6768 w (supplemented) 2757 6768 w (by) 3484 6768 w (a) 3635 6768 w (persistent) 3726 6768 w (store,) 4245 6768 w (perhaps) 4559 6768 w (a) 4985 6768 w (floppy) 720 6888 w (disk) 1168 6888 w (containing) 1512 6888 w (a) 2165 6888 w (key) 2363 6888 w (file) 2672 6888 w (of) 2966 6888 w (commands) 3207 6888 w (to) 3879 6888 w (be) 4121 6888 w (copied) 4384 6888 w (into) 4851 6888 w 10 /LucidaTypewriter f (/mnt/factotum/ctl) 720 7008 w 10 /LucidaSansUnicode00 f (during) 2006 7008 w (bootstrap.) 2387 7008 w (But) 2982 7008 w (removable) 3200 7008 w (media) 3767 7008 w (are) 4124 7008 w (a) 4337 7008 w (nuisance) 4453 7008 w (to) 4942 7008 w (carry) 720 7128 w (and) 1000 7128 w (are) 1220 7128 w (vulnerable) 1412 7128 w (to) 1957 7128 w (theft.) 2095 7128 w (Keys) 2428 7128 w (could) 2693 7128 w (be) 3000 7128 w (stored) 3160 7128 w (encrypted) 3510 7128 w (on) 4032 7128 w (a) 4196 7128 w (shared) 4292 7128 w (file) 4661 7128 w (sys\255) 4853 7128 w (tem,) 720 7248 w (but) 974 7248 w (only) 1172 7248 w (if) 1412 7248 w (those) 1514 7248 w (keys) 1817 7248 w (are) 2070 7248 w (not) 2258 7248 w (necessary) 2454 7248 w (for) 2965 7248 w (authenticating) 3140 7248 w (to) 3872 7248 w (the) 4006 7248 w (file) 4197 7248 w (system) 4384 7248 w (in) 4759 7248 w (the) 4885 7248 w cleartomark showpage saveobj restore %%EndPage: 14 14 %%Page: 15 15 /saveobj save def mark 15 pagesetup 10 /LucidaSansUnicode00 f (\255 15 \255) 2752 480 w (first place.) 720 840 w (Even if the keys are) 1297 840 w (encrypted) 2272 840 w (under) 2786 840 w (a) 3103 840 w (user) 3191 840 w (password,) 3434 840 w (a) 3961 840 w (thief) 4049 840 w (might) 4303 840 w (well) 4619 840 w (suc\255) 4843 840 w (ceed) 720 960 w (with) 1003 960 w (a) 1265 960 w (dictionary) 1377 960 w (attack.) 1914 960 w (Other) 2328 960 w (risks) 2659 960 w (of) 2946 960 w (local) 3101 960 w (storage) 3383 960 w (are) 3802 960 w (loss) 4010 960 w (of) 4258 960 w (the) 4412 960 w (contents) 4623 960 w (through) 720 1080 w (mechanical) 1143 1080 w (mishap) 1722 1080 w (or) 2111 1080 w (dead) 2249 1080 w (batteries.) 2522 1080 w (Thus) 3047 1080 w (for) 3321 1080 w (convenience) 3496 1080 w (and) 4130 1080 w (safety) 4347 1080 w (we) 4672 1080 w (pro\255) 4842 1080 w (vide) 720 1200 w (a) 964 1200 w 10 /LucidaTypewriter f (secstore) 1063 1200 w 10 /LucidaSansUnicode00 f (\(secure) 1683 1200 w (store\)) 2077 1200 w (server) 2400 1200 w (in) 2741 1200 w (the) 2876 1200 w (network) 3075 1200 w (to) 3511 1200 w (hold) 3653 1200 w (each) 3912 1200 w (user) 4179 1200 w 10 /LucidaSansUnicode20 f (\031) 4389 1200 w 10 /LucidaSansUnicode00 f (s) 4421 1200 w (permanent) 4515 1200 w (list of keys, a) 720 1320 w 10 /LucidaSans-Italic f (key file) 1396 1320 w 10 /LucidaSansUnicode00 f (.) 1743 1320 w 10 /LucidaTypewriter f (Secstore) 720 1476 w 10 /LucidaSansUnicode00 f (is) 1333 1476 w (a) 1450 1476 w (file) 1542 1476 w (server) 1730 1476 w (for) 2064 1476 w (encrypted) 2240 1476 w (data,) 2758 1476 w (used) 3037 1476 w (only) 3307 1476 w (during) 3549 1476 w (bootstrapping.) 3906 1476 w (It) 4693 1476 w (must) 4797 1476 w (provide) 720 1596 w (strong) 1118 1596 w (authentication) 1465 1596 w (and) 2193 1596 w (resistance) 2406 1596 w (to) 2928 1596 w (passive) 3059 1596 w (and) 3449 1596 w (active) 3662 1596 w (protocol attacks while) 3975 1596 w (assuming) 720 1716 w (nothing) 1223 1716 w (more) 1636 1716 w (from) 1925 1716 w (the) 2195 1716 w (client) 2388 1716 w (than) 2691 1716 w (a) 2946 1716 w (password.) 3040 1716 w (Once) 3605 1716 w 10 /LucidaTypewriter f (factotum) 3891 1716 w 10 /LucidaSansUnicode00 f (has) 4506 1716 w (loaded) 4713 1716 w (the) 720 1836 w (key file, further encrypted or authenticated file storage can be accomplished by stan\255) 908 1836 w (dard mechanisms.) 720 1956 w (The) 720 2112 w (cryptographic) 963 2112 w (technology) 1693 2112 w (that) 2288 2112 w (enables) 2541 2112 w 10 /LucidaTypewriter f (secstore) 2975 2112 w 10 /LucidaSansUnicode00 f (is) 3613 2112 w (a) 3756 2112 w (form) 3874 2112 w (of) 4169 2112 w (encrypted) 4330 2112 w (key) 4874 2112 w (exchange) 720 2232 w (called) 1232 2232 w (PAK) 1562 2232 w ([Boyk00],) 1798 2232 w (analogous) 2298 2232 w (to) 2843 2232 w (EKE) 2988 2232 w ([Bell93],) 3208 2232 w (SRP) 3651 2232 w ([Wu98],) 3870 2232 w (or) 4288 2232 w (SPEKE) 4436 2232 w ([Jabl].) 4764 2232 w (PAK) 720 2352 w (was) 960 2352 w (chosen) 1194 2352 w (because) 1588 2352 w (it) 2033 2352 w (comes) 2150 2352 w (with) 2514 2352 w (a) 2771 2352 w (proof) 2878 2352 w (of) 3193 2352 w (equivalence) 3343 2352 w (in) 3966 2352 w (strength) 4109 2352 w (to) 4569 2352 w (Diffie-) 4719 2352 w (Hellman;) 720 2472 w (subtle) 1189 2472 w (flaws) 1526 2472 w (in) 1814 2472 w (some) 1944 2472 w (earlier) 2244 2472 w (encrypted) 2589 2472 w (key) 3108 2472 w (exchange) 3312 2472 w (protocols) 3815 2472 w (and) 4308 2472 w (implemen\255) 4526 2472 w (tations have encouraged us to take special care.) 720 2592 w (In outline, the PAK protocol is:) 3120 2592 w 11 /LucidaSans-Italic f (C) 1008 2762 w 11 /S f (\256) 1092 2762 w 11 /LucidaSans-Italic f (S) 1210 2762 w 11 /LucidaSansUnicode00 f (:) 1280 2762 w 11 /LucidaSans-Italic f (C) 1412 2762 w 11 /LucidaSansUnicode00 f (,) 1496 2762 w 11 /LucidaSans-Italic f (g) 1540 2762 w 8 /LucidaSans-Italic f (x) 1620 2718 w 11 /LucidaSans-Italic f (H) 1672 2762 w (S) 1008 2872 w 11 /S f (\256) 1078 2872 w 11 /LucidaSans-Italic f (C) 1196 2872 w 11 /LucidaSansUnicode00 f (:) 1280 2872 w 11 /LucidaSans-Italic f (S) 1412 2872 w 11 /LucidaSansUnicode00 f (,) 1482 2872 w 11 /LucidaSans-Italic f (g) 1526 2872 w 8 /LucidaSans-Italic f (y) 1606 2828 w 11 /LucidaSansUnicode00 f (,) 1668 2872 w 11 /LucidaSans-Italic f (hash) 1712 2872 w 11 /LucidaSansUnicode00 f (\() 1978 2872 w 11 /LucidaSans-Italic f (g) 2023 2872 w 8 /LucidaSans-Italic f (xy) 2103 2828 w 11 /LucidaSansUnicode00 f (,) 2208 2872 w 11 /LucidaSans-Italic f (C) 2252 2872 w 11 /LucidaSansUnicode00 f (,) 2336 2872 w 11 /LucidaSans-Italic f (S) 2380 2872 w 11 /LucidaSansUnicode00 f (\)) 2450 2872 w 11 /LucidaSans-Italic f (C) 1008 2982 w 11 /S f (\256) 1092 2982 w 11 /LucidaSans-Italic f (S) 1210 2982 w 11 /LucidaSansUnicode00 f (:) 1280 2982 w 11 /LucidaSans-Italic f (hash) 1412 2982 w 11 /LucidaSansUnicode00 f (\() 1678 2982 w 11 /LucidaSans-Italic f (g) 1723 2982 w 8 /LucidaSans-Italic f (xy) 1803 2938 w 11 /LucidaSansUnicode00 f (,) 1908 2982 w 11 /LucidaSans-Italic f (S) 1952 2982 w 11 /LucidaSansUnicode00 f (,) 2022 2982 w 11 /LucidaSans-Italic f (C) 2066 2982 w 11 /LucidaSansUnicode00 f (\)) 2150 2982 w 10 /LucidaSansUnicode00 f (where) 720 3162 w 11 /LucidaSans-Italic f (H) 1047 3162 w 10 /LucidaSansUnicode00 f (is) 1163 3162 w (a) 1278 3162 w (preshared) 1368 3162 w (secret) 1891 3162 w (between) 2218 3162 w (client) 2660 3162 w 11 /LucidaSans-Italic f (C) 2959 3162 w 10 /LucidaSansUnicode00 f (and) 3070 3162 w (server) 3286 3162 w 11 /LucidaSans-Italic f (S) 3619 3162 w 10 /LucidaSansUnicode00 f (.) 3680 3162 w (There) 3780 3162 w (are) 4094 3162 w (several) 4282 3162 w (variants) 4658 3162 w (of) 720 3282 w (PAK,) 862 3282 w (all) 1126 3282 w (presented) 1282 3282 w (in) 1810 3282 w (papers) 1944 3282 w (mainly) 2316 3282 w (concerned) 2679 3282 w (with) 3225 3282 w (proofs) 3473 3282 w (of) 3830 3282 w (cryptographic) 3971 3282 w (proper\255) 4682 3282 w (ties.) 720 3402 w (To) 992 3402 w (aid) 1151 3402 w (implementers,) 1333 3402 w (we) 2066 3402 w (have) 2234 3402 w (distilled) 2494 3402 w (a) 2916 3402 w (description) 3007 3402 w (of) 3586 3402 w (the) 3720 3402 w (specific) 3911 3402 w (version) 4314 3402 w (we) 4702 3402 w (use) 4871 3402 w (into an Appendix to this paper.) 720 3522 w (As) 720 3678 w (a) 883 3678 w (further) 981 3678 w (layer) 1360 3678 w (of) 1636 3678 w (defense) 1777 3678 w (against) 2201 3678 w (password) 2595 3678 w (theft,) 3100 3678 w (we) 3404 3678 w (provide) 3580 3678 w (\(within) 3988 3678 w (the) 4360 3678 w (encrypted) 4559 3678 w (channel) 720 3798 w 11 /LucidaSans-Italic f (C) 1131 3798 w 11 /LucidaSansUnicode21 f (\222) 1215 3798 w 11 /LucidaSans-Italic f (S) 1327 3798 w 10 /LucidaSansUnicode00 f (\)) 1388 3798 w (information) 1454 3798 w (that) 2054 3798 w (is) 2278 3798 w (validated) 2391 3798 w (at) 2863 3798 w (a) 2988 3798 w (RADIUS) 3076 3798 w (server,) 3468 3798 w (such) 3830 3798 w (as) 4089 3798 w (the) 4228 3798 w (digits) 4416 3798 w (from) 4720 3798 w (a) 4985 3798 w (hardware) 720 3918 w (token) 1216 3918 w ([RFC2138].) 1536 3918 w (This) 2151 3918 w (provides) 2403 3918 w (two-factor) 2866 3918 w (authentication,) 3428 3918 w (which) 4202 3918 w (potentially) 4530 3918 w (requires tricking two independent administrators in any attack by social engineering.) 720 4038 w (The) 720 4194 w (key) 940 4194 w (file) 1145 4194 w (stored) 1335 4194 w (on) 1683 4194 w (the) 1846 4194 w (server) 2041 4194 w (is) 2378 4194 w (encrypted) 2498 4194 w (with) 3019 4194 w (AES) 3264 4194 w (\(Rijndael\)) 3481 4194 w (using) 3974 4194 w (CBC) 4280 4194 w (with) 4516 4194 w (a) 4761 4194 w (10-) 4856 4194 w (byte) 720 4314 w (initialization) 970 4314 w (vector) 1612 4314 w (and) 1952 4314 w (trailing) 2173 4314 w (authentication) 2558 4314 w (padding.) 3294 4314 w (All) 3796 4314 w (this) 3964 4314 w (is) 4184 4314 w (invisible) 4305 4314 w (to) 4746 4314 w (the) 4885 4314 w (user) 720 4434 w (of) 970 4434 w 10 /LucidaTypewriter f (secstore) 1108 4434 w 10 /LucidaSansUnicode00 f (.) 1684 4434 w (For) 1788 4434 w (that) 1984 4434 w (matter,) 2215 4434 w (it) 2606 4434 w (is) 2712 4434 w (invisible) 2832 4434 w (to) 3273 4434 w (the) 3412 4434 w 10 /LucidaTypewriter f (secstore) 3608 4434 w 10 /LucidaSansUnicode00 f (server) 4225 4434 w (as) 4563 4434 w (well;) 4710 4434 w (if) 4974 4434 w (the) 720 4554 w (AES) 914 4554 w (Modes) 1130 4554 w (of) 1486 4554 w (Operation) 1623 4554 w (are) 2144 4554 w (standardized) 2334 4554 w (and) 3004 4554 w (a) 3222 4554 w (new) 3315 4554 w (encryption) 3548 4554 w (format) 4100 4554 w (designed,) 4462 4554 w (it) 4974 4554 w (can) 720 4674 w (be) 925 4674 w (implemented) 1081 4674 w (by) 1755 4674 w (a) 1907 4674 w (client) 1999 4674 w (without) 2300 4674 w (change) 2702 4674 w (to) 3088 4674 w (the) 3224 4674 w (server.) 3417 4674 w (The) 3816 4674 w 10 /LucidaTypewriter f (secstore) 4035 4674 w 10 /LucidaSansUnicode00 f (is) 4649 4674 w (delib\255) 4767 4674 w (erately) 720 4794 w (not) 1087 4794 w (backed) 1288 4794 w (up;) 1675 4794 w (the) 1905 4794 w (user) 2101 4794 w (is) 2352 4794 w (expected) 2472 4794 w (to) 2955 4794 w (use) 3093 4794 w (more) 3302 4794 w (than) 3593 4794 w (one) 3849 4794 w 10 /LucidaTypewriter f (secstore) 4068 4794 w 10 /LucidaSansUnicode00 f (or) 4684 4794 w (save) 4826 4794 w (the) 720 4914 w (key) 908 4914 w (file) 1107 4914 w (on) 1291 4914 w (removable) 1447 4914 w (media) 1986 4914 w (and) 2315 4914 w (lock) 2528 4914 w (it) 2760 4914 w (away.) 2859 4914 w (The) 3195 4914 w (user) 3409 4914 w 10 /LucidaSansUnicode20 f (\031) 3619 4914 w 10 /LucidaSansUnicode00 f (s) 3651 4914 w (password) 3735 4914 w (is) 4230 4914 w (hashed) 4344 4914 w (to) 4727 4914 w (cre\255) 4859 4914 w (ate) 720 5034 w (the) 905 5034 w 11 /LucidaSans-Italic f (H) 1097 5034 w 10 /LucidaSansUnicode00 f (used) 1215 5034 w (in) 1484 5034 w (the) 1612 5034 w (PAK) 1804 5034 w (protocol;) 2030 5034 w (a) 2535 5034 w (different) 2627 5034 w (hash) 3082 5034 w (of) 3349 5034 w (the) 3483 5034 w (password) 3674 5034 w (is) 4172 5034 w (used) 4288 5034 w (as) 4556 5034 w (the) 4698 5034 w (file) 4889 5034 w (encryption) 720 5154 w (key.) 1275 5154 w (Finally,) 1546 5154 w (there) 1929 5154 w (is) 2222 5154 w (a) 2343 5154 w (command) 2439 5154 w (\(inside) 2958 5154 w (the) 3322 5154 w (authenticated,) 3518 5154 w (encrypted) 4254 5154 w (chan\255) 4777 5154 w (nel) 720 5274 w (between) 906 5274 w (client) 1352 5274 w (and) 1655 5274 w 10 /LucidaTypewriter f (secstore) 1874 5274 w 10 /LucidaSansUnicode00 f (\)) 2450 5274 w (to) 2522 5274 w (change) 2659 5274 w (passwords) 3046 5274 w (by) 3598 5274 w (sending) 3752 5274 w (a) 4176 5274 w (new) 4270 5274 w 11 /LucidaSans-Italic f (H) 4504 5274 w 10 /LucidaSansUnicode00 f (;) 4585 5274 w (for) 4656 5274 w (con\255) 4833 5274 w (sistency, the client process must at the same time fetch and re-encrypt all files.) 720 5394 w (When) 720 5550 w 10 /LucidaTypewriter f (factotum) 1023 5550 w 10 /LucidaSansUnicode00 f (starts,) 1636 5550 w (it) 1978 5550 w (dials) 2082 5550 w (the) 2347 5550 w (local) 2540 5550 w 10 /LucidaTypewriter f (secstore) 2803 5550 w 10 /LucidaSansUnicode00 f (and) 3417 5550 w (checks) 3635 5550 w (whether) 4002 5550 w (the) 4431 5550 w (user) 4624 5550 w (has) 4872 5550 w (an) 720 5670 w (account.) 880 5670 w (If) 1366 5670 w (so,) 1475 5670 w (it) 1662 5670 w (prompts) 1771 5670 w (for) 2223 5670 w (the) 2405 5670 w (user) 2603 5670 w 10 /LucidaSansUnicode20 f (\031) 2813 5670 w 10 /LucidaSansUnicode00 f (s) 2845 5670 w 10 /LucidaTypewriter f (secstore) 2939 5670 w 10 /LucidaSansUnicode00 f (password) 3558 5670 w (and) 4063 5670 w (fetches) 4285 5670 w (the) 4677 5670 w (key) 4874 5670 w (file.) 720 5790 w (The) 969 5790 w (PAK) 1184 5790 w (protocol) 1407 5790 w (ensures) 1845 5790 w (mutual) 2258 5790 w (authentication) 2630 5790 w (and) 3359 5790 w (prevents) 3573 5790 w (dictionary) 4025 5790 w (attacks) 4539 5790 w (on) 4917 5790 w (the) 720 5910 w (password) 920 5910 w (by) 1427 5910 w (passive) 1587 5910 w (wiretappers) 1989 5910 w (or) 2603 5910 w (active) 2750 5910 w (intermediaries.) 3074 5910 w (Passwords) 3880 5910 w (saved) 4429 5910 w (in) 4750 5910 w (the) 4885 5910 w (key) 720 6030 w (file) 923 6030 w (can) 1111 6030 w (be) 1317 6030 w (long) 1474 6030 w (random) 1726 6030 w (strings) 2139 6030 w (suitable) 2510 6030 w (for) 2930 6030 w (simpler) 3107 6030 w (challenge/response) 3507 6030 w (authentica\255) 4501 6030 w (tion) 720 6150 w (protocols.) 946 6150 w (Thus) 1501 6150 w (the) 1775 6150 w (user) 1966 6150 w (need) 2212 6150 w (only) 2485 6150 w (remember) 2725 6150 w (a) 3260 6150 w (single,) 3351 6150 w (weaker) 3708 6150 w (password) 4087 6150 w (to) 4585 6150 w (enable) 4719 6150 w (strong,) 720 6270 w 10 /LucidaSansUnicode20 f (\030\030) 1128 6270 w 10 /LucidaSansUnicode00 f (single) 1192 6270 w (sign) 1543 6270 w (on) 1810 6270 w 10 /LucidaSansUnicode20 f (\031\031) 1933 6270 w 10 /LucidaSansUnicode00 f (authentication) 2060 6270 w (to) 2818 6270 w (unchanged) 2979 6270 w (legacy) 3577 6270 w (applications) 3945 6270 w (scattered) 4593 6270 w (across multiple authentication domains.) 720 6390 w 10 /LucidaSans-Demi f (6.) 720 6630 w (Transport Layer Security) 873 6630 w 10 /LucidaSansUnicode00 f (Since) 720 6786 w (the) 1018 6786 w (Plan) 1219 6786 w (9) 1467 6786 w (operating) 1577 6786 w (system) 2090 6786 w (is) 2477 6786 w (designed) 2604 6786 w (for) 3093 6786 w (use) 3279 6786 w (in) 3495 6786 w (network) 3633 6786 w (elements) 4072 6786 w (that) 4559 6786 w (must) 4797 6786 w (withstand) 720 6906 w (direct) 1226 6906 w (attack,) 1536 6906 w (unguarded) 1894 6906 w (by) 2453 6906 w (firewall) 2601 6906 w (or) 2987 6906 w (VPN,) 3122 6906 w (we) 3381 6906 w (seek) 3547 6906 w (to) 3801 6906 w (ensure) 3932 6906 w (that) 4293 6906 w (all applica\255) 4517 6906 w (tions) 720 7026 w (use) 1003 7026 w (channels) 1215 7026 w (with) 1686 7026 w (appropriate) 1934 7026 w (mutual) 2541 7026 w (authentication) 2922 7026 w (and) 3660 7026 w (encryption.) 3883 7026 w (A) 4505 7026 w (principal) 4618 7026 w (tool) 720 7146 w (for) 946 7146 w (this) 1123 7146 w (is) 1340 7146 w (TLS) 1458 7146 w (1.0) 1666 7146 w ([RFC2246].) 1862 7146 w (\(TLS) 2467 7146 w (1.0) 2707 7146 w (is) 2902 7146 w (nearly) 3019 7146 w (the) 3351 7146 w (same) 3543 7146 w (as) 3835 7146 w (SSL) 3978 7146 w (3.0,) 4176 7146 w (and) 4403 7146 w (our) 4620 7146 w (soft\255) 4821 7146 w (ware is designed to interoperate with implementations of either standard.\)) 720 7266 w cleartomark showpage saveobj restore %%EndPage: 15 15 %%Page: 16 16 /saveobj save def mark 16 pagesetup 10 /LucidaSansUnicode00 f (\255 16 \255) 2752 480 w (The) 720 840 w (TLS) 937 840 w (record) 1143 840 w (layer) 1493 840 w (protocol) 1763 840 w (ensures) 2204 840 w (message) 2620 840 w (integrity) 3081 840 w (and) 3523 840 w (privacy) 3740 840 w (through) 4120 840 w (the) 4544 840 w (use) 4736 840 w (of) 4942 840 w (message) 720 960 w (digesting) 1184 960 w (and) 1675 960 w (encryption) 1895 960 w (with) 2449 960 w (shared) 2694 960 w (secrets.) 3062 960 w (We) 3509 960 w (implement) 3690 960 w (this) 4247 960 w (service) 4465 960 w (as) 4840 960 w (a) 4985 960 w (kernel) 720 1080 w (device,) 1062 1080 w (though) 1442 1080 w (it) 1829 1080 w (could) 1936 1080 w (be) 2243 1080 w (performed) 2403 1080 w (at) 2955 1080 w (slightly) 3088 1080 w (higher) 3480 1080 w (cost) 3833 1080 w (by) 4074 1080 w (invoking) 4230 1080 w (a) 4686 1080 w (sepa\255) 4782 1080 w (rate program.) 720 1200 w (The library interface to the TLS kernel device is:) 1453 1200 w 9 /LucidaTypewriter f (int) 1008 1370 w (pushtls\(int) 1268 1370 w (fd,) 2048 1370 w (char) 2308 1370 w (*hashalg,) 2633 1370 w (char) 1268 1480 w (*cryptalg,) 1593 1480 w (int) 2308 1480 w (isclient,) 2568 1480 w (char) 1268 1590 w (*secret,) 1593 1590 w (char) 2178 1590 w (*dir\);) 2503 1590 w 10 /LucidaSansUnicode00 f (Given) 720 1770 w (a) 1025 1770 w (file) 1114 1770 w (descriptor,) 1299 1770 w (the) 1858 1770 w (names) 2047 1770 w (of) 2398 1770 w (message) 2530 1770 w (digest) 2988 1770 w (and) 3320 1770 w (encryption) 3534 1770 w (algorithms,) 4083 1770 w (and) 4670 1770 w (the) 4885 1770 w (shared) 720 1890 w (secret,) 1101 1890 w 10 /LucidaTypewriter f (pushtls) 1478 1890 w 10 /LucidaSansUnicode00 f (returns) 2035 1890 w (a) 2438 1890 w (new) 2546 1890 w (file) 2794 1890 w (descriptor) 2998 1890 w (for) 3544 1890 w (the) 3736 1890 w (encrypted) 3943 1890 w (connection.) 4476 1890 w (\(The) 720 2010 w (final) 981 2010 w (argument) 1241 2010 w 10 /LucidaTypewriter f (dir) 1757 2010 w 10 /LucidaSansUnicode00 f (receives) 2021 2010 w (the) 2461 2010 w (name) 2664 2010 w (of) 2978 2010 w (the) 3124 2010 w (directory) 3327 2010 w (in) 3806 2010 w (the) 3945 2010 w (TLS) 4148 2010 w (device) 4366 2010 w (that) 4721 2010 w (is) 4960 2010 w (associated) 720 2130 w (with) 1262 2130 w (the) 1500 2130 w (new connection.\)) 1688 2130 w (The function is named by analogy with the ) 2576 2130 w 10 /LucidaSansUnicode20 f (\030\030) 4674 2130 w 10 /LucidaSansUnicode00 f (push) 4738 2130 w 10 /LucidaSansUnicode20 f (\031\031) 4976 2130 w 10 /LucidaSansUnicode00 f (operation) 720 2250 w (supported) 1228 2250 w (by) 1769 2250 w (the) 1928 2250 w (stream) 2127 2250 w (I/O) 2504 2250 w (system) 2708 2250 w (of) 3092 2250 w (Research) 3234 2250 w (Unix) 3713 2250 w (and) 3978 2250 w (the) 4202 2250 w (first) 4401 2250 w (two) 4640 2250 w (edi\255) 4859 2250 w (tions) 720 2370 w (of) 999 2370 w (Plan) 1135 2370 w (9.) 1374 2370 w (Because) 1539 2370 w (adding) 1966 2370 w (encryption) 2338 2370 w (is) 2890 2370 w (as) 3008 2370 w (simple) 3152 2370 w (as) 3511 2370 w (replacing) 3655 2370 w (one) 4141 2370 w (file) 4358 2370 w (descriptor) 4547 2370 w (with another, adding encryption to a particular network service is usually trivial.) 720 2490 w (The Plan 9 shared key authentication protocols establish a shared 56-bit secret as) 720 2646 w (a) 4753 2646 w (side) 4841 2646 w (effect.) 720 2766 w (Native) 1093 2766 w (Plan) 1431 2766 w (9) 1667 2766 w (network) 1765 2766 w (services) 2191 2766 w (such) 2612 2766 w (as) 2872 2766 w 10 /LucidaTypewriter f (cpu) 3012 2766 w 10 /LucidaSansUnicode00 f (and) 3262 2766 w 10 /LucidaTypewriter f (exportfs) 3476 2766 w 10 /LucidaSansUnicode00 f (use) 4086 2766 w (these) 4289 2766 w (protocols) 4585 2766 w (for authentication and then invoke) 720 2886 w 10 /LucidaTypewriter f (pushtls) 2429 2886 w 10 /LucidaSansUnicode00 f (with the shared secret.) 2965 2886 w (Above) 720 3042 w (the) 1062 3042 w (record) 1258 3042 w (layer,) 1612 3042 w (TLS) 1918 3042 w (specifies) 2129 3042 w (a) 2593 3042 w (handshake) 2689 3042 w (protocol) 3254 3042 w (using) 3699 3042 w (public) 4007 3042 w (keys) 4346 3042 w (to) 4605 3042 w (estab\255) 4745 3042 w (lish) 720 3162 w (the) 938 3162 w (session) 1139 3162 w (secret.) 1546 3162 w (This) 1948 3162 w (protocol) 2199 3162 w (is) 2649 3162 w (widely) 2775 3162 w (used) 3127 3162 w (with) 3405 3162 w (HTTP) 3656 3162 w (and) 3957 3162 w (IMAP4) 4183 3162 w (to) 4531 3162 w (provide) 4675 3162 w (server) 720 3282 w (authentication,) 1054 3282 w (though) 1818 3282 w (with) 2201 3282 w (client) 2444 3282 w (certificates) 2746 3282 w (it) 3314 3282 w (could) 3418 3282 w (provide) 3722 3282 w (mutual) 4125 3282 w (authentica\255) 4501 3282 w (tion.) 720 3402 w (The library function) 1005 3402 w 9 /LucidaTypewriter f (int) 1008 3572 w (tlsClient\(int) 1268 3572 w (fd,) 2178 3572 w (TLSconn) 2438 3572 w (*conn\)) 2958 3572 w 10 /LucidaSansUnicode00 f (handles) 720 3752 w (the) 1133 3752 w (initial) 1323 3752 w (handshake) 1628 3752 w (and) 2187 3752 w (returns) 2402 3752 w (the) 2788 3752 w (result) 2979 3752 w (of) 3291 3752 w 10 /LucidaTypewriter f (pushtls) 3425 3752 w 10 /LucidaSansUnicode00 f (.) 3929 3752 w (On) 4029 3752 w (return,) 4205 3752 w (it) 4572 3752 w (fills) 4674 3752 w (the) 4885 3752 w 10 /LucidaTypewriter f (conn) 720 3872 w 10 /LucidaSansUnicode00 f (structure) 1061 3872 w (with) 1552 3872 w (the) 1810 3872 w (session) 2018 3872 w (ID) 2432 3872 w (used) 2589 3872 w (and) 2874 3872 w (the) 3107 3872 w (X.509) 3314 3872 w (certificate) 3650 3872 w (presented) 4181 3872 w (by) 4718 3872 w (the) 4885 3872 w (server,) 720 3992 w (but) 1086 3992 w (makes) 1285 3992 w (no) 1635 3992 w (effort) 1795 3992 w (to) 2101 3992 w (verify) 2236 3992 w (the) 2541 3992 w (certificate.) 2734 3992 w (Although) 3315 3992 w (the) 3797 3992 w (original) 3990 3992 w (design) 4396 3992 w (intent) 4757 3992 w (of) 720 4112 w (X.509) 858 4112 w (certificates) 1181 4112 w (expected) 1750 4112 w (that) 2232 4112 w (they) 2462 4112 w (would) 2708 4112 w (be) 3039 4112 w (used) 3197 4112 w (with) 3468 4112 w (a) 3712 4112 w (Public) 3806 4112 w (Key) 4134 4112 w (Infrastructure,) 4346 4112 w (reliable deployment has been so) 720 4232 w (long) 2328 4232 w (delayed) 2575 4232 w (and) 2982 4232 w (problematic) 3195 4232 w (that) 3806 4232 w (we) 4030 4232 w (have) 4196 4232 w (adopted) 4454 4232 w (the) 4885 4232 w (simpler) 720 4352 w (policy) 1125 4352 w (of) 1453 4352 w (just) 1594 4352 w (using) 1817 4352 w (the) 2126 4352 w (X.509) 2324 4352 w (certificate) 2651 4352 w (as) 3172 4352 w (a) 3320 4352 w (representation) 3417 4352 w (of) 4166 4352 w (the) 4306 4352 w (public) 4503 4352 w (key,) 4842 4352 w (depending) 720 4472 w (on) 1287 4472 w (a) 1461 4472 w (locally-administered) 1567 4472 w (directory) 2617 4472 w (of) 3099 4472 w (SHA1) 3248 4472 w (thumbprints) 3559 4472 w (to) 4210 4472 w (allow) 4359 4472 w (applica\255) 4662 4472 w (tions to decide which public keys to trust for which purposes.) 720 4592 w 10 /LucidaSans-Demi f (7.) 720 4832 w (Related Work and Discussion) 873 4832 w 10 /LucidaSansUnicode00 f (Kerberos,) 720 4988 w (one) 1219 4988 w (of) 1431 4988 w (the) 1562 4988 w (earliest) 1751 4988 w (distributed) 2139 4988 w (authentication) 2704 4988 w (systems,) 3433 4988 w (keeps) 3890 4988 w (a) 4208 4988 w (set) 4297 4988 w (of) 4475 4988 w (authenti\255) 4607 4988 w (cation) 720 5108 w (tickets) 1054 5108 w (in) 1412 5108 w (a) 1542 5108 w (temporary) 1636 5108 w (file) 2174 5108 w (called) 2364 5108 w (a) 2686 5108 w (ticket) 2780 5108 w (cache.) 3087 5108 w (The) 3465 5108 w (ticket) 3685 5108 w (cache) 3991 5108 w (is) 4304 5108 w (protected) 4422 5108 w (by) 4925 5108 w (Unix) 720 5228 w (file) 988 5228 w (permissions.) 1186 5228 w (An) 1884 5228 w (environment) 2062 5228 w (variable) 2721 5228 w (containing) 3149 5228 w (the) 3707 5228 w (file) 3910 5228 w (name) 4109 5228 w (of) 4423 5228 w (the) 4569 5228 w (ticket) 4772 5228 w (cache) 720 5348 w (allows) 1032 5348 w (for) 1371 5348 w (different) 1547 5348 w (ticket) 2002 5348 w (caches) 2307 5348 w (in) 2669 5348 w (different) 2796 5348 w (simultaneous) 3250 5348 w (login) 3934 5348 w (sessions.) 4213 5348 w (A) 4725 5348 w (user) 4830 5348 w (logs) 720 5468 w (in) 965 5468 w (by) 1098 5468 w (typing) 1255 5468 w (his) 1602 5468 w (or) 1786 5468 w (her) 1930 5468 w (Kerberos) 2131 5468 w (password.) 2607 5468 w (The) 3176 5468 w (login) 3400 5468 w (program) 3686 5468 w (uses) 4145 5468 w (the) 4408 5468 w (Kerberos) 4606 5468 w (password) 720 5588 w (to) 1231 5588 w (obtain) 1378 5588 w (a) 1734 5588 w (temporary) 1838 5588 w (ticket-granting) 2385 5588 w (ticket) 3169 5588 w (from) 3485 5588 w (the) 3765 5588 w (authentication) 3968 5588 w (server,) 4711 5588 w (initializes) 720 5708 w (the) 1234 5708 w (ticket) 1440 5708 w (cache) 1759 5708 w (with) 2085 5708 w (the) 2341 5708 w (ticket-granting) 2547 5708 w (ticket,) 3334 5708 w (and) 3685 5708 w (then) 3916 5708 w (forgets) 4184 5708 w (the) 4580 5708 w (pass\255) 4787 5708 w (word.) 720 5828 w (Other) 1078 5828 w (applications) 1404 5828 w (can) 2041 5828 w (use) 2261 5828 w (the) 2482 5828 w (ticket-granting) 2689 5828 w (ticket) 3476 5828 w (to) 3795 5828 w (sign) 3944 5828 w (tickets) 4199 5828 w (for) 4569 5828 w (them\255) 4759 5828 w (selves) 720 5948 w (on) 1049 5948 w (behalf) 1206 5948 w (of) 1542 5948 w (the) 1674 5948 w (user) 1863 5948 w (during) 2107 5948 w (the) 2460 5948 w (login) 2649 5948 w (session.) 2926 5948 w (The) 3385 5948 w (ticket) 3600 5948 w (cache) 3902 5948 w (is) 4211 5948 w (removed) 4326 5948 w (when) 4783 5948 w (the) 720 6068 w (user) 926 6068 w (logs) 1187 6068 w (out) 1441 6068 w ([Stei88]) 1652 6068 w (The) 2071 6068 w (ticket) 2303 6068 w (cache) 2622 6068 w (relieves) 2948 6068 w (the) 3369 6068 w (user) 3575 6068 w (from) 3836 6068 w (typing) 4118 6068 w (a) 4473 6068 w (password) 4578 6068 w (every time authentication is needed.) 720 6188 w (The) 720 6344 w (secure) 956 6344 w (shell) 1328 6344 w (SSH) 1610 6344 w (develops) 1847 6344 w (this) 2333 6344 w (idea) 2567 6344 w (further,) 2825 6344 w (replacing) 3248 6344 w (the) 3751 6344 w (temporary) 3962 6344 w (file) 4517 6344 w (with) 4724 6344 w (a) 4985 6344 w (named) 720 6464 w (Unix) 1093 6464 w (domain) 1358 6464 w (socket) 1765 6464 w (connected) 2123 6464 w (to) 2665 6464 w (a) 2806 6464 w (user-level) 2904 6464 w (program,) 3437 6464 w (called) 3928 6464 w (an) 4254 6464 w (agent.) 4414 6464 w (Once) 4793 6464 w (the) 720 6584 w (SSH) 917 6584 w (agent) 1141 6584 w (is) 1455 6584 w (started) 1577 6584 w (and) 1959 6584 w (initialized) 2181 6584 w (with) 2698 6584 w (one) 2945 6584 w (or) 3166 6584 w (more) 3310 6584 w (RSA) 3603 6584 w (private) 3832 6584 w (keys,) 4208 6584 w (SSH) 4500 6584 w (clients) 4725 6584 w (can) 720 6704 w (employ) 941 6704 w (it) 1348 6704 w (to) 1467 6704 w (perform) 1618 6704 w (RSA) 2063 6704 w (authentications) 2302 6704 w (on) 3101 6704 w (their) 3277 6704 w (behalf.) 3555 6704 w (In) 3974 6704 w (the) 4118 6704 w (absence) 4326 6704 w (of) 4773 6704 w (an) 4923 6704 w (agent,) 720 6824 w (SSH) 1066 6824 w (typically) 1290 6824 w (uses) 1729 6824 w (RSA) 1991 6824 w (keys) 2220 6824 w (read) 2480 6824 w (from) 2738 6824 w (encrypted) 3013 6824 w (disk) 3537 6824 w (files) 3781 6824 w (or) 4026 6824 w (uses) 4171 6824 w (passphrase-) 4434 6824 w (based) 720 6944 w (authentication,) 1046 6944 w (both) 1810 6944 w (of) 2070 6944 w (which) 2205 6944 w (would) 2523 6944 w (require) 2852 6944 w (prompting) 3237 6944 w (the) 3785 6944 w (user) 3977 6944 w (for) 4224 6944 w (a) 4400 6944 w (passphrase) 4492 6944 w (whenever) 720 7064 w (authentication) 1223 7064 w (is) 1960 7064 w (needed) 2082 7064 w ([Ylon96].) 2480 7064 w (The) 2992 7064 w (self-certifying) 3215 7064 w (file) 3944 7064 w (system) 4137 7064 w (SFS) 4519 7064 w (uses) 4723 7064 w (a) 4985 7064 w (similar) 720 7184 w (agent) 1081 7184 w ([Kami00],) 1387 7184 w (not) 1887 7184 w (only) 2081 7184 w (for) 2318 7184 w (moderating) 2490 7184 w (the) 3082 7184 w (use) 3270 7184 w (of) 3472 7184 w (client) 3603 7184 w (authentication) 3900 7184 w (keys) 4628 7184 w (but) 4878 7184 w (also for verifying server public keys [Mazi99].) 720 7304 w cleartomark showpage saveobj restore %%EndPage: 16 16 %%Page: 17 17 /saveobj save def mark 17 pagesetup 10 /LucidaSansUnicode00 f (\255 17 \255) 2752 480 w 10 /LucidaTypewriter f (Factotum) 720 840 w 10 /LucidaSansUnicode00 f (is) 1344 840 w (a) 1472 840 w (logical) 1575 840 w (continuation) 1939 840 w (of) 2595 840 w (this) 2741 840 w (evolution,) 2968 840 w (replacing) 3498 840 w (the) 3995 840 w (program-specific) 4199 840 w (SSH) 720 960 w (or) 945 960 w (SFS) 1090 960 w (agents) 1295 960 w (with) 1661 960 w (a) 1909 960 w (general) 2007 960 w (agent) 2410 960 w (capable) 2724 960 w (of) 3138 960 w (serving) 3278 960 w (a) 3673 960 w (wide) 3770 960 w (variety) 4037 960 w (of) 4401 960 w (programs.) 4541 960 w (Having) 720 1080 w (one) 1099 1080 w (agent) 1323 1080 w (for) 1640 1080 w (all) 1824 1080 w (programs) 1982 1080 w (removes) 2494 1080 w (the) 2949 1080 w (need) 3149 1080 w (to) 3431 1080 w (have) 3574 1080 w (one) 3844 1080 w (agent) 4069 1080 w (for) 4387 1080 w (each) 4572 1080 w (pro\255) 4842 1080 w (gram.) 720 1200 w (It) 1092 1200 w (also) 1215 1200 w (allows) 1468 1200 w (the) 1827 1200 w (programs) 2039 1200 w (themselves) 2563 1200 w (to) 3163 1200 w (be) 3318 1200 w (protocol-agnostic,) 3494 1200 w (so) 4453 1200 w (that,) 4622 1200 w (for) 4901 1200 w (example,) 720 1320 w (one) 1203 1320 w (could) 1420 1320 w (build) 1724 1320 w (an) 2008 1320 w (SSH) 2163 1320 w (workalike) 2383 1320 w (capable) 2885 1320 w (of) 3296 1320 w (using) 3433 1320 w (any) 3738 1320 w (protocol) 3946 1320 w (supported) 4389 1320 w (by) 4925 1320 w 10 /LucidaTypewriter f (factotum) 720 1440 w 10 /LucidaSansUnicode00 f (,) 1296 1440 w (without) 1367 1440 w (that) 1771 1440 w (program) 2001 1440 w (knowing) 2456 1440 w (anything) 2906 1440 w (about) 3366 1440 w (the) 3683 1440 w (protocols.) 3877 1440 w (Traditionally) 4435 1440 w (each program needs to) 720 1560 w (implement) 1875 1560 w (each) 2426 1560 w (authentication) 2683 1560 w (protocol) 3411 1560 w (for) 3848 1560 w (itself,) 4020 1560 w (an) 4324 1560 w 11 /LucidaSans-Italic f (O) 4474 1560 w 11 /LucidaSansUnicode00 f (\() 4569 1560 w 11 /LucidaSans-Italic f (n) 4614 1560 w 8 /LucidaSansUnicode00 f (2) 4695 1516 w 11 /LucidaSansUnicode00 f (\)) 4763 1560 w 10 /LucidaSansUnicode00 f (cod\255) 4832 1560 w (ing problem that reduces to an) 720 1680 w 11 /LucidaSans-Italic f (O) 2257 1680 w 11 /LucidaSansUnicode00 f (\() 2352 1680 w 11 /LucidaSans-Italic f (n) 2397 1680 w 11 /LucidaSansUnicode00 f (\)) 2474 1680 w 10 /LucidaSansUnicode00 f (coding problem with) 2542 1680 w 10 /LucidaTypewriter f (factotum) 3577 1680 w 10 /LucidaSansUnicode00 f (.) 4153 1680 w (Previous) 720 1836 w (work) 1184 1836 w (on) 1478 1836 w (agents) 1658 1836 w (has) 2038 1836 w (concentrated) 2263 1836 w (on) 2952 1836 w (their) 3132 1836 w (use) 3415 1836 w (by) 3642 1836 w (clients) 3815 1836 w (authenticating) 4188 1836 w (to) 4942 1836 w (servers.) 720 1956 w (Looking) 1169 1956 w (in) 1592 1956 w (the) 1720 1956 w (other) 1912 1956 w (direction,) 2206 1956 w (Sun) 2704 1956 w (Microsystem) 2919 1956 w 10 /LucidaSansUnicode20 f (\031) 3527 1956 w 10 /LucidaSansUnicode00 f (s) 3559 1956 w (system) 3646 1956 w (of) 4022 1956 w (pluggable) 4156 1956 w (authen\255) 4673 1956 w (tication) 720 2076 w (modules) 1123 2076 w (\(PAM\)) 1580 2076 w (is) 1898 2076 w (one) 2020 2076 w (of) 2242 2076 w (the) 2383 2076 w (earliest) 2581 2076 w (attempts) 2978 2076 w (to) 3450 2076 w (provide) 3591 2076 w (a) 3999 2076 w (general) 4097 2076 w (authentica\255) 4501 2076 w (tion) 720 2196 w (mechanism) 952 2196 w (for) 1547 2196 w (Unix-like) 1729 2196 w (operating) 2222 2196 w (systems) 2730 2196 w ([Sama96].) 3163 2196 w (Without) 3718 2196 w (a) 4134 2196 w (central) 4231 2196 w (authority) 4604 2196 w (like) 720 2316 w (PAM,) 936 2316 w (system) 1222 2316 w (policy) 1606 2316 w (is) 1935 2316 w (tied) 2059 2316 w (up) 2288 2316 w (in) 2457 2316 w (the) 2592 2316 w (various) 2791 2316 w (implementations) 3186 2316 w (of) 4043 2316 w (network) 4185 2316 w (services.) 4621 2316 w (For) 720 2436 w (example,) 916 2436 w (on) 1401 2436 w (a) 1564 2436 w (typical) 1659 2436 w (Unix,) 2014 2436 w (if) 2306 2436 w (a) 2411 2436 w (system) 2505 2436 w (administrator) 2884 2436 w (decides) 3577 2436 w (not) 3985 2436 w (to) 4184 2436 w (allow) 4321 2436 w (plaintext) 4611 2436 w (passwords for authentication, the) 720 2556 w (configuration) 2383 2556 w (files) 3065 2556 w (for) 3300 2556 w (a) 3472 2556 w (half) 3560 2556 w (dozen) 3776 2556 w (different) 4108 2556 w (servers) 4559 2556 w 10 /LucidaSansUnicode20 f (\024) 4940 2556 w 10 /LucidaTypewriter f (rlogind) 720 2676 w 10 /LucidaSansUnicode00 f (,) 1224 2676 w 10 /LucidaTypewriter f (telnetd) 1298 2676 w 10 /LucidaSansUnicode00 f (,) 1802 2676 w 10 /LucidaTypewriter f (ftpd) 1876 2676 w 10 /LucidaSansUnicode00 f (,) 2164 2676 w 10 /LucidaTypewriter f (sshd) 2238 2676 w 10 /LucidaSansUnicode00 f (,) 2526 2676 w (and) 2600 2676 w (so) 2822 2676 w (on) 2976 2676 w 10 /LucidaSansUnicode20 f (\024) 3141 2676 w 10 /LucidaSansUnicode00 f (need) 3283 2676 w (to) 3561 2676 w (be) 3700 2676 w (edited.) 3860 2676 w (PAM) 4269 2676 w (solves) 4520 2676 w (this) 4861 2676 w (problem) 720 2796 w (by) 1171 2796 w (hiding) 1331 2796 w (the) 1683 2796 w (details) 1883 2796 w (of) 2248 2796 w (a) 2391 2796 w (given) 2491 2796 w (authentication) 2798 2796 w (mechanism) 3539 2796 w (behind) 4137 2796 w (a) 4518 2796 w (common) 4619 2796 w (library) 720 2916 w (interface.) 1072 2916 w (Directed) 1601 2916 w (by) 2050 2916 w (a) 2206 2916 w (system-wide) 2302 2916 w (configuration) 2966 2916 w (file,) 3656 2916 w (an) 3880 2916 w (application) 4038 2916 w (selects) 4613 2916 w (a) 4985 2916 w (particular) 720 3036 w (authentication) 1247 3036 w (mechanism) 2006 3036 w (by) 2622 3036 w (dynamically) 2802 3036 w (loading) 3437 3036 w (the) 3863 3036 w (appropriate) 4083 3036 w (shared) 4712 3036 w (library.) 720 3156 w (PAM is widely used on Sun) 1126 3156 w 10 /LucidaSansUnicode20 f (\031) 2415 3156 w 10 /LucidaSansUnicode00 f (s Solaris and some Linux distributions.) 2447 3156 w 10 /LucidaTypewriter f (Factotum) 720 3312 w 10 /LucidaSansUnicode00 f (achieves) 1332 3312 w (the) 1780 3312 w (same) 1971 3312 w (goals) 2263 3312 w (using) 2558 3312 w (the) 2861 3312 w (agent) 3053 3312 w (approach.) 3362 3312 w 10 /LucidaTypewriter f (Factotum) 3914 3312 w 10 /LucidaSansUnicode00 f (is) 4527 3312 w (the) 4644 3312 w (only) 4836 3312 w (process) 720 3432 w (that) 1128 3432 w (needs) 1353 3432 w (to) 1674 3432 w (create) 1805 3432 w (capabilities,) 2134 3432 w (so) 2746 3432 w (all) 2891 3432 w (the) 3037 3432 w (network) 3225 3432 w (servers) 3650 3432 w (can) 4031 3432 w (run) 4232 3432 w (as) 4430 3432 w (untrusted) 4569 3432 w (users) 720 3552 w (\(e.g.,) 1015 3552 w (Plan) 1296 3552 w (9) 1531 3552 w 10 /LucidaSansUnicode20 f (\031) 1594 3552 w 10 /LucidaSansUnicode00 f (s) 1626 3552 w 10 /LucidaTypewriter f (none) 1711 3552 w 10 /LucidaSansUnicode00 f (or) 2033 3552 w (Unix) 2169 3552 w 10 /LucidaSansUnicode20 f (\031) 2390 3552 w 10 /LucidaSansUnicode00 f (s) 2422 3552 w 10 /LucidaTypewriter f (nobody) 2507 3552 w 10 /LucidaSansUnicode00 f (\),) 2939 3552 w (which) 3038 3552 w (greatly) 3353 3552 w (reduces) 3719 3552 w (the) 4133 3552 w (harm) 4322 3552 w (done) 4607 3552 w (if) 4884 3552 w (a) 4985 3552 w (server) 720 3672 w (is) 1056 3672 w (buggy) 1175 3672 w (and) 1515 3672 w (is) 1734 3672 w (compromised.) 1853 3672 w (In) 2618 3672 w (fact,) 2747 3672 w (if) 2997 3672 w 10 /LucidaTypewriter f (factotum) 3101 3672 w 10 /LucidaSansUnicode00 f (were) 3715 3672 w (implemented) 3983 3672 w (on) 4658 3672 w (Unix) 4819 3672 w (along) 720 3792 w (with) 1027 3792 w (an) 1270 3792 w (analogue) 1425 3792 w (to) 1905 3792 w (the) 2041 3792 w (Plan) 2234 3792 w (9) 2473 3792 w (capability) 2574 3792 w (device,) 3075 3792 w (venerable) 3452 3792 w (programs) 3960 3792 w (like) 4466 3792 w 10 /LucidaTypewriter f (su) 4677 3792 w 10 /LucidaSansUnicode00 f (and) 4860 3792 w 10 /LucidaTypewriter f (login) 720 3912 w 10 /LucidaSansUnicode00 f (would no longer need to be installed ) 1112 3912 w 10 /LucidaSansUnicode20 f (\030\030) 2927 3912 w 10 /LucidaSansUnicode00 f (setuid root.) 2991 3912 w 10 /LucidaSansUnicode20 f (\031\031) 3553 3912 w 10 /LucidaSansUnicode00 f (Several) 720 4068 w (other) 1114 4068 w (systems,) 1422 4068 w (such) 1896 4068 w (as) 2173 4068 w (Password) 2330 4068 w (Safe) 2835 4068 w ([Schn],) 3088 4068 w (store) 3467 4068 w (multiple) 3765 4068 w (passwords) 4215 4068 w (in) 4780 4068 w (an) 4923 4068 w (encrypted) 720 4188 w (file,) 1235 4188 w (so) 1452 4188 w (that) 1598 4188 w (the) 1823 4188 w (user) 2012 4188 w (only) 2256 4188 w (needs) 2494 4188 w (to) 2816 4188 w (remember) 2947 4188 w (one) 3479 4188 w (password.) 3691 4188 w (Our) 4250 4188 w 10 /LucidaTypewriter f (secstore) 4464 4188 w 10 /LucidaSansUnicode00 f (solution) 720 4308 w (differs) 1146 4308 w (from) 1494 4308 w (these) 1760 4308 w (by) 2056 4308 w (placing) 2205 4308 w (the) 2590 4308 w (storage) 2779 4308 w (in) 3176 4308 w (a) 3301 4308 w (hardened) 3390 4308 w (location) 3882 4308 w (in) 4301 4308 w (the) 4426 4308 w (network,) 4616 4308 w (so) 720 4428 w (that) 875 4428 w (the) 1109 4428 w (encrypted) 1306 4428 w (file) 1829 4428 w (is) 2022 4428 w (less) 2144 4428 w (liable) 2373 4428 w (to) 2676 4428 w (be) 2816 4428 w (stolen) 2977 4428 w (for) 3315 4428 w (offline) 3496 4428 w (dictionary) 3849 4428 w (attack) 4371 4428 w (and) 4706 4428 w (so) 4928 4428 w (that) 720 4548 w (it) 962 4548 w (is) 1079 4548 w (available) 1210 4548 w (even) 1684 4548 w (when) 1961 4548 w (a) 2269 4548 w (user) 2376 4548 w (has) 2638 4548 w (several) 2858 4548 w (computers.) 3250 4548 w (In) 3881 4548 w (contrast,) 4024 4548 w (Microsoft) 4503 4548 w 10 /LucidaSansUnicode20 f (\031) 4957 4548 w 10 /LucidaSansUnicode00 f (s) 4989 4548 w (Passport) 720 4668 w (system) 1211 4668 w ([Micr]) 1628 4668 w (keeps) 1978 4668 w (credentials) 2339 4668 w (in) 2945 4668 w (the) 3112 4668 w (network,) 3343 4668 w (but) 3843 4668 w (centralized) 4081 4668 w (at) 4693 4668 w (one) 4861 4668 w (extremely-high-value) 720 4788 w (target.) 1831 4788 w (The) 2228 4788 w (important) 2454 4788 w (feature) 2977 4788 w (of) 3366 4788 w (Passport,) 3509 4788 w (setting) 4001 4788 w (up) 4381 4788 w (trust) 4552 4788 w (rela\255) 4826 4788 w (tionships) 720 4908 w (with) 1231 4908 w (e-merchants,) 1502 4908 w (is) 2221 4908 w (outside) 2366 4908 w (our) 2790 4908 w (scope.) 3019 4908 w (The) 3430 4908 w 10 /LucidaTypewriter f (secstore) 3676 4908 w 10 /LucidaSansUnicode00 f (architecture) 4317 4908 w (is) 4960 4908 w (almost) 720 5028 w (identical) 1079 5028 w (to) 1523 5028 w (Perlman) 1654 5028 w (and) 2078 5028 w (Kaufman) 2292 5028 w 10 /LucidaSansUnicode20 f (\031) 2721 5028 w 10 /LucidaSansUnicode00 f (s) 2753 5028 w ([Perl99]) 2838 5028 w (but) 3245 5028 w (with) 3441 5028 w (newer) 3680 5028 w (EKE) 4006 5028 w (technology.) 4213 5028 w (Like) 4844 5028 w (them,) 720 5148 w (we) 1045 5148 w (chose) 1223 5148 w (to) 1549 5148 w (defend) 1692 5148 w (mainly) 2074 5148 w (against) 2439 5148 w (outside) 2835 5148 w (attacks) 3239 5148 w (on) 3628 5148 w 10 /LucidaTypewriter f (secstore) 3795 5148 w 10 /LucidaSansUnicode00 f (;) 4371 5148 w (if) 4447 5148 w (additional) 4557 5148 w (defense) 720 5268 w (of) 1145 5268 w (the) 1287 5268 w (files) 1486 5268 w (on) 1732 5268 w (the) 1899 5268 w (server) 2098 5268 w (itself) 2439 5268 w (is) 2723 5268 w (desired,) 2848 5268 w (one) 3284 5268 w (can) 3508 5268 w (use) 3721 5268 w (distributed) 3935 5268 w (techniques) 4511 5268 w ([Ford00].) 720 5388 w (We) 720 5544 w (made) 899 5544 w (a) 1203 5544 w (conscious) 1295 5544 w (choice) 1811 5544 w (of) 2158 5544 w (placing) 2293 5544 w (encryption,) 2681 5544 w (message) 3265 5544 w (integrity,) 3727 5544 w (and) 4202 5544 w (key) 4420 5544 w (manage\255) 4624 5544 w (ment) 720 5664 w (at) 1005 5664 w (the) 1134 5664 w (application) 1326 5664 w (layer) 1897 5664 w (\(TLS,) 2167 5664 w (just) 2439 5664 w (above) 2656 5664 w (layer) 2980 5664 w (4\)) 3250 5664 w (rather) 3383 5664 w (than) 3712 5664 w (at) 3965 5664 w (layer) 4094 5664 w (3,) 4364 5664 w (as) 4496 5664 w (in) 4639 5664 w (IPsec.) 4766 5664 w (This) 720 5784 w (leads) 966 5784 w (to) 1261 5784 w (a) 1400 5784 w (simpler) 1496 5784 w (structure) 1899 5784 w (for) 2378 5784 w (the) 2558 5784 w (network) 2754 5784 w (stack,) 3187 5784 w (easier) 3512 5784 w (integration) 3842 5784 w (with) 4415 5784 w (applica\255) 4662 5784 w (tions) 720 5904 w (and,) 999 5904 w (most) 1250 5904 w (important,) 1531 5904 w (easier) 2080 5904 w (network) 2407 5904 w (administration) 2838 5904 w (since) 3581 5904 w (we) 3869 5904 w (can) 4040 5904 w (recognize) 4246 5904 w (which) 4759 5904 w (applications) 720 6024 w (are) 1347 6024 w (misbehaving) 1541 6024 w (based) 2197 6024 w (on) 2527 6024 w (TCP) 2692 6024 w (port) 2921 6024 w (numbers.) 3165 6024 w (TLS) 3699 6024 w (does) 3911 6024 w (suffer) 4184 6024 w (\(relative) 4511 6024 w (to) 4942 6024 w (IPsec\)) 720 6144 w (from) 1034 6144 w (the) 1305 6144 w (possibility) 1499 6144 w (of) 2031 6144 w (forged) 2167 6144 w (TCP) 2525 6144 w (Reset,) 2750 6144 w (but) 3083 6144 w (we) 3283 6144 w (feel) 3454 6144 w (that) 3670 6144 w (this) 3899 6144 w (is) 4116 6144 w (adequately) 4234 6144 w (dealt) 4800 6144 w (with by randomized TCP sequence numbers.) 720 6264 w (Writing) 720 6420 w (safe) 1114 6420 w (code) 1361 6420 w (is) 1640 6420 w (difficult.) 1768 6420 w (Stack) 2254 6420 w (attacks,) 2557 6420 w (mistakes) 2981 6420 w (in) 3459 6420 w (logic,) 3598 6420 w (and) 3910 6420 w (bugs) 4139 6420 w (in) 4426 6420 w (compilers) 4566 6420 w (and) 720 6540 w (operating) 934 6540 w (systems) 1434 6540 w (can) 1859 6540 w (each) 2061 6540 w (make) 2319 6540 w (it) 2615 6540 w (possible) 2715 6540 w (for) 3152 6540 w (an) 3325 6540 w (attacker) 3475 6540 w (to) 3898 6540 w (subvert) 4029 6540 w (the) 4424 6540 w (intended) 4612 6540 w (execution) 720 6660 w (sequence) 1235 6660 w (of) 1733 6660 w (a) 1872 6660 w (service.) 1968 6660 w (If) 2409 6660 w (the) 2516 6660 w (server) 2712 6660 w (process) 3050 6660 w (has) 3465 6660 w (the) 3674 6660 w (privileges) 3870 6660 w (of) 4379 6660 w (a) 4518 6660 w (powerful) 4614 6660 w (user,) 720 6780 w (such) 1004 6780 w (as) 1272 6780 w 10 /LucidaTypewriter f (root) 1419 6780 w 10 /LucidaSansUnicode00 f (on) 1748 6780 w (Unix,) 1912 6780 w (then) 2206 6780 w (so) 2464 6780 w (does) 2617 6780 w (the) 2889 6780 w (attacker.) 3085 6780 w 10 /LucidaTypewriter f (Factotum) 3580 6780 w 10 /LucidaSansUnicode00 f (allows) 4197 6780 w (us) 4540 6780 w (to) 4694 6780 w (con\255) 4833 6780 w (strain) 720 6900 w (the) 1029 6900 w (privileged) 1218 6900 w (execution) 1732 6900 w (to) 2241 6900 w (a) 2373 6900 w (single) 2463 6900 w (process) 2787 6900 w (whose) 3196 6900 w (core) 3538 6900 w (is) 3782 6900 w (a) 3897 6900 w (few) 3987 6900 w (thousand) 4192 6900 w (lines) 4680 6900 w (of) 4942 6900 w (code.) 720 7020 w (Verifying) 1064 7020 w (such) 1546 7020 w (a) 1821 7020 w (process,) 1925 7020 w (both) 2380 7020 w (through) 2652 7020 w (manual) 3087 7020 w (and) 3491 7020 w (automatic) 3719 7020 w (means,) 4247 7020 w (is) 4644 7020 w (much) 4772 7020 w (easier and less error prone than requiring it of all servers.) 720 7140 w cleartomark showpage saveobj restore %%EndPage: 17 17 %%Page: 18 18 /saveobj save def mark 18 pagesetup 10 /LucidaSansUnicode00 f (\255 18 \255) 2752 480 w 10 /LucidaSans-Demi f (Acknowledgments) 720 840 w 10 /LucidaSansUnicode00 f (William) 720 996 w (Josephson) 1158 996 w (contributed) 1744 996 w (to) 2395 996 w (the) 2582 996 w (implementation) 2826 996 w (of) 3677 996 w (password) 3864 996 w (changing) 4415 996 w (in) 4949 996 w 10 /LucidaTypewriter f (secstore) 720 1116 w 10 /LucidaSansUnicode00 f (.) 1296 1116 w (We) 1399 1116 w (thank) 1580 1116 w (Phil) 1893 1116 w (MacKenzie) 2107 1116 w (and) 2663 1116 w (Mart\355n) 2882 1116 w (Abadi) 3231 1116 w (for) 3549 1116 w (helpful) 3727 1116 w (comments) 4104 1116 w (on) 4646 1116 w (early) 4807 1116 w (parts) 720 1236 w (of) 1017 1236 w (the) 1165 1236 w (design.) 1370 1236 w (Chuck) 1807 1236 w (Blake,) 2159 1236 w (Peter) 2497 1236 w (Bosch,) 2792 1236 w (Frans) 3157 1236 w (Kaashoek,) 3470 1236 w (Sape) 4015 1236 w (Mullender,) 4293 1236 w (and) 4860 1236 w (Lakshman Y. N., predominantly Dutchmen, gave helpful comments on the paper.) 720 1356 w 10 /LucidaSans-Demi f (References) 720 1596 w 10 /LucidaSansUnicode00 f ([Bell93]) 720 1752 w (S.M.) 1130 1752 w (Bellovin) 1380 1752 w (and) 1803 1752 w (M.) 2030 1752 w (Merritt,) 2195 1752 w 10 /LucidaSansUnicode20 f (\030\030) 2601 1752 w 10 /LucidaSansUnicode00 f (Augmented) 2665 1752 w (Encrypted) 3272 1752 w (Key) 3798 1752 w (Exchange,) 4018 1752 w 10 /LucidaSansUnicode20 f (\031\031) 4513 1752 w 10 /LucidaSansUnicode00 f (Proceed\255) 4624 1752 w (ings) 720 1872 w (of) 964 1872 w (the) 1102 1872 w (1st) 1297 1872 w (ACM) 1488 1872 w (Conference) 1752 1872 w (on) 2343 1872 w (Computer) 2506 1872 w (and) 3028 1872 w (Communications) 3248 1872 w (Security) 4103 1872 w (\(1993\)) 4525 1872 w (pp.) 4882 1872 w (244 - 250.) 720 1992 w ([Boyk00]) 720 2148 w (Victor) 1184 2148 w (Boyko,) 1511 2148 w (Philip) 1876 2148 w (MacKenzie,) 2186 2148 w (and) 2778 2148 w (Sarvar) 3001 2148 w (Patel,) 3342 2148 w 10 /LucidaSansUnicode20 f (\030\030) 3649 2148 w 10 /LucidaSansUnicode00 f (Provably) 3713 2148 w (Secure) 4164 2148 w (Password-) 4528 2148 w (Authenticated Key Exchange using Diffie-Hellman,) 720 2268 w 10 /LucidaSansUnicode20 f (\031\031) 3177 2268 w 10 /LucidaSansUnicode00 f (Eurocrypt 2000, 156) 3273 2268 w 10 /LucidaSansUnicode20 f (\023) 4272 2268 w 10 /LucidaSansUnicode00 f (171.) 4322 2268 w ([RFC2246] T . Dierks and C. Allen, ) 720 2424 w 10 /LucidaSansUnicode20 f (\030\030) 2411 2424 w 10 /LucidaSansUnicode00 f (The TLS Protocol, Version 1.0,) 2475 2424 w 10 /LucidaSansUnicode20 f (\031\031) 3937 2424 w 10 /LucidaSansUnicode00 f (RFC 2246.) 4033 2424 w ([Ford00] Warwick Ford and Burton) 720 2580 w (S.) 2409 2580 w (Kaliski,) 2528 2580 w (Jr.,) 2909 2580 w 10 /LucidaSansUnicode20 f (\030\030) 3078 2580 w 10 /LucidaSansUnicode00 f (Server-Assisted) 3142 2580 w (Generation) 3940 2580 w (of) 4504 2580 w (a) 4635 2580 w (Strong) 4723 2580 w (Secret) 720 2700 w (from) 1081 2700 w (a) 1379 2700 w (Password,) 1500 2700 w 10 /LucidaSansUnicode20 f (\031\031) 1986 2700 w 10 /LucidaSansUnicode00 f (IEEE) 2115 2700 w (Fifth) 2371 2700 w (International) 2655 2700 w (Workshop) 3335 2700 w (on) 3883 2700 w (Enterprise) 4071 2700 w (Security,) 4626 2700 w (National) 720 2820 w (Institute) 1164 2820 w (of) 1606 2820 w (Standards) 1746 2820 w (and) 2269 2820 w (Technology) 2491 2820 w (\(NIST\),) 3092 2820 w (Gaithersburg) 3452 2820 w (MD,) 4125 2820 w (June) 4360 2820 w (14) 4613 2820 w (-) 4781 2820 w (16,) 4882 2820 w (2000.) 720 2940 w ([Jabl]) 720 3096 w (David) 1071 3096 w (P.) 1452 3096 w (Jablon,) 1646 3096 w 10 /LucidaSansUnicode20 f (\030\030) 2086 3096 w 10 /LucidaSansUnicode00 f (Strong) 2150 3096 w (Password-Only) 2575 3096 w (Authenticated) 3416 3096 w (Key) 4200 3096 w (Exchange,) 4481 3096 w 10 /LucidaSansUnicode20 f (\031\031) 4976 3096 w 10 /LucidaTypewriter f (http://www.integritysciences.com/speke97.html) 720 3216 w 10 /LucidaSansUnicode00 f (.) 3960 3216 w ([Kami00] Michael Kaminsky.) 720 3372 w 10 /LucidaSansUnicode20 f (\030\030) 2148 3372 w 10 /LucidaSansUnicode00 f (Flexible) 2212 3372 w (Key) 2622 3372 w (Management) 2828 3372 w (with) 3485 3372 w (SFS) 3723 3372 w (Agents,) 3918 3372 w 10 /LucidaSansUnicode20 f (\031\031) 4287 3372 w 10 /LucidaSansUnicode00 f (Master) 4384 3372 w 10 /LucidaSansUnicode20 f (\031) 4710 3372 w 10 /LucidaSansUnicode00 f (s) 4742 3372 w (The\255) 4826 3372 w (sis, MIT, May 2000.) 720 3492 w ([Mack] Philip MacKenzie, private communication.) 720 3648 w ([Mazi99]) 720 3804 w (David) 1191 3804 w (Mazi\350res,) 1517 3804 w (Michael) 2032 3804 w (Kaminsky,) 2452 3804 w (M.) 3001 3804 w (Frans) 3171 3804 w (Kaashoek) 3486 3804 w (and) 4002 3804 w (Emmett) 4235 3804 w (Witchel,) 4658 3804 w 10 /LucidaSansUnicode20 f (\030\030) 720 3924 w 10 /LucidaSansUnicode00 f (Separating) 784 3924 w (key) 1338 3924 w (management) 1544 3924 w (from) 2215 3924 w (file) 2486 3924 w (system) 2676 3924 w (security,) 3055 3924 w 10 /LucidaSansUnicode20 f (\031\031) 3466 3924 w 10 /LucidaSansUnicode00 f (Symposium) 3569 3924 w (on) 4166 3924 w (Operating) 4328 3924 w (Sys\255) 4850 3924 w (tems Principles, 1999, pp. 124-139.) 720 4044 w ([Micr]) 720 4200 w (Microsoft) 1212 4200 w (Passport,) 1886 4200 w 10 /LucidaTypewriter f (http://www.passport.com/Consumer/\255) 2592 4200 w (PrivacyPolicy.asp) 720 4320 w 10 /LucidaSansUnicode00 f (.) 1944 4320 w ([Perl99]) 720 4476 w (Radia) 1159 4476 w (Perlman) 1490 4476 w (and) 1947 4476 w (Charlie) 2193 4476 w (Kaufman,) 2600 4476 w 10 /LucidaSansUnicode20 f (\030\030) 3127 4476 w 10 /LucidaSansUnicode00 f (Secure) 3191 4476 w (Password-Based) 3577 4476 w (Protocol) 4438 4476 w (for) 4901 4476 w (Downloading) 720 4596 w (a) 1398 4596 w (Private) 1495 4596 w (Key,) 1862 4596 w 10 /LucidaSansUnicode20 f (\031\031) 2067 4596 w 10 /LucidaSansUnicode00 f (Proc.) 2173 4596 w (1999) 2455 4596 w (Network) 2749 4596 w (and) 3195 4596 w (Distributed) 3417 4596 w (System) 4001 4596 w (Security) 4385 4596 w (Sym\255) 4808 4596 w (posium, Internet Society, January 1999.) 720 4716 w ([Pike95]) 720 4872 w (Rob) 1144 4872 w (Pike,) 1365 4872 w (Dave) 1629 4872 w (Presotto,) 1901 4872 w (Sean) 2366 4872 w (Dorward,) 2627 4872 w (Bob) 3107 4872 w (Flandrena,) 3324 4872 w (Ken) 3868 4872 w (Thompson,) 4086 4872 w (Howard) 4669 4872 w (Trickey,) 720 4992 w (and) 1136 4992 w (Phil) 1350 4992 w (Winterbottom,) 1559 4992 w 10 /LucidaSansUnicode20 f (\030\030) 2288 4992 w 10 /LucidaSansUnicode00 f (Plan) 2352 4992 w (9) 2587 4992 w (from) 2684 4992 w (Bell) 2950 4992 w (Labs,) 3156 4992 w 10 /LucidaSansUnicode20 f (\031\031) 3410 4992 w 10 /LucidaSansUnicode00 f (Computing) 3508 4992 w (Systems,) 4080 4992 w 10 /LucidaSans-Demi f (8) 4540 4992 w 10 /LucidaSansUnicode00 f (,) 4604 4992 w (3,) 4670 4992 w (Sum\255) 4798 4992 w (mer 1995, pp. 221-254.) 720 5112 w ([Pike93]) 720 5268 w (Rob) 1159 5268 w (Pike,) 1395 5268 w (Dave) 1674 5268 w (Presotto,) 1961 5268 w (Ken) 2441 5268 w (Thompson,) 2673 5268 w (Howard) 3270 5268 w (Trickey,) 3690 5268 w (Phil) 4121 5268 w (Winterbottom,) 4345 5268 w 10 /LucidaSansUnicode20 f (\030\030) 720 5388 w 10 /LucidaSansUnicode00 f (The) 784 5388 w (Use) 1004 5388 w (of) 1219 5388 w (Name) 1355 5388 w (Spaces) 1671 5388 w (in) 2039 5388 w (Plan) 2168 5388 w (9,) 2407 5388 w 10 /LucidaSansUnicode20 f (\031\031) 2502 5388 w 10 /LucidaSansUnicode00 f (Operating) 2604 5388 w (Systems) 3125 5388 w (Review,) 3557 5388 w 10 /LucidaSans-Demi f (27) 3960 5388 w 10 /LucidaSansUnicode00 f (,) 4088 5388 w (2,) 4158 5388 w (April) 4291 5388 w (1993,) 4560 5388 w (pp.) 4882 5388 w (72-76) 720 5508 w (\(reprinted) 1076 5508 w (from) 1603 5508 w (Proceedings) 1881 5508 w (of) 2515 5508 w (the) 2660 5508 w (5th) 2862 5508 w (ACM) 3071 5508 w (SIGOPS) 3342 5508 w (European) 3731 5508 w (Workshop,) 4232 5508 w (Mont) 4794 5508 w (Saint-Michel, 1992, Paper n\272 34\).) 720 5628 w ([RFC2138]) 720 5784 w (C.) 1259 5784 w (Rigney,) 1395 5784 w (A.) 1786 5784 w (Rubens,) 1922 5784 w (W.) 2347 5784 w (Simpson,) 2501 5784 w (S.) 2982 5784 w (Willens,) 3104 5784 w 10 /LucidaSansUnicode20 f (\030\030) 3514 5784 w 10 /LucidaSansUnicode00 f (Remote) 3578 5784 w (Authentication) 3980 5784 w (Dial) 4725 5784 w (In) 4949 5784 w (User Service \(RADIUS\),) 720 5904 w 10 /LucidaSansUnicode20 f (\031\031) 1797 5904 w 10 /LucidaSansUnicode00 f (RFC2138, April 1997.) 1893 5904 w ([RiLa]) 720 6060 w (Ronald) 1023 6060 w (L.) 1393 6060 w (Rivest) 1515 6060 w (and) 1840 6060 w (Butler) 2057 6060 w (Lampson,) 2378 6060 w 10 /LucidaSansUnicode20 f (\030\030) 2886 6060 w 10 /LucidaSansUnicode00 f (SDSI) 2950 6060 w 10 /LucidaSansUnicode20 f (\024) 3162 6060 w 10 /LucidaSansUnicode00 f (A) 3262 6060 w (Simple) 3369 6060 w (Distributed) 3731 6060 w (Security) 4312 6060 w (Infras\255) 4732 6060 w (tructure,) 720 6180 w 10 /LucidaSansUnicode20 f (\031\031) 1139 6180 w 10 /LucidaTypewriter f (http://theory.lcs.mit.edu/~rivest/sdsi10.ps) 1275 6180 w 10 /LucidaSansUnicode00 f (.) 4371 6180 w ([Schn]) 720 6336 w (Bruce) 1129 6336 w (Schneier,) 1511 6336 w (Password) 2068 6336 w (Safe,) 2636 6336 w 10 /LucidaTypewriter f (http://www.counterpane.com/\255) 3024 6336 w (passsafe.html) 720 6456 w 10 /LucidaSansUnicode00 f (.) 1656 6456 w ([Sama96]) 720 6612 w (Vipin) 1219 6612 w (Samar,) 1517 6612 w 10 /LucidaSansUnicode20 f (\030\030) 1897 6612 w 10 /LucidaSansUnicode00 f (Unified) 1961 6612 w (Login) 2356 6612 w (with) 2673 6612 w (Pluggable) 2928 6612 w (Authentication) 3451 6612 w (Modules) 4210 6612 w (\(PAM\),) 4668 6612 w 10 /LucidaSansUnicode20 f (\031\031) 4976 6612 w 10 /LucidaSansUnicode00 f (Proceedings) 720 6732 w (of) 1351 6732 w (the) 1493 6732 w (Third) 1692 6732 w (ACM) 1993 6732 w (Conference) 2260 6732 w (on) 2854 6732 w (Computer) 3020 6732 w (Communications) 3545 6732 w (and) 4403 6732 w (Security,) 4626 6732 w (March 1996, New Delhi, India.) 720 6852 w ([Stei88]) 720 7008 w (Jennifer) 1147 7008 w (G.) 1580 7008 w (Steiner,) 1743 7008 w (Clifford) 2169 7008 w (Neumann,) 2594 7008 w (and) 3149 7008 w (Jeffrey) 3388 7008 w (I.) 3757 7008 w (Schiller,) 3877 7008 w 10 /LucidaSansUnicode20 f (\030\030) 4320 7008 w 10 /LucidaSans-Italic f (Kerberos) 4384 7008 w 10 /LucidaSansUnicode00 f (:) 4817 7008 w (An) 4909 7008 w (Authentication) 720 7128 w (Service) 1471 7128 w (for) 1852 7128 w (Open) 2033 7128 w (Network) 2334 7128 w (Systems,) 2780 7128 w 10 /LucidaSansUnicode20 f (\031\031) 3206 7128 w 10 /LucidaSansUnicode00 f (Proceedings) 3312 7128 w (of) 3940 7128 w (USENIX) 4079 7128 w (Winter) 4463 7128 w (Con\255) 4815 7128 w (ference, Dallas, Texas, February 1988, p. 191) 720 7248 w 10 /LucidaSansUnicode20 f (\023) 2939 7248 w 10 /LucidaSansUnicode00 f (202.) 2989 7248 w cleartomark showpage saveobj restore %%EndPage: 18 18 %%Page: 19 19 /saveobj save def mark 19 pagesetup 10 /LucidaSansUnicode00 f (\255 19 \255) 2752 480 w ([Wu98]) 720 840 w (T.) 1099 840 w (Wu,) 1233 840 w 10 /LucidaSansUnicode20 f (\030\030) 1453 840 w 10 /LucidaSansUnicode00 f (The) 1517 840 w (Secure) 1738 840 w (Remote) 2098 840 w (Password) 2504 840 w (Protocol,) 2998 840 w 10 /LucidaSansUnicode20 f (\031\031) 3426 840 w 10 /LucidaSansUnicode00 f (Proceedings) 3530 840 w (of) 4157 840 w (the) 4295 840 w (1998) 4490 840 w (Inter\255) 4782 840 w (net) 720 960 w (Society) 925 960 w (Network) 1315 960 w (and) 1769 960 w (Distributed) 1999 960 w (System) 2592 960 w (Security) 2985 960 w (Symposium,) 3416 960 w (San) 4055 960 w (Diego,) 4275 960 w (CA,) 4639 960 w (Mar) 4858 960 w (1998, pp. 97-111.) 720 1080 w ([Ylon96]) 720 1236 w (Ylonen,) 1178 1236 w (T.,) 1594 1236 w 10 /LucidaSansUnicode20 f (\030\030) 1773 1236 w 10 /LucidaSansUnicode00 f (SSH) 1837 1236 w 10 /LucidaSansUnicode20 f (\024) 2019 1236 w 10 /LucidaSansUnicode00 f (Secure) 2119 1236 w (Login) 2491 1236 w (Connections) 2811 1236 w (Over) 3465 1236 w (the) 3745 1236 w (Internet,) 3953 1236 w 10 /LucidaSansUnicode20 f (\031\031) 4365 1236 w 10 /LucidaSansUnicode00 f (6th) 4482 1236 w (USENIX) 4697 1236 w (Security Symposium, pp. 37-42. San Jose, CA, Jul. 1996.) 720 1356 w 10 /LucidaSans-Demi f (Appendix: Summary of the PAK protocol) 720 1596 w 10 /LucidaSansUnicode00 f (Let) 720 1752 w 11 /LucidaSans-Italic f (q) 913 1752 w (>) 1007 1752 w 11 /LucidaSansUnicode00 f (2) 1094 1752 w 8 /LucidaSansUnicode00 f (160) 1169 1708 w 10 /LucidaSansUnicode00 f (and) 1375 1752 w 11 /LucidaSans-Italic f (p) 1602 1752 w (>) 1696 1752 w 11 /LucidaSansUnicode00 f (2) 1783 1752 w 8 /LucidaSansUnicode00 f (1024) 1858 1708 w 10 /LucidaSansUnicode00 f (be) 2114 1752 w (primes) 2280 1752 w (such) 2660 1752 w (that) 2933 1752 w 11 /LucidaSans-Italic f (p) 3171 1752 w 11 /S f (=) 3265 1752 w 11 /LucidaSans-Italic f (rq) 3344 1752 w 11 /S f (+) 3491 1752 w 11 /LucidaSansUnicode00 f (1) 3570 1752 w 10 /LucidaSansUnicode00 f (with) 3686 1752 w 11 /LucidaSans-Italic f (r) 3938 1752 w 10 /LucidaSansUnicode00 f (not) 4038 1752 w (a) 4246 1752 w (multiple) 4349 1752 w (of) 4795 1752 w 11 /LucidaSans-Italic f (q) 4941 1752 w 10 /LucidaSansUnicode00 f (.) 5008 1752 w (Take) 720 1872 w 11 /LucidaSans-Italic f (h) 1001 1872 w 11 /S f (\316) 1078 1872 w 11 /LucidaSans-Italic f (Z) 1165 1872 w 8 /LucidaSans-Italic f (p) 1235 1894 w (*) 1235 1828 w 10 /LucidaSansUnicode00 f (such) 1342 1872 w (that) 1617 1872 w 11 /LucidaSans-Italic f (g) 1856 1872 w 11 /LucidaSansUnicode22 f (a) 1932 1872 w 11 /LucidaSans-Italic f (h) 2029 1872 w 8 /LucidaSans-Italic f (r) 2110 1828 w 10 /LucidaSansUnicode00 f (is) 2205 1872 w (not) 2333 1872 w (1.) 2541 1872 w (These) 2716 1872 w (parameters) 3052 1872 w (may) 3648 1872 w (be) 3896 1872 w (chosen) 4063 1872 w (by) 4454 1872 w (the) 4617 1872 w (NIST) 4820 1872 w (algorithm for DSA,) 720 1992 w (and) 1655 1992 w (are) 1868 1992 w (public,) 2053 1992 w (fixed) 2415 1992 w (values.) 2694 1992 w (The) 3096 1992 w (client) 3310 1992 w 11 /LucidaSans-Italic f (C) 3607 1992 w 10 /LucidaSansUnicode00 f (knows) 3715 1992 w (a) 4057 1992 w (secret) 4145 1992 w 11 /LucidaSansUnicode03 f (\300) 4470 1992 w 10 /LucidaSansUnicode00 f (and) 4589 1992 w (com\255) 4802 1992 w (putes) 720 2112 w 11 /LucidaSans-Italic f (H) 1034 2112 w 11 /LucidaSansUnicode22 f (a) 1124 2112 w 11 /LucidaSansUnicode00 f (\() 1221 2112 w 11 /LucidaSans-Italic f (H) 1266 2112 w 8 /LucidaSansUnicode00 f (1) 1360 2134 w 11 /LucidaSansUnicode00 f (\() 1428 2112 w 11 /LucidaSans-Italic f (C) 1473 2112 w 11 /LucidaSansUnicode00 f (,) 1557 2112 w 11 /LucidaSansUnicode03 f (\300) 1645 2112 w 11 /LucidaSansUnicode00 f (\)) 1740 2112 w (\)) 1785 2112 w 8 /LucidaSans-Italic f (r) 1834 2068 w 10 /LucidaSansUnicode00 f (and) 1926 2112 w 11 /LucidaSans-Italic f (H) 2151 2112 w 8 /S f (-) 2245 2068 w 8 /LucidaSansUnicode00 f (1) 2302 2068 w 10 /LucidaSansUnicode00 f (,) 2361 2112 w (where) 2438 2112 w 11 /LucidaSans-Italic f (H) 2775 2112 w 8 /LucidaSansUnicode00 f (1) 2869 2134 w 10 /LucidaSansUnicode00 f (is) 2973 2112 w (a) 3098 2112 w (hash) 3198 2112 w (function) 3473 2112 w (yielding) 3919 2112 w (a) 4346 2112 w (random) 4446 2112 w (ele\255) 4866 2112 w (ment) 720 2232 w (of) 1002 2232 w 11 /LucidaSans-Italic f (Z) 1134 2232 w 8 /LucidaSans-Italic f (p) 1204 2254 w (*) 1204 2188 w 10 /LucidaSansUnicode00 f (,) 1262 2232 w (and) 1328 2232 w 11 /LucidaSans-Italic f (H) 1542 2232 w 8 /S f (-) 1636 2188 w 8 /LucidaSansUnicode00 f (1) 1693 2188 w 10 /LucidaSansUnicode00 f (may) 1787 2232 w (be) 2022 2232 w (computed) 2176 2232 w (by) 2697 2232 w (gcd.) 2847 2232 w (\(All) 3122 2232 w (arithmetic) 3317 2232 w (is) 3842 2232 w (modulo) 3957 2232 w 11 /LucidaSans-Italic f (p) 4361 2232 w 10 /LucidaSansUnicode00 f (.\)) 4428 2232 w (The) 4560 2232 w (client) 4776 2232 w (gives) 720 2352 w 11 /LucidaSans-Italic f (H) 1013 2352 w 8 /S f (-) 1107 2308 w 8 /LucidaSansUnicode00 f (1) 1164 2308 w 10 /LucidaSansUnicode00 f (to) 1266 2352 w (the) 1407 2352 w (server) 1605 2352 w 11 /LucidaSans-Italic f (S) 1945 2352 w 10 /LucidaSansUnicode00 f (ahead) 2049 2352 w (of) 2383 2352 w (time) 2524 2352 w (by) 2782 2352 w (a) 2940 2352 w (private) 3038 2352 w (channel.) 3414 2352 w (To) 3898 2352 w (start) 4065 2352 w (a) 4329 2352 w (new) 4427 2352 w (connec\255) 4664 2352 w (tion,) 720 2472 w (the) 988 2472 w (client) 1190 2472 w (generates) 1501 2472 w (a) 2024 2472 w (random) 2126 2472 w (value) 2548 2472 w 11 /LucidaSans-Italic f (x) 2850 2472 w 10 /LucidaSansUnicode00 f (,) 2909 2472 w (computes) 2989 2472 w 11 /LucidaSans-Italic f (m) 3511 2472 w 11 /LucidaSansUnicode22 f (a) 3622 2472 w 11 /LucidaSans-Italic f (g) 3719 2472 w 8 /LucidaSans-Italic f (x) 3799 2428 w 11 /LucidaSans-Italic f (H) 3851 2472 w 10 /LucidaSansUnicode00 f (,) 3932 2472 w (then) 4012 2472 w (calls) 4277 2472 w (the) 4540 2472 w (server) 4743 2472 w (and) 720 2592 w (sends) 941 2592 w 11 /LucidaSans-Italic f (C) 1265 2592 w 10 /LucidaSansUnicode00 f (and) 1381 2592 w 11 /LucidaSans-Italic f (m) 1602 2592 w 10 /LucidaSansUnicode00 f (.) 1704 2592 w (The) 1809 2592 w (server) 2031 2592 w (checks) 2369 2592 w 11 /LucidaSans-Italic f (m) 2739 2592 w 11 /LucidaSansUnicode22 f (`) 2850 2592 w 11 /LucidaSansUnicode00 f (0) 2947 2592 w (mod) 3069 2592 w 11 /LucidaSans-Italic f (p) 3360 2592 w 10 /LucidaSansUnicode00 f (,) 3427 2592 w (generates) 3500 2592 w (random) 4017 2592 w 11 /LucidaSans-Italic f (y) 4433 2592 w 10 /LucidaSansUnicode00 f (,) 4494 2592 w (computes) 4566 2592 w 11 /LucidaSansUnicode03 f (\274) 720 2712 w 11 /LucidaSansUnicode22 f (a) 798 2712 w 11 /LucidaSans-Italic f (g) 895 2712 w 8 /LucidaSans-Italic f (y) 975 2668 w 10 /LucidaSansUnicode00 f (,) 1028 2712 w 11 /LucidaSansUnicode03 f (\303) 1106 2712 w 11 /LucidaSansUnicode22 f (a) 1189 2712 w 11 /LucidaSansUnicode00 f (\() 1286 2712 w 11 /LucidaSans-Italic f (mH) 1331 2712 w 8 /S f (-) 1527 2668 w 8 /LucidaSansUnicode00 f (1) 1584 2668 w 11 /LucidaSansUnicode00 f (\)) 1652 2712 w 8 /LucidaSans-Italic f (y) 1701 2668 w 10 /LucidaSansUnicode00 f (,) 1754 2712 w (and) 1829 2712 w (sends) 2052 2712 w 11 /LucidaSans-Italic f (S) 2378 2712 w 10 /LucidaSansUnicode00 f (,) 2439 2712 w 11 /LucidaSansUnicode03 f (\274) 2515 2712 w 10 /LucidaSansUnicode00 f (,) 2584 2712 w 11 /LucidaSans-Italic f (k) 2660 2712 w 11 /LucidaSansUnicode22 f (a) 2733 2712 w 11 /LucidaSans-Italic f (sha1) 2830 2712 w 11 /LucidaSansUnicode00 f (\() 3097 2712 w ("server") 3142 2712 w (,) 3560 2712 w 11 /LucidaSans-Italic f (C) 3604 2712 w 11 /LucidaSansUnicode00 f (,) 3688 2712 w 11 /LucidaSans-Italic f (S) 3732 2712 w 11 /LucidaSansUnicode00 f (,) 3802 2712 w 11 /LucidaSans-Italic f (m) 3846 2712 w 11 /LucidaSansUnicode00 f (,) 3957 2712 w 11 /LucidaSansUnicode03 f (\274) 4001 2712 w 11 /LucidaSansUnicode00 f (,) 4079 2712 w 11 /LucidaSansUnicode03 f (\303) 4123 2712 w 11 /LucidaSansUnicode00 f (,) 4206 2712 w 11 /LucidaSans-Italic f (H) 4250 2712 w 8 /S f (-) 4344 2668 w 8 /LucidaSansUnicode00 f (1) 4401 2668 w 11 /LucidaSansUnicode00 f (\)) 4469 2712 w 10 /LucidaSansUnicode00 f (.) 4505 2712 w (Next) 4613 2712 w (the) 4885 2712 w (client) 720 2832 w (computes) 1051 2832 w 11 /LucidaSansUnicode03 f (\303) 1592 2832 w 11 /S f (=) 1684 2832 w 11 /LucidaSansUnicode03 f (\274) 1763 2832 w 8 /LucidaSans-Italic f (x) 1838 2788 w 10 /LucidaSansUnicode00 f (,) 1890 2832 w (verifies) 1988 2832 w 11 /LucidaSans-Italic f (k) 2405 2832 w 10 /LucidaSansUnicode00 f (,) 2469 2832 w (and) 2567 2832 w (sends) 2813 2832 w 11 /LucidaSans-Italic f (k) 3162 2832 w 11 /S f (\242) 3235 2832 w 11 /LucidaSansUnicode22 f (a) 3272 2832 w 11 /LucidaSans-Italic f (sha1) 3369 2832 w 11 /LucidaSansUnicode00 f (\() 3636 2832 w ("client") 3681 2832 w (,) 4063 2832 w 11 /LucidaSans-Italic f (C) 4107 2832 w 11 /LucidaSansUnicode00 f (,) 4191 2832 w 11 /LucidaSans-Italic f (S) 4235 2832 w 11 /LucidaSansUnicode00 f (,) 4305 2832 w 11 /LucidaSans-Italic f (m) 4349 2832 w 11 /LucidaSansUnicode00 f (,) 4460 2832 w 11 /LucidaSansUnicode03 f (\274) 4504 2832 w 11 /LucidaSansUnicode00 f (,) 4582 2832 w 11 /LucidaSansUnicode03 f (\303) 4626 2832 w 11 /LucidaSansUnicode00 f (,) 4709 2832 w 11 /LucidaSans-Italic f (H) 4753 2832 w 8 /S f (-) 4847 2788 w 8 /LucidaSansUnicode00 f (1) 4904 2788 w 11 /LucidaSansUnicode00 f (\)) 4972 2832 w 10 /LucidaSansUnicode00 f (.) 5008 2832 w (The) 720 2952 w (server) 1033 2952 w (then) 1462 2952 w (verifies) 1811 2952 w 11 /LucidaSans-Italic f (k) 2294 2952 w 11 /S f (\242) 2367 2952 w 10 /LucidaSansUnicode00 f (and) 2527 2952 w (both) 2839 2952 w (sides) 3194 2952 w (begin) 3576 2952 w (using) 3981 2952 w (session) 4380 2952 w (key) 4874 2952 w 11 /LucidaSans-Italic f (K) 720 3072 w 11 /LucidaSansUnicode22 f (a) 799 3072 w 11 /LucidaSans-Italic f (sha1) 896 3072 w 11 /LucidaSansUnicode00 f (\() 1163 3072 w ("session") 1208 3072 w (,) 1696 3072 w 11 /LucidaSans-Italic f (C) 1740 3072 w 11 /LucidaSansUnicode00 f (,) 1824 3072 w 11 /LucidaSans-Italic f (S) 1868 3072 w 11 /LucidaSansUnicode00 f (,) 1938 3072 w 11 /LucidaSans-Italic f (m) 1982 3072 w 11 /LucidaSansUnicode00 f (,) 2093 3072 w 11 /LucidaSansUnicode03 f (\274) 2137 3072 w 11 /LucidaSansUnicode00 f (,) 2215 3072 w 11 /LucidaSansUnicode03 f (\303) 2259 3072 w 11 /LucidaSansUnicode00 f (,) 2342 3072 w 11 /LucidaSans-Italic f (H) 2386 3072 w 8 /S f (-) 2480 3028 w 8 /LucidaSansUnicode00 f (1) 2537 3028 w 11 /LucidaSansUnicode00 f (\)) 2605 3072 w 10 /LucidaSansUnicode00 f (.) 2641 3072 w (In) 2766 3072 w (the) 2918 3072 w (published) 3134 3072 w (version) 3673 3072 w (of) 4086 3072 w (PAK,) 4245 3072 w (the) 4527 3072 w (server) 4743 3072 w (name) 720 3192 w 11 /LucidaSans-Italic f (S) 1021 3192 w 10 /LucidaSansUnicode00 f (is) 1117 3192 w (included) 1232 3192 w (in) 1682 3192 w (the) 1808 3192 w (initial) 1998 3192 w (hash) 2303 3192 w 11 /LucidaSans-Italic f (H) 2568 3192 w 10 /LucidaSansUnicode00 f (,) 2649 3192 w (but) 2717 3192 w (doing) 2915 3192 w (so) 3228 3192 w (is) 3376 3192 w (inconvenient) 3492 3192 w (in) 4147 3192 w (our) 4274 3192 w (application,) 4474 3192 w (as the server may be known by various equivalent names.) 720 3312 w (MacKenzie) 720 3468 w (has) 1289 3468 w (shown) 1509 3468 w ([Mack]) 1874 3468 w (that) 2242 3468 w (the) 2485 3468 w (equivalence) 2692 3468 w (proof) 3315 3468 w ([Boyk00]) 3630 3468 w (can) 4104 3468 w (be) 4325 3468 w (adapted) 4497 3468 w (to) 4942 3468 w (cover our version.) 720 3588 w cleartomark showpage saveobj restore %%EndPage: 19 19 %%Trailer done %%Pages: 19