%!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 (The) 1330 2770 w (security) 1582 2770 w (architecture) 2032 2770 w (of) 2681 2770 w (the) 2850 2770 w (Plan) 3076 2770 w (9) 3348 2770 w 10 /LucidaSansUnicode21 f (") 3411 2770 w 10 /LucidaSansUnicode00 f (operating) 3563 2770 w (system) 4100 2770 w (has) 4512 2770 w (recently) 1080 2890 w (been) 1507 2890 w (redesigned) 1787 2890 w (to) 2369 2890 w (address) 2509 2890 w (some) 2931 2890 w (technical) 3234 2890 w (shortcomings.) 3708 2890 w (This) 4475 2890 w (redesign) 1080 3010 w (provided) 1545 3010 w (an) 2018 3010 w (opportunity) 2180 3010 w (also) 2793 3010 w (to) 3034 3010 w (make) 3177 3010 w (the) 3484 3010 w (system) 3684 3010 w (more) 4069 3010 w (conve\255) 4365 3010 w (nient) 1080 3130 w (to) 1367 3130 w (use) 1506 3130 w (securely.) 1715 3130 w (Plan) 2217 3130 w (9) 2458 3130 w (has) 2561 3130 w (thus) 2769 3130 w (improved) 3021 3130 w (in) 3519 3130 w (two) 3650 3130 w (ways) 3865 3130 w (not) 4140 3130 w (usually) 4340 3130 w (seen together: it has become more secure) 1080 3250 w 10 /LucidaSans-Italic f (and) 3155 3250 w 10 /LucidaSansUnicode00 f (easier to use.) 3371 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,) 872 7038 w (in) 1217 7038 w (a) 1343 7038 w (slightly) 1440 7038 w (different) 1775 7038 w (form,) 2164 7038 w (in) 2428 7038 w 8 /LucidaSans-Italic f (Proc.) 2553 7038 w (of) 2801 7038 w (the) 2929 7038 w (2002) 3103 7038 w (Usenix) 3355 7038 w (Security) 3659 7038 w (Symposium,) 4022 7038 w 8 /LucidaSansUnicode00 f (San) 4543 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) 1060 3420 w (a) 1292 3420 w (trusted) 1383 3420 w (assistant) 1766 3420 w (with) 2230 3420 w (a) 2471 3420 w (copy) 2562 3420 w (of) 2825 3420 w (the) 2959 3420 w (owner) 3151 3420 w 10 /LucidaSansUnicode20 f (\031) 3448 3420 w 10 /LucidaSansUnicode00 f (s) 3480 3420 w (keys,) 3568 3420 w 10 /LucidaTypewriter f (factotum) 3854 3420 w 10 /LucidaSansUnicode00 f (does) 4467 3420 w (all) 4735 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,) 917 5532 w (they) 1260 5532 w (are) 1512 5532 w (included) 1709 5532 w (mainly) 2169 5532 w (for) 2534 5532 w (concreteness.) 2718 5532 w (Our) 3462 5532 w (main) 3689 5532 w (intent) 3974 5532 w (is) 4303 5532 w (to) 4429 5532 w (present) 4573 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) 936 5695 w (upon) 1421 5695 w (the) 1720 5695 w (directory) 1926 5695 w 10 /LucidaTypewriter f (/mnt/factotum) 2408 5695 w 10 /LucidaSansUnicode00 f (,) 3344 5695 w (and) 3426 5695 w (the) 3656 5695 w (files) 3861 5695 w (it) 4113 5695 w (serves) 4229 5695 w (there) 4586 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 10 /LucidaSans-Demi f (2.1.) 720 6295 w (Logging in) 962 6295 w 10 /LucidaSansUnicode00 f (To) 720 6451 w (make) 878 6451 w (the) 1174 6451 w (discussions) 1363 6451 w (that) 1958 6451 w (follow) 2184 6451 w (more) 2513 6451 w (concrete,) 2799 6451 w (we) 3281 6451 w (begin) 3449 6451 w (with) 3756 6451 w (a) 3996 6451 w (couple) 4086 6451 w (of) 4443 6451 w (examples) 4576 6451 w (showing) 720 6571 w (how) 1159 6571 w (the) 1394 6571 w (Plan) 1584 6571 w (9) 1820 6571 w (security) 1918 6571 w (architecture) 2332 6571 w (appears) 2945 6571 w (to) 3364 6571 w (the) 3497 6571 w (user.) 3687 6571 w (These) 3996 6571 w (examples) 4319 6571 w (both) 4817 6571 w (involve) 720 6691 w (a) 1100 6691 w (user) 1194 6691 w 10 /LucidaTypewriter f (gre) 1443 6691 w 10 /LucidaSansUnicode00 f (logging) 1698 6691 w (in) 2104 6691 w (after) 2234 6691 w (booting) 2500 6691 w (a) 2915 6691 w (local) 3010 6691 w (machine.) 3275 6691 w (The) 3787 6691 w (user) 4008 6691 w (may) 4258 6691 w (or) 4498 6691 w (may) 4640 6691 w (not) 4880 6691 w (have) 720 6811 w (a) 987 6811 w (secure) 1084 6811 w (store) 1442 6811 w (in) 1729 6811 w (which) 1861 6811 w (all) 2183 6811 w (his) 2337 6811 w (keys) 2520 6811 w (are) 2778 6811 w (kept.) 2971 6811 w (If) 3290 6811 w (he) 3397 6811 w (does,) 3556 6811 w 10 /LucidaTypewriter f (factotum) 3860 6811 w 10 /LucidaSansUnicode00 f (will) 4477 6811 w (prompt) 4682 6811 w (him) 720 6931 w (for) 941 6931 w (the) 1117 6931 w (password) 1309 6931 w (to) 1808 6931 w (the) 1943 6931 w (secure) 2135 6931 w (store) 2489 6931 w (and) 2772 6931 w (obtain) 2989 6931 w (keys) 3333 6931 w (from) 3587 6931 w (it,) 3856 6931 w (prompting) 3992 6931 w (only) 4541 6931 w (when) 4783 6931 w (a key isn) 720 7051 w 10 /LucidaSansUnicode20 f (\031) 1147 7051 w 10 /LucidaSansUnicode00 f (t found in the store.) 1179 7051 w (Otherwise,) 2217 7051 w 10 /LucidaTypewriter f (factotum) 2768 7051 w 10 /LucidaSansUnicode00 f (must prompt for each key.) 3376 7051 w (In) 720 7207 w (the) 869 7207 w (typescripts,) 1082 7207 w 9 /Helvetica f (\\n) 1703 7207 w 10 /LucidaSansUnicode00 f (represents) 1836 7207 w (a) 2408 7207 w (literal) 2522 7207 w (newline) 2857 7207 w (character) 3287 7207 w (typed) 3795 7207 w (to) 4125 7207 w (force) 4282 7207 w (a) 4587 7207 w (default) 4701 7207 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 (response.) 720 840 w (User input is in italics, and long lines are folded and indented to fit.) 1257 840 w (This) 720 996 w (first) 971 996 w (example) 1212 996 w (shows) 1671 996 w (a) 2019 996 w (user) 2120 996 w (logging) 2376 996 w (in) 2789 996 w (without) 2926 996 w (help) 3337 996 w (from) 3594 996 w (the) 3873 996 w (secure) 4075 996 w (store.) 4439 996 w (First,) 4796 996 w 10 /LucidaTypewriter f (factotum) 720 1116 w 10 /LucidaSansUnicode00 f (prompts for a user name that the local kernel will use:) 1328 1116 w 9 /LucidaTypewriter f (user[none]:) 1008 1286 w 9 /Helvetica f (gre) 1788 1286 w 10 /LucidaSansUnicode00 f (\(Default) 720 1466 w (responses) 1151 1466 w (appear) 1690 1466 w (in) 2070 1466 w (square) 2208 1466 w (brackets.\)) 2583 1466 w (The) 3139 1466 w (kernel) 3367 1466 w (then) 3716 1466 w (starts) 3980 1466 w (accessing) 4299 1466 w (local) 4815 1466 w (resources and requests, through) 720 1586 w 10 /LucidaTypewriter f (factotum) 2334 1586 w 10 /LucidaSansUnicode00 f (, a user/password pair to do so:) 2910 1586 w 9 /LucidaTypewriter f (!Adding) 1008 1756 w (key:) 1528 1756 w (dom=cs.bell-labs.com) 1853 1756 w (proto=p9sk1) 1268 1866 w (user[gre]:) 1008 1976 w 9 /Helvetica f (\\n) 1723 1976 w 9 /LucidaTypewriter f (password:) 1008 2086 w 9 /Helvetica f (****) 1658 2086 w 10 /LucidaSansUnicode00 f (Now the user is logged in to the local system, and the mail client starts up:) 720 2266 w 9 /LucidaTypewriter f (!Adding) 1008 2436 w (key:) 1528 2436 w (proto=apop) 1853 2436 w (server=plan9.bell-labs.com) 1268 2546 w (user[gre]:) 1008 2656 w 9 /Helvetica f (\\n) 1723 2656 w 9 /LucidaTypewriter f (password:) 1008 2766 w 9 /Helvetica f (****) 1658 2766 w 10 /LucidaTypewriter f (Factotum) 720 2946 w 10 /LucidaSansUnicode00 f (is) 1337 2946 w (doing) 1458 2946 w (all) 1776 2946 w (the) 1930 2946 w (prompting) 2126 2946 w (and) 2678 2946 w (the) 2899 2946 w (applications) 3095 2946 w (being) 3722 2946 w (started) 4036 2946 w (are) 4418 2946 w (not) 4612 2946 w (even) 4814 2946 w (touching the keys.) 720 3066 w (Note that it) 1678 3066 w 10 /LucidaSansUnicode20 f (\031) 2227 3066 w 10 /LucidaSansUnicode00 f (s always clear which key is being requested.) 2259 3066 w (Now) 720 3222 w (consider) 974 3222 w (the) 1430 3222 w (same) 1627 3222 w (login) 1924 3222 w (sequence,) 2209 3222 w (but) 2740 3222 w (in) 2944 3222 w (the) 3077 3222 w (case) 3275 3222 w (where) 3531 3222 w 10 /LucidaTypewriter f (gre) 3866 3222 w 10 /LucidaSansUnicode00 f (has) 4125 3222 w (a) 4336 3222 w (secure) 4434 3222 w (store) 4794 3222 w (account:) 720 3342 w 9 /LucidaTypewriter f (user[none]:) 1008 3512 w 9 /Helvetica f (gre) 1788 3512 w 9 /LucidaTypewriter f (secstore) 1008 3622 w (password:) 1593 3622 w 9 /Helvetica f (*********) 2243 3622 w 9 /LucidaTypewriter f (STA) 1008 3732 w (PIN+SecurID:) 1268 3732 w 9 /Helvetica f (*********) 2113 3732 w 10 /LucidaSansUnicode00 f (That) 720 3912 w 10 /LucidaSansUnicode20 f (\031) 937 3912 w 10 /LucidaSansUnicode00 f (s) 969 3912 w (the) 1062 3912 w (last) 1259 3912 w 10 /LucidaTypewriter f (gre) 1473 3912 w 10 /LucidaSansUnicode00 f (will) 1731 3912 w (hear) 1937 3912 w (from) 2193 3912 w 10 /LucidaTypewriter f (factotum) 2467 3912 w 10 /LucidaSansUnicode00 f (unless) 3085 3912 w (an) 3438 3912 w (attempt) 3597 3912 w (is) 4017 3912 w (made) 4139 3912 w (to) 4448 3912 w (contact) 4588 3912 w (a) 4985 3912 w (system for which no key is kept in the secure store.) 720 4032 w 10 /LucidaSans-Demi f (2.2.) 720 4272 w (The factotum) 962 4272 w 10 /LucidaSansUnicode00 f (Each) 720 4428 w (computer) 983 4428 w (running) 1488 4428 w (Plan) 1909 4428 w (9) 2151 4428 w (has) 2255 4428 w (one) 2464 4428 w (user) 2684 4428 w (id) 2935 4428 w (that) 3068 4428 w (owns) 3300 4428 w (all) 3592 4428 w (the) 3746 4428 w (resources) 3943 4428 w (on) 4455 4428 w (that) 4620 4428 w (sys\255) 4853 4428 w (tem) 720 4548 w 10 /LucidaSansUnicode20 f (\024) 944 4548 w 10 /LucidaSansUnicode00 f (the) 1082 4548 w (scheduler,) 1275 4548 w (local) 1816 4548 w (disks,) 2079 4548 w (network) 2401 4548 w (interfaces,) 2831 4548 w (etc.) 3376 4548 w (That) 3622 4548 w (user,) 3877 4548 w (the) 4157 4548 w 10 /LucidaSans-Italic f (host) 4350 4548 w (owner) 4593 4548 w 10 /LucidaSansUnicode00 f (,) 4891 4548 w (is) 4960 4548 w (the) 720 4668 w (closest) 911 4668 w (analogue) 1283 4668 w (in) 1761 4668 w (Plan) 1888 4668 w (9) 2125 4668 w (to) 2224 4668 w (a) 2358 4668 w (Unix) 2449 4668 w 10 /LucidaTypewriter f (root) 2706 4668 w 10 /LucidaSansUnicode00 f (account) 3030 4668 w (\(although) 3446 4668 w (it) 3946 4668 w (is) 4049 4668 w (far) 4166 4668 w (weaker;) 4336 4668 w (rather) 4748 4668 w (than) 720 4788 w (having) 983 4788 w (special) 1352 4788 w (powers,) 1733 4788 w (as) 2161 4788 w (its) 2313 4788 w (name) 2476 4788 w (implies) 2788 4788 w (the) 3184 4788 w (host) 3385 4788 w (owner) 3642 4788 w (is) 3985 4788 w (just) 4111 4788 w (a) 4337 4788 w (regular) 4438 4788 w (user) 4830 4788 w (that) 720 4908 w (happens) 963 4908 w (to) 1427 4908 w (own) 1578 4908 w (the) 1831 4908 w (resources) 2039 4908 w (of) 2562 4908 w (the) 2713 4908 w (local) 2921 4908 w (machine\).) 3199 4908 w (On) 3757 4908 w (a) 3950 4908 w (single-user) 4058 4908 w (system,) 4668 4908 w (which) 720 5028 w (we) 1037 5028 w (call) 1206 5028 w (a) 1406 5028 w (terminal,) 1497 5028 w (the) 1967 5028 w (host) 2158 5028 w (owner) 2405 5028 w (is) 2738 5028 w (the) 2854 5028 w (id) 3045 5028 w (of) 3173 5028 w (the) 3307 5028 w (terminal) 3497 5028 w 10 /LucidaSansUnicode20 f (\031) 3899 5028 w 10 /LucidaSansUnicode00 f (s) 3931 5028 w (user.) 4017 5028 w (Shared) 4326 5028 w (servers) 4692 5028 w (such) 720 5148 w (as) 990 5148 w (CPU) 1140 5148 w (servers) 1377 5148 w (normally) 1769 5148 w (have) 2235 5148 w (a) 2504 5148 w (pseudo-user) 2603 5148 w (that) 3271 5148 w (initially) 3506 5148 w (owns) 3901 5148 w (all) 4197 5148 w (resources.) 4355 5148 w (At) 4934 5148 w (boot) 720 5268 w (time,) 987 5268 w (the) 1279 5268 w (Plan) 1479 5268 w (9) 1725 5268 w (kernel) 1833 5268 w (starts) 2180 5268 w (a) 2497 5268 w 10 /LucidaTypewriter f (factotum) 2597 5268 w 10 /LucidaSansUnicode00 f (executing) 3218 5268 w (as,) 3739 5268 w (and) 3921 5268 w (therefore) 4145 5268 w (with) 4636 5268 w (the) 4885 5268 w (privileges of, the host owner.) 720 5388 w (New) 720 5544 w (processes) 969 5544 w (run) 1492 5544 w (as) 1699 5544 w (the) 1847 5544 w (same) 2044 5544 w (user) 2341 5544 w (as) 2593 5544 w (the) 2741 5544 w (process) 2938 5544 w (which) 3354 5544 w (created) 3678 5544 w (them.) 4080 5544 w (When) 4435 5544 w (a) 4744 5544 w (pro\255) 4842 5544 w (cess) 720 5664 w (must) 981 5664 w (take) 1276 5664 w (on) 1534 5664 w (the) 1709 5664 w (identity) 1916 5664 w (of) 2333 5664 w (a) 2483 5664 w (new) 2590 5664 w (user,) 2837 5664 w (such) 3131 5664 w (as) 3409 5664 w (to) 3567 5664 w (provide) 3717 5664 w (a) 4133 5664 w (login) 4239 5664 w (shell) 4533 5664 w (on) 4811 5664 w (a) 4985 5664 w (shared) 720 5784 w (CPU) 1102 5784 w (server,) 1349 5784 w (it) 1732 5784 w (does) 1852 5784 w (so) 2137 5784 w (by) 2303 5784 w (proving) 2473 5784 w (to) 2898 5784 w (the) 3051 5784 w (host) 3261 5784 w (owner) 3527 5784 w 10 /LucidaSansUnicode20 f (\031) 3824 5784 w 10 /LucidaSansUnicode00 f (s) 3856 5784 w 10 /LucidaTypewriter f (factotum) 3962 5784 w 10 /LucidaSansUnicode00 f (that) 4593 5784 w (it) 4839 5784 w (is) 4960 5784 w (authorized) 720 5904 w (to) 1323 5904 w (do) 1501 5904 w (so.) 1705 5904 w (This) 1961 5904 w (is) 2246 5904 w (done) 2406 5904 w (by) 2728 5904 w (running) 2923 5904 w (an) 3382 5904 w (authentication) 3578 5904 w (protocol) 4352 5904 w (with) 4835 5904 w 10 /LucidaTypewriter f (factotum) 720 6024 w 10 /LucidaSansUnicode00 f (to) 1340 6024 w (prove) 1482 6024 w (that) 1799 6024 w (the) 2034 6024 w (process) 2233 6024 w (has) 2651 6024 w (access) 2863 6024 w (to) 3222 6024 w (secret) 3364 6024 w (information) 3700 6024 w (which) 4311 6024 w (only) 4636 6024 w (the) 4885 6024 w (new) 720 6144 w (user) 948 6144 w (should possess.) 1191 6144 w (For example, consider the setup in Figure 1a.) 2031 6144 w (If a user on the) 4303 6144 w (terminal) 720 6264 w (wants) 1164 6264 w (to) 1488 6264 w (log) 1628 6264 w (in) 1822 6264 w (to) 1955 6264 w (the) 2095 6264 w (CPU) 2292 6264 w (server) 2527 6264 w (using) 2866 6264 w (the) 3174 6264 w (Plan) 3371 6264 w (9) 3614 6264 w 10 /LucidaTypewriter f (cpu) 3720 6264 w 10 /LucidaSansUnicode00 f (service) 3979 6264 w ([Pike93],) 4358 6264 w (then) 4823 6264 w 11 /LucidaSans-Italic f (P) 720 6384 w 8 /LucidaSans-Italic f (T) 797 6406 w 10 /LucidaSansUnicode00 f (might) 892 6384 w (be) 1211 6384 w (the) 1366 6384 w 10 /LucidaTypewriter f (cpu) 1557 6384 w 10 /LucidaSansUnicode00 f (client) 1809 6384 w (program) 2109 6384 w (and) 2561 6384 w 11 /LucidaSans-Italic f (P) 2780 6384 w 8 /LucidaSans-Italic f (C) 2857 6406 w 10 /LucidaSansUnicode00 f (the) 2956 6384 w 10 /LucidaTypewriter f (cpu) 3147 6384 w 10 /LucidaSansUnicode00 f (server.) 3399 6384 w (Neither) 3796 6384 w 11 /LucidaSans-Italic f (P) 4186 6384 w 8 /LucidaSans-Italic f (C) 4263 6406 w 10 /LucidaSansUnicode00 f (nor) 4361 6384 w 11 /LucidaSans-Italic f (P) 4560 6384 w 8 /LucidaSans-Italic f (T) 4637 6406 w 10 /LucidaSansUnicode00 f (knows) 4731 6384 w (the) 720 6504 w (details) 908 6504 w (of) 1261 6504 w (the) 1392 6504 w (authentication.) 1580 6504 w (They) 2372 6504 w (do) 2639 6504 w (need) 2797 6504 w (to) 3068 6504 w (be) 3200 6504 w (able) 3353 6504 w (to) 3590 6504 w (shuttle) 3722 6504 w (messages) 4090 6504 w (back) 4599 6504 w (and) 4860 6504 w (forth) 720 6624 w (between) 1012 6624 w (the) 1473 6624 w (two) 1682 6624 w 10 /LucidaTypewriter f (factotums) 1911 6624 w 10 /LucidaSansUnicode00 f (,) 2559 6624 w (but) 2645 6624 w (this) 2861 6624 w (is) 3094 6624 w (a) 3228 6624 w (generic) 3337 6624 w (function) 3748 6624 w (easily) 4203 6624 w (performed) 4529 6624 w (without) 720 6744 w (knowing,) 1120 6744 w (or) 1598 6744 w (being) 1735 6744 w (able) 2042 6744 w (to) 2280 6744 w (extract,) 2413 6744 w (secrets) 2818 6744 w (in) 3196 6744 w (the) 3322 6744 w (messages.) 3512 6744 w 11 /LucidaSans-Italic f (P) 4092 6744 w 8 /LucidaSans-Italic f (T) 4169 6766 w 10 /LucidaSansUnicode00 f (will) 4263 6744 w (make) 4463 6744 w (a) 4761 6744 w (net\255) 4852 6744 w (work) 720 6864 w (connection) 1000 6864 w (to) 1575 6864 w 11 /LucidaSans-Italic f (P) 1716 6864 w 8 /LucidaSans-Italic f (C) 1793 6886 w 10 /LucidaSansUnicode00 f (.) 1856 6864 w 11 /LucidaSans-Italic f (P) 1969 6864 w 8 /LucidaSans-Italic f (T) 2046 6886 w 10 /LucidaSansUnicode00 f (and) 2148 6864 w 11 /LucidaSans-Italic f (P) 2374 6864 w 8 /LucidaSans-Italic f (C) 2451 6886 w 10 /LucidaSansUnicode00 f (will) 2557 6864 w (then) 2764 6864 w (relay) 3024 6864 w (messages) 3300 6864 w (between) 3818 6864 w (the) 4267 6864 w 10 /LucidaTypewriter f (factotum) 4464 6864 w 10 /LucidaSansUnicode00 f (owned) 720 6984 w (by) 1073 6984 w (the) 1222 6984 w (user,) 1411 6984 w 11 /LucidaSans-Italic f (F) 1687 6984 w 8 /LucidaSans-Italic f (T) 1759 7006 w 10 /LucidaSansUnicode00 f (,) 1818 6984 w (and) 1884 6984 w (the) 2098 6984 w (one) 2287 6984 w (owned) 2500 6984 w (by) 2853 6984 w (the) 3002 6984 w (CPU) 3191 6984 w (server,) 3418 6984 w 11 /LucidaSans-Italic f (F) 3781 6984 w 8 /LucidaSans-Italic f (C) 3853 7006 w 10 /LucidaSansUnicode00 f (,) 3916 6984 w (until) 3982 6984 w (mutual) 4235 6984 w (authenti\255) 4607 6984 w (cation) 720 7104 w (has) 1056 7104 w (been) 1265 7104 w (established.) 1543 7104 w (Later) 2200 7104 w (sections) 2483 7104 w (describe) 2922 7104 w (the) 3373 7104 w (RPC) 3569 7104 w (between) 3797 7104 w 10 /LucidaTypewriter f (factotum) 4244 7104 w 10 /LucidaSansUnicode00 f (and) 4860 7104 w (applications and the library functions to support proxy operations.) 720 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 (The) 720 840 w (kernel) 960 840 w (always) 1321 840 w (uses) 1699 840 w (a) 1978 840 w (single) 2092 840 w (local) 2440 840 w (instance) 2724 840 w (of) 3186 840 w 10 /LucidaTypewriter f (factotum) 3343 840 w 10 /LucidaSansUnicode00 f (,) 3919 840 w (running) 4010 840 w (as) 4449 840 w (the) 4614 840 w (host) 4829 840 w (owner,) 720 960 w (for) 1094 960 w (its) 1278 960 w (authentication) 1440 960 w (purposes,) 2180 960 w (but) 2705 960 w (a) 2911 960 w (regular) 3010 960 w (user) 3400 960 w (may) 3654 960 w (start) 3898 960 w (other) 4163 960 w 10 /LucidaTypewriter f (factotum) 4464 960 w 10 /LucidaSansUnicode00 f (agents.) 720 1080 w (In) 1141 1080 w (fact,) 1267 1080 w (the) 1514 1080 w 10 /LucidaTypewriter f (factotum) 1704 1080 w 10 /LucidaSansUnicode00 f (representing) 2315 1080 w (the) 2966 1080 w (user) 3156 1080 w (need) 3401 1080 w (not) 3673 1080 w (be) 3868 1080 w (running) 4022 1080 w (on) 4437 1080 w (the) 4595 1080 w (same) 4785 1080 w (machine) 720 1200 w (as) 1169 1200 w (its) 1315 1200 w (client.) 1472 1200 w (For) 1840 1200 w (instance,) 2036 1200 w (it) 2511 1200 w (is) 2617 1200 w (easy) 2737 1200 w (for) 2991 1200 w (a) 3170 1200 w (user) 3265 1200 w (on) 3515 1200 w (a) 3678 1200 w (CPU) 3773 1200 w (server,) 4006 1200 w (through) 4375 1200 w (stan\255) 4802 1200 w (dard) 720 1320 w (Plan) 977 1320 w (9) 1213 1320 w (operations,) 1311 1320 w (to) 1894 1320 w (replace) 2027 1320 w (the) 2413 1320 w 10 /LucidaTypewriter f (/mnt/factotum) 2603 1320 w 10 /LucidaSansUnicode00 f (in) 3574 1320 w (the) 3700 1320 w (user) 3890 1320 w 10 /LucidaSansUnicode20 f (\031) 4100 1320 w 10 /LucidaSansUnicode00 f (s) 4132 1320 w (private) 4218 1320 w (file) 4587 1320 w (name) 4774 1320 w (space) 720 1440 w (on) 1033 1440 w (the) 1193 1440 w (server) 1385 1440 w (with) 1719 1440 w (a) 1961 1440 w (connection) 2053 1440 w (to) 2621 1440 w (the) 2755 1440 w 10 /LucidaTypewriter f (factotum) 2946 1440 w 10 /LucidaSansUnicode00 f (running) 3558 1440 w (on) 3974 1440 w (the) 4133 1440 w (terminal.) 4324 1440 w (\(The) 4826 1440 w (usual) 720 1560 w (file) 1018 1560 w (system) 1208 1560 w (permissions) 1587 1560 w (prevent) 2213 1560 w (interlopers) 2619 1560 w (from) 3184 1560 w (doing) 3455 1560 w (so) 3772 1560 w (maliciously.\)) 3924 1560 w (This) 4602 1560 w (per\255) 4847 1560 w (mits) 720 1680 w (secure operations on the CPU server to be transparently validated by the user) 963 1680 w 10 /LucidaSansUnicode20 f (\031) 4725 1680 w 10 /LucidaSansUnicode00 f (s own) 4757 1680 w 10 /LucidaTypewriter f (factotum) 720 1800 w 10 /LucidaSansUnicode00 f (,) 1296 1800 w (so) 1373 1800 w (secrets) 1530 1800 w (need) 1919 1800 w (never) 2202 1800 w (leave) 2515 1800 w (the) 2809 1800 w (user) 3010 1800 w 10 /LucidaSansUnicode20 f (\031) 3220 1800 w 10 /LucidaSansUnicode00 f (s) 3252 1800 w (terminal.) 3349 1800 w (The) 3861 1800 w (SSH) 4088 1800 w (agent) 4316 1800 w ([Ylon96]) 4634 1800 w (does) 720 1920 w (much) 993 1920 w (the) 1303 1920 w (same) 1500 1920 w (with) 1797 1920 w (special) 2044 1920 w (SSH) 2420 1920 w (protocol) 2644 1920 w (messages,) 3090 1920 w (but) 3639 1920 w (an) 3843 1920 w (advantage) 4002 1920 w (to) 4541 1920 w (making) 4681 1920 w (our) 720 2040 w (agent) 921 2040 w (a) 1230 2040 w (file) 1322 2040 w (system) 1510 2040 w (is) 1887 2040 w (that) 2004 2040 w (we) 2233 2040 w (need) 2404 2040 w (no) 2679 2040 w (new) 2840 2040 w (mechanism) 3073 2040 w (to) 3663 2040 w (access) 3799 2040 w (our) 4152 2040 w (remote) 4354 2040 w (agent;) 4736 2040 w (remote file access is sufficient.) 720 2160 w (Within) 720 2316 w 10 /LucidaTypewriter f (factotum) 1078 2316 w 10 /LucidaSansUnicode00 f (,) 1654 2316 w (each) 1739 2316 w (protocol) 2016 2316 w (is) 2473 2316 w (implemented) 2606 2316 w (as) 3296 2316 w (a) 3455 2316 w (state) 3563 2316 w (machine) 3853 2316 w (with) 4315 2316 w (a) 4574 2316 w (generic) 4683 2316 w (interface,) 720 2436 w (so) 1214 2436 w (protocols) 1364 2436 w (are) 1857 2436 w (in) 2047 2436 w (essence) 2176 2436 w (pluggable) 2597 2436 w (modules,) 3116 2436 w (easy) 3601 2436 w (to) 3852 2436 w (add,) 3987 2436 w (modify,) 4237 2436 w (or) 4641 2436 w (drop.) 4780 2436 w (Writing) 720 2556 w (a) 1106 2556 w (message) 1201 2556 w (to) 1665 2556 w (and) 1803 2556 w (reading) 2023 2556 w (a) 2431 2556 w (message) 2526 2556 w (from) 2990 2556 w 10 /LucidaTypewriter f (factotum) 3262 2556 w 10 /LucidaSansUnicode00 f (each) 3878 2556 w (require) 4142 2556 w (a) 4530 2556 w (separate) 4626 2556 w (RPC) 720 2676 w (and) 950 2676 w (result) 1173 2676 w (in) 1492 2676 w (a) 1626 2676 w (single) 1724 2676 w (state) 2056 2676 w (transition.) 2335 2676 w (Therefore) 2906 2676 w 10 /LucidaTypewriter f (factotum) 3422 2676 w 10 /LucidaSansUnicode00 f (always) 4041 2676 w (runs) 4403 2676 w (to) 4662 2676 w (com\255) 4802 2676 w (pletion) 720 2796 w (on) 1115 2796 w (every) 1296 2796 w (RPC) 1611 2796 w (and) 1856 2796 w (never) 2094 2796 w (blocks) 2419 2796 w (waiting) 2790 2796 w (for) 3199 2796 w (input) 3396 2796 w (during) 3707 2796 w (any) 4085 2796 w (authentication.) 4313 2796 w (Moreover,) 720 2916 w (the) 1244 2916 w (number) 1437 2916 w (of) 1852 2916 w (simultaneous) 1988 2916 w (authentications) 2674 2916 w (is) 3458 2916 w (limited) 3576 2916 w (only) 3950 2916 w (by) 4191 2916 w (the) 4343 2916 w (amount) 4535 2916 w (of) 4942 2916 w (memory we) 720 3036 w 10 /LucidaSansUnicode20 f (\031) 1281 3036 w 10 /LucidaSansUnicode00 f (re willing to dedicate to representing the state machines.) 1313 3036 w (Authentication) 720 3192 w (protocols) 1493 3192 w (are) 2012 3192 w (implemented) 2229 3192 w (only) 2931 3192 w (within) 3200 3192 w 10 /LucidaTypewriter f (factotum) 3561 3192 w 10 /LucidaSansUnicode00 f (,) 4137 3192 w (but) 4234 3192 w (adding) 4461 3192 w (and) 4860 3192 w (removing) 720 3312 w (protocols) 1215 3312 w (does) 1709 3312 w (require) 1979 3312 w (relinking) 2366 3312 w (the) 2833 3312 w (binary,) 3027 3312 w (so) 3400 3312 w 10 /LucidaTypewriter f (factotum) 3551 3312 w 10 /LucidaSansUnicode00 f (processes) 4165 3312 w (\(but) 4684 3312 w (no) 4917 3312 w (others\) need to be restarted in order to take advantage of new or repaired protocols.) 720 3432 w (At) 720 3588 w (the) 886 3588 w (time) 1101 3588 w (of) 1376 3588 w (writing,) 1534 3588 w 10 /LucidaTypewriter f (factotum) 1963 3588 w 10 /LucidaSansUnicode00 f (contains) 2599 3588 w (authentication) 3067 3588 w (modules) 3823 3588 w (for) 4299 3588 w (the) 4499 3588 w (Plan) 4715 3588 w (9) 4977 3588 w (shared) 720 3708 w (key) 1097 3708 w (protocol) 1312 3708 w (\(p9sk1\),) 1765 3708 w (SSH) 2210 3708 w 10 /LucidaSansUnicode20 f (\031) 2392 3708 w 10 /LucidaSansUnicode00 f (s) 2424 3708 w (RSA) 2524 3708 w (authentication,) 2759 3708 w (passwords) 3535 3708 w (in) 4097 3708 w (the) 4236 3708 w (clear,) 4439 3708 w (APOP,) 4751 3708 w (CRAM, PPP) 720 3828 w 10 /LucidaSansUnicode20 f (\031) 1236 3828 w 10 /LucidaSansUnicode00 f (s CHAP, Microsoft PPP) 1268 3828 w 10 /LucidaSansUnicode20 f (\031) 2333 3828 w 10 /LucidaSansUnicode00 f (s MSCHAP, and VNC) 2365 3828 w 10 /LucidaSansUnicode20 f (\031) 3339 3828 w 10 /LucidaSansUnicode00 f (s challenge/response.) 3371 3828 w 10 /LucidaSans-Demi f (2.3.) 720 4068 w (Local capabilities) 962 4068 w 10 /LucidaSansUnicode00 f (A) 720 4224 w (capability) 833 4224 w (system,) 1340 4224 w (managed) 1756 4224 w (by) 2246 4224 w (the) 2405 4224 w (kernel,) 2604 4224 w (is) 2982 4224 w (used) 3107 4224 w (to) 3384 4224 w (empower) 3527 4224 w 10 /LucidaTypewriter f (factotum) 4019 4224 w 10 /LucidaSansUnicode00 f (to) 4640 4224 w (grant) 4783 4224 w (permission) 720 4344 w (to) 1293 4344 w (another) 1428 4344 w (process) 1839 4344 w (to) 2250 4344 w (change) 2385 4344 w (its) 2770 4344 w (user) 2924 4344 w (id.) 3171 4344 w (A) 3364 4344 w (kernel) 3470 4344 w (device) 3809 4344 w (driver) 4153 4344 w (implements) 4471 4344 w (two) 720 4464 w (files,) 934 4464 w 10 /LucidaTypewriter f (/dev/caphash) 1207 4464 w 10 /LucidaSansUnicode00 f (and) 2110 4464 w 10 /LucidaTypewriter f (/dev/capuse) 2329 4464 w 10 /LucidaSansUnicode00 f (.) 3121 4464 w (The) 3224 4464 w (write-only) 3444 4464 w (file) 3985 4464 w 10 /LucidaTypewriter f (/dev/caphash) 4176 4464 w 10 /LucidaSansUnicode00 f (can) 720 4584 w (be) 944 4584 w (opened) 1119 4584 w (only) 1536 4584 w (by) 1796 4584 w (the) 1967 4584 w (host) 2178 4584 w (owner,) 2445 4584 w (and) 2830 4584 w (only) 3066 4584 w (once.) 3326 4584 w 10 /LucidaTypewriter f (Factotum) 3676 4584 w 10 /LucidaSansUnicode00 f (opens) 4307 4584 w (this) 4655 4584 w (file) 4889 4584 w (immediately after booting.) 720 4704 w (To) 720 4860 w (use) 896 4860 w (the) 1117 4860 w (files,) 1324 4860 w 10 /LucidaTypewriter f (factotum) 1610 4860 w 10 /LucidaSansUnicode00 f (creates) 2238 4860 w (a) 2637 4860 w (string) 2744 4860 w (of) 3078 4860 w (the) 3228 4860 w (form) 3436 4860 w 10 /LucidaSans-Italic f (userid1) 3721 4860 w 10 /LucidaTypewriter f (@) 4086 4860 w 10 /LucidaSans-Italic f (userid2) 4158 4860 w 10 /LucidaTypewriter f (@) 4523 4860 w 10 /LucidaSans-Italic f (random-) 4595 4860 w (string) 720 4980 w 10 /LucidaSansUnicode00 f (,) 1007 4980 w (uses) 1084 4980 w (SHA1) 1349 4980 w (HMAC) 1654 4980 w (to) 1996 4980 w (hash) 2138 4980 w 10 /LucidaSans-Italic f (userid1) 2412 4980 w 10 /LucidaTypewriter f (@) 2777 4980 w 10 /LucidaSans-Italic f (userid2) 2849 4980 w 10 /LucidaSansUnicode00 f (with) 3258 4980 w (key) 3507 4980 w 10 /LucidaSans-Italic f (random-string) 3717 4980 w 10 /LucidaSansUnicode00 f (,) 4449 4980 w (and) 4525 4980 w (writes) 4749 4980 w (that) 720 5100 w (hash) 954 5100 w (to) 1227 5100 w 10 /LucidaTypewriter f (/dev/caphash) 1368 5100 w 10 /LucidaSansUnicode00 f (.) 2232 5100 w 10 /LucidaTypewriter f (Factotum) 2339 5100 w 10 /LucidaSansUnicode00 f (then) 2958 5100 w (passes) 3218 5100 w (the) 3588 5100 w (original) 3786 5100 w (string) 4198 5100 w (to) 4524 5100 w (another) 4666 5100 w (process) 720 5220 w (on) 1154 5220 w (the) 1337 5220 w (same) 1552 5220 w (machine,) 1867 5220 w (running) 2367 5220 w (as) 2807 5220 w (user) 2972 5220 w 10 /LucidaSans-Italic f (userid1) 3241 5220 w 10 /LucidaSansUnicode00 f (,) 3606 5220 w (which) 3697 5220 w (writes) 4037 5220 w (the) 4387 5220 w (string) 4601 5220 w (to) 4942 5220 w 10 /LucidaTypewriter f (/dev/capuse) 720 5340 w 10 /LucidaSansUnicode00 f (.) 1512 5340 w (The) 1612 5340 w (kernel) 1829 5340 w (hashes) 2167 5340 w (the) 2540 5340 w (string) 2731 5340 w (and) 3049 5340 w (looks) 3265 5340 w (for) 3561 5340 w (a) 3736 5340 w (matching) 3827 5340 w (hash) 4314 5340 w (in) 4580 5340 w (its) 4708 5340 w (list.) 4862 5340 w (If) 720 5460 w (it) 837 5460 w (finds) 954 5460 w (one,) 1247 5460 w (the) 1509 5460 w (writing) 1715 5460 w (process) 2103 5460 w 10 /LucidaSansUnicode20 f (\031) 2477 5460 w 10 /LucidaSansUnicode00 f (s) 2509 5460 w (user) 2611 5460 w (id) 2872 5460 w (changes) 3015 5460 w (from) 3465 5460 w 10 /LucidaSans-Italic f (userid1) 3748 5460 w 10 /LucidaSansUnicode00 f (to) 4164 5460 w 10 /LucidaSans-Italic f (userid2) 4313 5460 w 10 /LucidaSansUnicode00 f (.) 4678 5460 w (Once) 4793 5460 w (used, or if a timeout expires, the capability is discarded by the kernel.) 720 5580 w (The) 720 5736 w (capabilities) 979 5736 w (are) 1604 5736 w (local) 1834 5736 w (to) 2137 5736 w (the) 2313 5736 w (machine) 2546 5736 w (on) 3032 5736 w (which) 3233 5736 w (they) 3592 5736 w (are) 3877 5736 w (created.) 4107 5736 w (Hence) 4608 5736 w (a) 4985 5736 w 10 /LucidaTypewriter f (factotum) 720 5856 w 10 /LucidaSansUnicode00 f (running) 1340 5856 w (on) 1764 5856 w (one) 1931 5856 w (machine) 2154 5856 w (cannot) 2606 5856 w (pass) 2978 5856 w (capabilities) 3242 5856 w (to) 3833 5856 w (processes) 3975 5856 w (on) 4500 5856 w (another) 4666 5856 w (and expect them to work.) 720 5976 w 10 /LucidaSans-Demi f (2.4.) 720 6216 w (Keys) 962 6216 w 10 /LucidaSansUnicode00 f (We) 720 6372 w (define) 899 6372 w (the) 1239 6372 w (word) 1431 6372 w 10 /LucidaSans-Italic f (key) 1710 6372 w 10 /LucidaSansUnicode00 f (to) 1913 6372 w (mean) 2048 6372 w (not) 2351 6372 w (only) 2548 6372 w (a) 2789 6372 w (secret,) 2881 6372 w (but) 3242 6372 w (also) 3441 6372 w (a) 3674 6372 w (description) 3766 6372 w (of) 4346 6372 w (the) 4482 6372 w (context) 4675 6372 w (in) 720 6492 w (which) 858 6492 w (that) 1186 6492 w (secret) 1424 6492 w (is) 1763 6492 w (to) 1890 6492 w (be) 2035 6492 w (used:) 2201 6492 w (the) 2511 6492 w (protocol,) 2712 6492 w (server,) 3194 6492 w (user,) 3569 6492 w (etc.) 3857 6492 w (to) 4079 6492 w (which) 4223 6492 w (it) 4550 6492 w (applies.) 4662 6492 w (That) 720 6612 w (is,) 980 6612 w (a) 1135 6612 w (key) 1233 6612 w (is) 1442 6612 w (a) 1565 6612 w (combination) 1663 6612 w (of) 2309 6612 w (secret) 2450 6612 w (and) 2785 6612 w (descriptive) 3008 6612 w (information) 3579 6612 w (used) 4189 6612 w (to) 4465 6612 w (authenti\255) 4607 6612 w (cate) 720 6732 w (the) 954 6732 w (identities) 1144 6732 w (of) 1628 6732 w (parties) 1761 6732 w (transmitting) 2128 6732 w (or) 2758 6732 w (receiving) 2895 6732 w (information.) 3367 6732 w (The) 4032 6732 w (set) 4247 6732 w (of) 4425 6732 w (keys) 4557 6732 w (used) 4808 6732 w (in) 720 6852 w (any) 856 6852 w (authentication) 1070 6852 w (depends) 1810 6852 w (both) 2269 6852 w (on) 2537 6852 w (the) 2705 6852 w (protocol) 2905 6852 w (and) 3354 6852 w (on) 3579 6852 w (parameters) 3747 6852 w (passed) 4340 6852 w (by) 4724 6852 w (the) 4885 6852 w (program requesting the authentication.) 720 6972 w (Taking) 720 7128 w (a) 1113 7128 w (tip) 1232 7128 w (from) 1425 7128 w (SDSI) 1721 7128 w ([RiLa],) 1997 7128 w (which) 2359 7128 w (represents) 2704 7128 w (security) 3282 7128 w (information) 3725 7128 w (as) 4356 7128 w (textual) 4526 7128 w (S-) 4928 7128 w (expressions,) 720 7248 w (keys) 1406 7248 w (in) 1695 7248 w (Plan) 1857 7248 w (9) 2129 7248 w (are) 2263 7248 w (represented) 2486 7248 w (as) 3139 7248 w (plain) 3316 7248 w (UTF-8) 3625 7248 w (text.) 4003 7248 w (Text) 4329 7248 w (is) 4617 7248 w (easily) 4768 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 (understood) 720 840 w (and) 1313 840 w (manipulated) 1529 840 w (by) 2169 840 w (users.) 2320 840 w (By) 2681 840 w (contrast,) 2827 840 w (a) 3290 840 w (binary) 3381 840 w (or) 3719 840 w (other) 3857 840 w (cryptic) 4150 840 w (format) 4511 840 w (can) 4872 840 w (actually) 720 960 w (reduce) 1138 960 w (overall) 1515 960 w (security.) 1886 960 w (Binary) 2376 960 w (formats) 2720 960 w (are) 3142 960 w (difficult) 3341 960 w (for) 3762 960 w (users) 3948 960 w (to) 4256 960 w (examine) 4401 960 w (and) 4860 960 w (can) 720 1080 w (only) 925 1080 w (be) 1166 1080 w (cracked) 1322 1080 w (by) 1734 1080 w (special) 1886 1080 w (tools,) 2258 1080 w (themselves) 2567 1080 w (poorly) 3148 1080 w (understood) 3493 1080 w (by) 4088 1080 w (most) 4241 1080 w (users.) 4521 1080 w (For) 4884 1080 w (example,) 720 1200 w (very) 1219 1200 w (few) 1474 1200 w (people) 1698 1200 w (know) 2080 1200 w (or) 2392 1200 w (understand) 2548 1200 w (what) 3153 1200 w 10 /LucidaSansUnicode20 f (\031) 3384 1200 w 10 /LucidaSansUnicode00 f (s) 3416 1200 w (inside) 3520 1200 w (their) 3863 1200 w (X.509) 4141 1200 w (certificates.) 4478 1200 w (Most) 720 1320 w (don) 995 1320 w 10 /LucidaSansUnicode20 f (\031) 1181 1320 w 10 /LucidaSansUnicode00 f (t) 1213 1320 w (even) 1290 1320 w (know) 1556 1320 w (where) 1854 1320 w (in) 2186 1320 w (the) 2317 1320 w (system) 2512 1320 w (to) 2892 1320 w (find) 3030 1320 w (them.) 3261 1320 w (Therefore,) 3613 1320 w (they) 4159 1320 w (have) 4407 1320 w (no) 4673 1320 w (idea) 4837 1320 w (what) 720 1440 w (they) 993 1440 w (are) 1242 1440 w (trusting,) 1436 1440 w (and) 1891 1440 w (why,) 2113 1440 w (and) 2378 1440 w (are) 2600 1440 w (powerless) 2793 1440 w (to) 3319 1440 w (change) 3458 1440 w (their) 3847 1440 w (trust) 4113 1440 w (relationships.) 4382 1440 w (Textual, centrally stored and managed keys are easier to use and safer.) 720 1560 w (Plan) 720 1716 w (9) 965 1716 w (has) 1072 1716 w (historically) 1284 1716 w (represented) 1854 1716 w (databases) 2480 1716 w (as) 3010 1716 w (attribute/value) 3160 1716 w (pairs,) 3928 1716 w (since) 4243 1716 w (they) 4536 1716 w (are) 4788 1716 w (a) 4985 1716 w (good) 720 1836 w (foundation) 1013 1836 w (for) 1588 1836 w (selection) 1773 1836 w (and) 2251 1836 w (projection) 2476 1836 w (operations.) 3012 1836 w 10 /LucidaTypewriter f (Factotum) 3637 1836 w 10 /LucidaSansUnicode00 f (therefore) 4258 1836 w (repre\255) 4750 1836 w (sents) 720 1956 w (the) 1022 1956 w (keys) 1222 1956 w (in) 1484 1956 w (the) 1620 1956 w (format) 1820 1956 w 10 /LucidaSans-Italic f (attribute) 2189 1956 w 10 /LucidaTypewriter f (=) 2617 1956 w 10 /LucidaSans-Italic f (value) 2689 1956 w 10 /LucidaSansUnicode00 f (,) 2948 1956 w (where) 3025 1956 w 10 /LucidaSans-Italic f (attribute) 3362 1956 w 10 /LucidaSansUnicode00 f (is) 3835 1956 w (an) 3961 1956 w (identifier,) 4124 1956 w (possibly) 4641 1956 w (with) 720 2076 w (a) 964 2076 w (single-character) 1058 2076 w (prefix,) 1893 2076 w (and) 2251 2076 w 10 /LucidaSans-Italic f (value) 2470 2076 w 10 /LucidaSansUnicode00 f (is) 2768 2076 w (an) 2887 2076 w (arbitrary) 3043 2076 w (quoted) 3496 2076 w (string.) 3877 2076 w (The) 4262 2076 w (pairs) 4482 2076 w (them\255) 4759 2076 w (selves) 720 2196 w (are) 1051 2196 w (separated) 1240 2196 w (by) 1754 2196 w (white) 1906 2196 w (space.) 2204 2196 w (For) 2581 2196 w (example,) 2774 2196 w (a) 3256 2196 w (Plan) 3348 2196 w (9) 3586 2196 w (key) 3686 2196 w (and) 3889 2196 w (an) 4106 2196 w (APOP) 4260 2196 w (key) 4554 2196 w (might) 4757 2196 w (be represented like this:) 720 2316 w 9 /LucidaTypewriter f (dom=bell-labs.com) 1008 2486 w (proto=p9sk1) 2178 2486 w (user=gre) 2958 2486 w (!password='don''t) 1528 2596 w (tell') 2698 2596 w (proto=apop) 1008 2706 w (server=x.y.com) 1723 2706 w (user=gre) 2698 2706 w (!password='open) 1528 2816 w (sesame') 2568 2816 w 10 /LucidaSansUnicode00 f (If) 720 2996 w (a) 825 2996 w (value) 919 2996 w (is) 1212 2996 w (empty) 1331 2996 w (or) 1671 2996 w (contains) 1812 2996 w (white) 2259 2996 w (space) 2559 2996 w (or) 2875 2996 w (single) 3017 2996 w (quotes,) 3346 2996 w (it) 3748 2996 w (must) 3854 2996 w (be) 4137 2996 w (quoted;) 4296 2996 w (quotes) 4710 2996 w (are) 720 3116 w (represented) 921 3116 w (by) 1552 3116 w (doubled) 1716 3116 w (single) 2162 3116 w (quotes.) 2500 3116 w (Attributes) 2943 3116 w (that) 3474 3116 w (begin) 3713 3116 w (with) 4033 3116 w (an) 4286 3116 w (exclamation) 4451 3116 w (mark) 720 3236 w (\() 1022 3236 w 10 /LucidaTypewriter f (!) 1055 3236 w 10 /LucidaSansUnicode00 f (\)) 1127 3236 w (are) 1215 3236 w (considered) 1422 3236 w 10 /LucidaSans-Italic f (secret) 2010 3236 w 10 /LucidaSansUnicode00 f (.) 2301 3236 w 10 /LucidaTypewriter f (Factotum) 2420 3236 w 10 /LucidaSansUnicode00 f (will) 3051 3236 w (never) 3270 3236 w (let) 3592 3236 w (a) 3769 3236 w (secret) 3879 3236 w (value) 4226 3236 w (escape) 4535 3236 w (its) 4923 3236 w (address space and will suppress keyboard echo when asking the user to type one.) 720 3356 w (A) 720 3512 w (program) 835 3512 w (requesting) 1297 3512 w (authentication) 1862 3512 w (selects) 2603 3512 w (a) 2980 3512 w (key) 3082 3512 w (by) 3295 3512 w (providing) 3457 3512 w (a) 3966 3512 w 10 /LucidaSans-Italic f (query) 4068 3512 w 10 /LucidaSansUnicode00 f (,) 4347 3512 w (a) 4426 3512 w (list) 4528 3512 w (of) 4721 3512 w (ele\255) 4866 3512 w (ments) 720 3632 w (to) 1063 3632 w (be) 1205 3632 w (matched) 1367 3632 w (by) 1827 3632 w (the) 1985 3632 w (key.) 2183 3632 w (Each) 2456 3632 w (element) 2721 3632 w (in) 3153 3632 w (the) 3287 3632 w (list) 3485 3632 w (is) 3674 3632 w (either) 3797 3632 w (an) 4121 3632 w 10 /LucidaSans-Italic f (attribute) 4281 3632 w 10 /LucidaTypewriter f (=) 4709 3632 w 10 /LucidaSans-Italic f (value) 4781 3632 w 10 /LucidaSansUnicode00 f (pair,) 720 3752 w (which) 974 3752 w (is) 1289 3752 w (satisfied) 1404 3752 w (by) 1847 3752 w (keys) 1997 3752 w (with) 2249 3752 w (exactly) 2489 3752 w (that) 2865 3752 w (pair;) 3091 3752 w (or) 3346 3752 w (an) 3483 3752 w (attribute) 3635 3752 w (followed) 4087 3752 w (by) 4535 3752 w (a) 4685 3752 w (ques\255) 4775 3752 w (tion) 720 3872 w (mark,) 946 3872 w 10 /LucidaSans-Italic f (attribute) 1261 3872 w 10 /LucidaTypewriter f (?) 1689 3872 w 10 /LucidaSansUnicode00 f (,) 1761 3872 w (which) 1829 3872 w (is) 2146 3872 w (satisfied) 2262 3872 w (by) 2706 3872 w (keys) 2857 3872 w (with) 3110 3872 w (some) 3351 3872 w (pair) 3648 3872 w (specifying) 3872 3872 w (the) 4400 3872 w (attribute.) 4591 3872 w (A) 720 3992 w (key) 822 3992 w (matches) 1021 3992 w (a) 1459 3992 w (query) 1547 3992 w (if) 1854 3992 w (every) 1953 3992 w (element) 2243 3992 w (in) 2666 3992 w (the) 2791 3992 w (list) 2980 3992 w (is) 3160 3992 w (satisfied.) 3274 3992 w (For) 3780 3992 w (instance,) 3970 3992 w (to) 4439 3992 w (select) 4571 3992 w (the) 4885 3992 w (APOP key in the previous example, an APOP client process might specify the query) 720 4112 w 9 /LucidaTypewriter f (server=x.y.com) 1008 4282 w (proto=apop) 1983 4282 w 10 /LucidaSansUnicode00 f (Internally,) 720 4462 w 10 /LucidaTypewriter f (factotum) 1239 4462 w 10 /LucidaSansUnicode20 f (\031) 1815 4462 w 10 /LucidaSansUnicode00 f (s) 1847 4462 w (APOP) 1933 4462 w (module) 2225 4462 w (would) 2625 4462 w (add) 2953 4462 w (the) 3170 4462 w (requirements) 3361 4462 w (of) 4044 4462 w (having) 4178 4462 w 10 /LucidaTypewriter f (user) 4536 4462 w 10 /LucidaSansUnicode00 f (and) 4860 4462 w 10 /LucidaTypewriter f (!password) 720 4582 w 10 /LucidaSansUnicode00 f (attributes, forming the query) 1400 4582 w 9 /LucidaTypewriter f (server=x.y.com) 1008 4752 w (proto=apop) 1983 4752 w (user?) 2698 4752 w (!password?) 3088 4752 w 10 /LucidaSansUnicode00 f (when searching for an appropriate key.) 720 4932 w 10 /LucidaTypewriter f (Factotum) 720 5088 w 10 /LucidaSansUnicode00 f (modules expect keys to have some) 1328 5088 w (well-known) 3061 5088 w (attributes.) 3663 5088 w (For) 4228 5088 w (instance,) 4417 5088 w (the) 4885 5088 w 10 /LucidaTypewriter f (proto) 720 5208 w 10 /LucidaSansUnicode00 f (attribute) 1127 5208 w (specifies) 1591 5208 w (the) 2061 5208 w (protocol) 2263 5208 w (module) 2714 5208 w (responsible) 3125 5208 w (for) 3734 5208 w (using) 3920 5208 w (a) 4232 5208 w (particular) 4333 5208 w (key,) 4842 5208 w (and) 720 5328 w (protocol) 951 5328 w (modules) 1406 5328 w (may) 1872 5328 w (expect) 2124 5328 w (other) 2500 5328 w (well-known) 2809 5328 w (attributes) 3430 5328 w (\(many) 3950 5328 w (expect) 4297 5328 w (keys) 4673 5328 w (to) 4942 5328 w (have) 720 5448 w 10 /LucidaTypewriter f (!password) 988 5448 w 10 /LucidaSansUnicode00 f (attributes,) 1679 5448 w (for) 2222 5448 w (example\).) 2404 5448 w (Additional) 2957 5448 w (attributes) 3497 5448 w (can) 4008 5448 w (be) 4219 5448 w (used) 4380 5448 w (as) 4654 5448 w (com\255) 4802 5448 w (ments) 720 5568 w (or) 1068 5568 w (for) 1219 5568 w (further) 1407 5568 w (discrimination) 1792 5568 w (without) 2534 5568 w (intervention) 2949 5568 w (by) 3583 5568 w 10 /LucidaTypewriter f (factotum) 3748 5568 w 10 /LucidaSansUnicode00 f (;) 4324 5568 w (for) 4406 5568 w (example,) 4595 5568 w (the) 720 5688 w (APOP) 915 5688 w (and) 1212 5688 w (IMAP) 1432 5688 w (mail) 1711 5688 w (clients) 1957 5688 w (conventionally) 2312 5688 w (include) 3050 5688 w (a) 3442 5688 w 10 /LucidaTypewriter f (server) 3537 5688 w 10 /LucidaSansUnicode00 f (attribute) 4009 5688 w (to) 4466 5688 w (select) 4604 5688 w (an) 4923 5688 w (appropriate key for authentication.) 720 5808 w (Unlike) 720 5964 w (in) 1056 5964 w (SDSI,) 1181 5964 w (keys) 1459 5964 w (in) 1710 5964 w (Plan) 1835 5964 w (9) 2070 5964 w (have) 2167 5964 w (no) 2426 5964 w (nested) 2583 5964 w (structure.) 2942 5964 w (This) 3478 5964 w (design) 3717 5964 w (keeps) 4074 5964 w (the) 4392 5964 w (represen\255) 4581 5964 w (tation) 720 6084 w (simple) 1044 6084 w (and) 1408 6084 w (straightforward.) 1631 6084 w (If) 2487 6084 w (necessary,) 2595 6084 w (we) 3144 6084 w (could) 3319 6084 w (add) 3627 6084 w (a) 3850 6084 w (nested) 3947 6084 w (attribute) 4314 6084 w (or,) 4773 6084 w (in) 4949 6084 w (the manner of relational databases, an attribute that) 720 6204 w (selects) 3296 6204 w (another) 3660 6204 w (tuple,) 4067 6204 w (but) 4379 6204 w (so) 4574 6204 w (far) 4719 6204 w (the) 4885 6204 w (simple design has been sufficient.) 720 6324 w (A) 720 6480 w (simple) 833 6480 w (common) 1198 6480 w (structure) 1663 6480 w (for) 2145 6480 w (all) 2328 6480 w (keys) 2485 6480 w (makes) 2746 6480 w (them) 3103 6480 w (easy) 3395 6480 w (for) 3653 6480 w (users) 3836 6480 w (to) 4142 6480 w (administer,) 4285 6480 w (but) 4878 6480 w (the) 720 6600 w (set) 914 6600 w (of) 1097 6600 w (attributes) 1234 6600 w (and) 1741 6600 w (their) 1960 6600 w (interpretation) 2224 6600 w (is) 2929 6600 w (still) 3048 6600 w (protocol-specific) 3262 6600 w (and) 4129 6600 w (can) 4347 6600 w (be) 4553 6600 w (subtle.) 4710 6600 w (Users) 720 6720 w (may) 1042 6720 w (still) 1296 6720 w (need) 1525 6720 w (to) 1816 6720 w (consult) 1968 6720 w (a) 2375 6720 w (manual) 2484 6720 w (to) 2895 6720 w (understand) 3048 6720 w (all) 3655 6720 w (details.) 3823 6720 w (Many) 4262 6720 w (attributes) 4572 6720 w (\() 720 6840 w 10 /LucidaTypewriter f (proto) 753 6840 w 10 /LucidaSansUnicode00 f (,) 1113 6840 w 10 /LucidaTypewriter f (user) 1192 6840 w 10 /LucidaSansUnicode00 f (,) 1480 6840 w 10 /LucidaTypewriter f (password) 1559 6840 w 10 /LucidaSansUnicode00 f (,) 2135 6840 w 10 /LucidaTypewriter f (server) 2214 6840 w 10 /LucidaSansUnicode00 f (\)) 2646 6840 w (are) 2726 6840 w (self-explanatory) 2925 6840 w (and) 3775 6840 w (our) 4001 6840 w (short) 4211 6840 w (experience) 4509 6840 w (has) 720 6960 w (not) 926 6960 w (uncovered) 1124 6960 w (any) 1666 6960 w (particular) 1873 6960 w (difficulty) 2374 6960 w (in) 2838 6960 w (handling) 2967 6960 w (keys.) 3430 6960 w (Things) 3750 6960 w (will) 4118 6960 w (likely) 4321 6960 w (get) 4613 6960 w (mes\255) 4807 6960 w (sier, however, when we grapple with public keys and their myriad components.) 720 7080 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 /LucidaSans-Demi f (2.5.) 720 840 w (Protecting keys) 962 840 w 10 /LucidaSansUnicode00 f (Secrets must be prevented from escaping) 720 996 w 10 /LucidaTypewriter f (factotum) 2767 996 w 10 /LucidaSansUnicode00 f (.) 3343 996 w (There) 3440 996 w (are) 3751 996 w (a) 3936 996 w (number) 4024 996 w (of) 4434 996 w (ways) 4565 996 w (they) 4833 996 w (could) 720 1116 w (leak:) 1024 1116 w (another) 1292 1116 w (process) 1704 1116 w (might) 2116 1116 w (be) 2437 1116 w (able) 2594 1116 w (to) 2834 1116 w (debug) 2969 1116 w (the) 3312 1116 w (agent) 3504 1116 w (process,) 3813 1116 w (the) 4256 1116 w (agent) 4448 1116 w (might) 4757 1116 w (swap) 720 1236 w (out) 1001 1236 w (to) 1196 1236 w (disk,) 1329 1236 w (or) 1597 1236 w (the) 1735 1236 w (process) 1926 1236 w (might) 2336 1236 w (willingly) 2655 1236 w (disclose) 3089 1236 w (the) 3516 1236 w (key.) 3707 1236 w (The) 3973 1236 w (last) 4190 1236 w (is) 4398 1236 w (the) 4514 1236 w (easiest) 4705 1236 w (to avoid: secret information in a key is marked as such, and whenever) 720 1356 w 10 /LucidaTypewriter f (factotum) 4149 1356 w 10 /LucidaSansUnicode00 f (prints) 4757 1356 w (keys) 720 1476 w (or) 978 1476 w (queries) 1121 1476 w (for) 1520 1476 w (new) 1700 1476 w (ones,) 1936 1476 w (it) 2239 1476 w (is) 2346 1476 w (careful) 2467 1476 w (to) 2840 1476 w (avoid) 2980 1476 w (displaying) 3282 1476 w (secret) 3819 1476 w (information.) 4153 1476 w (\(The) 4826 1476 w (only) 720 1596 w (exception) 967 1596 w (to) 1486 1596 w (this) 1627 1596 w (is) 1849 1596 w (the) 1972 1596 w 10 /LucidaSansUnicode20 f (\030\030) 2170 1596 w 10 /LucidaSansUnicode00 f (plaintext) 2234 1596 w (password) 2706 1596 w 10 /LucidaSansUnicode20 f (\031\031) 3168 1596 w 10 /LucidaSansUnicode00 f (protocol,) 3275 1596 w (which) 3754 1596 w (consists) 4078 1596 w (of) 4514 1596 w (sending) 4655 1596 w (the) 720 1716 w (values) 964 1716 w (of) 1358 1716 w (the) 1545 1716 w 10 /LucidaTypewriter f (user) 1789 1716 w 10 /LucidaSansUnicode00 f (and) 2166 1716 w 10 /LucidaTypewriter f (!password) 2435 1716 w 10 /LucidaSansUnicode00 f (attributes.) 3172 1716 w (Only) 3793 1716 w (keys) 4103 1716 w (tagged) 4410 1716 w (with) 4835 1716 w 10 /LucidaTypewriter f (proto=pass) 720 1836 w 10 /LucidaSansUnicode00 f (can have their passwords disclosed by this mechanism.\)) 1472 1836 w (Preventing) 720 1992 w (the) 1267 1992 w (first) 1457 1992 w (two) 1687 1992 w (forms) 1897 1992 w (of) 2215 1992 w (leakage) 2348 1992 w (requires) 2754 1992 w (help) 3188 1992 w (from) 3433 1992 w (the) 3700 1992 w (kernel.) 3890 1992 w (In) 4291 1992 w (Plan) 4417 1992 w (9,) 4653 1992 w (every) 4783 1992 w (process) 720 2112 w (is) 1136 2112 w (represented) 1258 2112 w (by) 1882 2112 w (a) 2039 2112 w (directory) 2136 2112 w (in) 2609 2112 w (the) 2742 2112 w 10 /LucidaTypewriter f (/proc) 2938 2112 w 10 /LucidaSansUnicode00 f (file) 3339 2112 w (system.) 3531 2112 w (Using) 3976 2112 w (the) 4290 2112 w (files) 4486 2112 w (in) 4729 2112 w (this) 4861 2112 w (directory,) 720 2232 w (other) 1277 2232 w (processes) 1628 2232 w (could) 2203 2232 w (\(with) 2563 2232 w (appropriate) 2895 2232 w (access) 3554 2232 w (permission\)) 3964 2232 w (examine) 4628 2232 w 10 /LucidaTypewriter f (factotum) 720 2352 w 10 /LucidaSansUnicode20 f (\031) 1296 2352 w 10 /LucidaSansUnicode00 f (s) 1328 2352 w (memory) 1420 2352 w (and) 1857 2352 w (registers.) 2078 2352 w 10 /LucidaTypewriter f (Factotum) 2607 2352 w 10 /LucidaSansUnicode00 f (is) 3224 2352 w (protected) 3345 2352 w (from) 3851 2352 w (processes) 4124 2352 w (of) 4645 2352 w (other) 4783 2352 w (users) 720 2472 w (by) 1017 2472 w (the) 1168 2472 w (default) 1359 2472 w (access) 1734 2472 w (bits) 2085 2472 w (of) 2301 2472 w (its) 2435 2472 w 10 /LucidaTypewriter f (/proc) 2588 2472 w 10 /LucidaSansUnicode00 f (directory.) 2984 2472 w (However,) 3515 2472 w (we) 4000 2472 w 10 /LucidaSansUnicode20 f (\031) 4133 2472 w 10 /LucidaSansUnicode00 f (d) 4165 2472 w (also) 4265 2472 w (like) 4498 2472 w (to) 4707 2472 w (pro\255) 4842 2472 w (tect) 720 2592 w (the) 937 2592 w (agent) 1128 2592 w (from) 1436 2592 w (other) 1704 2592 w (processes) 1997 2592 w (owned) 2514 2592 w (by) 2869 2592 w (the) 3020 2592 w (same) 3211 2592 w (user,) 3502 2592 w (both) 3780 2592 w (to) 4039 2592 w (avoid) 4173 2592 w (honest) 4469 2592 w (mis\255) 4834 2592 w (takes) 720 2712 w (and) 1024 2712 w (to) 1251 2712 w (prevent) 1396 2712 w (an) 1810 2712 w (unattended) 1975 2712 w (terminal) 2576 2712 w (being) 3026 2712 w (exploited) 3346 2712 w (to) 3849 2712 w (discover) 3995 2712 w (secret) 4447 2712 w (pass\255) 4787 2712 w (words.) 720 2832 w (To) 1116 2832 w (do) 1279 2832 w (this,) 1442 2832 w (we) 1692 2832 w (added) 1864 2832 w (a) 2203 2832 w (control) 2297 2832 w (message) 2677 2832 w (to) 3139 2832 w 10 /LucidaTypewriter f (/proc) 3275 2832 w 10 /LucidaSansUnicode00 f (called) 3673 2832 w 10 /LucidaTypewriter f (private) 3994 2832 w 10 /LucidaSansUnicode00 f (.) 4498 2832 w (Once) 4600 2832 w (the) 4885 2832 w 10 /LucidaTypewriter f (factotum) 720 2952 w 10 /LucidaSansUnicode00 f (process) 1334 2952 w (has) 1746 2952 w (written) 1952 2952 w 10 /LucidaTypewriter f (private) 2329 2952 w 10 /LucidaSansUnicode00 f (to) 2872 2952 w (its) 3009 2952 w 10 /LucidaTypewriter f (/proc/) 3165 2952 w 10 /LucidaSans-Italic f (pid) 3597 2952 w 10 /LucidaTypewriter f (/ctl) 3748 2952 w 10 /LucidaSansUnicode00 f (file,) 4075 2952 w (no) 4297 2952 w (process) 4459 2952 w (can) 4872 2952 w (access) 720 3072 w 10 /LucidaTypewriter f (factotum) 1079 3072 w 10 /LucidaSansUnicode20 f (\031) 1655 3072 w 10 /LucidaSansUnicode00 f (s) 1687 3072 w (memory) 1782 3072 w (through) 2222 3072 w 10 /LucidaTypewriter f (/proc) 2653 3072 w 10 /LucidaSansUnicode00 f (.) 3013 3072 w (\(Plan) 3121 3072 w (9) 3399 3072 w (has) 3506 3072 w (no) 3718 3072 w (other) 3885 3072 w (mechanism,) 4186 3072 w (such) 4814 3072 w (as) 720 3192 w 10 /LucidaTypewriter f (/dev/kmem) 858 3192 w 10 /LucidaSansUnicode00 f (, for accessing a process) 1506 3192 w 10 /LucidaSansUnicode20 f (\031) 2702 3192 w 10 /LucidaSansUnicode00 f (s memory.\)) 2734 3192 w (Similarly,) 720 3348 w (the) 1201 3348 w (agent) 1394 3348 w 10 /LucidaSansUnicode20 f (\031) 1666 3348 w 10 /LucidaSansUnicode00 f (s) 1698 3348 w (address) 1787 3348 w (space) 2205 3348 w (should) 2519 3348 w (not) 2885 3348 w (be) 3084 3348 w (swapped) 3242 3348 w (out,) 3709 3348 w (to) 3940 3348 w (prevent) 4077 3348 w (discovering) 4483 3348 w (unencrypted) 720 3468 w (keys) 1377 3468 w (on) 1646 3468 w (the) 1821 3468 w (swapping) 2028 3468 w (media.) 2542 3468 w (The) 2954 3468 w 10 /LucidaTypewriter f (noswap) 3187 3468 w 10 /LucidaSansUnicode00 f (control) 3670 3468 w (message) 4063 3468 w (in) 4538 3468 w 10 /LucidaTypewriter f (/proc) 4680 3468 w 10 /LucidaSansUnicode00 f (prevents) 720 3588 w (this) 1202 3588 w (scenario.) 1445 3588 w (Neither) 1979 3588 w 10 /LucidaTypewriter f (private) 2398 3588 w 10 /LucidaSansUnicode00 f (nor) 2966 3588 w 10 /LucidaTypewriter f (noswap) 3195 3588 w 10 /LucidaSansUnicode00 f (is) 3692 3588 w (specific) 3837 3588 w (to) 4269 3588 w 10 /LucidaTypewriter f (factotum) 4432 3588 w 10 /LucidaSansUnicode00 f (.) 5008 3588 w (User-level) 720 3708 w (file) 1266 3708 w (servers) 1466 3708 w (such) 1863 3708 w (as) 2137 3708 w 10 /LucidaTypewriter f (dossrv) 2291 3708 w 10 /LucidaSansUnicode00 f (,) 2723 3708 w (which) 2803 3708 w (interprets) 3132 3708 w (FAT) 3653 3708 w (file) 3887 3708 w (systems,) 4086 3708 w (could) 4557 3708 w (use) 4871 3708 w 10 /LucidaTypewriter f (noswap) 720 3828 w 10 /LucidaSansUnicode00 f (to keep their buffer caches from being swapped to disk.) 1184 3828 w (Despite) 720 3984 w (our) 1121 3984 w (precautions,) 1319 3984 w (attackers) 1953 3984 w (might) 2428 3984 w (still) 2745 3984 w (find) 2954 3984 w (a) 3179 3984 w (way) 3268 3984 w (to) 3486 3984 w (gain) 3618 3984 w (access) 3860 3984 w (to) 4210 3984 w (a) 4343 3984 w (process) 4433 3984 w (run\255) 4842 3984 w (ning) 720 4104 w (as) 971 4104 w (the) 1113 4104 w (host) 1304 4104 w (owner) 1551 4104 w (on) 1884 4104 w (a) 2043 4104 w (machine.) 2134 4104 w (Although) 2641 4104 w (they) 3120 4104 w (could) 3362 4104 w (not) 3663 4104 w (directly) 3858 4104 w (access) 4251 4104 w (the) 4601 4104 w (keys,) 4791 4104 w (attackers) 720 4224 w (could) 1207 4224 w (use) 1519 4224 w (the) 1734 4224 w (local) 1935 4224 w 10 /LucidaTypewriter f (factotum) 2206 4224 w 10 /LucidaSansUnicode00 f (to) 2828 4224 w (perform) 2972 4224 w (authentications) 3410 4224 w (for) 4202 4224 w (them.) 4388 4224 w (In) 4747 4224 w (the) 4885 4224 w (case) 720 4344 w (of) 972 4344 w (some) 1109 4344 w (keys,) 1409 4344 w (for) 1697 4344 w (example) 1875 4344 w (those) 2327 4344 w (locking) 2633 4344 w (bank) 3024 4344 w (accounts,) 3301 4344 w (we) 3802 4344 w (want) 3974 4344 w (a) 4243 4344 w (way) 4336 4344 w (to) 4558 4344 w (disable) 4694 4344 w (or) 720 4464 w (at) 874 4464 w (least) 1018 4464 w (detect) 1298 4464 w (such) 1650 4464 w (access.) 1928 4464 w (That) 2359 4464 w (is) 2628 4464 w (the) 2760 4464 w (role) 2967 4464 w (of) 3206 4464 w (the) 3356 4464 w 10 /LucidaTypewriter f (confirm) 3563 4464 w 10 /LucidaSansUnicode00 f (attribute) 4120 4464 w (in) 4590 4464 w (a) 4734 4464 w (key.) 4842 4464 w (Whenever) 720 4584 w (a) 1229 4584 w (key) 1322 4584 w (with) 1526 4584 w (a) 1769 4584 w 10 /LucidaTypewriter f (confirm) 1862 4584 w 10 /LucidaSansUnicode00 f (attribute) 2404 4584 w (is) 2859 4584 w (accessed,) 2976 4584 w (the) 3479 4584 w (local) 3671 4584 w (user) 3933 4584 w (must) 4180 4584 w (confirm) 4460 4584 w (use) 4871 4584 w (of the key via a local GUI.) 720 4704 w (The next section describes the actual mechanism.) 2013 4704 w (We) 720 4860 w (have) 905 4860 w (not) 1173 4860 w (addressed) 1376 4860 w (leaks) 1918 4860 w (possible) 2210 4860 w (as) 2656 4860 w (a) 2805 4860 w (result) 2903 4860 w (of) 3222 4860 w (someone) 3364 4860 w (rebooting) 3848 4860 w (or) 4364 4860 w (resetting) 4510 4860 w (a) 4985 4860 w (machine) 720 4980 w (running) 1163 4980 w 10 /LucidaTypewriter f (factotum) 1578 4980 w 10 /LucidaSansUnicode00 f (.) 2154 4980 w (For) 2253 4980 w (example,) 2444 4980 w (someone) 2924 4980 w (could) 3399 4980 w (reset) 3700 4980 w (a) 3976 4980 w (machine) 4065 4980 w (and) 4507 4980 w (reboot) 4721 4980 w (it) 720 5100 w (with) 824 5100 w (a) 1067 5100 w (debugger) 1160 5100 w (instead) 1664 5100 w (of) 2056 5100 w (a) 2193 5100 w (kernel,) 2287 5100 w (allowing) 2660 5100 w (them) 3103 5100 w (to) 3390 5100 w (examine) 3527 5100 w (the) 3978 5100 w (contents) 4172 5100 w (of) 4628 5100 w (mem\255) 4765 5100 w (ory and find keys.) 720 5220 w (We have not found a satisfactory solution to this problem.) 1654 5220 w 10 /LucidaSans-Demi f (2.6.) 720 5460 w (Factotum transactions) 962 5460 w 10 /LucidaSansUnicode00 f (External) 720 5616 w (programs) 1168 5616 w (manage) 1688 5616 w 10 /LucidaTypewriter f (factotum) 2124 5616 w 10 /LucidaSansUnicode20 f (\031) 2700 5616 w 10 /LucidaSansUnicode00 f (s) 2732 5616 w (internal) 2836 5616 w (key) 3260 5616 w (state) 3479 5616 w (through) 3768 5616 w (its) 4208 5616 w (file) 4379 5616 w (interface,) 4584 5616 w (writing) 720 5736 w (textual) 1095 5736 w 10 /LucidaTypewriter f (key) 1470 5736 w 10 /LucidaSansUnicode00 f (and) 1724 5736 w 10 /LucidaTypewriter f (delkey) 1942 5736 w 10 /LucidaSansUnicode00 f (commands) 2412 5736 w (to) 2979 5736 w (the) 3115 5736 w 10 /LucidaTypewriter f (/mnt/factotum/ctl) 3308 5736 w 10 /LucidaSansUnicode00 f (file.) 4570 5736 w (Both) 4822 5736 w (commands) 720 5856 w (take) 1292 5856 w (a) 1541 5856 w (list) 1640 5856 w (of) 1830 5856 w (attributes) 1972 5856 w (as) 2484 5856 w (an) 2634 5856 w (argument.) 2795 5856 w 10 /LucidaTypewriter f (Key) 3371 5856 w 10 /LucidaSansUnicode00 f (creates) 3631 5856 w (a) 4022 5856 w (key) 4121 5856 w (with) 4331 5856 w (the) 4580 5856 w (given) 4779 5856 w (attributes,) 720 5976 w (replacing) 1262 5976 w (any) 1751 5976 w (extant) 1961 5976 w (key) 2310 5976 w (with) 2517 5976 w (an) 2763 5976 w (identical) 2921 5976 w (set) 3373 5976 w (of) 3558 5976 w (public) 3697 5976 w (attributes.) 4035 5976 w 10 /LucidaTypewriter f (Delkey) 4608 5976 w 10 /LucidaSansUnicode00 f (deletes) 720 6096 w (all) 1111 6096 w (keys) 1267 6096 w (that) 1527 6096 w (match) 1761 6096 w (the) 2102 6096 w (given) 2300 6096 w (set) 2604 6096 w (of) 2791 6096 w (attributes.) 2932 6096 w (Reading) 3507 6096 w (the) 3940 6096 w 10 /LucidaTypewriter f (ctl) 4138 6096 w 10 /LucidaSansUnicode00 f (file) 4397 6096 w (returns) 4591 6096 w (a) 4985 6096 w (list) 720 6216 w (of) 903 6216 w (keys,) 1038 6216 w (one) 1324 6216 w (per) 1540 6216 w (line,) 1737 6216 w (displaying) 1982 6216 w (only) 2514 6216 w (public) 2755 6216 w (attributes.) 3089 6216 w (The) 3658 6216 w (following) 3875 6216 w (example) 4358 6216 w (illus\255) 4807 6216 w (trates these interactions.) 720 6336 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) 890 4722 w (example) 1057 4722 w (of) 1520 4722 w (the) 1668 4722 w 10 /LucidaTypewriter f (rpc) 1873 4722 w 10 /LucidaSansUnicode00 f (file) 2139 4722 w (in) 2340 4722 w (action,) 2481 4722 w (consider) 2858 4722 w (a) 3322 4722 w (mail) 3427 4722 w (client) 3683 4722 w (connecting) 3997 4722 w (to) 4580 4722 w (a) 4728 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 startup 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) 1113 5250 w 10 /LucidaSans-Italic f (authentication) 1272 5250 w (file) 2016 5250 w 10 /LucidaSansUnicode00 f (.) 2165 5250 w (Connections) 2271 5250 w (to) 2914 5250 w (a) 3054 5250 w (9P) 3151 5250 w (service) 3311 5250 w (begin) 3688 5250 w (in) 4001 5250 w (a) 4133 5250 w (state) 4229 5250 w (that) 4506 5250 w (allows) 4738 5250 w (no) 720 5370 w (general) 880 5370 w (file) 1278 5370 w (access) 1466 5370 w (but) 1818 5370 w (permits) 2017 5370 w (the) 2424 5370 w (client) 2616 5370 w (to) 2917 5370 w (open) 3052 5370 w (an) 3332 5370 w (authentication) 3487 5370 w (file) 4220 5370 w (by) 4409 5370 w (sending) 4562 5370 w (a) 4985 5370 w (special message, generated by the new) 720 5490 w 10 /LucidaTypewriter f (fauth) 2655 5490 w 10 /LucidaSansUnicode00 f (system call:) 3047 5490 w 9 /LucidaTypewriter f (afd) 1008 5660 w (=) 1268 5660 w (fauth\(int) 1398 5660 w (fd,) 2048 5660 w (char) 2308 5660 w (*servicename\);) 2633 5660 w 10 /LucidaSansUnicode00 f (Here) 720 5840 w 10 /LucidaTypewriter f (fd) 992 5840 w 10 /LucidaSansUnicode00 f (is) 1181 5840 w (the) 1306 5840 w (user) 1506 5840 w 10 /LucidaSansUnicode20 f (\031) 1716 5840 w 10 /LucidaSansUnicode00 f (s) 1748 5840 w (file) 1844 5840 w (descriptor) 2040 5840 w (for) 2578 5840 w (the) 2762 5840 w (established) 2963 5840 w (network) 3561 5840 w (connection) 3999 5840 w (to) 4577 5840 w (the) 4721 5840 w (9P) 4922 5840 w (server) 720 5960 w (and) 1064 5960 w 10 /LucidaTypewriter f (servicename) 1291 5960 w 10 /LucidaSansUnicode00 f (is) 2130 5960 w (the) 2257 5960 w (name) 2459 5960 w (of) 2772 5960 w (the) 2917 5960 w (desired) 3119 5960 w (service) 3525 5960 w (offered) 3908 5960 w (on) 4305 5960 w (that) 4474 5960 w (server,) 4711 5960 w (typically) 720 6080 w (the) 1173 6080 w (file) 1384 6080 w (subsystem) 1591 6080 w (to) 2163 6080 w (be) 2317 6080 w (accessed.) 2492 6080 w (The) 3046 6080 w (returned) 3283 6080 w (file) 3757 6080 w (descriptor,) 3964 6080 w 10 /LucidaTypewriter f (afd) 4545 6080 w 10 /LucidaSansUnicode00 f (,) 4761 6080 w (is) 4849 6080 w (a) 4985 6080 w (unique) 720 6200 w (handle) 1088 6200 w (representing) 1449 6200 w (the) 2099 6200 w (authentication) 2288 6200 w (file) 3017 6200 w (created) 3201 6200 w (for) 3593 6200 w (this) 3765 6200 w (connection) 3977 6200 w (to) 4542 6200 w (authen\255) 4673 6200 w (ticate) 720 6320 w (to) 1021 6320 w (this) 1155 6320 w (service;) 1370 6320 w (it) 1774 6320 w (is) 1877 6320 w (analogous) 1994 6320 w (to) 2529 6320 w (a) 2664 6320 w (capability.) 2756 6320 w (The) 3320 6320 w (authentication) 3538 6320 w (file) 4270 6320 w (represented) 4458 6320 w (by) 720 6440 w 10 /LucidaTypewriter f (afd) 868 6440 w 10 /LucidaSansUnicode00 f (is not otherwise addressable on the server, such as through the file name hierar\255) 1116 6440 w (chy.) 720 6560 w (In) 986 6560 w (all) 1114 6560 w (other) 1264 6560 w (respects,) 1558 6560 w (it) 2033 6560 w (behaves) 2136 6560 w (like) 2568 6560 w (a) 2777 6560 w (regular) 2869 6560 w (file;) 3252 6560 w (most) 3472 6560 w (important,) 3751 6560 w (it) 4298 6560 w (accepts) 4401 6560 w (stan\255) 4802 6560 w (dard read and write operations.) 720 6680 w (To) 720 6836 w (prove) 878 6836 w (its) 1185 6836 w (identity,) 1336 6836 w (the) 1767 6836 w (user) 1956 6836 w (process) 2200 6836 w (\(via) 2609 6836 w 10 /LucidaTypewriter f (factotum) 2813 6836 w 10 /LucidaSansUnicode00 f (\)) 3389 6836 w (executes) 3457 6836 w (the) 3922 6836 w (authentication) 4112 6836 w (pro\255) 4842 6836 w (tocol,) 720 6956 w (described) 1026 6956 w (in) 1534 6956 w (the) 1660 6956 w (next) 1850 6956 w (section) 2101 6956 w (of) 2483 6956 w (this) 2616 6956 w (paper,) 2830 6956 w (over) 3175 6956 w (the) 3420 6956 w 10 /LucidaTypewriter f (afd) 3610 6956 w 10 /LucidaSansUnicode00 f (file) 3861 6956 w (descriptor) 4047 6956 w (with) 4574 6956 w (ordi\255) 4813 6956 w (nary) 720 7076 w (reads) 965 7076 w (and) 1266 7076 w (writes.) 1481 7076 w (When) 1871 7076 w (client) 2172 7076 w (and) 2471 7076 w (server) 2686 7076 w (have) 3018 7076 w (successfully) 3278 7076 w (negotiated,) 3896 7076 w (the) 4482 7076 w (authen\255) 4673 7076 w (tication file changes state so it can be used as evidence of authority in) 720 7196 w 10 /LucidaTypewriter f (mount) 4168 7196 w 10 /LucidaSansUnicode00 f (.) 4528 7196 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 10 /LucidaSans-Demi f (3.1.) 720 3688 w (Plan 9 shared key protocol) 962 3688 w 10 /LucidaSansUnicode00 f (In) 720 3844 w (addition) 844 3844 w (to) 1276 3844 w (the) 1407 3844 w (various) 1596 3844 w (standard) 1981 3844 w (protocols) 2442 3844 w (supported) 2931 3844 w (by) 3462 3844 w 10 /LucidaTypewriter f (factotum) 3611 3844 w 10 /LucidaSansUnicode00 f (,) 4187 3844 w (we) 4253 3844 w (use) 4420 3844 w (a) 4623 3844 w (shared) 4712 3844 w (key) 720 3964 w (protocol) 922 3964 w (for) 1362 3964 w (native) 1536 3964 w (Plan) 1862 3964 w (9) 2098 3964 w (authentication.) 2196 3964 w (This) 2990 3964 w (protocol) 3230 3964 w (provides) 3669 3964 w (backward) 4120 3964 w (compati\255) 4618 3964 w (bility) 720 4084 w (with) 994 4084 w (older) 1234 4084 w (versions) 1519 4084 w (of) 1957 4084 w (the) 2090 4084 w (system.) 2280 4084 w (One) 2719 4084 w (reason) 2950 4084 w (for) 3311 4084 w (the) 3485 4084 w (new) 3675 4084 w (architecture) 3905 4084 w (is) 4519 4084 w (to) 4635 4084 w (let) 4769 4084 w (us) 4927 4084 w (replace such protocols in the near future with more cryptographically secure ones.) 720 4204 w 10 /LucidaSans-Italic f (P9sk1) 720 4360 w 10 /LucidaSansUnicode00 f (is) 1061 4360 w (a) 1191 4360 w (shared) 1296 4360 w (key) 1674 4360 w (protocol) 1890 4360 w (that) 2344 4360 w (uses) 2585 4360 w (tickets) 2855 4360 w (much) 3224 4360 w (like) 3542 4360 w (those) 3764 4360 w (in) 4081 4360 w (the) 4222 4360 w (original) 4427 4360 w (Ker\255) 4845 4360 w (beros.) 720 4480 w (The) 1091 4480 w (difference) 1307 4480 w (is) 1829 4480 w (that) 1943 4480 w (we) 2168 4480 w 10 /LucidaSansUnicode20 f (\031) 2301 4480 w 10 /LucidaSansUnicode00 f (ve) 2333 4480 w (replaced) 2475 4480 w (the) 2923 4480 w (expiration) 3112 4480 w (time) 3640 4480 w (in) 3889 4480 w (Kerberos) 4014 4480 w (tickets) 4482 4480 w (with) 4835 4480 w (a random nonce parameter and a counter.) 720 4600 w (We summarize it here:) 2832 4600 w 11 /LucidaSans-Italic f (C) 1008 4770 w 11 /S f (\256) 1092 4770 w 11 /LucidaSans-Italic f (S) 1210 4770 w 11 /LucidaSansUnicode00 f (:) 1280 4770 w 11 /LucidaSans-Italic f (nonce) 1500 4770 w 8 /LucidaSans-Italic f (C) 1825 4792 w 11 /LucidaSans-Italic f (S) 1008 4880 w 11 /S f (\256) 1078 4880 w 11 /LucidaSans-Italic f (C) 1196 4880 w 11 /LucidaSansUnicode00 f (:) 1280 4880 w 11 /LucidaSans-Italic f (nonce) 1500 4880 w 8 /LucidaSans-Italic f (S) 1825 4902 w 11 /LucidaSansUnicode00 f (,) 1887 4880 w 11 /LucidaSans-Italic f (uid) 1931 4880 w 8 /LucidaSans-Italic f (S) 2111 4902 w 11 /LucidaSansUnicode00 f (,) 2173 4880 w 11 /LucidaSans-Italic f (domain) 2217 4880 w 8 /LucidaSans-Italic f (S) 2629 4902 w 11 /LucidaSans-Italic f (C) 1008 5100 w 11 /S f (\256) 1092 5100 w 11 /LucidaSans-Italic f (A) 1210 5100 w 11 /LucidaSansUnicode00 f (:) 1295 5100 w 11 /LucidaSans-Italic f (nonce) 1515 5100 w 8 /LucidaSans-Italic f (S) 1840 5122 w 11 /LucidaSansUnicode00 f (,) 1902 5100 w 11 /LucidaSans-Italic f (uid) 1946 5100 w 8 /LucidaSans-Italic f (S) 2126 5122 w 11 /LucidaSansUnicode00 f (,) 2188 5100 w 11 /LucidaSans-Italic f (domain) 2232 5100 w 8 /LucidaSans-Italic f (S) 2644 5122 w 11 /LucidaSansUnicode00 f (,) 2706 5100 w 11 /LucidaSans-Italic f (uid) 2750 5100 w 8 /LucidaSans-Italic f (C) 2930 5122 w 11 /LucidaSansUnicode00 f (,) 3002 5100 w 11 /LucidaSans-Italic f (factotum) 1593 5210 w 8 /LucidaSans-Italic f (C) 2087 5232 w 11 /LucidaSans-Italic f (A) 1008 5320 w 11 /S f (\256) 1093 5320 w 11 /LucidaSans-Italic f (C) 1211 5320 w 11 /LucidaSansUnicode00 f (:) 1295 5320 w 11 /LucidaSans-Italic f (K) 1515 5320 w 8 /LucidaSans-Italic f (C) 1598 5342 w 11 /LucidaSansUnicode00 f ({) 1670 5320 w 11 /LucidaSans-Italic f (nonce) 1715 5320 w 8 /LucidaSans-Italic f (S) 2040 5342 w 11 /LucidaSansUnicode00 f (,) 2102 5320 w 11 /LucidaSans-Italic f (uid) 2146 5320 w 8 /LucidaSans-Italic f (C) 2326 5342 w 11 /LucidaSansUnicode00 f (,) 2398 5320 w 11 /LucidaSans-Italic f (uid) 2442 5320 w 8 /LucidaSans-Italic f (S) 2622 5342 w 8 /LucidaSansUnicode00 f (,) 2672 5342 w 11 /LucidaSans-Italic f (K) 2716 5320 w 8 /LucidaSans-Italic f (n) 2799 5342 w 11 /LucidaSansUnicode00 f (}) 2867 5320 w (,) 2912 5320 w 11 /LucidaSans-Italic f (K) 1593 5430 w 8 /LucidaSans-Italic f (S) 1676 5452 w 11 /LucidaSansUnicode00 f ({) 1738 5430 w 11 /LucidaSans-Italic f (nonce) 1783 5430 w 8 /LucidaSans-Italic f (S) 2108 5452 w 11 /LucidaSansUnicode00 f (,) 2170 5430 w 11 /LucidaSans-Italic f (uid) 2214 5430 w 8 /LucidaSans-Italic f (C) 2394 5452 w 11 /LucidaSansUnicode00 f (,) 2466 5430 w 11 /LucidaSans-Italic f (uid) 2510 5430 w 8 /LucidaSans-Italic f (S) 2690 5452 w 8 /LucidaSansUnicode00 f (,) 2740 5452 w 11 /LucidaSans-Italic f (K) 2784 5430 w 8 /LucidaSans-Italic f (n) 2867 5452 w 11 /LucidaSansUnicode00 f (}) 2935 5430 w 11 /LucidaSans-Italic f (C) 1008 5650 w 11 /S f (\256) 1092 5650 w 11 /LucidaSans-Italic f (S) 1210 5650 w 11 /LucidaSansUnicode00 f (:) 1280 5650 w 11 /LucidaSans-Italic f (K) 1500 5650 w 8 /LucidaSans-Italic f (S) 1583 5672 w 11 /LucidaSansUnicode00 f ({) 1645 5650 w 11 /LucidaSans-Italic f (nonce) 1690 5650 w 8 /LucidaSans-Italic f (S) 2015 5672 w 11 /LucidaSansUnicode00 f (,) 2077 5650 w 11 /LucidaSans-Italic f (uid) 2121 5650 w 8 /LucidaSans-Italic f (C) 2301 5672 w 11 /LucidaSansUnicode00 f (,) 2373 5650 w 11 /LucidaSans-Italic f (uid) 2417 5650 w 8 /LucidaSans-Italic f (S) 2597 5672 w 11 /LucidaSansUnicode00 f (,) 2659 5650 w 11 /LucidaSans-Italic f (K) 2703 5650 w 8 /LucidaSans-Italic f (n) 2786 5672 w 11 /LucidaSansUnicode00 f (}) 2854 5650 w (,) 2899 5650 w 11 /LucidaSans-Italic f (K) 1593 5760 w 8 /LucidaSans-Italic f (n) 1676 5782 w 11 /LucidaSansUnicode00 f ({) 1744 5760 w 11 /LucidaSans-Italic f (nonce) 1789 5760 w 8 /LucidaSans-Italic f (S) 2114 5782 w 11 /LucidaSansUnicode00 f (,) 2176 5760 w 11 /LucidaSans-Italic f (counter) 2220 5760 w 11 /LucidaSansUnicode00 f (}) 2636 5760 w 11 /LucidaSans-Italic f (S) 1008 5870 w 11 /S f (\256) 1078 5870 w 11 /LucidaSans-Italic f (C) 1196 5870 w 11 /LucidaSansUnicode00 f (:) 1280 5870 w 11 /LucidaSans-Italic f (K) 1500 5870 w 8 /LucidaSans-Italic f (n) 1583 5892 w 11 /LucidaSansUnicode00 f ({) 1651 5870 w 11 /LucidaSans-Italic f (nonce) 1696 5870 w 8 /LucidaSans-Italic f (C) 2021 5892 w 11 /LucidaSansUnicode00 f (,) 2093 5870 w 11 /LucidaSans-Italic f (counter) 2137 5870 w 11 /LucidaSansUnicode00 f (}) 2553 5870 w 10 /LucidaSansUnicode00 f (\(Here) 720 6050 w 11 /LucidaSans-Italic f (K) 1029 6050 w 11 /LucidaSansUnicode00 f ({) 1108 6050 w 11 /LucidaSans-Italic f (x) 1153 6050 w 11 /LucidaSansUnicode00 f (}) 1221 6050 w 10 /LucidaSansUnicode00 f (indicates) 1306 6050 w 11 /LucidaSans-Italic f (x) 1788 6050 w 10 /LucidaSansUnicode00 f (encrypted) 1897 6050 w (with) 2428 6050 w (DES) 2683 6050 w (key) 2916 6050 w 11 /LucidaSans-Italic f (K) 3132 6050 w 10 /LucidaSansUnicode00 f (.\)) 3202 6050 w (The) 3349 6050 w (first) 3580 6050 w (two) 3825 6050 w (messages) 4050 6050 w (exchange) 4575 6050 w (nonces) 720 6170 w (and) 1121 6170 w (server) 1359 6170 w (identification.) 1714 6170 w (After) 2473 6170 w (this) 2771 6170 w (initial) 3008 6170 w (exchange,) 3336 6170 w (the) 3890 6170 w (client) 4102 6170 w (contacts) 4423 6170 w (the) 4885 6170 w (authentication) 720 6290 w (server) 1450 6290 w (to) 1782 6290 w (obtain) 1916 6290 w (a) 2259 6290 w (pair) 2350 6290 w (of) 2574 6290 w (encrypted) 2708 6290 w (tickets,) 3225 6290 w (one) 3612 6290 w (encrypted) 3827 6290 w (with) 4344 6290 w (the) 4585 6290 w (client) 4776 6290 w (key) 720 6410 w (and) 928 6410 w (one) 1150 6410 w (with) 1371 6410 w (the) 1618 6410 w (server) 1815 6410 w (key.) 2154 6410 w (The) 2426 6410 w (client) 2649 6410 w (relays) 2954 6410 w (the) 3279 6410 w (server) 3475 6410 w (ticket) 3813 6410 w (to) 4122 6410 w (the) 4261 6410 w (server.) 4457 6410 w (The) 4859 6410 w (server) 720 6530 w (believes) 1058 6530 w (that) 1491 6530 w (the) 1723 6530 w (ticket) 1919 6530 w (is) 2228 6530 w (new) 2349 6530 w (because) 2585 6530 w (it) 3020 6530 w (contains) 3127 6530 w 11 /LucidaSans-Italic f (nonce) 3579 6530 w 8 /LucidaSans-Italic f (S) 3904 6552 w 10 /LucidaSansUnicode00 f (and) 3998 6530 w (that) 4220 6530 w (the) 4453 6530 w (ticket) 4650 6530 w (is) 4960 6530 w (from) 720 6650 w (the) 985 6650 w (authentication server because it is encrypted in the server key) 1173 6650 w 11 /LucidaSans-Italic f (K) 4215 6650 w 8 /LucidaSans-Italic f (S) 4298 6672 w 10 /LucidaSansUnicode00 f (.) 4351 6650 w (The ticket is) 4447 6650 w (basically) 720 6770 w (a) 1181 6770 w (statement) 1283 6770 w (from) 1814 6770 w (the) 2094 6770 w (authentication) 2297 6770 w (server) 3040 6770 w (that) 3385 6770 w (now) 3624 6770 w 11 /LucidaSans-Italic f (uid) 3872 6770 w 8 /LucidaSans-Italic f (C) 4052 6792 w 10 /LucidaSansUnicode00 f (and) 4163 6770 w 11 /LucidaSans-Italic f (uid) 4391 6770 w 8 /LucidaSans-Italic f (S) 4571 6792 w 10 /LucidaSansUnicode00 f (share) 4672 6770 w (a) 4985 6770 w (secret) 720 6890 w 11 /LucidaSans-Italic f (K) 1050 6890 w 8 /LucidaSans-Italic f (n) 1133 6912 w 10 /LucidaSansUnicode00 f (.) 1192 6890 w (The) 1294 6890 w (authenticator) 1513 6890 w 11 /LucidaSans-Italic f (K) 2196 6890 w 8 /LucidaSans-Italic f (n) 2279 6912 w 11 /LucidaSansUnicode00 f ({) 2347 6890 w 11 /LucidaSans-Italic f (nonce) 2392 6890 w 8 /LucidaSans-Italic f (S) 2717 6912 w 11 /LucidaSansUnicode00 f (,) 2779 6890 w 11 /LucidaSans-Italic f (counter) 2823 6890 w 11 /LucidaSansUnicode00 f (}) 3239 6890 w 10 /LucidaSansUnicode00 f (convinces) 3313 6890 w (the) 3826 6890 w (server) 4019 6890 w (that) 4354 6890 w (the) 4583 6890 w (client) 4776 6890 w (knows) 720 7010 w 11 /LucidaSans-Italic f (K) 1071 7010 w 8 /LucidaSans-Italic f (n) 1154 7032 w 10 /LucidaSansUnicode00 f (and) 1255 7010 w (thus) 1477 7010 w (must) 1731 7010 w (be) 2016 7010 w 11 /LucidaSans-Italic f (uid) 2177 7010 w 8 /LucidaSans-Italic f (C) 2357 7032 w 10 /LucidaSansUnicode00 f (.) 2420 7010 w (Similarly,) 2527 7010 w (authenticator) 3013 7010 w 11 /LucidaSans-Italic f (K) 3701 7010 w 8 /LucidaSans-Italic f (n) 3784 7032 w 11 /LucidaSansUnicode00 f ({) 3852 7010 w 11 /LucidaSans-Italic f (nonce) 3897 7010 w 8 /LucidaSans-Italic f (C) 4222 7032 w 11 /LucidaSansUnicode00 f (,) 4294 7010 w 11 /LucidaSans-Italic f (counter) 4338 7010 w 11 /LucidaSansUnicode00 f (}) 4754 7010 w 10 /LucidaSansUnicode00 f (con\255) 4833 7010 w (vinces) 720 7130 w (the) 1076 7130 w (client) 1286 7130 w (that) 1605 7130 w (the) 1851 7130 w (server) 2061 7130 w (knows) 2413 7130 w 11 /LucidaSans-Italic f (K) 2777 7130 w 8 /LucidaSans-Italic f (n) 2860 7152 w 10 /LucidaSansUnicode00 f (and) 2974 7130 w (thus) 3209 7130 w (must) 3476 7130 w (be) 3774 7130 w 11 /LucidaSans-Italic f (uid) 3948 7130 w 8 /LucidaSans-Italic f (S) 4128 7152 w 10 /LucidaSansUnicode00 f (.) 4181 7130 w (Tickets) 4300 7130 w (can) 4699 7130 w (be) 4921 7130 w (reused,) 720 7250 w (without) 1117 7250 w (contacting) 1518 7250 w (the) 2061 7250 w (authentication) 2252 7250 w (server) 2983 7250 w (again,) 3317 7250 w (by) 3649 7250 w (incrementing) 3801 7250 w (the) 4478 7250 w (counter) 4670 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 (before each authenticator is generated.) 720 840 w (In) 720 996 w (the) 859 996 w (future) 1062 996 w (we) 1405 996 w (hope) 1586 996 w (to) 1876 996 w (introduce) 2022 996 w (a) 2532 996 w (public) 2635 996 w (key) 2980 996 w (version) 3194 996 w (of) 3594 996 w (p9sk1,) 3740 996 w (which) 4118 996 w (would) 4448 996 w (allow) 4789 996 w (authentication even when the authentication server is not available.) 720 1116 w 10 /LucidaSans-Demi f (3.2.) 720 1356 w (The authentication server) 962 1356 w 10 /LucidaSansUnicode00 f (Each) 720 1512 w (Plan) 975 1512 w (9) 1209 1512 w (security) 1305 1512 w (domain) 1717 1512 w (has) 2113 1512 w (an) 2314 1512 w (authentication) 2464 1512 w (server) 3192 1512 w (\(AS\)) 3523 1512 w (that) 3746 1512 w (all) 3971 1512 w (users) 4118 1512 w (trust) 4413 1512 w (to) 4675 1512 w (keep) 4807 1512 w (the) 720 1632 w (complete) 915 1632 w (set) 1401 1632 w (of) 1585 1632 w (shared) 1723 1632 w (keys.) 2091 1632 w (It) 2412 1632 w (also) 2518 1632 w (offers) 2753 1632 w (services) 3075 1632 w (for) 3501 1632 w (users) 3679 1632 w (and) 3979 1632 w (administrators) 4198 1632 w (to) 4942 1632 w (manage) 720 1752 w (the) 1148 1752 w (keys,) 1348 1752 w (create) 1642 1752 w (and) 1983 1752 w (disable) 2208 1752 w (accounts,) 2599 1752 w (and) 3106 1752 w (so) 3331 1752 w (on.) 3488 1752 w (It) 3720 1752 w (typically) 3831 1752 w (runs) 4273 1752 w (on) 4534 1752 w (a) 4702 1752 w (stan\255) 4802 1752 w (dalone) 720 1872 w (machine) 1094 1872 w (with) 1550 1872 w (few) 1803 1872 w (other) 2021 1872 w (services.) 2326 1872 w (The) 2824 1872 w (AS) 3052 1872 w (comprises) 3222 1872 w (two) 3765 1872 w (services,) 3987 1872 w 10 /LucidaTypewriter f (keyfs) 4453 1872 w 10 /LucidaSansUnicode00 f (and) 4860 1872 w 10 /LucidaTypewriter f (authsrv) 720 1992 w 10 /LucidaSansUnicode00 f (.) 1224 1992 w 10 /LucidaTypewriter f (Keyfs) 720 2148 w 10 /LucidaSansUnicode00 f (is a user-level file system that manages an encrypted database of user accounts.) 1112 2148 w (Each) 720 2268 w (account) 979 2268 w (is) 1395 2268 w (represented) 1512 2268 w (by) 2131 2268 w (a) 2283 2268 w (directory) 2375 2268 w (containing) 2843 2268 w (the) 3389 2268 w (files) 3580 2268 w 10 /LucidaTypewriter f (key) 3818 2268 w 10 /LucidaSansUnicode00 f (,) 4034 2268 w (containing) 4102 2268 w (the) 4648 2268 w (Plan) 4839 2268 w (9) 720 2388 w (key) 839 2388 w (for) 1061 2388 w (p9sk1;) 1256 2388 w 10 /LucidaTypewriter f (secret) 1643 2388 w 10 /LucidaSansUnicode00 f (for) 2132 2388 w (the) 2328 2388 w (challenge/response) 2540 2388 w (protocols) 3553 2388 w (\(APOP,) 4065 2388 w (VNC,) 4444 2388 w (CHAP,) 4741 2388 w (MSCHAP,) 720 2508 w (CRAM\);) 1193 2508 w 10 /LucidaTypewriter f (log) 1579 2508 w 10 /LucidaSansUnicode00 f (for) 1829 2508 w (authentication) 2001 2508 w (outcomes;) 2729 2508 w 10 /LucidaTypewriter f (expire) 3266 2508 w 10 /LucidaSansUnicode00 f (for) 3731 2508 w (an) 3903 2508 w (expiration) 4053 2508 w (time;) 4580 2508 w (and) 4860 2508 w 10 /LucidaTypewriter f (status) 720 2628 w 10 /LucidaSansUnicode00 f (.) 1152 2628 w (If) 1259 2628 w (the) 1368 2628 w (expiration) 1566 2628 w (time) 2103 2628 w (passes,) 2361 2628 w (if) 2763 2628 w (the) 2872 2628 w (number) 3071 2628 w (of) 3492 2628 w (successive) 3634 2628 w (failed) 4188 2628 w (authentica\255) 4501 2628 w (tions) 720 2748 w (exceeds) 993 2748 w (50,) 1420 2748 w (or) 1611 2748 w (if) 1746 2748 w 10 /LucidaTypewriter f (disabled) 1845 2748 w 10 /LucidaSansUnicode00 f (is) 2454 2748 w (written) 2567 2748 w (to) 2939 2748 w (the status file, any attempt to access the) 3070 2748 w 10 /LucidaTypewriter f (key) 720 2868 w 10 /LucidaSansUnicode00 f (or) 968 2868 w 10 /LucidaTypewriter f (secret) 1102 2868 w 10 /LucidaSansUnicode00 f (files will fail.) 1566 2868 w 10 /LucidaTypewriter f (Authsrv) 720 3024 w 10 /LucidaSansUnicode00 f (is) 1257 3024 w (a) 1370 3024 w (network) 1458 3024 w (service) 1883 3024 w (that) 2252 3024 w (brokers) 2476 3024 w (shared) 2881 3024 w (key) 3243 3024 w (authentications) 3443 3024 w (for) 4223 3024 w (the) 4396 3024 w (protocols) 4585 3024 w (p9sk1,) 720 3144 w (APOP,) 1084 3144 w (VNC,) 1407 3144 w (CHAP,) 1681 3144 w (MSCHAP,) 2014 3144 w (and) 2487 3144 w (CRAM.) 2701 3144 w (Remote) 3085 3144 w (users) 3484 3144 w (can) 3778 3144 w (also) 3979 3144 w (call) 4208 3144 w 10 /LucidaTypewriter f (authsrv) 4405 3144 w 10 /LucidaSansUnicode00 f (to) 4942 3144 w (change their passwords.) 720 3264 w (The) 720 3420 w (p9sk1) 935 3420 w (protocol) 1267 3420 w (was) 1705 3420 w (described) 1922 3420 w (in) 2429 3420 w (the) 2554 3420 w (previous) 2743 3420 w (section.) 3192 3420 w (The) 3637 3420 w (challenge/response) 3852 3420 w (pro\255) 4842 3420 w (tocols differ in detail but all follow the general structure:) 720 3540 w 11 /LucidaSans-Italic f (C) 1008 3710 w 11 /S f (\256) 1092 3710 w 11 /LucidaSans-Italic f (S) 1210 3710 w 11 /LucidaSansUnicode00 f (:) 1280 3710 w 11 /LucidaSans-Italic f (nonce) 1500 3710 w 8 /LucidaSans-Italic f (C) 1825 3732 w 11 /LucidaSans-Italic f (S) 1008 3820 w 11 /S f (\256) 1078 3820 w 11 /LucidaSans-Italic f (C) 1196 3820 w 11 /LucidaSansUnicode00 f (:) 1280 3820 w 11 /LucidaSans-Italic f (nonce) 1500 3820 w 8 /LucidaSans-Italic f (S) 1825 3842 w 11 /LucidaSansUnicode00 f (,) 1887 3820 w 11 /LucidaSans-Italic f (uid) 1931 3820 w 8 /LucidaSans-Italic f (S) 2111 3842 w 11 /LucidaSansUnicode00 f (,) 2173 3820 w 11 /LucidaSans-Italic f (domain) 2217 3820 w 8 /LucidaSans-Italic f (S) 2629 3842 w 11 /LucidaSans-Italic f (C) 1008 3930 w 11 /S f (\256) 1092 3930 w 11 /LucidaSans-Italic f (A) 1210 3930 w 11 /LucidaSansUnicode00 f (:) 1295 3930 w 11 /LucidaSans-Italic f (nonce) 1515 3930 w 8 /LucidaSans-Italic f (S) 1840 3952 w 11 /LucidaSansUnicode00 f (,) 1902 3930 w 11 /LucidaSans-Italic f (uid) 1946 3930 w 8 /LucidaSans-Italic f (S) 2126 3952 w 11 /LucidaSansUnicode00 f (,) 2188 3930 w 11 /LucidaSans-Italic f (domain) 2232 3930 w 8 /LucidaSans-Italic f (S) 2644 3952 w 11 /LucidaSansUnicode00 f (,) 2706 3930 w 11 /LucidaSans-Italic f (hostid) 1593 4040 w 8 /LucidaSans-Italic f (C) 1932 4062 w 11 /LucidaSansUnicode00 f (,) 2004 4040 w 11 /LucidaSans-Italic f (uid) 2048 4040 w 8 /LucidaSans-Italic f (C) 2228 4062 w 11 /LucidaSans-Italic f (A) 1008 4150 w 11 /S f (\256) 1093 4150 w 11 /LucidaSans-Italic f (C) 1211 4150 w 11 /LucidaSansUnicode00 f (:) 1295 4150 w 11 /LucidaSans-Italic f (K) 1515 4150 w 8 /LucidaSans-Italic f (C) 1598 4172 w 11 /LucidaSansUnicode00 f ({) 1670 4150 w 11 /LucidaSans-Italic f (nonce) 1715 4150 w 8 /LucidaSans-Italic f (S) 2040 4172 w 11 /LucidaSansUnicode00 f (,) 2102 4150 w 11 /LucidaSans-Italic f (uid) 2146 4150 w 8 /LucidaSans-Italic f (C) 2326 4172 w 11 /LucidaSansUnicode00 f (,) 2398 4150 w 11 /LucidaSans-Italic f (uid) 2442 4150 w 8 /LucidaSans-Italic f (S) 2622 4172 w 8 /LucidaSansUnicode00 f (,) 2672 4172 w 11 /LucidaSans-Italic f (K) 2716 4150 w 8 /LucidaSans-Italic f (n) 2799 4172 w 11 /LucidaSansUnicode00 f (}) 2867 4150 w (,) 2912 4150 w 11 /LucidaSans-Italic f (K) 1593 4260 w 8 /LucidaSans-Italic f (S) 1676 4282 w 11 /LucidaSansUnicode00 f ({) 1738 4260 w 11 /LucidaSans-Italic f (nonce) 1783 4260 w 8 /LucidaSans-Italic f (S) 2108 4282 w 11 /LucidaSansUnicode00 f (,) 2170 4260 w 11 /LucidaSans-Italic f (uid) 2214 4260 w 8 /LucidaSans-Italic f (C) 2394 4282 w 11 /LucidaSansUnicode00 f (,) 2466 4260 w 11 /LucidaSans-Italic f (uid) 2510 4260 w 8 /LucidaSans-Italic f (S) 2690 4282 w 8 /LucidaSansUnicode00 f (,) 2740 4282 w 11 /LucidaSans-Italic f (K) 2784 4260 w 8 /LucidaSans-Italic f (n) 2867 4282 w 11 /LucidaSansUnicode00 f (}) 2935 4260 w 11 /LucidaSans-Italic f (C) 1008 4370 w 11 /S f (\256) 1092 4370 w 11 /LucidaSans-Italic f (S) 1210 4370 w 11 /LucidaSansUnicode00 f (:) 1280 4370 w 11 /LucidaSans-Italic f (K) 1500 4370 w 8 /LucidaSans-Italic f (S) 1583 4392 w 11 /LucidaSansUnicode00 f ({) 1645 4370 w 11 /LucidaSans-Italic f (nonce) 1690 4370 w 8 /LucidaSans-Italic f (S) 2015 4392 w 11 /LucidaSansUnicode00 f (,) 2077 4370 w 11 /LucidaSans-Italic f (uid) 2121 4370 w 8 /LucidaSans-Italic f (C) 2301 4392 w 11 /LucidaSansUnicode00 f (,) 2373 4370 w 11 /LucidaSans-Italic f (uid) 2417 4370 w 8 /LucidaSans-Italic f (S) 2597 4392 w 8 /LucidaSansUnicode00 f (,) 2647 4392 w 11 /LucidaSans-Italic f (K) 2691 4370 w 8 /LucidaSans-Italic f (n) 2774 4392 w 11 /LucidaSansUnicode00 f (}) 2842 4370 w (,) 2887 4370 w 11 /LucidaSans-Italic f (K) 1593 4480 w 8 /LucidaSans-Italic f (n) 1676 4502 w 11 /LucidaSansUnicode00 f ({) 1744 4480 w 11 /LucidaSans-Italic f (nonce) 1789 4480 w 8 /LucidaSans-Italic f (S) 2114 4502 w 11 /LucidaSansUnicode00 f (}) 2176 4480 w 11 /LucidaSans-Italic f (S) 1008 4590 w 11 /S f (\256) 1078 4590 w 11 /LucidaSans-Italic f (C) 1196 4590 w 11 /LucidaSansUnicode00 f (:) 1280 4590 w 11 /LucidaSans-Italic f (K) 1500 4590 w 8 /LucidaSans-Italic f (n) 1583 4612 w 11 /LucidaSansUnicode00 f ({) 1651 4590 w 11 /LucidaSans-Italic f (nonce) 1696 4590 w 8 /LucidaSans-Italic f (C) 2021 4612 w 11 /LucidaSansUnicode00 f (}) 2093 4590 w 10 /LucidaSansUnicode00 f (The password protocol is:) 720 4770 w 11 /LucidaSans-Italic f (C) 1008 4940 w 11 /S f (\256) 1092 4940 w 11 /LucidaSans-Italic f (A) 1210 4940 w 11 /LucidaSansUnicode00 f (:) 1295 4940 w 11 /LucidaSans-Italic f (uid) 1515 4940 w 8 /LucidaSans-Italic f (C) 1695 4962 w 11 /LucidaSans-Italic f (A) 1008 5050 w 11 /S f (\256) 1093 5050 w 11 /LucidaSans-Italic f (C) 1211 5050 w 11 /LucidaSansUnicode00 f (:) 1295 5050 w 11 /LucidaSans-Italic f (K) 1515 5050 w 8 /LucidaSans-Italic f (c) 1598 5072 w 11 /LucidaSansUnicode00 f ({) 1656 5050 w 11 /LucidaSans-Italic f (K) 1701 5050 w 8 /LucidaSans-Italic f (n) 1784 5072 w 11 /LucidaSansUnicode00 f (}) 1852 5050 w 11 /LucidaSans-Italic f (C) 1008 5160 w 11 /S f (\256) 1092 5160 w 11 /LucidaSans-Italic f (A) 1210 5160 w 11 /LucidaSansUnicode00 f (:) 1295 5160 w 11 /LucidaSans-Italic f (K) 1515 5160 w 8 /LucidaSans-Italic f (n) 1598 5182 w 11 /LucidaSansUnicode00 f ({) 1666 5160 w 11 /LucidaSans-Italic f (password) 1711 5160 w 8 /LucidaSans-Italic f (old) 2235 5182 w 11 /LucidaSansUnicode00 f (,) 2371 5160 w 11 /LucidaSans-Italic f (password) 2415 5160 w 8 /LucidaSans-Italic f (new) 2939 5182 w 11 /LucidaSansUnicode00 f (}) 3111 5160 w 11 /LucidaSans-Italic f (A) 1008 5270 w 11 /S f (\256) 1093 5270 w 11 /LucidaSans-Italic f (C) 1211 5270 w 11 /LucidaSansUnicode00 f (:) 1295 5270 w 11 /LucidaSans-Italic f (OK) 1515 5270 w 10 /LucidaSansUnicode00 f (To) 720 5450 w (avoid) 883 5450 w (replay) 1182 5450 w (attacks,) 1517 5450 w (the) 1932 5450 w (pre-encryption) 2126 5450 w (clear) 2897 5450 w (text) 3168 5450 w (for) 3399 5450 w (each) 3578 5450 w (of) 3842 5450 w (the) 3980 5450 w (protocols) 4175 5450 w (\(as) 4670 5450 w (well) 4849 5450 w (as) 720 5570 w (for) 867 5570 w (p9sk1\)) 1047 5570 w (includes) 1418 5570 w (a) 1861 5570 w (tag) 1956 5570 w (indicating) 2150 5570 w (the) 2669 5570 w (encryption) 2864 5570 w 10 /LucidaSansUnicode20 f (\031) 3378 5570 w 10 /LucidaSansUnicode00 f (s) 3410 5570 w (role) 3501 5570 w (in) 3728 5570 w (the) 3859 5570 w (protocol.) 4054 5570 w (We) 4562 5570 w (elided) 4744 5570 w (them in these outlines.) 720 5690 w 10 /LucidaSans-Demi f (3.3.) 720 5930 w (Protocol negotiation) 962 5930 w 10 /LucidaSansUnicode00 f (Rather) 720 6086 w (than) 1070 6086 w (require) 1322 6086 w (particular) 1706 6086 w (protocols) 2206 6086 w (for) 2698 6086 w (particular) 2874 6086 w (services,) 3374 6086 w (we) 3830 6086 w (implemented) 4000 6086 w (a) 4674 6086 w (nego\255) 4766 6086 w (tiation) 720 6206 w (metaprotocol,) 1079 6206 w 10 /LucidaSans-Italic f (p9any) 1805 6206 w 10 /LucidaSansUnicode00 f (,) 2107 6206 w (which) 2188 6206 w (chooses) 2517 6206 w (the) 2958 6206 w (actual) 3161 6206 w (authentication) 3498 6206 w (protocol) 4241 6206 w (to) 4693 6206 w (use.) 4839 6206 w (P9any is used now by all native services on Plan 9.) 720 6326 w (The metaprotocol is simple.) 720 6482 w (The callee sends a null-terminated string of the form:) 2139 6482 w 9 /LucidaTypewriter f (v.) 1008 6652 w 11 /LucidaSans-Italic f (n) 1138 6652 w (proto) 1271 6652 w 8 /LucidaSansUnicode00 f (1) 1572 6674 w 9 /LucidaTypewriter f (@) 1631 6652 w 11 /LucidaSans-Italic f (domain) 1696 6652 w 8 /LucidaSansUnicode00 f (1) 2108 6674 w 11 /LucidaSans-Italic f (proto) 2232 6652 w 8 /LucidaSansUnicode00 f (2) 2533 6674 w 9 /LucidaTypewriter f (@) 2592 6652 w 11 /LucidaSans-Italic f (domain) 2657 6652 w 8 /LucidaSansUnicode00 f (2) 3069 6674 w 9 /LucidaTypewriter f (...) 3193 6652 w 10 /LucidaSansUnicode00 f (where) 720 6832 w 10 /LucidaSans-Italic f (n) 1056 6832 w 10 /LucidaSansUnicode00 f (is) 1162 6832 w (a) 1286 6832 w (decimal) 1385 6832 w (version) 1805 6832 w (number,) 2201 6832 w 11 /LucidaSans-Italic f (proto) 2654 6832 w 8 /LucidaSans-Italic f (k) 2955 6854 w 10 /LucidaSansUnicode00 f (is) 3054 6832 w (the) 3178 6832 w (name) 3377 6832 w (of) 3687 6832 w (a) 3829 6832 w (protocol) 3928 6832 w (for) 4376 6832 w (which) 4559 6832 w (the) 4885 6832 w 10 /LucidaTypewriter f (factotum) 720 6952 w 10 /LucidaSansUnicode00 f (has) 1346 6952 w (a) 1564 6952 w (key,) 1668 6952 w (and) 1915 6952 w 11 /LucidaSans-Italic f (domain) 2144 6952 w 8 /LucidaSans-Italic f (k) 2556 6974 w 10 /LucidaSansUnicode00 f (is) 2660 6952 w (the) 2789 6952 w (name) 2993 6952 w (of) 3308 6952 w (the) 3455 6952 w (domain) 3659 6952 w (in) 4071 6952 w (which) 4211 6952 w (the) 4541 6952 w (key) 4745 6952 w (is) 4960 6952 w (valid.) 720 7072 w (The caller then responds) 1044 7072 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 9 /LucidaSans-Italic f (proto) 1008 830 w 9 /LucidaTypewriter f (@) 1242 830 w 9 /LucidaSans-Italic f (domain) 1307 830 w 10 /LucidaSansUnicode00 f (indicating its choice.) 720 1010 w (Finally the callee responds) 1786 1010 w 9 /LucidaTypewriter f (OK) 1008 1180 w 10 /LucidaSansUnicode00 f (Any) 720 1360 w (other) 947 1360 w (string) 1248 1360 w (indicates) 1574 1360 w (failure.) 2051 1360 w (At) 2468 1360 w (this) 2618 1360 w (point) 2842 1360 w (the) 3139 1360 w (chosen) 3339 1360 w (protocol) 3727 1360 w (commences.) 4176 1360 w (The) 4859 1360 w (final) 720 1480 w (fixed-length) 966 1480 w (reply) 1612 1480 w (is) 1887 1480 w (used) 2000 1480 w (to) 2265 1480 w (make) 2396 1480 w (it) 2691 1480 w (easy) 2790 1480 w (to) 3037 1480 w (delimit) 3168 1480 w (the) 3537 1480 w (I/O) 3725 1480 w (stream) 3918 1480 w (should) 4284 1480 w (the) 4645 1480 w (cho\255) 4833 1480 w (sen protocol require the caller rather than the callee to send the first message.) 720 1600 w (With) 720 1756 w (this) 990 1756 w (negotiation) 1225 1756 w (metaprotocol,) 1832 1756 w (the) 2565 1756 w (underlying) 2776 1756 w (authentication) 3350 1756 w (protocols) 4101 1756 w (used) 4612 1756 w (for) 4901 1756 w (Plan) 720 1876 w (9) 961 1876 w (services) 1064 1876 w (can) 1491 1876 w (be) 1699 1876 w (changed) 1858 1876 w (under) 2309 1876 w (any) 2632 1876 w (application) 2840 1876 w (just) 3413 1876 w (by) 3632 1876 w (changing) 3786 1876 w (the) 4270 1876 w (keys) 4464 1876 w (known) 4720 1876 w (by the) 720 1996 w 10 /LucidaTypewriter f (factotum) 1054 1996 w 10 /LucidaSansUnicode00 f (agents at each end.) 1662 1996 w (P9any is vulnerable to man in the middle attacks to the extent that the attacker may con\255) 720 2152 w (strain) 720 2272 w (the) 1033 2272 w (possible) 1226 2272 w (choices) 1667 2272 w (by) 2066 2272 w (changing) 2219 2272 w (the) 2701 2272 w (stream.) 2893 2272 w (However,) 3327 2272 w (we) 3813 2272 w (believe) 3983 2272 w (this) 4361 2272 w (is) 4577 2272 w (accept\255) 4694 2272 w (able) 720 2392 w (since) 960 2392 w (the) 1247 2392 w (attacker) 1440 2392 w (cannot) 1868 2392 w (force) 2234 2392 w (either) 2518 2392 w (side) 2837 2392 w (to) 3074 2392 w (choose) 3210 2392 w (algorithms) 3590 2392 w (that) 4148 2392 w (it) 4377 2392 w (is) 4481 2392 w (unwilling) 4599 2392 w (to use.) 720 2512 w 10 /LucidaSans-Demi f (4.) 720 2752 w (Library Interface to Factotum) 873 2752 w 10 /LucidaSansUnicode00 f (Although) 720 2908 w (programs) 1197 2908 w (can) 1697 2908 w (access) 1898 2908 w 10 /LucidaTypewriter f (factotum) 2246 2908 w 10 /LucidaSansUnicode20 f (\031) 2822 2908 w 10 /LucidaSansUnicode00 f (s) 2854 2908 w (services) 2938 2908 w (through) 3358 2908 w (its) 3778 2908 w (file) 3928 2908 w (system) 4112 2908 w (interface,) 4485 2908 w (it) 4974 2908 w (is) 720 3028 w (more) 833 3028 w (common) 1117 3028 w (to) 1571 3028 w (use) 1702 3028 w (a) 1904 3028 w (C) 1992 3028 w (library) 2094 3028 w (that) 2437 3028 w (packages) 2661 3028 w (the) 3145 3028 w (interaction.) 3333 3028 w (There) 3950 3028 w (are) 4261 3028 w (a number of) 4446 3028 w (routines in the library, not all of which are relevant here, but a) 720 3148 w (few) 3780 3148 w (examples) 3983 3148 w (should) 4480 3148 w (give) 4841 3148 w (their flavor.) 720 3268 w (First,) 720 3424 w (consider) 997 3424 w (the) 1444 3424 w (problem) 1632 3424 w (of) 2071 3424 w (mounting) 2202 3424 w (a) 2703 3424 w (remote) 2791 3424 w (file) 3168 3424 w (server) 3352 3424 w (using) 3682 3424 w (9P.) 3981 3424 w (An) 4196 3424 w (earlier) 4360 3424 w (discus\255) 4700 3424 w (sion) 720 3544 w (showed) 964 3544 w (how) 1375 3544 w (the) 1616 3544 w 10 /LucidaTypewriter f (fauth) 1812 3544 w 10 /LucidaSansUnicode00 f (and) 2213 3544 w 10 /LucidaTypewriter f (mount) 2433 3544 w 10 /LucidaSansUnicode00 f (system) 2833 3544 w (calls) 3213 3544 w (use) 3468 3544 w (an) 3677 3544 w (authentication) 3834 3544 w (file,) 4569 3544 w 10 /LucidaTypewriter f (afd) 4792 3544 w 10 /LucidaSansUnicode00 f (,) 5008 3544 w (as) 720 3664 w (a) 865 3664 w (capability,) 959 3664 w (but) 1494 3664 w (not) 1696 3664 w (how) 1896 3664 w 10 /LucidaTypewriter f (factotum) 2136 3664 w 10 /LucidaSansUnicode00 f (manages) 2752 3664 w 10 /LucidaTypewriter f (afd) 3226 3664 w 10 /LucidaSansUnicode00 f (.) 3442 3664 w (The) 3546 3664 w (library) 3767 3664 w (contains) 4117 3664 w (a) 4565 3664 w (routine,) 4660 3664 w 10 /LucidaTypewriter f (amount) 720 3784 w 10 /LucidaSansUnicode00 f (\(authenticated) 1187 3784 w (mount\),) 1917 3784 w (that) 2332 3784 w (is) 2558 3784 w (used) 2673 3784 w (by) 2940 3784 w (most) 3090 3784 w (programs) 3367 3784 w (in) 3868 3784 w (preference) 3993 3784 w (to) 4546 3784 w (the) 4678 3784 w (raw) 4867 3784 w 10 /LucidaTypewriter f (fauth) 720 3904 w 10 /LucidaSansUnicode00 f (and) 1126 3904 w 10 /LucidaTypewriter f (mount) 1352 3904 w 10 /LucidaSansUnicode00 f (calls.) 1758 3904 w 10 /LucidaTypewriter f (Amount) 2083 3904 w 10 /LucidaSansUnicode00 f (engages) 2561 3904 w 10 /LucidaTypewriter f (factotum) 3011 3904 w 10 /LucidaSansUnicode00 f (to) 3633 3904 w (validate) 3778 3904 w 10 /LucidaTypewriter f (afd) 4201 3904 w 10 /LucidaSansUnicode00 f (;) 4417 3904 w (here) 4496 3904 w (is) 4758 3904 w (the) 4885 3904 w (complete code:) 720 4024 w 9 /LucidaTypewriter f (int) 1008 4194 w (amount\(int) 1008 4304 w (fd,) 1723 4304 w (char) 1983 4304 w (*mntpt,) 2308 4304 w (int) 1143 4414 w (flags,) 1403 4414 w (char) 1858 4414 w (*aname\)) 2183 4414 w ({) 1008 4524 w (int) 1143 4634 w (afd,) 1403 4634 w (ret;) 1728 4634 w (AuthInfo) 1143 4744 w (*ai;) 1728 4744 w (afd) 1143 4964 w (=) 1403 4964 w (fauth\(fd,) 1533 4964 w (aname\);) 2183 4964 w (if\(afd) 1143 5074 w (>=) 1598 5074 w (0\){) 1793 5074 w (ai) 1278 5184 w (=) 1473 5184 w (auth_proxy\(afd,) 1603 5184 w (amount_getkey,) 2643 5184 w ("proto=p9any) 1413 5294 w (role=client"\);) 2258 5294 w (if\(ai) 1278 5404 w (!=) 1668 5404 w (NULL\)) 1863 5404 w (auth_freeAI\(ai\);) 1413 5514 w (}) 1143 5624 w (ret) 1143 5734 w (=) 1403 5734 w (mount\(fd,) 1533 5734 w (afd,) 2183 5734 w (mntpt,) 2508 5734 w (flags,) 1278 5844 w (aname\);) 1733 5844 w (if\(afd) 1143 5954 w (>=) 1598 5954 w (0\)) 1793 5954 w (close\(afd\);) 1278 6064 w (return) 1143 6174 w (ret;) 1598 6174 w (}) 1008 6284 w 10 /LucidaSansUnicode00 f (where) 720 6464 w (parameter) 1054 6464 w 10 /LucidaTypewriter f (fd) 1593 6464 w 10 /LucidaSansUnicode00 f (is) 1779 6464 w (a) 1901 6464 w (file) 1998 6464 w (descriptor) 2191 6464 w (returned) 2726 6464 w (by) 3186 6464 w 10 /LucidaTypewriter f (open) 3343 6464 w 10 /LucidaSansUnicode00 f (or) 3673 6464 w 10 /LucidaTypewriter f (dial) 3817 6464 w 10 /LucidaSansUnicode00 f (for) 4147 6464 w (a) 4328 6464 w (new) 4426 6464 w (connec\255) 4664 6464 w (tion) 720 6584 w (to) 991 6584 w (a) 1171 6584 w (file) 1308 6584 w (server.) 1541 6584 w (The) 1984 6584 w (conversation) 2247 6584 w (with) 2947 6584 w 10 /LucidaTypewriter f (factotum) 3234 6584 w 10 /LucidaSansUnicode00 f (occurs) 3891 6584 w (in) 4289 6584 w (the) 4461 6584 w (call) 4697 6584 w (to) 4942 6584 w 10 /LucidaTypewriter f (auth_proxy) 720 6704 w 10 /LucidaSansUnicode00 f (,) 1440 6704 w (which) 1522 6704 w (specifies,) 1853 6704 w (as) 2358 6704 w (a) 2514 6704 w (key) 2619 6704 w (query,) 2835 6704 w (which) 3191 6704 w (authentication) 3522 6704 w (protocol) 4267 6704 w (to) 4722 6704 w (use) 4871 6704 w (\(here) 720 6824 w (the) 1017 6824 w (metaprotocol) 1221 6824 w 10 /LucidaTypewriter f (p9any) 1915 6824 w 10 /LucidaSansUnicode00 f (\)) 2275 6824 w (and) 2357 6824 w (the) 2586 6824 w (role) 2789 6824 w (being) 3024 6824 w (played) 3344 6824 w (\() 3710 6824 w 10 /LucidaTypewriter f (client) 3743 6824 w 10 /LucidaSansUnicode00 f (\).) 4175 6824 w 10 /LucidaTypewriter f (Auth_proxy) 4320 6824 w 10 /LucidaSansUnicode00 f (will) 720 6944 w (read) 925 6944 w (and) 1181 6944 w (write) 1402 6944 w (the) 1683 6944 w 10 /LucidaTypewriter f (factotum) 1879 6944 w 10 /LucidaSansUnicode00 f (files,) 2496 6944 w (and) 2771 6944 w (the) 2992 6944 w (authentication) 3188 6944 w (file) 3924 6944 w (descriptor) 4117 6944 w 10 /LucidaTypewriter f (afd) 4652 6944 w 10 /LucidaSansUnicode00 f (,) 4868 6944 w (to) 4942 6944 w (validate) 720 7064 w (the) 1148 7064 w (user) 1355 7064 w 10 /LucidaSansUnicode20 f (\031) 1565 7064 w 10 /LucidaSansUnicode00 f (s) 1597 7064 w (right) 1700 7064 w (to) 1982 7064 w (access) 2131 7064 w (the) 2497 7064 w (service.) 2703 7064 w (If) 3154 7064 w (the) 3271 7064 w (call) 3477 7064 w (is) 3692 7064 w (successful,) 3823 7064 w (any) 4407 7064 w (auxiliary) 4627 7064 w (data,) 720 7184 w (held) 1003 7184 w (in) 1254 7184 w (an) 1386 7184 w 10 /LucidaTypewriter f (AuthInfo) 1544 7184 w 10 /LucidaSansUnicode00 f (structure,) 2161 7184 w (is) 2672 7184 w (freed.) 2793 7184 w (In) 3151 7184 w (any) 3283 7184 w (case,) 3493 7184 w (the) 3779 7184 w 10 /LucidaTypewriter f (mount) 3975 7184 w 10 /LucidaSansUnicode00 f (is) 4376 7184 w (then) 4498 7184 w (called) 4757 7184 w (with) 720 7304 w (the) 962 7304 w (\(perhaps) 1154 7304 w (validated\)) 1615 7304 w 10 /LucidaTypewriter f (afd.) 2124 7304 w 10 /LucidaSansUnicode00 f (A) 2449 7304 w (9P) 2555 7304 w (server) 2710 7304 w (can) 3044 7304 w (cause) 3249 7304 w (the) 3561 7304 w 10 /LucidaTypewriter f (fauth) 3752 7304 w 10 /LucidaSansUnicode00 f (system) 4148 7304 w (call) 4524 7304 w (to) 4724 7304 w (fail,) 4858 7304 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 (as an indication that authentication is not required to access the service.) 720 840 w (The) 720 996 w (second) 950 996 w (argument) 1343 996 w (to) 1860 996 w 10 /LucidaTypewriter f (auth_proxy) 2007 996 w 10 /LucidaSansUnicode00 f (is) 2776 996 w (a) 2905 996 w (function,) 3009 996 w (here) 3491 996 w 10 /LucidaTypewriter f (amount_getkey) 3755 996 w 10 /LucidaSansUnicode00 f (,) 4691 996 w (to) 4773 996 w (be) 4921 996 w (called) 720 1116 w (if) 1037 1116 w (secret) 1137 1116 w (information) 1463 1116 w (such) 2064 1116 w (as) 2324 1116 w (a) 2464 1116 w (password) 2553 1116 w (or) 3049 1116 w (response) 3185 1116 w (to) 3660 1116 w (a) 3792 1116 w (challenge) 3881 1116 w (is) 4377 1116 w (required) 4490 1116 w (as) 4934 1116 w (part) 720 1236 w (of) 949 1236 w (the) 1080 1236 w (authentication.) 1268 1236 w (This) 2060 1236 w (function,) 2298 1236 w (of) 2764 1236 w (course,) 2895 1236 w (will) 3282 1236 w (provide) 3479 1236 w (this) 3877 1236 w (data) 4089 1236 w (to) 4332 1236 w 10 /LucidaTypewriter f (factotum) 4464 1236 w 10 /LucidaSansUnicode00 f (as a) 720 1356 w 10 /LucidaTypewriter f (key) 945 1356 w 10 /LucidaSansUnicode00 f (message on the) 1193 1356 w 10 /LucidaTypewriter f (/mnt/factotum/ctl) 1991 1356 w 10 /LucidaSansUnicode00 f (file.) 3247 1356 w (Although) 720 1512 w (the) 1197 1512 w (final) 1385 1512 w (argument) 1630 1512 w (to) 2131 1512 w 10 /LucidaTypewriter f (auth_proxy) 2262 1512 w 10 /LucidaSansUnicode00 f (in) 3015 1512 w (this) 3139 1512 w (example) 3351 1512 w (is) 3797 1512 w (a) 3910 1512 w (simple) 3999 1512 w (string,) 4354 1512 w (in) 4702 1512 w (gen\255) 4827 1512 w (eral) 720 1632 w (it) 941 1632 w (can) 1047 1632 w (be) 1255 1632 w (a) 1414 1632 w (formatted-print) 1509 1632 w (specifier) 2318 1632 w (in) 2770 1632 w (the) 2900 1632 w (manner) 3094 1632 w (of) 3502 1632 w 10 /LucidaTypewriter f (printf) 3639 1632 w 10 /LucidaSansUnicode00 f (,) 4071 1632 w (to) 4142 1632 w (enable) 4279 1632 w (the) 4639 1632 w (con\255) 4833 1632 w (struction of more elaborate key queries.) 720 1752 w (As) 720 1908 w (another) 881 1908 w (example,) 1296 1908 w (consider) 1782 1908 w (the) 2237 1908 w (Plan) 2433 1908 w (9) 2675 1908 w 10 /LucidaTypewriter f (cpu) 2779 1908 w 10 /LucidaSansUnicode00 f (service,) 3036 1908 w (which) 3445 1908 w (exports) 3767 1908 w (local) 4178 1908 w (devices) 4445 1908 w (to) 4845 1908 w (a) 4985 1908 w (shell) 720 2028 w (process) 980 2028 w (on) 1387 2028 w (a) 1543 2028 w (remote) 1631 2028 w (machine,) 2008 2028 w (typically) 2481 2028 w (to) 2911 2028 w (connect) 3042 2028 w (the) 3455 2028 w (local screen and keyboard to) 3643 2028 w (a) 720 2148 w (more) 814 2148 w (powerful) 1104 2148 w (computer.) 1569 2148 w (At) 2136 2148 w (heart,) 2281 2148 w 10 /LucidaTypewriter f (cpu) 2604 2148 w 10 /LucidaSansUnicode00 f (is) 2860 2148 w (a) 2980 2148 w (superset) 3075 2148 w (of) 3532 2148 w (a) 3670 2148 w (service) 3765 2148 w (called) 4141 2148 w 10 /LucidaTypewriter f (exportfs) 4464 2148 w 10 /LucidaSansUnicode00 f ([Pike93],) 720 2268 w (which) 1178 2268 w (allows) 1495 2268 w (one) 1833 2268 w (machine) 2048 2268 w (to) 2492 2268 w (see) 2626 2268 w (an) 2825 2268 w (arbitrary) 2978 2268 w (portion) 3428 2268 w (of) 3818 2268 w (the) 3952 2268 w (file) 4143 2268 w (name) 4330 2268 w (space) 4631 2268 w (of) 4942 2268 w (another) 720 2388 w (machine,) 1129 2388 w (such) 1604 2388 w (as) 1865 2388 w (to) 2006 2388 w (export) 2139 2388 w (the) 2493 2388 w (network) 2683 2388 w (device) 3110 2388 w (to) 3452 2388 w (another) 3585 2388 w (machine) 3994 2388 w (for) 4438 2388 w (gateway\255) 4613 2388 w (ing.) 720 2508 w (However,) 972 2508 w 10 /LucidaTypewriter f (cpu) 1456 2508 w 10 /LucidaSansUnicode00 f (is) 1707 2508 w (not) 1822 2508 w (just) 2016 2508 w 10 /LucidaTypewriter f (exportfs) 2230 2508 w 10 /LucidaSansUnicode00 f (because) 2840 2508 w (it) 3268 2508 w (also) 3368 2508 w (delivers) 3598 2508 w (signals) 4009 2508 w (such) 4382 2508 w (as) 4642 2508 w (inter\255) 4782 2508 w (rupt and negotiates the initial environment for the remote shell.) 720 2628 w (To) 720 2784 w (authenticate) 889 2784 w (an) 1533 2784 w (instance) 1695 2784 w (of) 2143 2784 w 10 /LucidaTypewriter f (cpu) 2286 2784 w 10 /LucidaSansUnicode00 f (requires) 2547 2784 w 10 /LucidaTypewriter f (factotum) 2991 2784 w 10 /LucidaSansUnicode00 f (processes) 3612 2784 w (on) 4138 2784 w (both) 4306 2784 w (ends:) 4575 2784 w (the) 4885 2784 w (local, client end running as the user on a terminal and the remote, server end running as) 720 2904 w (the host owner of the server machine.) 720 3024 w (Here is schematic code for the two ends:) 2629 3024 w 9 /LucidaTypewriter f (/*) 1008 3194 w (client) 1203 3194 w (*/) 1658 3194 w (int) 1008 3304 w (p9auth\(int) 1008 3414 w (fd\)) 1723 3414 w ({) 1008 3524 w (AuthInfo) 1143 3634 w (*ai;) 1728 3634 w (ai) 1143 3854 w (=) 1338 3854 w (auth_proxy\(fd,) 1468 3854 w (auth_getkey,) 2443 3854 w ("proto=p9any) 1278 3964 w (role=client"\);) 2123 3964 w (if\(ai) 1143 4074 w (==) 1533 4074 w (NULL\)) 1728 4074 w (return) 1278 4184 w (-1;) 1733 4184 w (/*) 1143 4404 w (start) 1338 4404 w (cpu) 1728 4404 w (protocol) 1988 4404 w (here) 2573 4404 w (*/) 2898 4404 w (}) 1008 4514 w (/*) 1008 4734 w (server) 1203 4734 w (*/) 1658 4734 w (int) 1008 4844 w (srvp9auth\(int) 1008 4954 w (fd,) 1918 4954 w (char) 2178 4954 w (*user\)) 2503 4954 w ({) 1008 5064 w (AuthInfo) 1143 5174 w (*ai;) 1728 5174 w (ai) 1143 5394 w (=) 1338 5394 w (auth_proxy\(fd,) 1468 5394 w (NULL,) 2443 5394 w ("proto=p9any) 1278 5504 w (role=server"\);) 2123 5504 w (if\(ai) 1143 5614 w (==) 1533 5614 w (NULL\)) 1728 5614 w (return) 1278 5724 w (-1;) 1733 5724 w (/*) 1143 5834 w (set) 1338 5834 w (user) 1598 5834 w (id) 1923 5834 w (for) 2118 5834 w (server) 2378 5834 w (process) 2833 5834 w (*/) 3353 5834 w (if\(auth_chuid\(ai,) 1143 5944 w (NULL\)) 2313 5944 w (<) 2703 5944 w (0\)) 2833 5944 w (return) 1278 6054 w (-1;) 1733 6054 w (/*) 1143 6274 w (start) 1338 6274 w (cpu) 1728 6274 w (protocol) 1988 6274 w (here) 2573 6274 w (*/) 2898 6274 w (}) 1008 6384 w 10 /LucidaTypewriter f (Auth_chuid) 720 6564 w 10 /LucidaSansUnicode00 f (encapsulates) 1488 6564 w (the) 2165 6564 w (negotiation) 2369 6564 w (to) 2969 6564 w (change) 3116 6564 w (a) 3513 6564 w (user) 3617 6564 w (id) 3876 6564 w (using) 4017 6564 w (the) 4332 6564 w 10 /LucidaTypewriter f (caphash) 4536 6564 w 10 /LucidaSansUnicode00 f (and) 720 6684 w 10 /LucidaTypewriter f (capuse) 937 6684 w 10 /LucidaSansUnicode00 f (files) 1406 6684 w (of) 1645 6684 w (the) 1780 6684 w (\(server\)) 1972 6684 w (kernel.) 2372 6684 w (Note) 2775 6684 w (that) 3040 6684 w (although) 3268 6684 w (the) 3735 6684 w (client) 3927 6684 w (process) 4228 6684 w (may) 4639 6684 w (ask) 4876 6684 w (the) 720 6804 w (user) 911 6804 w (for) 1157 6804 w (new) 1333 6804 w (keys,) 1565 6804 w (using) 1851 6804 w 10 /LucidaTypewriter f (auth_getkey) 2154 6804 w 10 /LucidaSansUnicode00 f (,) 2946 6804 w (the) 3015 6804 w (server) 3207 6804 w (machine,) 3541 6804 w (presumably) 4018 6804 w (a) 4620 6804 w (shared) 4712 6804 w (machine with a pseudo-user for the host owner, sets the key-getting function to) 720 6924 w 10 /LucidaTypewriter f (NULL) 4680 6924 w 10 /LucidaSansUnicode00 f (.) 4968 6924 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 10 /LucidaSans-Demi f (5.) 720 840 w (Secure Store) 873 840 w 10 /LucidaTypewriter f (Factotum) 720 996 w 10 /LucidaSansUnicode00 f (keeps) 1345 996 w (its) 1678 996 w (keys) 1844 996 w (in) 2110 996 w (volatile) 2250 996 w (memory,) 2647 996 w (which) 3124 996 w (must) 3454 996 w (somehow) 3746 996 w (be) 4256 996 w (initialized) 4424 996 w (at) 4948 996 w (boot) 720 1116 w (time.) 975 1116 w (Therefore,) 1287 1116 w 10 /LucidaTypewriter f (factotum) 1825 1116 w 10 /LucidaSansUnicode00 f (must) 2434 1116 w (be) 2710 1116 w (supplemented) 2862 1116 w (by) 3586 1116 w (a) 3734 1116 w (persistent) 3822 1116 w (store,) 4338 1116 w (perhaps) 4649 1116 w (a) 720 1236 w (floppy) 901 1236 w (disk) 1332 1236 w (containing) 1659 1236 w (a) 2296 1236 w (key) 2478 1236 w (file) 2771 1236 w (of) 3049 1236 w (commands) 3274 1236 w (to) 3930 1236 w (be) 4155 1236 w (copied) 4401 1236 w (into) 4851 1236 w 10 /LucidaTypewriter f (/mnt/factotum/ctl) 720 1356 w 10 /LucidaSansUnicode00 f (during) 2006 1356 w (bootstrap.) 2387 1356 w (But) 2982 1356 w (removable) 3200 1356 w (media) 3767 1356 w (are) 4124 1356 w (a) 4337 1356 w (nuisance) 4453 1356 w (to) 4942 1356 w (carry) 720 1476 w (and) 1000 1476 w (are) 1220 1476 w (vulnerable) 1412 1476 w (to) 1957 1476 w (theft.) 2095 1476 w (Keys) 2428 1476 w (could) 2693 1476 w (be) 3000 1476 w (stored) 3160 1476 w (encrypted) 3510 1476 w (on) 4032 1476 w (a) 4196 1476 w (shared) 4292 1476 w (file) 4661 1476 w (sys\255) 4853 1476 w (tem,) 720 1596 w (but) 974 1596 w (only) 1172 1596 w (if) 1412 1596 w (those) 1514 1596 w (keys) 1817 1596 w (are) 2070 1596 w (not) 2258 1596 w (necessary) 2454 1596 w (for) 2965 1596 w (authenticating) 3140 1596 w (to) 3872 1596 w (the) 4006 1596 w (file) 4197 1596 w (system) 4384 1596 w (in) 4759 1596 w (the) 4885 1596 w (first place.) 720 1716 w (Even if the keys are) 1297 1716 w (encrypted) 2272 1716 w (under) 2786 1716 w (a) 3103 1716 w (user) 3191 1716 w (password,) 3434 1716 w (a) 3961 1716 w (thief) 4049 1716 w (might) 4303 1716 w (well) 4619 1716 w (suc\255) 4843 1716 w (ceed) 720 1836 w (with) 1003 1836 w (a) 1265 1836 w (dictionary) 1377 1836 w (attack.) 1914 1836 w (Other) 2328 1836 w (risks) 2659 1836 w (of) 2946 1836 w (local) 3101 1836 w (storage) 3383 1836 w (are) 3802 1836 w (loss) 4010 1836 w (of) 4258 1836 w (the) 4412 1836 w (contents) 4623 1836 w (through) 720 1956 w (mechanical) 1143 1956 w (mishap) 1722 1956 w (or) 2111 1956 w (dead) 2249 1956 w (batteries.) 2522 1956 w (Thus) 3047 1956 w (for) 3321 1956 w (convenience) 3496 1956 w (and) 4130 1956 w (safety) 4347 1956 w (we) 4672 1956 w (pro\255) 4842 1956 w (vide) 720 2076 w (a) 964 2076 w 10 /LucidaTypewriter f (secstore) 1063 2076 w 10 /LucidaSansUnicode00 f (\(secure) 1683 2076 w (store\)) 2077 2076 w (server) 2400 2076 w (in) 2741 2076 w (the) 2876 2076 w (network) 3075 2076 w (to) 3511 2076 w (hold) 3653 2076 w (each) 3912 2076 w (user) 4179 2076 w 10 /LucidaSansUnicode20 f (\031) 4389 2076 w 10 /LucidaSansUnicode00 f (s) 4421 2076 w (permanent) 4515 2076 w (list of keys, a) 720 2196 w 10 /LucidaSans-Italic f (key file) 1396 2196 w 10 /LucidaSansUnicode00 f (.) 1743 2196 w 10 /LucidaTypewriter f (Secstore) 720 2352 w 10 /LucidaSansUnicode00 f (is) 1333 2352 w (a) 1450 2352 w (file) 1542 2352 w (server) 1730 2352 w (for) 2064 2352 w (encrypted) 2240 2352 w (data,) 2758 2352 w (used) 3037 2352 w (only) 3307 2352 w (during) 3549 2352 w (bootstrapping.) 3906 2352 w (It) 4693 2352 w (must) 4797 2352 w (provide) 720 2472 w (strong) 1118 2472 w (authentication) 1465 2472 w (and) 2193 2472 w (resistance) 2406 2472 w (to) 2928 2472 w (passive) 3059 2472 w (and) 3449 2472 w (active) 3662 2472 w (protocol attacks while) 3975 2472 w (assuming) 720 2592 w (nothing) 1223 2592 w (more) 1636 2592 w (from) 1925 2592 w (the) 2195 2592 w (client) 2388 2592 w (than) 2691 2592 w (a) 2946 2592 w (password.) 3040 2592 w (Once) 3605 2592 w 10 /LucidaTypewriter f (factotum) 3891 2592 w 10 /LucidaSansUnicode00 f (has) 4506 2592 w (loaded) 4713 2592 w (the) 720 2712 w (key file, further encrypted or authenticated file storage can be accomplished by stan\255) 908 2712 w (dard mechanisms.) 720 2832 w (The) 720 2988 w (cryptographic) 963 2988 w (technology) 1693 2988 w (that) 2288 2988 w (enables) 2541 2988 w 10 /LucidaTypewriter f (secstore) 2975 2988 w 10 /LucidaSansUnicode00 f (is) 3613 2988 w (a) 3756 2988 w (form) 3874 2988 w (of) 4169 2988 w (encrypted) 4330 2988 w (key) 4874 2988 w (exchange) 720 3108 w (called) 1232 3108 w (PAK) 1562 3108 w ([Boyk00],) 1798 3108 w (analogous) 2298 3108 w (to) 2843 3108 w (EKE) 2988 3108 w ([Bell93],) 3208 3108 w (SRP) 3651 3108 w ([Wu98],) 3870 3108 w (or) 4288 3108 w (SPEKE) 4436 3108 w ([Jabl].) 4764 3108 w (PAK) 720 3228 w (was) 960 3228 w (chosen) 1194 3228 w (because) 1588 3228 w (it) 2033 3228 w (comes) 2150 3228 w (with) 2514 3228 w (a) 2771 3228 w (proof) 2878 3228 w (of) 3193 3228 w (equivalence) 3343 3228 w (in) 3966 3228 w (strength) 4109 3228 w (to) 4569 3228 w (Diffie-) 4719 3228 w (Hellman;) 720 3348 w (subtle) 1189 3348 w (flaws) 1526 3348 w (in) 1814 3348 w (some) 1944 3348 w (earlier) 2244 3348 w (encrypted) 2589 3348 w (key) 3108 3348 w (exchange) 3312 3348 w (protocols) 3815 3348 w (and) 4308 3348 w (implemen\255) 4526 3348 w (tations have encouraged us to take special care.) 720 3468 w (In outline, the PAK protocol is:) 3120 3468 w 11 /LucidaSans-Italic f (C) 1008 3638 w 11 /S f (\256) 1092 3638 w 11 /LucidaSans-Italic f (S) 1210 3638 w 11 /LucidaSansUnicode00 f (:) 1280 3638 w 11 /LucidaSans-Italic f (C) 1412 3638 w 11 /LucidaSansUnicode00 f (,) 1496 3638 w 11 /LucidaSans-Italic f (g) 1540 3638 w 8 /LucidaSans-Italic f (x) 1620 3594 w 11 /LucidaSans-Italic f (H) 1672 3638 w (S) 1008 3748 w 11 /S f (\256) 1078 3748 w 11 /LucidaSans-Italic f (C) 1196 3748 w 11 /LucidaSansUnicode00 f (:) 1280 3748 w 11 /LucidaSans-Italic f (S) 1412 3748 w 11 /LucidaSansUnicode00 f (,) 1482 3748 w 11 /LucidaSans-Italic f (g) 1526 3748 w 8 /LucidaSans-Italic f (y) 1606 3704 w 11 /LucidaSansUnicode00 f (,) 1668 3748 w 11 /LucidaSans-Italic f (hash) 1712 3748 w 11 /LucidaSansUnicode00 f (\() 1978 3748 w 11 /LucidaSans-Italic f (g) 2023 3748 w 8 /LucidaSans-Italic f (xy) 2103 3704 w 11 /LucidaSansUnicode00 f (,) 2208 3748 w 11 /LucidaSans-Italic f (C) 2252 3748 w 11 /LucidaSansUnicode00 f (,) 2336 3748 w 11 /LucidaSans-Italic f (S) 2380 3748 w 11 /LucidaSansUnicode00 f (\)) 2450 3748 w 11 /LucidaSans-Italic f (C) 1008 3858 w 11 /S f (\256) 1092 3858 w 11 /LucidaSans-Italic f (S) 1210 3858 w 11 /LucidaSansUnicode00 f (:) 1280 3858 w 11 /LucidaSans-Italic f (hash) 1412 3858 w 11 /LucidaSansUnicode00 f (\() 1678 3858 w 11 /LucidaSans-Italic f (g) 1723 3858 w 8 /LucidaSans-Italic f (xy) 1803 3814 w 11 /LucidaSansUnicode00 f (,) 1908 3858 w 11 /LucidaSans-Italic f (S) 1952 3858 w 11 /LucidaSansUnicode00 f (,) 2022 3858 w 11 /LucidaSans-Italic f (C) 2066 3858 w 11 /LucidaSansUnicode00 f (\)) 2150 3858 w 10 /LucidaSansUnicode00 f (where) 720 4038 w 11 /LucidaSans-Italic f (H) 1047 4038 w 10 /LucidaSansUnicode00 f (is) 1163 4038 w (a) 1278 4038 w (preshared) 1368 4038 w (secret) 1891 4038 w (between) 2218 4038 w (client) 2660 4038 w 11 /LucidaSans-Italic f (C) 2959 4038 w 10 /LucidaSansUnicode00 f (and) 3070 4038 w (server) 3286 4038 w 11 /LucidaSans-Italic f (S) 3619 4038 w 10 /LucidaSansUnicode00 f (.) 3680 4038 w (There) 3780 4038 w (are) 4094 4038 w (several) 4282 4038 w (variants) 4658 4038 w (of) 720 4158 w (PAK,) 862 4158 w (all) 1126 4158 w (presented) 1282 4158 w (in) 1810 4158 w (papers) 1944 4158 w (mainly) 2316 4158 w (concerned) 2679 4158 w (with) 3225 4158 w (proofs) 3473 4158 w (of) 3830 4158 w (cryptographic) 3971 4158 w (proper\255) 4682 4158 w (ties.) 720 4278 w (To) 992 4278 w (aid) 1151 4278 w (implementers,) 1333 4278 w (we) 2066 4278 w (have) 2234 4278 w (distilled) 2494 4278 w (a) 2916 4278 w (description) 3007 4278 w (of) 3586 4278 w (the) 3720 4278 w (specific) 3911 4278 w (version) 4314 4278 w (we) 4702 4278 w (use) 4871 4278 w (into) 720 4398 w (an) 960 4398 w (Appendix) 1128 4398 w (to) 1645 4398 w (this) 1794 4398 w (paper.) 2024 4398 w (The) 2417 4398 w (Plan) 2649 4398 w (9) 2901 4398 w (open) 3015 4398 w (source) 3308 4398 w (license) 3681 4398 w (provides) 4066 4398 w (for) 4533 4398 w (use) 4723 4398 w (of) 4942 4398 w (Lucent) 720 4518 w 10 /LucidaSansUnicode20 f (\031) 1041 4518 w 10 /LucidaSansUnicode00 f (s encrypted key exchange patents in this context.) 1073 4518 w (As) 720 4674 w (a) 883 4674 w (further) 981 4674 w (layer) 1360 4674 w (of) 1636 4674 w (defense) 1777 4674 w (against) 2201 4674 w (password) 2595 4674 w (theft,) 3100 4674 w (we) 3404 4674 w (provide) 3580 4674 w (\(within) 3988 4674 w (the) 4360 4674 w (encrypted) 4559 4674 w (channel) 720 4794 w 11 /LucidaSans-Italic f (C) 1131 4794 w 11 /LucidaSansUnicode21 f (\222) 1215 4794 w 11 /LucidaSans-Italic f (S) 1327 4794 w 10 /LucidaSansUnicode00 f (\)) 1388 4794 w (information) 1454 4794 w (that) 2054 4794 w (is) 2278 4794 w (validated) 2391 4794 w (at) 2863 4794 w (a) 2988 4794 w (RADIUS) 3076 4794 w (server,) 3468 4794 w (such) 3830 4794 w (as) 4089 4794 w (the) 4228 4794 w (digits) 4416 4794 w (from) 4720 4794 w (a) 4985 4794 w (hardware) 720 4914 w (token) 1216 4914 w ([RFC2138].) 1536 4914 w (This) 2151 4914 w (provides) 2403 4914 w (two-factor) 2866 4914 w (authentication,) 3428 4914 w (which) 4202 4914 w (potentially) 4530 4914 w (requires tricking two independent administrators in any attack by social engineering.) 720 5034 w (The) 720 5190 w (key) 940 5190 w (file) 1145 5190 w (stored) 1335 5190 w (on) 1683 5190 w (the) 1846 5190 w (server) 2041 5190 w (is) 2378 5190 w (encrypted) 2498 5190 w (with) 3019 5190 w (AES) 3264 5190 w (\(Rijndael\)) 3481 5190 w (using) 3974 5190 w (CBC) 4280 5190 w (with) 4516 5190 w (a) 4761 5190 w (10-) 4856 5190 w (byte) 720 5310 w (initialization) 970 5310 w (vector) 1612 5310 w (and) 1952 5310 w (trailing) 2173 5310 w (authentication) 2558 5310 w (padding.) 3294 5310 w (All) 3796 5310 w (this) 3964 5310 w (is) 4184 5310 w (invisible) 4305 5310 w (to) 4746 5310 w (the) 4885 5310 w (user) 720 5430 w (of) 970 5430 w 10 /LucidaTypewriter f (secstore) 1108 5430 w 10 /LucidaSansUnicode00 f (.) 1684 5430 w (For) 1788 5430 w (that) 1984 5430 w (matter,) 2215 5430 w (it) 2606 5430 w (is) 2712 5430 w (invisible) 2832 5430 w (to) 3273 5430 w (the) 3412 5430 w 10 /LucidaTypewriter f (secstore) 3608 5430 w 10 /LucidaSansUnicode00 f (server) 4225 5430 w (as) 4563 5430 w (well;) 4710 5430 w (if) 4974 5430 w (the) 720 5550 w (AES) 914 5550 w (Modes) 1130 5550 w (of) 1486 5550 w (Operation) 1623 5550 w (are) 2144 5550 w (standardized) 2334 5550 w (and) 3004 5550 w (a) 3222 5550 w (new) 3315 5550 w (encryption) 3548 5550 w (format) 4100 5550 w (designed,) 4462 5550 w (it) 4974 5550 w (can) 720 5670 w (be) 925 5670 w (implemented) 1081 5670 w (by) 1755 5670 w (a) 1907 5670 w (client) 1999 5670 w (without) 2300 5670 w (change) 2702 5670 w (to) 3088 5670 w (the) 3224 5670 w (server.) 3417 5670 w (The) 3816 5670 w 10 /LucidaTypewriter f (secstore) 4035 5670 w 10 /LucidaSansUnicode00 f (is) 4649 5670 w (delib\255) 4767 5670 w (erately) 720 5790 w (not) 1087 5790 w (backed) 1288 5790 w (up;) 1675 5790 w (the) 1905 5790 w (user) 2101 5790 w (is) 2352 5790 w (expected) 2472 5790 w (to) 2955 5790 w (use) 3093 5790 w (more) 3302 5790 w (than) 3593 5790 w (one) 3849 5790 w 10 /LucidaTypewriter f (secstore) 4068 5790 w 10 /LucidaSansUnicode00 f (or) 4684 5790 w (save) 4826 5790 w (the) 720 5910 w (key) 908 5910 w (file) 1107 5910 w (on) 1291 5910 w (removable) 1447 5910 w (media) 1986 5910 w (and) 2315 5910 w (lock) 2528 5910 w (it) 2760 5910 w (away.) 2859 5910 w (The) 3195 5910 w (user) 3409 5910 w 10 /LucidaSansUnicode20 f (\031) 3619 5910 w 10 /LucidaSansUnicode00 f (s) 3651 5910 w (password) 3735 5910 w (is) 4230 5910 w (hashed) 4344 5910 w (to) 4727 5910 w (cre\255) 4859 5910 w (ate) 720 6030 w (the) 905 6030 w 11 /LucidaSans-Italic f (H) 1097 6030 w 10 /LucidaSansUnicode00 f (used) 1215 6030 w (in) 1484 6030 w (the) 1612 6030 w (PAK) 1804 6030 w (protocol;) 2030 6030 w (a) 2535 6030 w (different) 2627 6030 w (hash) 3082 6030 w (of) 3349 6030 w (the) 3483 6030 w (password) 3674 6030 w (is) 4172 6030 w (used) 4288 6030 w (as) 4556 6030 w (the) 4698 6030 w (file) 4889 6030 w (encryption) 720 6150 w (key.) 1275 6150 w (Finally,) 1546 6150 w (there) 1929 6150 w (is) 2222 6150 w (a) 2343 6150 w (command) 2439 6150 w (\(inside) 2958 6150 w (the) 3322 6150 w (authenticated,) 3518 6150 w (encrypted) 4254 6150 w (chan\255) 4777 6150 w (nel) 720 6270 w (between) 906 6270 w (client) 1352 6270 w (and) 1655 6270 w 10 /LucidaTypewriter f (secstore) 1874 6270 w 10 /LucidaSansUnicode00 f (\)) 2450 6270 w (to) 2522 6270 w (change) 2659 6270 w (passwords) 3046 6270 w (by) 3598 6270 w (sending) 3752 6270 w (a) 4176 6270 w (new) 4270 6270 w 11 /LucidaSans-Italic f (H) 4504 6270 w 10 /LucidaSansUnicode00 f (;) 4585 6270 w (for) 4656 6270 w (con\255) 4833 6270 w (sistency, the client process must at the same time fetch and re-encrypt all files.) 720 6390 w (When) 720 6546 w 10 /LucidaTypewriter f (factotum) 1023 6546 w 10 /LucidaSansUnicode00 f (starts,) 1636 6546 w (it) 1978 6546 w (dials) 2082 6546 w (the) 2347 6546 w (local) 2540 6546 w 10 /LucidaTypewriter f (secstore) 2803 6546 w 10 /LucidaSansUnicode00 f (and) 3417 6546 w (checks) 3635 6546 w (whether) 4002 6546 w (the) 4431 6546 w (user) 4624 6546 w (has) 4872 6546 w (an) 720 6666 w (account.) 880 6666 w (If) 1366 6666 w (so,) 1475 6666 w (it) 1662 6666 w (prompts) 1771 6666 w (for) 2223 6666 w (the) 2405 6666 w (user) 2603 6666 w 10 /LucidaSansUnicode20 f (\031) 2813 6666 w 10 /LucidaSansUnicode00 f (s) 2845 6666 w 10 /LucidaTypewriter f (secstore) 2939 6666 w 10 /LucidaSansUnicode00 f (password) 3558 6666 w (and) 4063 6666 w (fetches) 4285 6666 w (the) 4677 6666 w (key) 4874 6666 w (file.) 720 6786 w (The) 969 6786 w (PAK) 1184 6786 w (protocol) 1407 6786 w (ensures) 1845 6786 w (mutual) 2258 6786 w (authentication) 2630 6786 w (and) 3359 6786 w (prevents) 3573 6786 w (dictionary) 4025 6786 w (attacks) 4539 6786 w (on) 4917 6786 w (the) 720 6906 w (password) 920 6906 w (by) 1427 6906 w (passive) 1587 6906 w (wiretappers) 1989 6906 w (or) 2603 6906 w (active) 2750 6906 w (intermediaries.) 3074 6906 w (Passwords) 3880 6906 w (saved) 4429 6906 w (in) 4750 6906 w (the) 4885 6906 w (key) 720 7026 w (file) 923 7026 w (can) 1111 7026 w (be) 1317 7026 w (long) 1474 7026 w (random) 1726 7026 w (strings) 2139 7026 w (suitable) 2510 7026 w (for) 2930 7026 w (simpler) 3107 7026 w (challenge/response) 3507 7026 w (authentica\255) 4501 7026 w (tion) 720 7146 w (protocols.) 946 7146 w (Thus) 1501 7146 w (the) 1775 7146 w (user) 1966 7146 w (need) 2212 7146 w (only) 2485 7146 w (remember) 2725 7146 w (a) 3260 7146 w (single,) 3351 7146 w (weaker) 3708 7146 w (password) 4087 7146 w (to) 4585 7146 w (enable) 4719 7146 w (strong,) 720 7266 w 10 /LucidaSansUnicode20 f (\030\030) 1128 7266 w 10 /LucidaSansUnicode00 f (single) 1192 7266 w (sign) 1543 7266 w (on) 1810 7266 w 10 /LucidaSansUnicode20 f (\031\031) 1933 7266 w 10 /LucidaSansUnicode00 f (authentication) 2060 7266 w (to) 2818 7266 w (unchanged) 2979 7266 w (legacy) 3577 7266 w (applications) 3945 7266 w (scattered) 4593 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 (across multiple authentication domains.) 720 840 w 10 /LucidaSans-Demi f (6.) 720 1080 w (Transport Layer Security) 873 1080 w 10 /LucidaSansUnicode00 f (Since) 720 1236 w (the) 1018 1236 w (Plan) 1219 1236 w (9) 1467 1236 w (operating) 1577 1236 w (system) 2090 1236 w (is) 2477 1236 w (designed) 2604 1236 w (for) 3093 1236 w (use) 3279 1236 w (in) 3495 1236 w (network) 3633 1236 w (elements) 4072 1236 w (that) 4559 1236 w (must) 4797 1236 w (withstand) 720 1356 w (direct) 1226 1356 w (attack,) 1536 1356 w (unguarded) 1894 1356 w (by) 2453 1356 w (firewall) 2601 1356 w (or) 2987 1356 w (VPN,) 3122 1356 w (we) 3381 1356 w (seek) 3547 1356 w (to) 3801 1356 w (ensure) 3932 1356 w (that) 4293 1356 w (all applica\255) 4517 1356 w (tions) 720 1476 w (use) 1003 1476 w (channels) 1215 1476 w (with) 1686 1476 w (appropriate) 1934 1476 w (mutual) 2541 1476 w (authentication) 2922 1476 w (and) 3660 1476 w (encryption.) 3883 1476 w (A) 4505 1476 w (principal) 4618 1476 w (tool) 720 1596 w (for) 946 1596 w (this) 1123 1596 w (is) 1340 1596 w (TLS) 1458 1596 w (1.0) 1666 1596 w ([RFC2246].) 1862 1596 w (\(TLS) 2467 1596 w (1.0) 2707 1596 w (is) 2902 1596 w (nearly) 3019 1596 w (the) 3351 1596 w (same) 3543 1596 w (as) 3835 1596 w (SSL) 3978 1596 w (3.0,) 4176 1596 w (and) 4403 1596 w (our) 4620 1596 w (soft\255) 4821 1596 w (ware is designed to interoperate with implementations of either standard.\)) 720 1716 w (TLS) 720 1872 w (defines) 925 1872 w (a) 1314 1872 w (record) 1404 1872 w (layer) 1752 1872 w (protocol) 2020 1872 w (for) 2459 1872 w (message) 2633 1872 w (integrity) 3092 1872 w (and) 3532 1872 w (privacy) 3747 1872 w (through) 4125 1872 w (the) 4547 1872 w (use) 4737 1872 w (of) 4942 1872 w (message) 720 1992 w (digesting) 1184 1992 w (and) 1675 1992 w (encryption) 1895 1992 w (with) 2449 1992 w (shared) 2694 1992 w (secrets.) 3062 1992 w (We) 3509 1992 w (implement) 3690 1992 w (this) 4247 1992 w (service) 4465 1992 w (as) 4840 1992 w (a) 4985 1992 w (kernel) 720 2112 w (device,) 1062 2112 w (though) 1442 2112 w (it) 1829 2112 w (could) 1936 2112 w (be) 2243 2112 w (performed) 2403 2112 w (at) 2955 2112 w (slightly) 3088 2112 w (higher) 3480 2112 w (cost) 3833 2112 w (by) 4074 2112 w (invoking) 4230 2112 w (a) 4686 2112 w (sepa\255) 4782 2112 w (rate program.) 720 2232 w (The library interface to the TLS kernel device is:) 1453 2232 w 9 /LucidaTypewriter f (int) 1008 2402 w (pushtls\(int) 1268 2402 w (fd,) 2048 2402 w (char) 2308 2402 w (*hashalg,) 2633 2402 w (char) 1268 2512 w (*cryptalg,) 1593 2512 w (int) 2308 2512 w (isclient,) 2568 2512 w (char) 1268 2622 w (*secret,) 1593 2622 w (char) 2178 2622 w (*dir\);) 2503 2622 w 10 /LucidaSansUnicode00 f (Given) 720 2802 w (a) 1025 2802 w (file) 1114 2802 w (descriptor,) 1299 2802 w (the) 1858 2802 w (names) 2047 2802 w (of) 2398 2802 w (message) 2530 2802 w (digest) 2988 2802 w (and) 3320 2802 w (encryption) 3534 2802 w (algorithms,) 4083 2802 w (and) 4670 2802 w (the) 4885 2802 w (shared) 720 2922 w (secret,) 1101 2922 w 10 /LucidaTypewriter f (pushtls) 1478 2922 w 10 /LucidaSansUnicode00 f (returns) 2035 2922 w (a) 2438 2922 w (new) 2546 2922 w (file) 2794 2922 w (descriptor) 2998 2922 w (for) 3544 2922 w (the) 3736 2922 w (encrypted) 3943 2922 w (connection.) 4476 2922 w (\(The) 720 3042 w (final) 981 3042 w (argument) 1241 3042 w 10 /LucidaTypewriter f (dir) 1757 3042 w 10 /LucidaSansUnicode00 f (receives) 2021 3042 w (the) 2461 3042 w (name) 2664 3042 w (of) 2978 3042 w (the) 3124 3042 w (directory) 3327 3042 w (in) 3806 3042 w (the) 3945 3042 w (TLS) 4148 3042 w (device) 4366 3042 w (that) 4721 3042 w (is) 4960 3042 w (associated) 720 3162 w (with) 1262 3162 w (the) 1500 3162 w (new connection.\)) 1688 3162 w (The function is named by analogy with the ) 2576 3162 w 10 /LucidaSansUnicode20 f (\030\030) 4674 3162 w 10 /LucidaSansUnicode00 f (push) 4738 3162 w 10 /LucidaSansUnicode20 f (\031\031) 4976 3162 w 10 /LucidaSansUnicode00 f (operation) 720 3282 w (supported) 1228 3282 w (by) 1769 3282 w (the) 1928 3282 w (stream) 2127 3282 w (I/O) 2504 3282 w (system) 2708 3282 w (of) 3092 3282 w (Research) 3234 3282 w (Unix) 3713 3282 w (and) 3978 3282 w (the) 4202 3282 w (first) 4401 3282 w (two) 4640 3282 w (edi\255) 4859 3282 w (tions) 720 3402 w (of) 999 3402 w (Plan) 1135 3402 w (9.) 1374 3402 w (Because) 1539 3402 w (adding) 1966 3402 w (encryption) 2338 3402 w (is) 2890 3402 w (as) 3008 3402 w (simple) 3152 3402 w (as) 3511 3402 w (replacing) 3655 3402 w (one) 4141 3402 w (file) 4358 3402 w (descriptor) 4547 3402 w (with another, adding encryption to a particular network service is usually trivial.) 720 3522 w (The Plan 9 shared key authentication protocols establish a shared 56-bit secret as) 720 3678 w (a) 4753 3678 w (side) 4841 3678 w (effect.) 720 3798 w (Native) 1093 3798 w (Plan) 1431 3798 w (9) 1667 3798 w (network) 1765 3798 w (services) 2191 3798 w (such) 2612 3798 w (as) 2872 3798 w 10 /LucidaTypewriter f (cpu) 3012 3798 w 10 /LucidaSansUnicode00 f (and) 3262 3798 w 10 /LucidaTypewriter f (exportfs) 3476 3798 w 10 /LucidaSansUnicode00 f (use) 4086 3798 w (these) 4289 3798 w (protocols) 4585 3798 w (for authentication and then invoke) 720 3918 w 10 /LucidaTypewriter f (pushtls) 2429 3918 w 10 /LucidaSansUnicode00 f (with the shared secret.) 2965 3918 w (Above) 720 4074 w (the) 1062 4074 w (record) 1258 4074 w (layer,) 1612 4074 w (TLS) 1918 4074 w (specifies) 2129 4074 w (a) 2593 4074 w (handshake) 2689 4074 w (protocol) 3254 4074 w (using) 3699 4074 w (public) 4007 4074 w (keys) 4346 4074 w (to) 4605 4074 w (estab\255) 4745 4074 w (lish) 720 4194 w (the) 938 4194 w (session) 1139 4194 w (secret.) 1546 4194 w (This) 1948 4194 w (protocol) 2199 4194 w (is) 2649 4194 w (widely) 2775 4194 w (used) 3127 4194 w (with) 3405 4194 w (HTTP) 3656 4194 w (and) 3957 4194 w (IMAP4) 4183 4194 w (to) 4531 4194 w (provide) 4675 4194 w (server) 720 4314 w (authentication,) 1054 4314 w (though) 1818 4314 w (with) 2201 4314 w (client) 2444 4314 w (certificates) 2746 4314 w (it) 3314 4314 w (could) 3418 4314 w (provide) 3722 4314 w (mutual) 4125 4314 w (authentica\255) 4501 4314 w (tion.) 720 4434 w (The library function) 1005 4434 w 9 /LucidaTypewriter f (int) 1008 4604 w (tlsClient\(int) 1268 4604 w (fd,) 2178 4604 w (TLSconn) 2438 4604 w (*conn\)) 2958 4604 w 10 /LucidaSansUnicode00 f (handles) 720 4784 w (the) 1133 4784 w (initial) 1323 4784 w (handshake) 1628 4784 w (and) 2187 4784 w (returns) 2402 4784 w (the) 2788 4784 w (result) 2979 4784 w (of) 3291 4784 w 10 /LucidaTypewriter f (pushtls) 3425 4784 w 10 /LucidaSansUnicode00 f (.) 3929 4784 w (On) 4029 4784 w (return,) 4205 4784 w (it) 4572 4784 w (fills) 4674 4784 w (the) 4885 4784 w 10 /LucidaTypewriter f (conn) 720 4904 w 10 /LucidaSansUnicode00 f (structure) 1061 4904 w (with) 1552 4904 w (the) 1810 4904 w (session) 2018 4904 w (ID) 2432 4904 w (used) 2589 4904 w (and) 2874 4904 w (the) 3107 4904 w (X.509) 3314 4904 w (certificate) 3650 4904 w (presented) 4181 4904 w (by) 4718 4904 w (the) 4885 4904 w (server,) 720 5024 w (but) 1086 5024 w (makes) 1285 5024 w (no) 1635 5024 w (effort) 1795 5024 w (to) 2101 5024 w (verify) 2236 5024 w (the) 2541 5024 w (certificate.) 2734 5024 w (Although) 3315 5024 w (the) 3797 5024 w (original) 3990 5024 w (design) 4396 5024 w (intent) 4757 5024 w (of) 720 5144 w (X.509) 858 5144 w (certificates) 1181 5144 w (expected) 1750 5144 w (that) 2232 5144 w (they) 2462 5144 w (would) 2708 5144 w (be) 3039 5144 w (used) 3197 5144 w (with) 3468 5144 w (a) 3712 5144 w (Public) 3806 5144 w (Key) 4134 5144 w (Infrastructure,) 4346 5144 w (reliable deployment has been so) 720 5264 w (long) 2328 5264 w (delayed) 2575 5264 w (and) 2982 5264 w (problematic) 3195 5264 w (that) 3806 5264 w (we) 4030 5264 w (have) 4196 5264 w (adopted) 4454 5264 w (the) 4885 5264 w (simpler) 720 5384 w (policy) 1125 5384 w (of) 1453 5384 w (just) 1594 5384 w (using) 1817 5384 w (the) 2126 5384 w (X.509) 2324 5384 w (certificate) 2651 5384 w (as) 3172 5384 w (a) 3320 5384 w (representation) 3417 5384 w (of) 4166 5384 w (the) 4306 5384 w (public) 4503 5384 w (key,) 4842 5384 w (depending) 720 5504 w (on) 1287 5504 w (a) 1461 5504 w (locally-administered) 1567 5504 w (directory) 2617 5504 w (of) 3099 5504 w (SHA1) 3248 5504 w (thumbprints) 3559 5504 w (to) 4210 5504 w (allow) 4359 5504 w (applica\255) 4662 5504 w (tions to decide which public keys to trust for which purposes.) 720 5624 w 10 /LucidaSans-Demi f (7.) 720 5864 w (Related Work and Discussion) 873 5864 w 10 /LucidaSansUnicode00 f (Kerberos,) 720 6020 w (one) 1219 6020 w (of) 1431 6020 w (the) 1562 6020 w (earliest) 1751 6020 w (distributed) 2139 6020 w (authentication) 2704 6020 w (systems,) 3433 6020 w (keeps) 3890 6020 w (a) 4208 6020 w (set) 4297 6020 w (of) 4475 6020 w (authenti\255) 4607 6020 w (cation) 720 6140 w (tickets) 1054 6140 w (in) 1412 6140 w (a) 1542 6140 w (temporary) 1636 6140 w (file) 2174 6140 w (called) 2364 6140 w (a) 2686 6140 w (ticket) 2780 6140 w (cache.) 3087 6140 w (The) 3465 6140 w (ticket) 3685 6140 w (cache) 3991 6140 w (is) 4304 6140 w (protected) 4422 6140 w (by) 4925 6140 w (Unix) 720 6260 w (file) 988 6260 w (permissions.) 1186 6260 w (An) 1884 6260 w (environment) 2062 6260 w (variable) 2721 6260 w (containing) 3149 6260 w (the) 3707 6260 w (file) 3910 6260 w (name) 4109 6260 w (of) 4423 6260 w (the) 4569 6260 w (ticket) 4772 6260 w (cache) 720 6380 w (allows) 1032 6380 w (for) 1371 6380 w (different) 1547 6380 w (ticket) 2002 6380 w (caches) 2307 6380 w (in) 2669 6380 w (different) 2796 6380 w (simultaneous) 3250 6380 w (login) 3934 6380 w (sessions.) 4213 6380 w (A) 4725 6380 w (user) 4830 6380 w (logs) 720 6500 w (in) 965 6500 w (by) 1098 6500 w (typing) 1255 6500 w (his) 1602 6500 w (or) 1786 6500 w (her) 1930 6500 w (Kerberos) 2131 6500 w (password.) 2607 6500 w (The) 3176 6500 w (login) 3400 6500 w (program) 3686 6500 w (uses) 4145 6500 w (the) 4408 6500 w (Kerberos) 4606 6500 w (password) 720 6620 w (to) 1231 6620 w (obtain) 1378 6620 w (a) 1734 6620 w (temporary) 1838 6620 w (ticket-granting) 2385 6620 w (ticket) 3169 6620 w (from) 3485 6620 w (the) 3765 6620 w (authentication) 3968 6620 w (server,) 4711 6620 w (initializes) 720 6740 w (the) 1234 6740 w (ticket) 1440 6740 w (cache) 1759 6740 w (with) 2085 6740 w (the) 2341 6740 w (ticket-granting) 2547 6740 w (ticket,) 3334 6740 w (and) 3685 6740 w (then) 3916 6740 w (forgets) 4184 6740 w (the) 4580 6740 w (pass\255) 4787 6740 w (word.) 720 6860 w (Other) 1078 6860 w (applications) 1404 6860 w (can) 2041 6860 w (use) 2261 6860 w (the) 2482 6860 w (ticket-granting) 2689 6860 w (ticket) 3476 6860 w (to) 3795 6860 w (sign) 3944 6860 w (tickets) 4199 6860 w (for) 4569 6860 w (them\255) 4759 6860 w (selves) 720 6980 w (on) 1049 6980 w (behalf) 1206 6980 w (of) 1542 6980 w (the) 1674 6980 w (user) 1863 6980 w (during) 2107 6980 w (the) 2460 6980 w (login) 2649 6980 w (session.) 2926 6980 w (The) 3385 6980 w (ticket) 3600 6980 w (cache) 3902 6980 w (is) 4211 6980 w (removed) 4326 6980 w (when) 4783 6980 w (the) 720 7100 w (user) 922 7100 w (logs) 1179 7100 w (out) 1429 7100 w ([Stei88].) 1635 7100 w (The) 2113 7100 w (ticket) 2340 7100 w (cache) 2654 7100 w (relieves) 2975 7100 w (the) 3391 7100 w (user) 3592 7100 w (from) 3848 7100 w (typing) 4126 7100 w (a) 4477 7100 w (password) 4578 7100 w (every time authentication is needed.) 720 7220 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 (The) 720 840 w (secure) 956 840 w (shell) 1328 840 w (SSH) 1610 840 w (develops) 1847 840 w (this) 2333 840 w (idea) 2567 840 w (further,) 2825 840 w (replacing) 3248 840 w (the) 3751 840 w (temporary) 3962 840 w (file) 4517 840 w (with) 4724 840 w (a) 4985 840 w (named) 720 960 w (Unix) 1093 960 w (domain) 1358 960 w (socket) 1765 960 w (connected) 2123 960 w (to) 2665 960 w (a) 2806 960 w (user-level) 2904 960 w (program,) 3437 960 w (called) 3928 960 w (an) 4254 960 w (agent.) 4414 960 w (Once) 4793 960 w (the) 720 1080 w (SSH) 917 1080 w (agent) 1141 1080 w (is) 1455 1080 w (started) 1577 1080 w (and) 1959 1080 w (initialized) 2181 1080 w (with) 2698 1080 w (one) 2945 1080 w (or) 3166 1080 w (more) 3310 1080 w (RSA) 3603 1080 w (private) 3832 1080 w (keys,) 4208 1080 w (SSH) 4500 1080 w (clients) 4725 1080 w (can) 720 1200 w (employ) 941 1200 w (it) 1348 1200 w (to) 1467 1200 w (perform) 1618 1200 w (RSA) 2063 1200 w (authentications) 2302 1200 w (on) 3101 1200 w (their) 3277 1200 w (behalf.) 3555 1200 w (In) 3974 1200 w (the) 4118 1200 w (absence) 4326 1200 w (of) 4773 1200 w (an) 4923 1200 w (agent,) 720 1320 w (SSH) 1066 1320 w (typically) 1290 1320 w (uses) 1729 1320 w (RSA) 1991 1320 w (keys) 2220 1320 w (read) 2480 1320 w (from) 2738 1320 w (encrypted) 3013 1320 w (disk) 3537 1320 w (files) 3781 1320 w (or) 4026 1320 w (uses) 4171 1320 w (passphrase-) 4434 1320 w (based) 720 1440 w (authentication,) 1046 1440 w (both) 1810 1440 w (of) 2070 1440 w (which) 2205 1440 w (would) 2523 1440 w (require) 2852 1440 w (prompting) 3237 1440 w (the) 3785 1440 w (user) 3977 1440 w (for) 4224 1440 w (a) 4400 1440 w (passphrase) 4492 1440 w (whenever) 720 1560 w (authentication) 1223 1560 w (is) 1960 1560 w (needed) 2082 1560 w ([Ylon96].) 2480 1560 w (The) 2992 1560 w (self-certifying) 3215 1560 w (file) 3944 1560 w (system) 4137 1560 w (SFS) 4519 1560 w (uses) 4723 1560 w (a) 4985 1560 w (similar) 720 1680 w (agent) 1081 1680 w ([Kami00],) 1387 1680 w (not) 1887 1680 w (only) 2081 1680 w (for) 2318 1680 w (moderating) 2490 1680 w (the) 3082 1680 w (use) 3270 1680 w (of) 3472 1680 w (client) 3603 1680 w (authentication) 3900 1680 w (keys) 4628 1680 w (but) 4878 1680 w (also for verifying server public keys [Mazi99].) 720 1800 w 10 /LucidaTypewriter f (Factotum) 720 1956 w 10 /LucidaSansUnicode00 f (is) 1344 1956 w (a) 1472 1956 w (logical) 1575 1956 w (continuation) 1939 1956 w (of) 2595 1956 w (this) 2741 1956 w (evolution,) 2968 1956 w (replacing) 3498 1956 w (the) 3995 1956 w (program-specific) 4199 1956 w (SSH) 720 2076 w (or) 945 2076 w (SFS) 1090 2076 w (agents) 1295 2076 w (with) 1661 2076 w (a) 1909 2076 w (general) 2007 2076 w (agent) 2410 2076 w (capable) 2724 2076 w (of) 3138 2076 w (serving) 3278 2076 w (a) 3673 2076 w (wide) 3770 2076 w (variety) 4037 2076 w (of) 4401 2076 w (programs.) 4541 2076 w (Having) 720 2196 w (one) 1099 2196 w (agent) 1323 2196 w (for) 1640 2196 w (all) 1824 2196 w (programs) 1982 2196 w (removes) 2494 2196 w (the) 2949 2196 w (need) 3149 2196 w (to) 3431 2196 w (have) 3574 2196 w (one) 3844 2196 w (agent) 4069 2196 w (for) 4387 2196 w (each) 4572 2196 w (pro\255) 4842 2196 w (gram.) 720 2316 w (It) 1092 2316 w (also) 1215 2316 w (allows) 1468 2316 w (the) 1827 2316 w (programs) 2039 2316 w (themselves) 2563 2316 w (to) 3163 2316 w (be) 3318 2316 w (protocol-agnostic,) 3494 2316 w (so) 4453 2316 w (that,) 4622 2316 w (for) 4901 2316 w (example,) 720 2436 w (one) 1203 2436 w (could) 1420 2436 w (build) 1724 2436 w (an) 2008 2436 w (SSH) 2163 2436 w (workalike) 2383 2436 w (capable) 2885 2436 w (of) 3296 2436 w (using) 3433 2436 w (any) 3738 2436 w (protocol) 3946 2436 w (supported) 4389 2436 w (by) 4925 2436 w 10 /LucidaTypewriter f (factotum) 720 2556 w 10 /LucidaSansUnicode00 f (,) 1296 2556 w (without) 1367 2556 w (that) 1771 2556 w (program) 2001 2556 w (knowing) 2456 2556 w (anything) 2906 2556 w (about) 3366 2556 w (the) 3683 2556 w (protocols.) 3877 2556 w (Traditionally) 4435 2556 w (each program needs to) 720 2676 w (implement) 1875 2676 w (each) 2426 2676 w (authentication) 2683 2676 w (protocol) 3411 2676 w (for) 3848 2676 w (itself,) 4020 2676 w (an) 4324 2676 w 11 /LucidaSans-Italic f (O) 4474 2676 w 11 /LucidaSansUnicode00 f (\() 4569 2676 w 11 /LucidaSans-Italic f (n) 4614 2676 w 8 /LucidaSansUnicode00 f (2) 4695 2632 w 11 /LucidaSansUnicode00 f (\)) 4763 2676 w 10 /LucidaSansUnicode00 f (cod\255) 4832 2676 w (ing problem that) 720 2796 w 10 /LucidaTypewriter f (factotum) 1566 2796 w 10 /LucidaSansUnicode00 f (reduces to) 2174 2796 w 11 /LucidaSans-Italic f (O) 2716 2796 w 11 /LucidaSansUnicode00 f (\() 2811 2796 w 11 /LucidaSans-Italic f (n) 2856 2796 w 11 /LucidaSansUnicode00 f (\)) 2933 2796 w 10 /LucidaSansUnicode00 f (.) 2969 2796 w (Previous) 720 2952 w (work) 1184 2952 w (on) 1478 2952 w (agents) 1658 2952 w (has) 2038 2952 w (concentrated) 2263 2952 w (on) 2952 2952 w (their) 3132 2952 w (use) 3415 2952 w (by) 3642 2952 w (clients) 3815 2952 w (authenticating) 4188 2952 w (to) 4942 2952 w (servers.) 720 3072 w (Looking) 1189 3072 w (in) 1632 3072 w (the) 1780 3072 w (other) 1992 3072 w (direction,) 2306 3072 w (Sun) 2824 3072 w (Microsystem) 3059 3072 w 10 /LucidaSansUnicode20 f (\031) 3667 3072 w 10 /LucidaSansUnicode00 f (s) 3699 3072 w (pluggable) 3807 3072 w (authentication) 4345 3072 w (module) 720 3192 w (\(PAM\)) 1119 3192 w (is) 1430 3192 w (one) 1545 3192 w (of) 1759 3192 w (the) 1892 3192 w (earliest) 2082 3192 w (attempts) 2471 3192 w (to) 2936 3192 w (provide) 3070 3192 w (a) 3471 3192 w (general) 3562 3192 w (authentication) 3959 3192 w (mecha\255) 4690 3192 w (nism) 720 3312 w (for) 1002 3312 w (Unix-like) 1188 3312 w (operating) 1686 3312 w (systems) 2199 3312 w ([Sama96].) 2637 3312 w (Without) 3197 3312 w (a) 3618 3312 w (central) 3720 3312 w (authority) 4098 3312 w (like) 4580 3312 w (PAM,) 4798 3312 w (system) 720 3432 w (policy) 1098 3432 w (is) 1421 3432 w (tied) 1539 3432 w (up) 1762 3432 w (in) 1925 3432 w (the) 2054 3432 w (various) 2247 3432 w (implementations) 2637 3432 w (of) 3489 3432 w (network) 3626 3432 w (services.) 4057 3432 w (For) 4547 3432 w (exam\255) 4742 3432 w (ple,) 720 3552 w (on) 933 3552 w (a) 1089 3552 w (typical) 1177 3552 w (Unix,) 1526 3552 w (if) 1812 3552 w (a) 1911 3552 w (system) 1999 3552 w (administrator) 2372 3552 w (decides) 3059 3552 w (not to allow plaintext passwords) 3461 3552 w (for) 720 3672 w (authentication,) 941 3672 w (the) 1750 3672 w (configuration) 1987 3672 w (files) 2718 3672 w (for) 3002 3672 w (a) 3223 3672 w (half) 3360 3672 w (dozen) 3626 3672 w (different) 4008 3672 w (servers) 4509 3672 w 10 /LucidaSansUnicode20 f (\024) 4940 3672 w 10 /LucidaTypewriter f (rlogind) 720 3792 w 10 /LucidaSansUnicode00 f (,) 1224 3792 w 10 /LucidaTypewriter f (telnetd) 1298 3792 w 10 /LucidaSansUnicode00 f (,) 1802 3792 w 10 /LucidaTypewriter f (ftpd) 1876 3792 w 10 /LucidaSansUnicode00 f (,) 2164 3792 w 10 /LucidaTypewriter f (sshd) 2238 3792 w 10 /LucidaSansUnicode00 f (,) 2526 3792 w (and) 2600 3792 w (so) 2822 3792 w (on) 2976 3792 w 10 /LucidaSansUnicode20 f (\024) 3141 3792 w 10 /LucidaSansUnicode00 f (need) 3283 3792 w (to) 3561 3792 w (be) 3700 3792 w (edited.) 3860 3792 w (PAM) 4269 3792 w (solves) 4520 3792 w (this) 4861 3792 w (problem) 720 3912 w (by) 1171 3912 w (hiding) 1331 3912 w (the) 1683 3912 w (details) 1883 3912 w (of) 2248 3912 w (a) 2391 3912 w (given) 2491 3912 w (authentication) 2798 3912 w (mechanism) 3539 3912 w (behind) 4137 3912 w (a) 4518 3912 w (common) 4619 3912 w (library) 720 4032 w (interface.) 1072 4032 w (Directed) 1601 4032 w (by) 2050 4032 w (a) 2206 4032 w (system-wide) 2302 4032 w (configuration) 2966 4032 w (file,) 3656 4032 w (an) 3880 4032 w (application) 4038 4032 w (selects) 4613 4032 w (a) 4985 4032 w (particular) 720 4152 w (authentication) 1247 4152 w (mechanism) 2006 4152 w (by) 2622 4152 w (dynamically) 2802 4152 w (loading) 3437 4152 w (the) 3863 4152 w (appropriate) 4083 4152 w (shared) 4712 4152 w (library.) 720 4272 w (PAM is widely used on Sun) 1126 4272 w 10 /LucidaSansUnicode20 f (\031) 2415 4272 w 10 /LucidaSansUnicode00 f (s Solaris and some Linux distributions.) 2447 4272 w 10 /LucidaTypewriter f (Factotum) 720 4428 w 10 /LucidaSansUnicode00 f (achieves) 1332 4428 w (the) 1780 4428 w (same) 1971 4428 w (goals) 2263 4428 w (using) 2558 4428 w (the) 2861 4428 w (agent) 3053 4428 w (approach.) 3362 4428 w 10 /LucidaTypewriter f (Factotum) 3914 4428 w 10 /LucidaSansUnicode00 f (is) 4527 4428 w (the) 4644 4428 w (only) 4836 4428 w (process) 720 4548 w (that) 1128 4548 w (needs) 1353 4548 w (to) 1674 4548 w (create) 1805 4548 w (capabilities,) 2134 4548 w (so) 2746 4548 w (all) 2891 4548 w (the) 3037 4548 w (network) 3225 4548 w (servers) 3650 4548 w (can) 4031 4548 w (run) 4232 4548 w (as) 4430 4548 w (untrusted) 4569 4548 w (users) 720 4668 w (\(e.g.,) 1015 4668 w (Plan) 1296 4668 w (9) 1531 4668 w 10 /LucidaSansUnicode20 f (\031) 1594 4668 w 10 /LucidaSansUnicode00 f (s) 1626 4668 w 10 /LucidaTypewriter f (none) 1711 4668 w 10 /LucidaSansUnicode00 f (or) 2033 4668 w (Unix) 2169 4668 w 10 /LucidaSansUnicode20 f (\031) 2390 4668 w 10 /LucidaSansUnicode00 f (s) 2422 4668 w 10 /LucidaTypewriter f (nobody) 2507 4668 w 10 /LucidaSansUnicode00 f (\),) 2939 4668 w (which) 3038 4668 w (greatly) 3353 4668 w (reduces) 3719 4668 w (the) 4133 4668 w (harm) 4322 4668 w (done) 4607 4668 w (if) 4884 4668 w (a) 4985 4668 w (server) 720 4788 w (is) 1056 4788 w (buggy) 1175 4788 w (and) 1515 4788 w (is) 1734 4788 w (compromised.) 1853 4788 w (In) 2618 4788 w (fact,) 2747 4788 w (if) 2997 4788 w 10 /LucidaTypewriter f (factotum) 3101 4788 w 10 /LucidaSansUnicode00 f (were) 3715 4788 w (implemented) 3983 4788 w (on) 4658 4788 w (Unix) 4819 4788 w (along) 720 4908 w (with) 1027 4908 w (an) 1270 4908 w (analogue) 1425 4908 w (to) 1905 4908 w (the) 2041 4908 w (Plan) 2234 4908 w (9) 2473 4908 w (capability) 2574 4908 w (device,) 3075 4908 w (venerable) 3452 4908 w (programs) 3960 4908 w (like) 4466 4908 w 10 /LucidaTypewriter f (su) 4677 4908 w 10 /LucidaSansUnicode00 f (and) 4860 4908 w 10 /LucidaTypewriter f (login) 720 5028 w 10 /LucidaSansUnicode00 f (would no longer need to be installed ) 1112 5028 w 10 /LucidaSansUnicode20 f (\030\030) 2927 5028 w 10 /LucidaSansUnicode00 f (setuid root.) 2991 5028 w 10 /LucidaSansUnicode20 f (\031\031) 3553 5028 w 10 /LucidaSansUnicode00 f (Several) 720 5184 w (other) 1114 5184 w (systems,) 1422 5184 w (such) 1896 5184 w (as) 2173 5184 w (Password) 2330 5184 w (Safe) 2835 5184 w ([Schn],) 3088 5184 w (store) 3467 5184 w (multiple) 3765 5184 w (passwords) 4215 5184 w (in) 4780 5184 w (an) 4923 5184 w (encrypted) 720 5304 w (file,) 1235 5304 w (so) 1452 5304 w (that) 1598 5304 w (the) 1823 5304 w (user) 2012 5304 w (only) 2256 5304 w (needs) 2494 5304 w (to) 2816 5304 w (remember) 2947 5304 w (one) 3479 5304 w (password.) 3691 5304 w (Our) 4250 5304 w 10 /LucidaTypewriter f (secstore) 4464 5304 w 10 /LucidaSansUnicode00 f (solution) 720 5424 w (differs) 1146 5424 w (from) 1494 5424 w (these) 1760 5424 w (by) 2056 5424 w (placing) 2205 5424 w (the) 2590 5424 w (storage) 2779 5424 w (in) 3176 5424 w (a) 3301 5424 w (hardened) 3390 5424 w (location) 3882 5424 w (in) 4301 5424 w (the) 4426 5424 w (network,) 4616 5424 w (so) 720 5544 w (that) 875 5544 w (the) 1109 5544 w (encrypted) 1306 5544 w (file) 1829 5544 w (is) 2022 5544 w (less) 2144 5544 w (liable) 2373 5544 w (to) 2676 5544 w (be) 2816 5544 w (stolen) 2977 5544 w (for) 3315 5544 w (offline) 3496 5544 w (dictionary) 3849 5544 w (attack) 4371 5544 w (and) 4706 5544 w (so) 4928 5544 w (that) 720 5664 w (it) 962 5664 w (is) 1079 5664 w (available) 1210 5664 w (even) 1684 5664 w (when) 1961 5664 w (a) 2269 5664 w (user) 2376 5664 w (has) 2638 5664 w (several) 2858 5664 w (computers.) 3250 5664 w (In) 3881 5664 w (contrast,) 4024 5664 w (Microsoft) 4503 5664 w 10 /LucidaSansUnicode20 f (\031) 4957 5664 w 10 /LucidaSansUnicode00 f (s) 4989 5664 w (Passport) 720 5784 w (system) 1211 5784 w ([Micr]) 1628 5784 w (keeps) 1978 5784 w (credentials) 2339 5784 w (in) 2945 5784 w (the) 3112 5784 w (network,) 3343 5784 w (but) 3843 5784 w (centralized) 4081 5784 w (at) 4693 5784 w (one) 4861 5784 w (extremely-high-value) 720 5904 w (target.) 1831 5904 w (The) 2228 5904 w (important) 2454 5904 w (feature) 2977 5904 w (of) 3366 5904 w (Passport,) 3509 5904 w (setting) 4001 5904 w (up) 4381 5904 w (trust) 4552 5904 w (rela\255) 4826 5904 w (tionships) 720 6024 w (with) 1231 6024 w (e-merchants,) 1502 6024 w (is) 2221 6024 w (outside) 2366 6024 w (our) 2790 6024 w (scope.) 3019 6024 w (The) 3430 6024 w 10 /LucidaTypewriter f (secstore) 3676 6024 w 10 /LucidaSansUnicode00 f (architecture) 4317 6024 w (is) 4960 6024 w (almost) 720 6144 w (identical) 1079 6144 w (to) 1523 6144 w (Perlman) 1654 6144 w (and) 2078 6144 w (Kaufman) 2292 6144 w 10 /LucidaSansUnicode20 f (\031) 2721 6144 w 10 /LucidaSansUnicode00 f (s) 2753 6144 w ([Perl99]) 2838 6144 w (but) 3245 6144 w (with) 3441 6144 w (newer) 3680 6144 w (EKE) 4006 6144 w (technology.) 4213 6144 w (Like) 4844 6144 w (them,) 720 6264 w (we) 1045 6264 w (chose) 1223 6264 w (to) 1549 6264 w (defend) 1692 6264 w (mainly) 2074 6264 w (against) 2439 6264 w (outside) 2835 6264 w (attacks) 3239 6264 w (on) 3628 6264 w 10 /LucidaTypewriter f (secstore) 3795 6264 w 10 /LucidaSansUnicode00 f (;) 4371 6264 w (if) 4447 6264 w (additional) 4557 6264 w (defense) 720 6384 w (of) 1145 6384 w (the) 1287 6384 w (files) 1486 6384 w (on) 1732 6384 w (the) 1899 6384 w (server) 2098 6384 w (itself) 2439 6384 w (is) 2723 6384 w (desired,) 2848 6384 w (one) 3284 6384 w (can) 3508 6384 w (use) 3721 6384 w (distributed) 3935 6384 w (techniques) 4511 6384 w ([Ford00].) 720 6504 w (We) 720 6660 w (made) 899 6660 w (a) 1203 6660 w (conscious) 1295 6660 w (choice) 1811 6660 w (of) 2158 6660 w (placing) 2293 6660 w (encryption,) 2681 6660 w (message) 3265 6660 w (integrity,) 3727 6660 w (and) 4202 6660 w (key) 4420 6660 w (manage\255) 4624 6660 w (ment) 720 6780 w (at) 1005 6780 w (the) 1134 6780 w (application) 1326 6780 w (layer) 1897 6780 w (\(TLS,) 2167 6780 w (just) 2439 6780 w (above) 2656 6780 w (layer) 2980 6780 w (4\)) 3250 6780 w (rather) 3383 6780 w (than) 3712 6780 w (at) 3965 6780 w (layer) 4094 6780 w (3,) 4364 6780 w (as) 4496 6780 w (in) 4639 6780 w (IPsec.) 4766 6780 w (This) 720 6900 w (leads) 966 6900 w (to) 1261 6900 w (a) 1400 6900 w (simpler) 1496 6900 w (structure) 1899 6900 w (for) 2378 6900 w (the) 2558 6900 w (network) 2754 6900 w (stack,) 3187 6900 w (easier) 3512 6900 w (integration) 3842 6900 w (with) 4415 6900 w (applica\255) 4662 6900 w (tions) 720 7020 w (and,) 999 7020 w (most) 1250 7020 w (important,) 1531 7020 w (easier) 2080 7020 w (network) 2407 7020 w (administration) 2838 7020 w (since) 3581 7020 w (we) 3869 7020 w (can) 4040 7020 w (recognize) 4246 7020 w (which) 4759 7020 w (applications) 720 7140 w (are) 1347 7140 w (misbehaving) 1541 7140 w (based) 2197 7140 w (on) 2527 7140 w (TCP) 2692 7140 w (port) 2921 7140 w (numbers.) 3165 7140 w (TLS) 3699 7140 w (does) 3911 7140 w (suffer) 4184 7140 w (\(relative) 4511 7140 w (to) 4942 7140 w (IPsec\)) 720 7260 w (from) 1034 7260 w (the) 1305 7260 w (possibility) 1499 7260 w (of) 2031 7260 w (forged) 2167 7260 w (TCP) 2525 7260 w (Reset,) 2750 7260 w (but) 3083 7260 w (we) 3283 7260 w (feel) 3454 7260 w (that) 3670 7260 w (this) 3899 7260 w (is) 4116 7260 w (adequately) 4234 7260 w (dealt) 4800 7260 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 (with) 720 840 w (by) 961 840 w (randomized) 1112 840 w (TCP) 1728 840 w (sequence) 1951 840 w (numbers.) 2444 840 w (In) 2973 840 w (contrast) 3101 840 w (with) 3533 840 w (other) 3775 840 w (TLS) 4069 840 w (libraries,) 4276 840 w (Plan) 4739 840 w (9) 4977 840 w (does) 720 960 w (not) 999 960 w (require) 1207 960 w (the) 1603 960 w (application) 1806 960 w (to) 2388 960 w (change) 2534 960 w 10 /LucidaTypewriter f (write) 2930 960 w 10 /LucidaSansUnicode00 f (calls) 3338 960 w (to) 3601 960 w 10 /LucidaTypewriter f (sslwrite) 3746 960 w 10 /LucidaSansUnicode00 f (but) 4369 960 w (simply) 4578 960 w (to) 4942 960 w (add a few lines of code at startup [Resc01].) 720 1080 w 10 /LucidaSans-Demi f (8.) 720 1320 w (Conclusion) 873 1320 w 10 /LucidaSansUnicode00 f (Writing) 720 1476 w (safe) 1114 1476 w (code) 1361 1476 w (is) 1640 1476 w (difficult.) 1768 1476 w (Stack) 2254 1476 w (attacks,) 2557 1476 w (mistakes) 2981 1476 w (in) 3459 1476 w (logic,) 3598 1476 w (and) 3910 1476 w (bugs) 4139 1476 w (in) 4426 1476 w (compilers) 4566 1476 w (and) 720 1596 w (operating) 934 1596 w (systems) 1434 1596 w (can) 1859 1596 w (each) 2061 1596 w (make) 2319 1596 w (it) 2615 1596 w (possible) 2715 1596 w (for) 3152 1596 w (an) 3325 1596 w (attacker) 3475 1596 w (to) 3898 1596 w (subvert) 4029 1596 w (the) 4424 1596 w (intended) 4612 1596 w (execution) 720 1716 w (sequence) 1235 1716 w (of) 1733 1716 w (a) 1872 1716 w (service.) 1968 1716 w (If) 2409 1716 w (the) 2516 1716 w (server) 2712 1716 w (process) 3050 1716 w (has) 3465 1716 w (the) 3674 1716 w (privileges) 3870 1716 w (of) 4379 1716 w (a) 4518 1716 w (powerful) 4614 1716 w (user,) 720 1836 w (such) 1004 1836 w (as) 1272 1836 w 10 /LucidaTypewriter f (root) 1419 1836 w 10 /LucidaSansUnicode00 f (on) 1748 1836 w (Unix,) 1912 1836 w (then) 2206 1836 w (so) 2464 1836 w (does) 2617 1836 w (the) 2889 1836 w (attacker.) 3085 1836 w 10 /LucidaTypewriter f (Factotum) 3580 1836 w 10 /LucidaSansUnicode00 f (allows) 4197 1836 w (us) 4540 1836 w (to) 4694 1836 w (con\255) 4833 1836 w (strain) 720 1956 w (the) 1029 1956 w (privileged) 1218 1956 w (execution) 1732 1956 w (to) 2241 1956 w (a) 2373 1956 w (single) 2463 1956 w (process) 2787 1956 w (whose) 3196 1956 w (core) 3538 1956 w (is) 3782 1956 w (a) 3897 1956 w (few) 3987 1956 w (thousand) 4192 1956 w (lines) 4680 1956 w (of) 4942 1956 w (code.) 720 2076 w (Verifying) 1064 2076 w (such) 1546 2076 w (a) 1821 2076 w (process,) 1925 2076 w (both) 2380 2076 w (through) 2652 2076 w (manual) 3087 2076 w (and) 3491 2076 w (automatic) 3719 2076 w (means,) 4247 2076 w (is) 4644 2076 w (much) 4772 2076 w (easier and less error prone than requiring it of all servers.) 720 2196 w (An) 720 2352 w (implementation) 885 2352 w (of) 1681 2352 w (these) 1813 2352 w (ideas) 2109 2352 w (is) 2397 2352 w (in) 2511 2352 w (Plan) 2636 2352 w (9) 2871 2352 w (from) 2968 2352 w (Bell) 3234 2352 w (Labs,) 3440 2352 w (Fourth) 3728 2352 w (Edition,) 4079 2352 w (freely) 4481 2352 w (avail\255) 4787 2352 w (able from) 720 2472 w 10 /LucidaTypewriter f (http://plan9.bell-labs.com/plan9) 1219 2472 w 10 /LucidaSansUnicode00 f (.) 3523 2472 w 10 /LucidaSans-Demi f (Acknowledgments) 720 2712 w 10 /LucidaSansUnicode00 f (William) 720 2868 w (Josephson) 1158 2868 w (contributed) 1744 2868 w (to) 2395 2868 w (the) 2582 2868 w (implementation) 2826 2868 w (of) 3677 2868 w (password) 3864 2868 w (changing) 4415 2868 w (in) 4949 2868 w 10 /LucidaTypewriter f (secstore) 720 2988 w 10 /LucidaSansUnicode00 f (.) 1296 2988 w (We) 1399 2988 w (thank) 1580 2988 w (Phil) 1893 2988 w (MacKenzie) 2107 2988 w (and) 2663 2988 w (Mart\355n) 2882 2988 w (Abadi) 3231 2988 w (for) 3549 2988 w (helpful) 3727 2988 w (comments) 4104 2988 w (on) 4646 2988 w (early) 4807 2988 w (parts) 720 3108 w (of) 1017 3108 w (the) 1165 3108 w (design.) 1370 3108 w (Chuck) 1807 3108 w (Blake,) 2159 3108 w (Peter) 2497 3108 w (Bosch,) 2792 3108 w (Frans) 3157 3108 w (Kaashoek,) 3470 3108 w (Sape) 4015 3108 w (Mullender,) 4293 3108 w (and) 4860 3108 w (Lakshman) 720 3228 w (Y.) 1251 3228 w (N.,) 1386 3228 w (predominantly) 1565 3228 w (Dutchmen,) 2309 3228 w (gave) 2880 3228 w (helpful) 3146 3228 w (comments) 3525 3228 w (on) 4070 3228 w (the) 4234 3228 w (paper.) 4430 3228 w (Russ) 4813 3228 w (Cox is supported by a fellowship from the Fannie and John Hertz Foundation.) 720 3348 w 10 /LucidaSans-Demi f (References) 720 3588 w 10 /LucidaSansUnicode00 f ([Bell93]) 720 3744 w (S.M.) 1130 3744 w (Bellovin) 1380 3744 w (and) 1803 3744 w (M.) 2030 3744 w (Merritt,) 2195 3744 w 10 /LucidaSansUnicode20 f (\030\030) 2601 3744 w 10 /LucidaSansUnicode00 f (Augmented) 2665 3744 w (Encrypted) 3272 3744 w (Key) 3798 3744 w (Exchange,) 4018 3744 w 10 /LucidaSansUnicode20 f (\031\031) 4513 3744 w 10 /LucidaSansUnicode00 f (Proceed\255) 4624 3744 w (ings) 720 3864 w (of) 965 3864 w (the) 1103 3864 w (1st) 1298 3864 w (ACM) 1489 3864 w (Conference) 1753 3864 w (on) 2344 3864 w (Computer) 2507 3864 w (and) 3029 3864 w (Communications) 3249 3864 w (Security,) 4104 3864 w (1993,) 4558 3864 w (pp.) 4882 3864 w (244 - 250.) 720 3984 w ([Boyk00]) 720 4140 w (Victor) 1184 4140 w (Boyko,) 1511 4140 w (Philip) 1876 4140 w (MacKenzie,) 2186 4140 w (and) 2778 4140 w (Sarvar) 3001 4140 w (Patel,) 3342 4140 w 10 /LucidaSansUnicode20 f (\030\030) 3649 4140 w 10 /LucidaSansUnicode00 f (Provably) 3713 4140 w (Secure) 4164 4140 w (Password-) 4528 4140 w (Authenticated Key Exchange using Diffie-Hellman,) 720 4260 w 10 /LucidaSansUnicode20 f (\031\031) 3177 4260 w 10 /LucidaSansUnicode00 f (Eurocrypt 2000, 156) 3273 4260 w 10 /LucidaSansUnicode20 f (\023) 4272 4260 w 10 /LucidaSansUnicode00 f (171.) 4322 4260 w ([RFC2246] T . Dierks and C. Allen, ) 720 4416 w 10 /LucidaSansUnicode20 f (\030\030) 2411 4416 w 10 /LucidaSansUnicode00 f (The TLS Protocol, Version 1.0,) 2475 4416 w 10 /LucidaSansUnicode20 f (\031\031) 3937 4416 w 10 /LucidaSansUnicode00 f (RFC 2246.) 4033 4416 w ([Ford00] Warwick Ford and Burton) 720 4572 w (S.) 2409 4572 w (Kaliski,) 2528 4572 w (Jr.,) 2909 4572 w 10 /LucidaSansUnicode20 f (\030\030) 3078 4572 w 10 /LucidaSansUnicode00 f (Server-Assisted) 3142 4572 w (Generation) 3940 4572 w (of) 4504 4572 w (a) 4635 4572 w (Strong) 4723 4572 w (Secret) 720 4692 w (from) 1081 4692 w (a) 1379 4692 w (Password,) 1500 4692 w 10 /LucidaSansUnicode20 f (\031\031) 1986 4692 w 10 /LucidaSansUnicode00 f (IEEE) 2115 4692 w (Fifth) 2371 4692 w (International) 2655 4692 w (Workshop) 3335 4692 w (on) 3883 4692 w (Enterprise) 4071 4692 w (Security,) 4626 4692 w (National) 720 4812 w (Institute) 1164 4812 w (of) 1606 4812 w (Standards) 1746 4812 w (and) 2269 4812 w (Technology) 2491 4812 w (\(NIST\),) 3092 4812 w (Gaithersburg) 3452 4812 w (MD,) 4125 4812 w (June) 4360 4812 w (14) 4613 4812 w (-) 4781 4812 w (16,) 4882 4812 w (2000.) 720 4932 w ([Jabl]) 720 5088 w (David) 1071 5088 w (P.) 1452 5088 w (Jablon,) 1646 5088 w 10 /LucidaSansUnicode20 f (\030\030) 2086 5088 w 10 /LucidaSansUnicode00 f (Strong) 2150 5088 w (Password-Only) 2575 5088 w (Authenticated) 3416 5088 w (Key) 4200 5088 w (Exchange,) 4481 5088 w 10 /LucidaSansUnicode20 f (\031\031) 4976 5088 w 10 /LucidaTypewriter f (http://integritysciences.com/speke97.html) 720 5208 w 10 /LucidaSansUnicode00 f (.) 3672 5208 w ([Kami00] Michael Kaminsky.) 720 5364 w 10 /LucidaSansUnicode20 f (\030\030) 2148 5364 w 10 /LucidaSansUnicode00 f (Flexible) 2212 5364 w (Key) 2622 5364 w (Management) 2828 5364 w (with) 3485 5364 w (SFS) 3723 5364 w (Agents,) 3918 5364 w 10 /LucidaSansUnicode20 f (\031\031) 4287 5364 w 10 /LucidaSansUnicode00 f (Master) 4384 5364 w 10 /LucidaSansUnicode20 f (\031) 4710 5364 w 10 /LucidaSansUnicode00 f (s) 4742 5364 w (The\255) 4826 5364 w (sis, MIT, May 2000.) 720 5484 w ([Mack] Philip MacKenzie, private communication.) 720 5640 w ([Mazi99]) 720 5796 w (David) 1191 5796 w (Mazi\350res,) 1517 5796 w (Michael) 2032 5796 w (Kaminsky,) 2452 5796 w (M.) 3001 5796 w (Frans) 3171 5796 w (Kaashoek) 3486 5796 w (and) 4002 5796 w (Emmett) 4235 5796 w (Witchel,) 4658 5796 w 10 /LucidaSansUnicode20 f (\030\030) 720 5916 w 10 /LucidaSansUnicode00 f (Separating) 784 5916 w (key) 1338 5916 w (management) 1544 5916 w (from) 2215 5916 w (file) 2486 5916 w (system) 2676 5916 w (security,) 3055 5916 w 10 /LucidaSansUnicode20 f (\031\031) 3466 5916 w 10 /LucidaSansUnicode00 f (Symposium) 3569 5916 w (on) 4166 5916 w (Operating) 4328 5916 w (Sys\255) 4850 5916 w (tems Principles, 1999, pp. 124-139.) 720 6036 w ([Micr] Microsoft Passport,) 720 6192 w 10 /LucidaTypewriter f (http://www.passport.com/) 2029 6192 w 10 /LucidaSansUnicode00 f (.) 3757 6192 w ([Perl99]) 720 6348 w (Radia) 1159 6348 w (Perlman) 1490 6348 w (and) 1947 6348 w (Charlie) 2193 6348 w (Kaufman,) 2600 6348 w 10 /LucidaSansUnicode20 f (\030\030) 3127 6348 w 10 /LucidaSansUnicode00 f (Secure) 3191 6348 w (Password-Based) 3577 6348 w (Protocol) 4438 6348 w (for) 4901 6348 w (Downloading) 720 6468 w (a) 1398 6468 w (Private) 1495 6468 w (Key,) 1862 6468 w 10 /LucidaSansUnicode20 f (\031\031) 2067 6468 w 10 /LucidaSansUnicode00 f (Proc.) 2173 6468 w (1999) 2455 6468 w (Network) 2749 6468 w (and) 3195 6468 w (Distributed) 3417 6468 w (System) 4001 6468 w (Security) 4385 6468 w (Sym\255) 4808 6468 w (posium, Internet Society, January 1999.) 720 6588 w ([Pike95]) 720 6744 w (Rob) 1144 6744 w (Pike,) 1365 6744 w (Dave) 1629 6744 w (Presotto,) 1901 6744 w (Sean) 2366 6744 w (Dorward,) 2627 6744 w (Bob) 3107 6744 w (Flandrena,) 3324 6744 w (Ken) 3868 6744 w (Thompson,) 4086 6744 w (Howard) 4669 6744 w (Trickey,) 720 6864 w (and) 1136 6864 w (Phil) 1350 6864 w (Winterbottom,) 1559 6864 w 10 /LucidaSansUnicode20 f (\030\030) 2288 6864 w 10 /LucidaSansUnicode00 f (Plan) 2352 6864 w (9) 2587 6864 w (from) 2684 6864 w (Bell) 2950 6864 w (Labs,) 3156 6864 w 10 /LucidaSansUnicode20 f (\031\031) 3410 6864 w 10 /LucidaSansUnicode00 f (Computing) 3508 6864 w (Systems,) 4080 6864 w 10 /LucidaSans-Demi f (8) 4540 6864 w 10 /LucidaSansUnicode00 f (,) 4604 6864 w (3,) 4670 6864 w (Sum\255) 4798 6864 w (mer 1995, pp. 221-254.) 720 6984 w ([Pike93]) 720 7140 w (Rob) 1159 7140 w (Pike,) 1395 7140 w (Dave) 1674 7140 w (Presotto,) 1961 7140 w (Ken) 2441 7140 w (Thompson,) 2673 7140 w (Howard) 3270 7140 w (Trickey,) 3690 7140 w (Phil) 4121 7140 w (Winterbottom,) 4345 7140 w 10 /LucidaSansUnicode20 f (\030\030) 720 7260 w 10 /LucidaSansUnicode00 f (The) 784 7260 w (Use) 1004 7260 w (of) 1219 7260 w (Name) 1355 7260 w (Spaces) 1671 7260 w (in) 2039 7260 w (Plan) 2168 7260 w (9,) 2407 7260 w 10 /LucidaSansUnicode20 f (\031\031) 2502 7260 w 10 /LucidaSansUnicode00 f (Operating) 2604 7260 w (Systems) 3125 7260 w (Review,) 3557 7260 w 10 /LucidaSans-Demi f (27) 3960 7260 w 10 /LucidaSansUnicode00 f (,) 4088 7260 w (2,) 4158 7260 w (April) 4291 7260 w (1993,) 4560 7260 w (pp.) 4882 7260 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 (72-76) 720 840 w (\(reprinted) 1076 840 w (from) 1603 840 w (Proceedings) 1881 840 w (of) 2515 840 w (the) 2660 840 w (5th) 2862 840 w (ACM) 3071 840 w (SIGOPS) 3342 840 w (European) 3731 840 w (Workshop,) 4232 840 w (Mont) 4794 840 w (Saint-Michel, 1992, Paper n\272 34\).) 720 960 w ([Resc01]) 720 1116 w (Eric) 1214 1116 w (Rescorla,) 1470 1116 w 10 /LucidaSansUnicode20 f (\030\030) 1990 1116 w 10 /LucidaSansUnicode00 f (SSL) 2054 1116 w (and) 2296 1116 w (TLS:) 2557 1116 w (Designing) 2840 1116 w (and) 3410 1116 w (Building) 3672 1116 w (Secure) 4148 1116 w (Systems,) 4550 1116 w 10 /LucidaSansUnicode20 f (\031\031) 4976 1116 w 10 /LucidaSansUnicode00 f (Addison-Wesley, 2001. ISBN 0-201-61598-3, p. 387.) 720 1236 w ([RFC2138]) 720 1392 w (C.) 1259 1392 w (Rigney,) 1395 1392 w (A.) 1786 1392 w (Rubens,) 1922 1392 w (W.) 2347 1392 w (Simpson,) 2501 1392 w (S.) 2982 1392 w (Willens,) 3104 1392 w 10 /LucidaSansUnicode20 f (\030\030) 3514 1392 w 10 /LucidaSansUnicode00 f (Remote) 3578 1392 w (Authentication) 3980 1392 w (Dial) 4725 1392 w (In) 4949 1392 w (User Service \(RADIUS\),) 720 1512 w 10 /LucidaSansUnicode20 f (\031\031) 1797 1512 w 10 /LucidaSansUnicode00 f (RFC2138, April 1997.) 1893 1512 w ([RiLa]) 720 1668 w (Ronald) 1023 1668 w (L.) 1393 1668 w (Rivest) 1515 1668 w (and) 1840 1668 w (Butler) 2057 1668 w (Lampson,) 2378 1668 w 10 /LucidaSansUnicode20 f (\030\030) 2886 1668 w 10 /LucidaSansUnicode00 f (SDSI) 2950 1668 w 10 /LucidaSansUnicode20 f (\024) 3162 1668 w 10 /LucidaSansUnicode00 f (A) 3262 1668 w (Simple) 3369 1668 w (Distributed) 3731 1668 w (Security) 4312 1668 w (Infras\255) 4732 1668 w (tructure,) 720 1788 w 10 /LucidaSansUnicode20 f (\031\031) 1139 1788 w 10 /LucidaTypewriter f (http://theory.lcs.mit.edu/~rivest/sdsi10.ps) 1275 1788 w 10 /LucidaSansUnicode00 f (.) 4371 1788 w ([Schn]) 720 1944 w (Bruce) 1129 1944 w (Schneier,) 1511 1944 w (Password) 2068 1944 w (Safe,) 2636 1944 w 10 /LucidaTypewriter f (http://www.counterpane.com/\255) 3024 1944 w (passsafe.html) 720 2064 w 10 /LucidaSansUnicode00 f (.) 1656 2064 w ([Sama96]) 720 2220 w (Vipin) 1219 2220 w (Samar,) 1517 2220 w 10 /LucidaSansUnicode20 f (\030\030) 1897 2220 w 10 /LucidaSansUnicode00 f (Unified) 1961 2220 w (Login) 2356 2220 w (with) 2673 2220 w (Pluggable) 2928 2220 w (Authentication) 3451 2220 w (Modules) 4210 2220 w (\(PAM\),) 4668 2220 w 10 /LucidaSansUnicode20 f (\031\031) 4976 2220 w 10 /LucidaSansUnicode00 f (Proceedings) 720 2340 w (of) 1351 2340 w (the) 1493 2340 w (Third) 1692 2340 w (ACM) 1993 2340 w (Conference) 2260 2340 w (on) 2854 2340 w (Computer) 3020 2340 w (Communications) 3545 2340 w (and) 4403 2340 w (Security,) 4626 2340 w (March 1996, New Delhi, India.) 720 2460 w ([Stei88]) 720 2616 w (Jennifer) 1147 2616 w (G.) 1580 2616 w (Steiner,) 1743 2616 w (Clifford) 2169 2616 w (Neumann,) 2594 2616 w (and) 3149 2616 w (Jeffrey) 3388 2616 w (I.) 3757 2616 w (Schiller,) 3877 2616 w 10 /LucidaSansUnicode20 f (\030\030) 4320 2616 w 10 /LucidaSans-Italic f (Kerberos) 4384 2616 w 10 /LucidaSansUnicode00 f (:) 4817 2616 w (An) 4909 2616 w (Authentication) 720 2736 w (Service) 1471 2736 w (for) 1852 2736 w (Open) 2033 2736 w (Network) 2334 2736 w (Systems,) 2780 2736 w 10 /LucidaSansUnicode20 f (\031\031) 3206 2736 w 10 /LucidaSansUnicode00 f (Proceedings) 3312 2736 w (of) 3940 2736 w (USENIX) 4079 2736 w (Winter) 4463 2736 w (Con\255) 4815 2736 w (ference, Dallas, Texas, February 1988, pp. 191) 720 2856 w 10 /LucidaSansUnicode20 f (\023) 3002 2856 w 10 /LucidaSansUnicode00 f (202.) 3052 2856 w ([Wu98]) 720 3012 w (T.) 1099 3012 w (Wu,) 1233 3012 w 10 /LucidaSansUnicode20 f (\030\030) 1453 3012 w 10 /LucidaSansUnicode00 f (The) 1517 3012 w (Secure) 1738 3012 w (Remote) 2098 3012 w (Password) 2504 3012 w (Protocol,) 2998 3012 w 10 /LucidaSansUnicode20 f (\031\031) 3426 3012 w 10 /LucidaSansUnicode00 f (Proceedings) 3530 3012 w (of) 4157 3012 w (the) 4295 3012 w (1998) 4490 3012 w (Inter\255) 4782 3012 w (net) 720 3132 w (Society) 915 3132 w (Network) 1295 3132 w (and) 1739 3132 w (Distributed) 1958 3132 w (System) 2540 3132 w (Security) 2922 3132 w (Symposium,) 3343 3132 w (San) 3972 3132 w (Diego,) 4182 3132 w (CA,) 4536 3132 w (March) 4745 3132 w (1998, pp. 97-111.) 720 3252 w ([Ylon96]) 720 3408 w (Ylonen,) 1178 3408 w (T.,) 1594 3408 w 10 /LucidaSansUnicode20 f (\030\030) 1773 3408 w 10 /LucidaSansUnicode00 f (SSH) 1837 3408 w 10 /LucidaSansUnicode20 f (\024) 2019 3408 w 10 /LucidaSansUnicode00 f (Secure) 2119 3408 w (Login) 2491 3408 w (Connections) 2811 3408 w (Over) 3465 3408 w (the) 3745 3408 w (Internet,) 3953 3408 w 10 /LucidaSansUnicode20 f (\031\031) 4365 3408 w 10 /LucidaSansUnicode00 f (6th) 4482 3408 w (USENIX) 4697 3408 w (Security Symposium, pp. 37-42. San Jose, CA, July 1996.) 720 3528 w 10 /LucidaSans-Demi f (Appendix: Summary of the PAK protocol) 720 3768 w 10 /LucidaSansUnicode00 f (Let) 720 3924 w 11 /LucidaSans-Italic f (q) 913 3924 w (>) 1007 3924 w 11 /LucidaSansUnicode00 f (2) 1094 3924 w 8 /LucidaSansUnicode00 f (160) 1169 3880 w 10 /LucidaSansUnicode00 f (and) 1375 3924 w 11 /LucidaSans-Italic f (p) 1602 3924 w (>) 1696 3924 w 11 /LucidaSansUnicode00 f (2) 1783 3924 w 8 /LucidaSansUnicode00 f (1024) 1858 3880 w 10 /LucidaSansUnicode00 f (be) 2114 3924 w (primes) 2280 3924 w (such) 2660 3924 w (that) 2933 3924 w 11 /LucidaSans-Italic f (p) 3171 3924 w 11 /S f (=) 3265 3924 w 11 /LucidaSans-Italic f (rq) 3344 3924 w 11 /S f (+) 3491 3924 w 11 /LucidaSansUnicode00 f (1) 3570 3924 w 10 /LucidaSansUnicode00 f (with) 3686 3924 w 11 /LucidaSans-Italic f (r) 3938 3924 w 10 /LucidaSansUnicode00 f (not) 4038 3924 w (a) 4246 3924 w (multiple) 4349 3924 w (of) 4795 3924 w 11 /LucidaSans-Italic f (q) 4941 3924 w 10 /LucidaSansUnicode00 f (.) 5008 3924 w (Take) 720 4044 w 11 /LucidaSans-Italic f (h) 1001 4044 w 11 /S f (\316) 1078 4044 w 11 /LucidaSans-Italic f (Z) 1165 4044 w 8 /LucidaSans-Italic f (p) 1235 4066 w (*) 1235 4000 w 10 /LucidaSansUnicode00 f (such) 1342 4044 w (that) 1617 4044 w 11 /LucidaSans-Italic f (g) 1856 4044 w 11 /LucidaSansUnicode22 f (a) 1932 4044 w 11 /LucidaSans-Italic f (h) 2029 4044 w 8 /LucidaSans-Italic f (r) 2110 4000 w 10 /LucidaSansUnicode00 f (is) 2205 4044 w (not) 2333 4044 w (1.) 2541 4044 w (These) 2716 4044 w (parameters) 3052 4044 w (may) 3648 4044 w (be) 3896 4044 w (chosen) 4063 4044 w (by) 4454 4044 w (the) 4617 4044 w (NIST) 4820 4044 w (algorithm for DSA,) 720 4164 w (and) 1655 4164 w (are) 1868 4164 w (public,) 2053 4164 w (fixed) 2415 4164 w (values.) 2694 4164 w (The) 3096 4164 w (client) 3310 4164 w 11 /LucidaSans-Italic f (C) 3607 4164 w 10 /LucidaSansUnicode00 f (knows) 3715 4164 w (a) 4057 4164 w (secret) 4145 4164 w 11 /LucidaSansUnicode03 f (\300) 4470 4164 w 10 /LucidaSansUnicode00 f (and) 4589 4164 w (com\255) 4802 4164 w (putes) 720 4284 w 11 /LucidaSans-Italic f (H) 1034 4284 w 11 /LucidaSansUnicode22 f (a) 1124 4284 w 11 /LucidaSansUnicode00 f (\() 1221 4284 w 11 /LucidaSans-Italic f (H) 1266 4284 w 8 /LucidaSansUnicode00 f (1) 1360 4306 w 11 /LucidaSansUnicode00 f (\() 1428 4284 w 11 /LucidaSans-Italic f (C) 1473 4284 w 11 /LucidaSansUnicode00 f (,) 1557 4284 w 11 /LucidaSansUnicode03 f (\300) 1645 4284 w 11 /LucidaSansUnicode00 f (\)) 1740 4284 w (\)) 1785 4284 w 8 /LucidaSans-Italic f (r) 1834 4240 w 10 /LucidaSansUnicode00 f (and) 1926 4284 w 11 /LucidaSans-Italic f (H) 2151 4284 w 8 /S f (-) 2245 4240 w 8 /LucidaSansUnicode00 f (1) 2302 4240 w 10 /LucidaSansUnicode00 f (,) 2361 4284 w (where) 2438 4284 w 11 /LucidaSans-Italic f (H) 2775 4284 w 8 /LucidaSansUnicode00 f (1) 2869 4306 w 10 /LucidaSansUnicode00 f (is) 2973 4284 w (a) 3098 4284 w (hash) 3198 4284 w (function) 3473 4284 w (yielding) 3919 4284 w (a) 4346 4284 w (random) 4446 4284 w (ele\255) 4866 4284 w (ment) 720 4404 w (of) 1002 4404 w 11 /LucidaSans-Italic f (Z) 1134 4404 w 8 /LucidaSans-Italic f (p) 1204 4426 w (*) 1204 4360 w 10 /LucidaSansUnicode00 f (,) 1262 4404 w (and) 1328 4404 w 11 /LucidaSans-Italic f (H) 1542 4404 w 8 /S f (-) 1636 4360 w 8 /LucidaSansUnicode00 f (1) 1693 4360 w 10 /LucidaSansUnicode00 f (may) 1787 4404 w (be) 2022 4404 w (computed) 2176 4404 w (by) 2697 4404 w (gcd.) 2847 4404 w (\(All) 3122 4404 w (arithmetic) 3317 4404 w (is) 3842 4404 w (modulo) 3957 4404 w 11 /LucidaSans-Italic f (p) 4361 4404 w 10 /LucidaSansUnicode00 f (.\)) 4428 4404 w (The) 4560 4404 w (client) 4776 4404 w (gives) 720 4524 w 11 /LucidaSans-Italic f (H) 1013 4524 w 8 /S f (-) 1107 4480 w 8 /LucidaSansUnicode00 f (1) 1164 4480 w 10 /LucidaSansUnicode00 f (to) 1266 4524 w (the) 1407 4524 w (server) 1605 4524 w 11 /LucidaSans-Italic f (S) 1945 4524 w 10 /LucidaSansUnicode00 f (ahead) 2049 4524 w (of) 2383 4524 w (time) 2524 4524 w (by) 2782 4524 w (a) 2940 4524 w (private) 3038 4524 w (channel.) 3414 4524 w (To) 3898 4524 w (start) 4065 4524 w (a) 4329 4524 w (new) 4427 4524 w (connec\255) 4664 4524 w (tion,) 720 4644 w (the) 988 4644 w (client) 1190 4644 w (generates) 1501 4644 w (a) 2024 4644 w (random) 2126 4644 w (value) 2548 4644 w 11 /LucidaSans-Italic f (x) 2850 4644 w 10 /LucidaSansUnicode00 f (,) 2909 4644 w (computes) 2989 4644 w 11 /LucidaSans-Italic f (m) 3511 4644 w 11 /LucidaSansUnicode22 f (a) 3622 4644 w 11 /LucidaSans-Italic f (g) 3719 4644 w 8 /LucidaSans-Italic f (x) 3799 4600 w 11 /LucidaSans-Italic f (H) 3851 4644 w 10 /LucidaSansUnicode00 f (,) 3932 4644 w (then) 4012 4644 w (calls) 4277 4644 w (the) 4540 4644 w (server) 4743 4644 w (and) 720 4764 w (sends) 941 4764 w 11 /LucidaSans-Italic f (C) 1265 4764 w 10 /LucidaSansUnicode00 f (and) 1381 4764 w 11 /LucidaSans-Italic f (m) 1602 4764 w 10 /LucidaSansUnicode00 f (.) 1704 4764 w (The) 1809 4764 w (server) 2031 4764 w (checks) 2369 4764 w 11 /LucidaSans-Italic f (m) 2739 4764 w 11 /LucidaSansUnicode22 f (`) 2850 4764 w 11 /LucidaSansUnicode00 f (0) 2947 4764 w (mod) 3069 4764 w 11 /LucidaSans-Italic f (p) 3360 4764 w 10 /LucidaSansUnicode00 f (,) 3427 4764 w (generates) 3500 4764 w (random) 4017 4764 w 11 /LucidaSans-Italic f (y) 4433 4764 w 10 /LucidaSansUnicode00 f (,) 4494 4764 w (computes) 4566 4764 w 11 /LucidaSansUnicode03 f (\274) 720 4884 w 11 /LucidaSansUnicode22 f (a) 798 4884 w 11 /LucidaSans-Italic f (g) 895 4884 w 8 /LucidaSans-Italic f (y) 975 4840 w 10 /LucidaSansUnicode00 f (,) 1028 4884 w 11 /LucidaSansUnicode03 f (\303) 1106 4884 w 11 /LucidaSansUnicode22 f (a) 1189 4884 w 11 /LucidaSansUnicode00 f (\() 1286 4884 w 11 /LucidaSans-Italic f (mH) 1331 4884 w 8 /S f (-) 1527 4840 w 8 /LucidaSansUnicode00 f (1) 1584 4840 w 11 /LucidaSansUnicode00 f (\)) 1652 4884 w 8 /LucidaSans-Italic f (y) 1701 4840 w 10 /LucidaSansUnicode00 f (,) 1754 4884 w (and) 1829 4884 w (sends) 2052 4884 w 11 /LucidaSans-Italic f (S) 2378 4884 w 10 /LucidaSansUnicode00 f (,) 2439 4884 w 11 /LucidaSansUnicode03 f (\274) 2515 4884 w 10 /LucidaSansUnicode00 f (,) 2584 4884 w 11 /LucidaSans-Italic f (k) 2660 4884 w 11 /LucidaSansUnicode22 f (a) 2733 4884 w 11 /LucidaSans-Italic f (sha1) 2830 4884 w 11 /LucidaSansUnicode00 f (\() 3097 4884 w ("server") 3142 4884 w (,) 3560 4884 w 11 /LucidaSans-Italic f (C) 3604 4884 w 11 /LucidaSansUnicode00 f (,) 3688 4884 w 11 /LucidaSans-Italic f (S) 3732 4884 w 11 /LucidaSansUnicode00 f (,) 3802 4884 w 11 /LucidaSans-Italic f (m) 3846 4884 w 11 /LucidaSansUnicode00 f (,) 3957 4884 w 11 /LucidaSansUnicode03 f (\274) 4001 4884 w 11 /LucidaSansUnicode00 f (,) 4079 4884 w 11 /LucidaSansUnicode03 f (\303) 4123 4884 w 11 /LucidaSansUnicode00 f (,) 4206 4884 w 11 /LucidaSans-Italic f (H) 4250 4884 w 8 /S f (-) 4344 4840 w 8 /LucidaSansUnicode00 f (1) 4401 4840 w 11 /LucidaSansUnicode00 f (\)) 4469 4884 w 10 /LucidaSansUnicode00 f (.) 4505 4884 w (Next) 4613 4884 w (the) 4885 4884 w (client) 720 5004 w (computes) 1051 5004 w 11 /LucidaSansUnicode03 f (\303) 1592 5004 w 11 /S f (=) 1684 5004 w 11 /LucidaSansUnicode03 f (\274) 1763 5004 w 8 /LucidaSans-Italic f (x) 1838 4960 w 10 /LucidaSansUnicode00 f (,) 1890 5004 w (verifies) 1988 5004 w 11 /LucidaSans-Italic f (k) 2405 5004 w 10 /LucidaSansUnicode00 f (,) 2469 5004 w (and) 2567 5004 w (sends) 2813 5004 w 11 /LucidaSans-Italic f (k) 3162 5004 w 11 /S f (\242) 3235 5004 w 11 /LucidaSansUnicode22 f (a) 3272 5004 w 11 /LucidaSans-Italic f (sha1) 3369 5004 w 11 /LucidaSansUnicode00 f (\() 3636 5004 w ("client") 3681 5004 w (,) 4063 5004 w 11 /LucidaSans-Italic f (C) 4107 5004 w 11 /LucidaSansUnicode00 f (,) 4191 5004 w 11 /LucidaSans-Italic f (S) 4235 5004 w 11 /LucidaSansUnicode00 f (,) 4305 5004 w 11 /LucidaSans-Italic f (m) 4349 5004 w 11 /LucidaSansUnicode00 f (,) 4460 5004 w 11 /LucidaSansUnicode03 f (\274) 4504 5004 w 11 /LucidaSansUnicode00 f (,) 4582 5004 w 11 /LucidaSansUnicode03 f (\303) 4626 5004 w 11 /LucidaSansUnicode00 f (,) 4709 5004 w 11 /LucidaSans-Italic f (H) 4753 5004 w 8 /S f (-) 4847 4960 w 8 /LucidaSansUnicode00 f (1) 4904 4960 w 11 /LucidaSansUnicode00 f (\)) 4972 5004 w 10 /LucidaSansUnicode00 f (.) 5008 5004 w (The) 720 5124 w (server) 1033 5124 w (then) 1462 5124 w (verifies) 1811 5124 w 11 /LucidaSans-Italic f (k) 2294 5124 w 11 /S f (\242) 2367 5124 w 10 /LucidaSansUnicode00 f (and) 2527 5124 w (both) 2839 5124 w (sides) 3194 5124 w (begin) 3576 5124 w (using) 3981 5124 w (session) 4380 5124 w (key) 4874 5124 w 11 /LucidaSans-Italic f (K) 720 5244 w 11 /LucidaSansUnicode22 f (a) 799 5244 w 11 /LucidaSans-Italic f (sha1) 896 5244 w 11 /LucidaSansUnicode00 f (\() 1163 5244 w ("session") 1208 5244 w (,) 1696 5244 w 11 /LucidaSans-Italic f (C) 1740 5244 w 11 /LucidaSansUnicode00 f (,) 1824 5244 w 11 /LucidaSans-Italic f (S) 1868 5244 w 11 /LucidaSansUnicode00 f (,) 1938 5244 w 11 /LucidaSans-Italic f (m) 1982 5244 w 11 /LucidaSansUnicode00 f (,) 2093 5244 w 11 /LucidaSansUnicode03 f (\274) 2137 5244 w 11 /LucidaSansUnicode00 f (,) 2215 5244 w 11 /LucidaSansUnicode03 f (\303) 2259 5244 w 11 /LucidaSansUnicode00 f (,) 2342 5244 w 11 /LucidaSans-Italic f (H) 2386 5244 w 8 /S f (-) 2480 5200 w 8 /LucidaSansUnicode00 f (1) 2537 5200 w 11 /LucidaSansUnicode00 f (\)) 2605 5244 w 10 /LucidaSansUnicode00 f (.) 2641 5244 w (In) 2766 5244 w (the) 2918 5244 w (published) 3134 5244 w (version) 3673 5244 w (of) 4086 5244 w (PAK,) 4245 5244 w (the) 4527 5244 w (server) 4743 5244 w (name) 720 5364 w 11 /LucidaSans-Italic f (S) 1021 5364 w 10 /LucidaSansUnicode00 f (is) 1117 5364 w (included) 1232 5364 w (in) 1682 5364 w (the) 1808 5364 w (initial) 1998 5364 w (hash) 2303 5364 w 11 /LucidaSans-Italic f (H) 2568 5364 w 10 /LucidaSansUnicode00 f (,) 2649 5364 w (but) 2717 5364 w (doing) 2915 5364 w (so) 3228 5364 w (is) 3376 5364 w (inconvenient) 3492 5364 w (in) 4147 5364 w (our) 4274 5364 w (application,) 4474 5364 w (as the server may be known by various equivalent names.) 720 5484 w (MacKenzie) 720 5640 w (has) 1289 5640 w (shown) 1509 5640 w ([Mack]) 1874 5640 w (that) 2242 5640 w (the) 2485 5640 w (equivalence) 2692 5640 w (proof) 3315 5640 w ([Boyk00]) 3630 5640 w (can) 4104 5640 w (be) 4325 5640 w (adapted) 4497 5640 w (to) 4942 5640 w (cover our version.) 720 5760 w cleartomark showpage saveobj restore %%EndPage: 19 19 %%Trailer done %%Pages: 19