HAL Id: hal-00861421
https://hal.archives-ouvertes.fr/hal-00861421
Submitted on 12 Sep 2013
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
A P2P Tuple Space Implementation for Disconnected
MANETs
Abdulkader Benchi, Pascale Launay, Frédéric Guidec
To cite this version:
Abdulkader Benchi, Pascale Launay, Frédéric Guidec. A P2P Tuple Space Implementation for Dis-connected MANETs. Peer-to-Peer Networking and Applications, Springer, 2015, 8 (1), pp.87-102. �10.1007/s12083-013-0224-4�. �hal-00861421�
123432567892A7BC92DE789E9FBF22CFF9C9215
1234567389AB8CDEFA7D758A74C7A939FDA4F38D
1ACF89FA38AB987C8 43 !7CC8A97CD8
"7234567389#28CDEFA$7D758#574C7A%98389FD#4F38D&'4CF 42#%9
1BCA (FD)CC8D83A*)2F58A73AE)DAC8+)96A,)9A( -1./01A798A$79F755A)9AFC89*F8C5AD)CC8D83A+F9858A
C8+)96AFCA+EFDEAD)CFC4)4A8C3 ) 8C3AD)CC8DFFA28+88CA*)2F58AC)38AFAC)A4797C883#A0E8A72F5FA)A85% %)9*A7C3A85% *7C78A29FCA987A)$$)94CFF8A%)9A( -1./0A24A3885)$FCA3F9F2483A7$$5FD7F)CAD7$7258A)%A 94CCFCAFCA4DEAC8+)96A98*7FCA7A*72)9ADE7558C8#A1A*F3358+798A8*AFAE4AC88383A28+88CAC8+)96A5885A7C3A 7$$5FD7F)CA5885AFCA)9389A)A878A7$$5FD7F)CA3885)$*8CA7C3AE85$A3885)$89A768A737C78A)%AE8A4CF348A%87498A )%A( -1./0#ACAEFA$7$89A+8AFC9)34D8A7A$889 ) $889A477$7D8AF*$58*8C7F)CAE7A+8A$8DF%FD755A38FC83 A %)9A( -1./0A7C3A+FEA+EFDEA$98 85FFCA)9AC8+A477$7D8 2783A7$$5FD7F)CAD7CA28A87F5A38$5)83AFCA4DEA C8+)96#
9A 12234564122378691A5BCDE7611635ACBF5B87C2563BCDE74FE78663BC5B6C79B232E7182FE 7
A5A3276 285!
6)998$)C3FCA74E)9#A0857A899:;<=><:>?A757A899:;<=><:<;
D5 !"#5D!
1A*)2F58A73AE)DAC8+)96A,)9A-1./01AFA7A3C7*FDA+F9858AC8+)96AE7A9834F98AC)A%F583AFC%9794D498#AAF A 8C89755A%)9*83A$)C7C8)45A2A7AD)558DF)CA)%A+F9858AC)38A+FE)4AE8A7F3A)%A7CAD8C975F@83A73*FCF97F)C# A /7DEA*)2F58AE) AD7CAD)**4CFD78A+FEAFAC8FE2)9A4FCA3F98D A$7F9 +F8A+F9858A5FC6#A6)**4CFD7F)CAFC A -1./0AE78A288CA8CE7CD83A)89AE8A879AE7C6A)A*45F E)$A%)9+793FCA$9))D)5A4DEA7AAA1A(!A (B-AA(A8D#AC>D#A
B8A*)A)%AE88A$9))D)5A985A)CAE8A74*$F)CAE7AE8A+E)58A-1./0A98*7FCAD)CFC4)45AD)CC8D83AF#8#A 28+88C A 7C A $7F9 A )% A E) A FC A E8 A -1./0 A E898 A 7D4755 A 85F A 7 A 587 A )C8 A 8*$)97C8)4 A 8C3 ) 8C3 A $7E#A C%)94C785AEFA74*$F)CA3)8AC)AE)53AFCA9875AD)C3FF)CEA*7CA9875A-1./0A798A4C389AE8A*)A%7)97258 A D)C3FF)CA)C5A$79F755A)9AFC89*F8C5AD)CC8D83#A 0E8A$798A)9AF9984579A3F9F24F)CA)%AE)AFCA7A-1./0AD7CA%)9A857*$58AFC34D8A5FC6A3F94$F)CAFCAE8A+E)58 A -1./0#A0E88A3F94$F)CA*7AFCA49CA$5FAE8A+E)58A-1./0AFC)A7AD)558DF)CA)%A3FFCDAD)CFC4)45ADE7CFCA 3FD)CC8D83AFF57C3GA,D)CC8D83AD)*$)C8C1A7AE)+CAFCAF#A>#A0EFA6FC3A)%A-1./0AFAD75583A7A(FD)CC8D83 A -1./0A,( -1./01#A 0E8AFF5632"7833#7C7$633GA7$$9)7DEAFAE8A%)4C37F)CA)%A(857H(F94$F)C 0)5897CA.8+)96FCA,(0.1AC:D#A CA7A( -1./0AFAD7CAE85$A29F38AE8A7$A28+88CAC)C D)CC8D83A$79A)%AE8AC8+)967AE8A*)2F5FA)%AE)A*768A FA$)F258A%)9A*878A)A$9)$778AC8+)96 +F38A2A4FCA*)2F58AE)A7AD799F89A,)9A579A2F1AE7AD7CA*)8A 28+88CAC8+)96AF57C3#A1AE)+CAFCAF#A>AD)CC8DFFA3F94$F)CA28+88CAF57C3A>A7C3A:AD7CA%)9A857*$58A28A )589783AE7C6A)A489A*)FCA,385F289785A)9A2ADE7CD81A28+88CAE88AF57C3#A0E8A38FD8A)%A7A489A*)FCA%9)*A F57C3A>A)AF57C3A:A7DA7A7A377A*458A%)9A*878A7339883A)AE)A5)D783AFCAF57C3A:#A6)CF389FCAE7A*7CA D799F89A*7A28AFC)583A4DD8F85A%)9AE8A97C*FF)CA)%A7AFC58A*878AEFA7$$9)7DEA$9)F38A*878 A 385F89A7AE8A$9FD8A)%A733FF)C75A97C*FF)CA3857#AF#A>AE)+AE7AE8A97C*FF)CA)%A7A*878A%9)*AF57C3A> A )AF57C3AIAD7CA%)9A857*$58AFC)58A+)A*878AD799F897A%F9A7AD799F89A*)FCA%9)*AF57C3A>A)AF57C3A:A7C3AE8CA 7C)E89AD799F89AJ)9AE8A7*8A)C8JA*)FCA%9)*AF57C3A:A)AF57C3AI#A CAE8A(0.AD)**4CFA)*8A7$$9)7DE8A*768AE8A74*$F)CAE7AD)**4CFD7F)CA28+88CAE8AE)AD7CA28 A $983FD83A7DD49785A7C3A9)4FCA978F8AD7CA28AE4A38F83A2783A)CAD)C7DA$983FDF)C#AB4AFCA*)A9875A( -1./0AD)**4CFD7F)CA798AC)A$57CC83AFCA737CD8A7C3AD7CAE7935A28A$983FD83A8$8DF755AF%AE8A$EFD75AD799F89A 798A%)9A857*$58AE4*7CA28FCAD799FCA57$)$A)9A*79$E)C8#A0E8A89*A)$$)94CFFDAC8+)96FCAFA)%8CA483A) A 38C)8A4DEA3F94$F)C )5897CAC8+)96A+E898AD)C7DA*4A28A85$5)F83A)$$)94CFFD755AC9D#A/7DEAD)C7DAE4 A : $%&A/57*$58A)%A7A3FD)CC8D83A*)2F58A73AE)DAC8+)96
98$988C A 7C A )$$)94CF A %)9 A +) A E) A ) A 85DE7C8 A *878# A 6)C8348C5 A D)**4CFD7F)C A $9))D)5 A %)9 A ( -1./0A44755A$9)F38AC)A*)98AE7CA28 8%%)9A385F89#A6)CF389A77FCAE8A857*$58AE)+CAFCAF#A>A7C3A74*8A 7A*878AFA7339883A2A7AE)AFCAF57C3A:A)A7AE)AFCAF57C3A9#A%AC)AE4*7CAD799F89A889AFFAF57C3A9AE8CAE898AFA C)ADE7CD8AE7AE8A*878A889A8A385F8983AFCAEFAF57C3#A 0E8A3C7*FDAC7498A)%A( -1./0AD9878A*7CADE7558C8A%)9A7$$5FD7F)CA3885)$89#AF9A7A7A8C8975A9458A C)AE)AFCA7A( -1./0AD7CA28AD)CF38983A7A7258A7C3A7DD8F258A8C)4EA)A$57AE8A9)58A)%A7A8989A%)9A755AE8A)E89 A E)#A6)C8348C5A7$$5FD7F)CA3885)$89AE)453A8C89755A48A7A$889 ) $889A*)385A97E89AE7CA7AD5F8C 8989 A )C8#A8D)C3A3885)$89AE)453A768AFC)AD)CF3897F)CA5)CA97C*FF)CA3857A+EF58A+9FFCAE8F9A7$$5FD7F)CA7C3A *768 A E8* A 7 A 7CDE9)C)4 A 7 A $)F258# A FC755 A 3885)$89 A E)453 A D)CF389 A $)F258 A 97C*FF)C A %7F5498 A 7C3A 38FCAE8F9A7$$5FD7F)CA$9)$895A)A)58978A4DEA%7F5498#A 155AE88A987)CAF853A7CAFCD987FCAC883A%)9A7A$8DF75A6FC3A)%A*F3358+798A8*AE7A+EF58AD)$FCA+FEA( -1./0AF48A$9)F38AE8A3885)$89A+FEA7A8A)%A1AE7A878AE8A3885)$*8CA)%A3F9F2483A7$$5FD7F)CA%)9 A ( -1./0#A159873A85FFCA*F3358+798A)54F)CAD7CC)A7F%AE8A$8DF75A9834F98*8CA)%A( -1./0A%)9AE8 A %)55)+FCA987)C7A 1 0E8AE78A288CA*7FC5A38FC83A)A48AE8AD5F8C 8989A*)385#A 1 0E8A4$$)9A)C5ACDE9)C)4A)$897F)C#A 1 0E8A)58978AC8FE89A5)CA97C*FF)CA3857AC)9A97C*FF)CA%7F5498# 0E898%)98A7AC8+A*F3358+798AF*$58*8C7F)CA*4A28A$8DF%FD755A38FC83A)A3875A+FEAE8A$98F)45 *8CF)C83 A D)C97FCA)%A( -1./0#A 0E8ADE797D89FFDA)%A( -1./0A%7)9A7A*F3358+798A+EFDEA4$$)9A7A38D)4$583A7C3A)$$)94CFFDA58A)%A D)*$47F)C7A38D)4$583AFCAE8A8C8AE7AFA$9)D883A88CAFCA$988CD8A)%A3FD)CC8DF)CA7C3A)$$)94CFFDA7AFA 85$5)F A D)CC8DFF A +E8C889 A F A 28D)*8 A 77F57258# A1DD)93FC A ) A -7D)5) A 8 A 75# A CID A E8 A 38D)4$583 A 58 A )%A D)**4CFD7F)CAE7A288CA7339883A2A4$58 2783A8*A+EFDEAE78A288CAE)+CA)A$9)F38A*7CA48%45A%7DF5FF8 A %)9A*)2F58AC8+)96A75E)4EAE8AE78AC)AFCFF755A288CA38FC83A%)9A4DEA8CF9)C*8C#AK8CD8A+8A7948AE7A 4$58 2783A8*A798A+855A4F83A)A( -1./0#AK)+889A973FF)C75A4$58 2783AF*$58*8C7F)CAD7CC)A94C A 7F%7D)9F5AFCA( -1./0A7C3A)*8A*)3F%FD7F)CA798A9834F983A)A*768AE8*A2889A4F83A%)9A4DEA8CF9)C*8C# A F9AE8AE7983A377A$7D8AD7CC)A28A$988C83A)A*)2F58AE)A7A7AD8C975F@83A98$)F)9A89FD8A7C*)98#A8D)C3A CDE9)C)4 A D)**4CFD7F)C A *8DE7CF* A 4$$)983 A 2 A 973FF)C75 A F*$58*8C7F)C A *4 A 28 A 98$57D83 A 2A 7CDE9)C)4A*8DE7CF*#AFC755A7A%)9AE8AD)**4CFD7F)CA*8DE7CF*AE8ACDE9)C)4A$9F*FF8A4$$)983A2 A 973FF)C75AF*$58*8C7F)CA*4A28A75)A98$57D83A2A7CDE9)C)4A$9F*FF8#A
CAE8A98*7FC389A)%AEFA$7$89A+8A$988CA7A$889 ) $889A4$58 2783AF*$58*8C7F)CA$8DF%FD755A38FC83A%)9A( -1./0# A A F A 7D4755 A 7C A F*$58*8C7F)C A )% A E8 A 477$7D8 A $8DF%FD7F)C A CLD# A 0EF A F*$58*8C7F)C A C)725 A 588978A)CA4498A)228DAC?DA)A858C3AE8A7C3793A$8DF%FD7F)CA+FEA7CDE9)C)4A)$897F)CA)AD)$8A+FEAE8A 3C7*FDAC7498A)%A( -1./0#ABAF*$58*8CFCAE8A7C3793A477$7D8A$8DF%FD7F)CA7CA$98 85FFCA3F9F2483 A 7$$5FD7F)CA2783A)CAE8A477$7D8A1AD7CA28A858D483AFCA7A( -1./0A+FEAC)A%49E89A3885)$*8C#A49E89*)98A 3885)$89AD7CA8A28C8%FA%9)*AE8A7CDE9)C)4A)$897F)CA)AF*$9)8AE8F9A7$$5FD7F)CA)A28A+855 4F83A%)9A48A FCA5798A7C3A3C7*FDAC8+)96A4DEA7A( -1./0#A 0EFA$7$89AFA94D4983AFCAE8A%)55)+FCA+77A7A27D69)4C3A)%AE8A$8DF%FD7F)CA)%A477$7D8A7C3A)%A4498 A )228DAFA$988C83A29F8%5AFCA8DF)CA:#A8DF)CA9A$988CA)49A*F3358+798A79DEF8D498A75)CA+FEA387F5A72)4AF A F*$58*8C7F)C#A/7547F)CA9845A798A$988C83AFCA8DF)CAI#A(FD4F)CAFAE8CA98$)983AFCA8DF)CAL#A8DF)CA?A 3FD48A985783A+)96#A8DF)CA<AD)CD5438AEFA$7$89A7C3A38D9F28A)49A$57CA%)9A%4498A+)96# 4 '1#( !" 0EFA8DF)CA$9)F38A7CA)89F8+A)%AE8A$8DF%FD7F)CA)%A477$7D8A7C3A)%A4498A)228DA4DD8F85#A 9
4& )B*BA7BC92'BC+%6F 0E8A477$7D8A8DEC)5)AFA7A477A$8DF%FD7F)CA)%AE8AD)CD8$A)%A4$58A$7D8A+EFDEA+7A)9FFC755AFC9)34D83A FCAE8AFC37A$9)97**FCA57C478AC<D#ACAEFA8DF)CA+8A$9)F38A7A29F8%AFC9)34DF)CA)AEFAD)CD8$A7AFC9)34D83 A FCAFC37A7C3A)AE8A477$7D8A8DEC)5)A+EFDEA$9)F38A7CAF*$58*8C7F)CA%)9A477A7$$5FD7F)C#A49E89*)98 A E8AE)9D)*FCA)%A477$7D8AFCAE8AD)C85A)%A( -1./0A798A75)A$988C83AFCAEFA8DF)C# 4&& 567892A7BC9 0E8A4$58A$7D8AD)CD8$AE7AFA9))AFCAE8AFC37A$7975585A$9)97**FCA57C478A3885)$83A7AB758ACF89F A C<D#A1A4$58A$7D8AFA7AE7983A377A$7D8A7DFCA7A7CA7)DF7F8A*8*)9A483A2A88975AD5F8CAD75583AF13682FF2FGA %)9AD)**4CFD7F)CA7C3H)9AD))93FC7F)CA9834F98*8C#A1AFC37A7$$5FD7F)CAFAF8+83A7A7AD)558DF)CA)%A$9)D88A D))$897FCAF7AE8A%5)+A)%A377A94D498AD75583AF5A12FGAFC)A7C3A)4A)%A7A5A127F182#A/7DEA4$58AFA7A98D)93A)%A $83A%F853AD)C7FCFCAE8AFC%)9*7F)CA)A28AD)**4CFD783#A0E8AD))93FC7F)CA$9F*FF8A$9)F383A2AFC37A755)+ A $9)D88A)AFC89A7A4$58AFC)AE8A4$58A$7D8A,6A51A)9A989F88A4$58A%9)*AE8A4$58A$7D8A8FE89A98*)FCAE)8A 4$58A,BC1A)9A$9889FCAE8A4$58AFCAE8A$7D8A,321#A)9A989F8FCA)$897F)CA4$58A798A858D83A4FCAF*$58A $789C *7DEFCA%9)*A7AF8CA8A)%A$797*889#A 0E8A*)AFC898FCA%87498AFCAE8A4$58A$7D8A$9)97**FCA*)385AFAE7AFA$9)F38A$7D8A7C3AF*8A38D)4$5FC# A ACAE8A)C8AE7C3AF1827286A1BCDA*87CAE7A7A4$58A$57D83AFCA7A4$58A$7D8A*7A)9FFC78A%9)*A7CA8C389A$9)D8A 7C3A*7A28A385F8983A)A7CA$)8CF75A98DF$F8C#AACAE8A)E89AE7C3A5B927286A1BCDA*87CAE7A7A4$58A$57D83AFCA7A 4$58 A $7D8 A +F55 A 98*7FC A E898 A 4CF5 A F A F A 98*)83 A 85$5FDF5 A ,$)8CF755 A FC38%FCF851 A 7C3 A E8CD8 A E8 A 8C389 A 7C3 A 98D8F89A3)AC)AC883A)A)8957$AFCAF*8#A0)8E89AE88A%87498A$9)F38A7CA7$$9)7DEAE7AFA%455A3F9F2483AFCA$7D8 A 7C3AF*8#A4DEA7CA7$$9)7DEAFA$797*)4CAFCA7A*)2F58A8FCA+E898AE8A*)2F58AE)AFC)583AFCAD)**4CFD7F)C A DE7C8A3C7*FD755A348A)AE8F9A*F97F)CA)9AD)CC8DFFA$789C#A 4&&4 )B*BA7BC9 477$7D8AFA7A477A$8DF%FD7F)CA)%AE8A4$58A$7D8AD)CD8$AFC9)34D83A7A7A$79A)%AE8A477A4FCFA8DEC)5)#AA 38%FC8A7A8A)%A7$$5FD7F)CA$9)97**FCAFC89%7D8A,11AE7A858C3AE8AF*$58AD)98A)%AFC37A$9F*FF8#A0E8 A 477$7D8A89F)CA)%AFC37A4$58AD75583AG8C9F8GA798A477A)228DAE7AD)C7FCA$425FDA%F853AE7A7DA7A$83A%F853A FCAFC37#A477$7D8A4$$)9A75)A7A$8DF75A6FC3A)%A8C9AD75583A529152A+EFDEAFA483A)ADE797D89F@8AE8A6FC3A)%A 8C9F8A7A$9)D8AFA5))6FCA%)9#A0E7AFA7A$9)D8A48A7A8*$578A)A%FC3A 958%BCD72C53B2FA+E)8A$8A7C3A%F853A *7DEAE8A8*$578#A477$7D8A$9)F38A32A52A7C3A3B52A)$897F)CAFCA)9389A)AF*$58*8CAFC37MA32ABCA7C3A 6A5A)$897F)CA98$8DF85#A133FF)C755AFA$9)F38A7 AC65B$#A)$897F)CAE7A755)+A$9)D88A)A28AFC%)9*83A)%AE8A
85F8CD8 A )% A 7 A *7DEFC A 8C9# A 0EF A )$897F)C A C)F%F8 A E8 A $9)D88 A 2 A 8C3FC A 7 A $8DF75 A )228D A D75583 A 22C57 D)C7FCFCA FC%)9*7F)C A )A +EFDE A E8 A $9)D88 A 987D#A A FA +)9E A C)FCA E7 A 2)E A 32A 7C3 A52A )$897F)CA 798A 25)D6FCA)$897F)CAFCA+EFDEAE8AD755FCA$9)D8AFA4$8C383A+EF58A+7FFCAE8A7C+89#A477$7D8A75)A$9)F38 A
B992B527325A3CA89F)CA)%A32A7C3A52A)$897F)CA+FEA+EFDEA$9)D88A3489A7A$7D8A7C3AF**83F785A9849CA
8FE89A7A*7DEFCA4$58A)9A7 ACAA FC3FD7FCAE7AC)A*7DEFCA8C9A85F#A0E88A)$897F)CAD75583 A32&$'BF5A 7C3A
52&$'BF5AD7CA28A48%45A+E8CA7A$9)D8A9834F98A7CAF**83F78A7C+89# 1AE8A8C9F8A)%A477$7D8A798A$7F8A377A$9)D88AD7CC)A$89%)9*A)$897F)CA)CA4$58A3F98D5#ACA)9389A) A *)3F%A7CA8C9A7A$9)D8A*4A85$5FDF5A98*)8A4$378A7C3A98FC89AFAFC)AE8A$7D8# 4&&, A-CEF%22)B*BA7BC92DE789E9FBF -7C A 477$7D8 A F*$58*8C7F)C A E78 A 288C A 38FC83 A 7C3 A 798 A 4DD8%455 A 483 A %)9 A 7F)C79 A 3F9F2483A 8*A94CCFCAFCA%F583AC8+)96#AB8AE8A3)AC)A7$$879A)A28A4F7258A%)9A( -1./0#A 0E88AF*$58*8C7F)CA798A755A2783A)CAE8AD5F8C 8989A*)385A+EFDEA74*8AE8A85F8CD8A)%A7258A%F583A 8989#A4DEA8989A*4A28AD)C7C5A987DE7258A7C3A77F57258A%)9A889AE)#A0EFA*)385 AD)C97A+FEAE8A 8598*85A3C7*FDAC7498A)%A( -1./0A+E898AE8A5)D7F)CA)%A87DEAE)AD7CADE7C8AD)CFC4)45A)AE7AC)AE)A I
D7CA28AD)CF38983A7A987DE7258A7C3A985F7258A8C)4EA)A$57AE8A9)58A)%A7A8989#AAFAE898%)98AC8D879A)A48A7A$889 ) $889A*)385A)A4$$)9A( -1./0#A 49E89*)98AE88AF*$58*8C7F)CA*7FC5A4$$)9ACDE9)C)4AD)**4CFD7F)CA8*AE7A9834F98AE8A$9)D8A 76FCA%)9A7A89FD8A7C3AE8A8989A385F89FCAE7A89FD8A)A28A4$A7C3A94CCFCAF*457C8)45#ACA7A( -1./0AFAF A )%8CA)28983AE7A$9)D88A798AC)AD)CC8D83A7AE8A7*8AF*8A28D748A)%A385F28978A3FD)CC8DF)CA,8##A)A78 A 27891A)9AFC)54C79A)C8A,8##AC)AC8+)96AD)89781#ACA)9389A)AD)$8A+FEAEFA5F*F7F)CA7CA7CDE9)C)4A%)9*A )%AD)**4CFD7F)CAFAC8D879AFCA)9389A)A755)+AFC897DF)CA28+88CA$9)D88AE7A798AC)A3F98D5AD)CC8D83#A FC755AFCAE8A7C3793A477$7D8A$9)97**FCA*)385A25)D6FCA)$897F)CA798AC74975A28D748A4C58A7A$9)D8A E7 A 377 A ) A +)96 A +FE A F A F A 4$8C383# A0E4 A E8 A 27FD A 477$7D8 A )$897F)C A , 32A 7C3 A521 A 798 A CDE9)C)4A ,25)D6FC1A)$897F)C#A1DD)93FCA)A)*7CA8A75#ACNDA+E8CA477$7D8A8*AC883A)A4$$)9A*)2F58AE)AFCA73 A E)DAC8+)96AE8F9A)$897F)CAE)453AC)A28ACDE9)C)4#A0E4AF%A)*8AC88383A8C9AFAC)A77F57258A$9)D88A E)453A28A7258A)A+FDEA)A7C)E89A76A97E89AE7CA25)D6#A4$$)9FCAE8A3C7*FDAC7498A)%A73AE)DA8CF9)C*8CA7 A 98$)983 A 2 A )*7C A 9834F98 A 858C3FC A E8 A 27FD A 477$7D8 A )$897F)C A +FE A C)85 A D)C94D A ) A F*$9)8 A E8A $89%)9*7CD8A)%A477$7D8A7C3AFA$9)97**FCA%585F2F5F#AC3883A88975A477$7D8AF*$58*8C7F)CA38FC83 A $8DF%FD755 A %)9 A 73 A E)D A C8+)96 A 4$$)9 A C)C 25)D6FC A )$897F)C# A 1 A ))3 A 498 A )% A E88 A 477$7D8 A F*$58*8C7F)C A D7C A C)725 A 28 A %)4C3 A FC A C;D# A A49 A 477$7D8 A F*$58*8C7F)C A 5F68+F8 A 858C3 A E8 A 7C3793 A $8DF%FD7F)CA+FEA4$$)9A)%A7CDE9)C)4A)$897F)CA4FCAE8A8DECF348A)%A4498A)228DAC?DA7A85$57FC83AFCAE8 A C85A8DF)C#A 4&4 'BC+%6F22$6692!.9C 1DD)93FCA)AE8A4498A)228DA$8DF%FD7F)CAC>=DA7A4498A)228DA7DA7A7A136'#A,$57D8E)53891A%)9AE8A9845A)%A C) 8 $89%)9*83A7CDE9)C)4AD)*$47F)C#A1A4498A)228DA755)+AD5F8CA)AD)CFC48AD)*$47F)CA+FE)4A28FCA 25)D683A+7FFCA%)9A7AC) 8 77F57258A7C+89# 0E8A9845A)%A7CA7CDE9)C)4AD)*$47F)CAD7CA)C5A28A989F883A4FCAE8A*8E)3AD25A+E8CAE8AD)*$47F)CAE7A D)*$5883A25)D6FCAF%AC8D879A4CF5AFAFA9873#A1A7AD)C8348CD8A4FCA7A4498A)228DAD7CAF*$9)8AD)*$47F)C A 7AE7AE8A9845A7D34FFF)CAD7CA28A7DEF883AD)CD4998C5A+FEAE8AD755FCA$9)D8A7A5)CA7AE8AD755FCA$9)D8A 3)8AC)AC883A)AFC)68A*8E)3A)CAE8A9849C83A)228D#A0EFA98C3AFAF554983AFCAF#A:#2A+EFDEAE)+AE8AF*85FC8A )%A7A$9)D8A4FCA4498A)228DAD)*$7983A+FEAE7A+FE)4A4498A)228DAFCAF#A:#7#AK)+889AF%AE8AD755FCA$9)D8A C883A)A48AE8A9849C83A)228DAFAFAE8CA74)*7FD755A25)D683AF%AE8A9845AFAC)A8A77F57258A7AE)+CAFCAF#A :#D#A 67CD8557F)CAFA$)F258A4FCAE8 A8C82A *8E)3A)AE7AE8AD755FCA$9)D8A)$A+7FFCA%)9AE8A9845A7C3A7CA 98)49D8A7)DF783A+FEAE8A4498A)228DAD7CA28A79278 D)558D83#A133FF)C75A*8E)3A798A$9)F383A)A3889*FC8AF% A E8A76AD)*$5883AC)9*755A)9A+7AD7CD8583#A 1A7A9845AE8A$9)97**FCA*)385A)%A477$7D8AFCAE8A$988CD8A)%A*)2F5FAEFEAC8+)96A3C7*F*A7C3 A 3FD)CC8DF)CAD7CA28AF*$9)83A2AE8A$9)FF)CA)%A7CDE9)C)4A)$897F)CAE7A755)+AC)C 25)D6FCA7DD8A)AE8A $7D8# A0) A 3) A ) A )49 A 477$7D8 A F*$58*8C7F)C A 588978 A )C A 4498 A )228D A ) A $9)F38 A 7 A $7F9 A )% A 7CDE9)C)4 A L $%&4A/57*$58A)%A48A)%A4498A)228DA
)$897F)C7A32$7,9873AFCAE8A%44981A7C3A52$7,768AFCAE8A%44981#A
, )1/1A31#A2D30515D!2$! 2!33! 5"DA5D#251! A
0E8A477$7D8A8DEC)5)AE7A288CA$9F*79F5A38FC83A)A$9)F38A$89F8CA)228DA85DE7C8A7987A,$7D81A E9)4EA+EFDEA$9)D88AD))93FC78A7DF)CA7C3A85DE7C8A377A7C3AEFAE7A98*7FC83AFA$FD75A478AD8C79F)#A1 A *8CF)C83AFCA8DF)CA:#>#9A*)A477$7D8AF*$58*8C7F)CA798A8989 2783A8*A+E898AD8C975F@83A8989A 798 A 483 A ) A *7C78 A E7983 A $7D8# A 49E89*)98 A E88 A 8989 A 798 A )C5 A 7DD8F258 A 4FC A 7 A 8 A )% A CDE9)C)4 A )$897F)CA+EFDEAFA7AD)CF8CA7$$9)7DEAFCA7AC8+)96A+E898AD)CFC4)4AD)CC8DFFA28+88CAD5F8CA7C3A8989 A D7C A 28 A 74*83# A 1 A 85$57FC83 A FC A E8 A %)9*89 A 8DF)C A 7 A 8989 2783 A 8* A F A E7935 A D)*$7F258 A +FE A E8 A DE797D89FFD A )% A ( -1./0 A +E898 A C) A E) A D7C A 7D A 7 A 7 A 985F7258 A 8989 A %)9 A 755 A E8 A )E89 A E)# A -)98)89A CDE9)C)4AFC897DF)CA28+88CA$9)D88AFCA( -1./0AE)453A28A7)F383 A28D748 A)%AE8A5)CA97C*FF)CA 3857 A E7 A D7C A 28 A 85$8D83 A FC A 4DE A C8+)96# A1A $889 ) $889 A %585F258 A 7C3 A 3857H3F94$F)C )5897C A 477$7D8A F*$58*8C7F)CA*4AE898%)98A28A3885)$83AFCA)9389A)A$9)F38A477$7D8A89FD8A%)9A( -1./0#A 4A.A,182F7&91292C55B6C7$637(11635ACBF5B872563F1AFAE8A477$7D8AF*$58*8C7F)CA+8A38FC83A 75)CAE7A5FC8#AA8C8975A79DEF8D498AFAE)+CAFCAF#A9#A4A.AFAD)*$)83A)%A+)A27FDA*)34587A7AD)**4CFD7F)C A 8*A7C3AE8A477$7D8A8*#A ,& #EE6FCBF289B9 B4F53FCA7CA7$$5FD7F)CA%)9A( -1./0A9834F98A)*8AD)**4CFD7F)CA*F3358+798A8*A+FEA+EFDEAE)A D7CAD)5572)978AFCA7A$889 ) $889A*7CC89A)A8C498A*878A97C$)97F)CA+EF58A3875FCA+FEAEFEA578CDA7C3A5FC6 A 3F94$F)C#A4A.A985F8A)CA7AD)**4CFD7F)CA*F3358+798A8* AD75583A()(O1. A)68A92C5 7BFF29BC5B6C7BC 7
96B27*B322FF77%6872563F+7,--."A+EFDEAE7A288CA38FC83AFCA)49A572)97)9A7C3AFAC)+A3F9F2483A4C389AE8A
89*A)%AE8A.A8C8975A425FDAFD8C8>#A
()(O1. A 4$$)9 A D)C8C 2783 A FC%)9*7F)C A 3F8*FC7F)C A FC A ( -1./0# A C A D)C8C 2783 A C8+)96FCA FC%)9*7F)C A %5)+ A )+793 A FC89883 A 98D8F89 A 97E89 A E7C A )+793 A $8DF%FD755 A 8 A 38FC7F)C# A 0EF A 7$$9)7DE A C)725A%FAE8AC883A)%A7$$5FD7F)CA7C3A89FD8A383FD783A)AFC%)9*7F)CAE79FCA)9A88CA3F9F24F)C#AAD7CA75)A 28A483A%)9A38FC7F)C 39F8CA*878A%)9+793FCAE)4EAD)CF389FCAE7A38FC7F)C 39F8CA%)9+793FCAFAF*$5A 7A$79FD4579AD78A)%AD)C8C 39F8CA%)9+793FCA+E898AE8A)C5AFCF%FD7CA$797*889A%)9A*878A$9)D8FCAFAE8 A > E$7HH+++ F9F7#4CF 42#%9H611H()(O1.A A
?
F38CF%F89A)%AE8A38FC7F)CAE)A,)9A4891#A -878AFCA()(O1.A798AD)*$)83A)%A+)A$797A7A38D9F$)9A7C3A7A$75)73#A0E8A$75)73AFAF*$5A$89D8F83 A 7A7A28A7997#A0E8A38D9F$)9AFA7AD)558DF)CA)%A79F248A85$9883A7A)C92"7A2+A4$58#A0E88A79F248AD7CA28A 38%FC83A%9885A2AE8A3885)$89A)%A7$$5FD7F)CA89FD8A24F5A)CA)$A)%A()(O1.#A ()(O1.AF*$58*8CA7A858DF8A89F)CA)%AE8A8$F38*FDA9)4FCA*)385A$9)$)83AFCAC>:D#AA$9)F38A7$$5FD7F)CA 89FD8A+FEA7A$425FEH42D9F28A1#AOE8CA7A*878AFA$425FE83A)CA7AE)AFAFAF*$5A$4AFCAE8A5)D75AD7DE8 A *7FC7FC83A)CAEFAE)#A1%89+793A87DEA973F)AD)C7DA+FEA7C)E89AE)AFA7CA)$$)94CFA%)9AE8A()(O1.A8* A )A97C%89A7AD)$A)%AE8A*878A)AE7AE)A+E8C889AFAFAFC89883#A
C A)9389 A)A98D8F8A*878A7CA7$$5FD7F)CA89FD8 A*4 A42D9F28A+FEA()(O1.A7C3 A$9)F38A7 AF2285B6C 7
15523CAE7ADE797D89F@8AE8A6FC3A)%A*878AFA+)453A5F68A)A98D8F8#A1A858DF)CA$789CAFA85$9883A24A5F68A7 A *878A38D9F$)9A85D8$AE7AE8AA2A%F853A)%A87DEA79F248AD)C7FCA7A984579A85$98F)C#A0E8A858DF)CA$789C A $8DF%F83A2A755A5)D75A7$$5FD7F)CA89FD8A94CCFCA)CAE8A7*8AE)A38%FC8AE8A BC5232F57136$B2A)%AEFAE)#A()(O1.A 48AEFA$9)%F58A)A3889*FC8A+EFDEA*878AE)453A28A85DE7C83A+E8C889A7A973F)AD)C7DAFA8725FE83A28+88C A +)AE)#A(87F5A72)4AEFAFC897DF)CADE8*8A7C3A72)4AE)+AFA$89%)9*AFCA9875AD)C3FF)CAD7CA28A%)4C3AFCAC>>D#A 1A7A8C8975A9458A7A*)2F58AE)AE7A38%FC8A7A$8DF%FDAFC898A$9)%F58AFA85$8D83A)A898A7A7A*)2F58AD799F89A%)9 A 755A*878AE7A*7DEAEFA$9)%F58#AB8A7AE)AD7CA75)A28AD)C%F4983A)A7A)A898A7A7C A53ABF5B87833B23A %)9A *878AE7A$988CAC)AFC898A)AE8A7$$5FD7F)CA89FD8AFA94CA5)D755#A0EFA28E7F)9AFA)$F)C75AE)4EA7C3AFA *4A28A8C72583A85$5FDF5A2A8FCAE8AD)C%F497F)CA$797*889A)%A()(O1.A7DD)93FC5#A -)2F58AE)A94CCFCA()(O1.A)C5AFC897DA2A85DE7CFCAD)C9)5A7C3A377A*878A8CD7$45783AFCA(A 37797*A+EFDEAD7CAE8*858A28A97C$)983A8FE89AFCAIA)9A?A$7D68#A798A*878A798A8*8C83A) A E7A87DEA%97*8CAD7CA%FAFCA7AFC58A(A37797*#A97*8CA)%A7A5798A*878AD7CA$9)$778AFC38$8C38C5AFC A E8AC8+)96A7C3A28A9878*2583A)C5A)CA38FC7F)CAE)# ,&4 )B*BA7BC9 1DD)93FCA)AE8A477$7D8A$8DF%FD7F)CA$9)D88AD))93FC78A2A85DE7CFCA8C9F8AE9)4EAE8A4$58A$7D8 A 4FC A 7 A F*$58 A 8 A )% A )$897F)C# A /C9F8 A 7C3 A )$897F)C A 98$988C A E8 A 27FD A 477$7D8 A 858*8C# A0EF A 8DF)CA 38D9F28AE8A4$$89A5789A)%A4A.A7C3AFA8C9A*)3458A75)CA+FEAE8A4$$)983A)$897F)C#A
,&4& A9E298
4A.AFA7A3F9F2483A$889 ) $889A477$7D8AF*$58*8C7F)CA7AFAFAFC8C383A)A28A483AFCA( -1./0A+E898A 8989AD8C975F@7F)CAFAF*$97DFD75#A/7DEAE)A*7FC7FCA7A5)D75A$7D8AFCA+EFDEA4A.A)98AE8A8C9F8A$9)34D83 A 5)D755A,E7AFA8C9F8A$9)34D83A2A3B52A)$897F)CAFCFF783A2A5)D75A$9)D881#A/7DEAE)AFAE4A98$)CF258A%)9A *7C7FCAFA)+CA8C9F8#A%A8C9F8A+898A$9)$7783A755A)89A7A( -1./0A7C3A*7C783AFCA7AD)5572)97F8A*7CC89A EFAD)453A9845AFCA631%C72C53B2F7A)AE8A28A)%A)49A6C)+5838AD)C8C4AE7AC)A288CA)583A8AFCA( -1./0#A 6)C8348C5AE)AFCA7A( -1./0AD)453AC) A7988A)A98*)8A7CA8C9A%9)*AE8A$7D8A%)9A857*$58A+E8CA7 A $9)D8A+7CA)A52AF#A
)9AE8A768A)%AF55497F)CAF*7FC8AE7A7CA8C9AE7A288CA$9)$7783AFCAE8A( -1./0AE)+CAFCAF#A>#A/7DEA E)AC)+AE7AFA)+CAD)$A)%AE8AF8CA8C9#AOE8CA7A$9)D8AFCAF57C3A>A%)9A857*$58A+7CA)A 52AE8A8C9A7A527 98348AE)453A28A8CA)A755AE8AE)AFCAE8A( -1./0AFCA)9389A)A38588AE8AF8CA8C9A%9)*AE8F9AD7DE8#A%AC)A489 A 889AFFAF57C3ALA%)9A857*$58AE8AD)$F8A)%AEFA8C9AFCAEFAF57C3A+F55A28D)*8A)9$E7CA8C9F8#A
CA)9389A)ADF9D4*8CAEFA$9)258* A3B52A )$897F)CAFCA4A.A798A)C5A$9)D883A5)D755A+EF58A*7DEFCA7C3A %8DEFCA)$897F)CA,32A52A7C3AC65B$#1A798A$9)D883A2A3489FCAE)A)89AE8AC8+)96A%)9AE8A8C9F8AE8A)+C#A
,&4&4 F92BF259E78B9
1DD)93FCA)AE8A477$7D8A$8DF%FD7F)CA7C A2C53#A FA7CA)228DA98%898CD8ADE797D89F@83A2AFAF$B2FG#ACAE8A 477$7D8A89*FC)5)A8C9A%F853A98%89A)C5A)AE8A$425FDA79F248A)%AE8A8C9A)228D#ACA%7DA8C9A%F853A798 A *87CA)A7DA7A7A8A)%A79F248ADE797D89F@FCA7CA8C9A7C3AE8A798A483A+EF58A$89%)9*FCA*7DEFCA)$897F)CA
+E8CA989F8FCA8C9F8A%9)*AE8A$7D8#A08*$578A798A$8DF75A8C9A)228D#A0E8A7548A)%AE8F9A%F853A798A483A%)9 A *7DEFCA)$897F)C#A 1A*8CF)C83AFCA8DF)CA9A7A()(O1.A*878AE7A+)A$797A7A38D9F$)9A7C3A7A$75)73#A/C9F8A7C3A8*$578A 798AF*$5AD799F83AFCAE8A*878A7AFA$75)73A7C3AD)CF38983A7A7AF*$58A28A7997#AFCD8AE8A38D9F$)9A)% A ()(O1.AFA*87CA)ADE797D89F@8AE8AD)C8CA)%AE8A*878A4A.A7AE8A*878A)A38D5798A,38D9F281AFA7D475 A D)C8CAFCA)9389A)A$8DF%AF%AFAD)C7FCA7CA8C9A)9A7A8*$578#A )9AE8A768A)%AF55497F)CA+8AD)CF389A7A679$))5FCA7$$5FD7F)CA+EFDEA755)+A489A)AE798A8*$A87A349FC A 7A9F38A+FEA%855)+AD)**489A)CAE8A7*8A9)48#A89AD7CA38D5798AE8A9F38A%)9A+EFDEA7A87AFA77F57258A4FCAE8 A %)55)+FCAD57A257
public class Seat implements Entry{
public String departure;
public String arrival;
public Date date;
public Seat(){};
public Seat(String departure, String arrival, Date date){
this.departure=departure;
this.arrival= arrival;
this.date= date;}
}
FCAD57 A25A7CA857*$58A+F55A28A3885)$83AE9)4EAEFA8DF)CA7C3AE8AC85A)C8A+EFDEA7F*A%)9A2889A 4C3897C3FCAE8A27FDA$9FCDF$58A)%A477$7D8MA$9)97**FCA*)385#A)9AEFA857*$58A+8A75+7AD)CF389AE8A( -1./0AE)+CAFCAF#A>#A
0+) A 87 A ,75) A D75583 A 8C9F8 A FC A 477$7D8 A 89*FC)5)1 A D7C A 28 A D98783 A 4FC A D57 A25A FC A E8 A %)55)+FCA *7CC897A
Seat offer1 = new Seat ("Paris", "Berlin", new Date (2013, 9, 22)); Seat offer2 = new Seat ("Paris", "Madrid", new Date (2013, 8, 17));
0E88A8C9F8A798ADE797D89F@83A2AE988A%F8537 A2135A32"733BA 7C3 A52EA+EFDEA798A)A28AD)CF38983A349FCA *7DEFCA)$897F)C#A)9AE8A*7DEFCA)$897F)CAFAFA+)9EA76FCAFC)AD)CF3897F)CAE7A4A.AF*$58*8CAE8 A 7*8A*7DEFCA75)9FE*A38%FC83AFCAE8A477$7D8A$8DF%FD7F)C#A
)9AE8A768A)%AF55497F)CAE988A98348A,)9A8*$578AFCA477$7D8A89*FC)5)1A798AD98783A7AE)+CA285)+7
Seat request1 = new Seat ("Paris", "Berlin", null);
Seat request2 = new Seat ("Paris", "Zurich", new Date (2013, 10, 17));
Entry request3 = new Entry();
1DD)93FCA)AE8A477$7D8A$8DF%FD7F)CAE8A8*$578AF32/A2F5-GA*7DE8AE8A8C9AF6$$23-GA%)9AE8A%)55)+FCA 987)C7A%F9AE8A%F853A02135A321A7C3AF799F75GAFCAE8A8*$578A*7DE8A857D5A#75%27A2AFCAE8A7*8A%F853A)%A E8A8C9#A8D)C3AE8A%F853A0521A+FEAC455A98%898CD8AFCAE8A8*$578AFAD)CF38983A7A7A+F53D793AE8CD8AFAD7CA*7DEA 7CA7548AFCAE8A7*8A%F853A)%AE8A8C9#AFC755AE8A8C9A7C3AE8A8*$578A*7DEA#75%275#12A,F#8#A2)EA)%AE8*AE78A E8A7*8A$8AFCD8AE8A798A38%FC83A4FCAD57 A251#A1A7A9845A+E8CA7CA)$897F)CA$9)F38AF32/A2F5-GA7A7A 8*$578AFAD7CAE78AE8A8C9AF6$$23-GA7A7CA7C+89#AK)+889A)CAE8A)C8AE7C3AE8A8*$578AF32/A2F52GA3)8AC)A *7DEA7CA8C9A%)9A7 AA279BF958%BCDA 987)C#AACAE8A)E89AE7C3AE8A8*$578AF32/A2F59GA3)8AC)A*7DEA7CA 8C9A%)9A7A5#1279BF958%BCDA987)C#A-)98A387F5A72)4AE8A*7DEFCA75)9FE*AD7CA28A%)4C3AFCACLD#A
,&4&, !79BF
1DD)93FCA)AE8A477$7D8A$8DF%FD7F)CA7DD8A)A8C9F8A*4A28A3)C8AE9)4EA7A8A)%A27FDA)$897F)CA +EFDEA7987 A3B52 A327 32&$'BF5 A52"A 52&$'BF5FA 7C3 AC65B$##AB)E A32A 7C3 A52A 798A25)D6FCAE7AFAF%AC)A *7DEFC A 8C9 A F A 77F57258 A E8 A $9)D8 A $89%)9*FC A E8 A )$897F)C A F A 4$8C383 A 4CF5 A 7 A *7DEFC A 8C9 A 28D)*8 A
77F57258#A49E89*)98A4A.A588978A)CA4498A)228DA)A$9)F38A7A$7F9A)%A7CDE9)C)4A)$897F)C7 A32$ 77C3A 52$7#A B85)+AFA7A38D9F$F)CA)%AE8A+7A4A.A4$$)9AE88A)$897F)C#A 3B527AEFA)$897F)CA)98A7AC8+A8C9AFC)AE8A5)D75A$7D8A)%AE)A%)9A7A$8DF%FDA$89F)3A)%AF*8AD75583A7A 2F2#A1A 5878A98$988CAE8A5F%8F*8A)%AE8A8C9#AAFA+)9EAC)FCAE7A87DEA8C9AFA)C5A)983A)CAE8A5)D75AE)A7C3AFAC) A 98$5FD783A)89AE8A( -1./0#A0E898%)98AFAFA4$A)A87DEAE)A)A*)CF)9AFA5)D75A$7D8A7C3A*7C78AFA)+CA8C9F8 A 7C3A8$8DF755A8C498AE7A)4 )% 378A8C9F8A798A98*)83#A )9A)49A857*$58A+8A4$$)8AE7A7A489A,)9A7A$9)D8AFCA477$7D8A89*FC)5)1AD75583A3-AFCAF57C3AIAE7A7CA 77F57258A87A%9)*A33BFA)A4692A)CA4C37A::H=;H:=>9A)AFA+9F8AE8A%)55)+FCA8C9AFCAE8A$7D87
Seat offer = new Seat ("Paris","Roma", new Date (2013,9,22));
1A*8CF)C83A72)8AE8A8C9A06$$231AFA)C5A)983A5)D755A7C3AFAC)A3F8*FC783A)89AE8A( -1./0#A 327AEFACDE9)C)4A)$897F)CA98348AE8A4A.A89FD8A)A5)D78A7CA8C9AE7A*7DE8AE8A8*$578A$9)F383 A 7A7A$797*889#AOE8CA7A$9)D8A)CA7AE)A$89%)9*A7 A32A)$897F)CAE8A5)D75A$7D8A)%AE8AE)AFA3489F83A%F9AFCA )9389A)A%FC3A7A*7DEFCA8C9#A%AC)A*7DEFCA8C9AFA%)4C3AE8A$9)D8AFA4$8C383A%)9A7AD897FCA7*)4CA)%AF*8 A $8DF%F83AFCAE8A5878A$9)F383A7A7A$797*889#A-87C+EF58A4A.A3F8*FC78AE8A98348A)89AE8A( -1./0A4FCA E8A5878AF*8A7A7A38735FC8A%)9AE8AF8CA98348#A/7DEAE)A+E8CAFA98D8F8AEFA98348A3489F8AFA5)D75A$7D8A) A %FC3A7A*7DEFCA8C9A7C3A%)9+793A7AD)$A)%AEFA8C9A,F%A7C1A27D6A)AE8A98348FCA$9)D8#A$)CA98D8FFCAE8 A 7C+89A8CA%9)*A3F%%898CAE)AFCA( -1./0A4A.A48AFAF2285B6C716B8#A7C3ADE))8A7CA7C+89A)AE8A327 )$897F)CA7C3A984*8AE8A98348FCA$9)D8#A1DD)93FCA)AE8A477$7D8A$8DF%FD7F)CA87DEAF*$58*8C7F)CAD7C A DE))8AFA$9)$89A858DF)CA$)5FD#A)9A8%%FD7DAF48AE8A858DF)CA$)5FDA4$$)983A2A4A.ADE))8A75+7AE8A %F9A77F57258A7C+89A7A7CA7C+89A%)9AE8AD755FCA)$897F)C#A AFA+)9EAC)FCAE7AF%AE8AF*8A%)9AE8A5878AE7A85$F983A7C3AC)A7C+89AE7A288CA98D8F83A4A.A38588AE8 A 98348A7C3A984*8AE8AD755FCA$9)D8A)AFC%)9*AFA72)4AEFAF48#A )9A)49A857*$58AF*7FC8AE7A7A489A32AFCAF57C3A>A+7CA)A6C)+A+E8CAFAFA$)F258A)A)A%9)*A33BFA)A469A )AE7AFA$9)F38A4A.A+FEAE8AD)998$)C3FCA8*$578A+EFDEAFAE)+CAE8987A
Seat request = new Seat ("Paris", "Roma", null);
CA)9389A)A97C%89AEFA98348A) A3-A +EFDEAE7A7A*7DEFCA8C9 A32A 97C*FA7AD)$A)%AE8A98348A) A5-A +FEA +EFDEAFAE7A7AD)C7DA349FCAE8AFC8975A,
5
>A5
>6 A1A7AE)+CAFCAF#AI#A0E8CAE8AD799F89A5-7*)8A7C3A28D)*8A 611635ACBF5B8#AD)CC8D83A+FEA527349FCAE8AFC8975A,5
: A5
:6 A1AFCA+EFDE7F797C*FA7AD)$A)%AE8A98348A)A52#A CAE8A7*8A+7A+EF58A52AFA*)FCAFA97C*FA7AD)$A)%AE8A98348A)AE8A%FC75A38FC7F)CA3-A7%89A7CA792F979A 3FD)CC8DFFAFC8975A,5
:6 A5
9 A1#A0E8A$9)D8A3-A+E8CA98D8FFCAE8A98348A%)9+793A7AD)$A)%A6$$23A27D6A)A32 7 4FCAE8A*)2F5FA)%AE)A28+88CAF57C3#A1A7A9845A3-A6C)+AE7A7A4DEA9F38AFA77F57258A)CA4C37A::H;H:=>9#A ; $%&2A/57*$58A)%A7A*878A97C*FF)CAFCA7A( -1./0AA$897F)CA32&$'BF5FAFA75)A4$$)983A2A4A.#A1DD)93FCA)AE8A$8DF%FD7F)CAE8A68A%87498A)%AEFA)$897F)CA FAE7AFA$9)F38A7CAF**83F78A7C+89#A0)A3)A)AFA3489F8A)C5AE8AD8C975A8989A7C3AF**83F785A9849CA8FE89A7 A *7DEFCA8C9A)9A7 ACAA FC3FD7FCAE7AC)A*7DEFCA8C9A85F#A076FCAFC)AD)CF3897F)CAE8A728CD8A)%A4DEA D8C975A8CFAFCA( -1./0AE8A8*7CFDA)%AF**83F78A7C+89AD7CA)C5A28A)27FC83A2A3489FCA5)D755#A)9AEF A 987)CAE8A32&$'BF5F7FCA4A.A3489F8A)C5AE8A5)D75A$7D8A)A%FC3A7CA8C9AE7A*7DE8AE8A$8DF%F83A8*$578#A0E8 A 98348AFAC)A3F8*FC783A)89AE8A( -1./0#A
527 A EF A CDE9)C)4 A )$897F)C A 27FD755 A $89%)9* A E8 A 7*8 A %4CDF)C A 7 A32 A 85D8$ A E7 A F A 98*)8 A E8A
*7DEFCA8C9A%9)*AE8A$7D8#A4A.A%F9A879DE8AE8A5)D75A$7D8#A%AC)A*7DEAFA%)4C3AFA4$8C3AE8A$9)D8A%)9A E8A5878AF*8A$9)F383A7A7A$797*889A+EF58A879DEFCAE8A7C+89#AA79A2A3489FCA755AE8AE)A)89AE8A( -1./0AFCA)9389A)A3FD)89A+EFDEAE)A,F%A7C1AE78A7A*7DEFCA8C9#A0E8AE)A8C3A27D6A$9)$)75A)AE8AD755FC A $9)D8#A$)CA98D8FFCAE8A$9)$)75A4A.A48AFA858DF)CA$)5FDA)A858DA)C8AE)A%9)*A+EFDEAE8A8C9AE)453 A 28A768C#A4A.AE8CA76AE8ADE)8CAE)A)A$89*7C8C5A98*)8AE8A*7DEFCA8C9A%9)*AFA5)D75A$7D8A7C3AE7C3AF A 27D6A)AE8A98348FCA$9)D8#A %AE8A5878A85$F98A7C3AC)A7C+89AE7A288CA98D8F83AE8CAE8A)$897F)CA89*FC78A7C3AE8A$9)D8AFA984*83A)A 8AFC%)9*83A72)4AE8AF48#A
0E8 A 8CF98 A )$897F)C A *7 A 768 A *)98 A F*8 A E7C A E8 A32A )$897F)C A FCD8 A F A D)CF A )% A 4$ A ) A %)49 A *878A 3F8*FC7F)CAFCAE8AC8+)96A+EF58A)C5A+)A*878A798A9834F983AFCAE8A32A)$897F)C#A
4A.A75)A4$$)9A7A52&$'BF5FA)$897F)CA+EFDEA$89%)9*A857D5A5F68AE8AD)998$)C3FCA32&$'BF5FA85D8$A E7A7A*7DEFCA8C9AFA98*)83A%9)*AE8A5)D75A$7D8#A
32$7C752$77AE88A)$897F)CA798A7CDE9)C)4A89F)CA)%A32A7C3A52A)$897F)CA98$8DF85#A0E8A755)+A
C)C 25)D6FC A7DD8 A ) AE8 A$7D8 A 4FC AE8 A8DECF348 A)% A 4498 A )228D#A (49FC AE8 A+E)58 A )$897F)CA E8 A D755FCA $9)D8AD)CFC48A858D4FCAFAD)38A+FE)4A28FCA25)D683A7AF%AE8A)$897F)CAE73A288CA8%%8DF85A$89%)9*83A7A 5)CA7AE8AD755FCA$9)D8A3)8AC)AC883AE8A9875A7C+89#A0E8AD755FCA$9)D8A+F55A)C5A28A25)D683AF%AFA3)8AC883AE8 A 7D475A7C+89A7C3AE7A7C+89AFAC)A8A77F57258#A OE8CAFC)6FCA32$7)9A52$7A7AE)+CAFCAF#A:#2A7AC8+A4498A)228DAFAD98783A7C3A9849C83AFC7C5A7AE8 A 9845A)%AE8AFC)D7F)C#A)AE8AD755FCA$9)D8AFAC)A25)D683A+7FFCA%)9AE8A7C+89#A-87C+EF58A4A.A28E78A7AF% A FA+898A7AC)9*75A32A)9A52A)$897F)C#A$)CAE8AD)*$58F)CA)%AE8A)$897F)CAE8A7C+89AFA7FC83A)AE8A4498A )228D#AAFAC)+A$)F258A%)9AE8AD755FCA$9)D8A)A8AE8A9845A4FCA*8E)3AD25# C65B$#7AEFA)$897F)CAFC%)9*A7A$9)D8A+E8CA8C9F8A*7DEFCA7A8A8*$578A798A+9F8CAFCAE8A$7D8#A OE8CA7A$9)D8AFAFC89883A72)4 A$8DF%FDA8C9F8AFA$9)F38A4A.A+FEAE8AD)998$)C3FCA8*$578#A4A.A 3F8*FC78AE8A8*$578A755A)89AE8AE)AFCAE8A( -1./0#A0E8AE)A98F89AE8A98348AFCAE8AE)$8AE7A7 A *7DEFCA8C9A+F55A28A+9F8CA28%)98AE8A5F%8F*8A)%AE8A98348A85$F98#A6)C8348C5A+E8CA7A*7DEFCA8C9AFA +9F8CAFCA7AE)AE8AE)A8C3A7CA88CA)228DAD)C7FCFCAFC%)9*7F)CA72)4AEFA8C9A)AE8A98348FCA$9)D8#A
)9A)49A857*$58A+8A4$$)8AE7A7A489 A37A FCAF57C3A:AFAFC89883A72)4A$8DF%FDA9F38#A%A7A*7DEFCA9F38AFA D98783AFCAF57C3A>AE8A489A*)FCA,385F289785A)9A2ADE7CD81A%9)*AF57C3A>A)AF57C3A:AD7CA898A7A7A377A*458A%)9 A E8A97C*FF)CA)%AE8A88CA)A37#AK)+889AF%A7A*7DEFCA9F38AFA+9F8CAFCAF57C3ALA7C3AC)AE4*7CAD799F89A*)8A %9)*AF57C3ALA)AF57C3A:AE8CAE898AFAC)ADE7CD8AE7AE8A88CA889A8A385F8983A%9)*AEFAF57C3#A ,&4&2 5BFBCF 1DD)93FCA)AE8A477$7D8A$8DF%FD7F)CAFAFA$)F258A)A9)4$A*45F$58A)$897F)CA,$79FDF$7C1AFC)A7A24C358 A E7A7DA7A7AFC58A7)*FDA)$897F)C#A0EFAFA3)C8A4FCAE8A)$F)C75AD)CD8$A)%A97C7DF)C#A/FE89A755A)$897F)C A +FEFCAE8A97C7DF)CA798A$89%)9*83A)9AC)C8AF#ACA%455 D)CC8D83A7258AC8+)96A7A97C7DF)CAFAD)C9)5583A2A7 A $8DF%FDA*7C789A,89891A+EFDEAE)453A75+7A28A987DE7258A2A755AE8A$79FDF$7C#A%A7A$79FDF$7CAFA*)*8C79F5 A 3FD)CC8D83AE8A+E)58A97C7DF)CAFA72)983#A6)CF389FCAE7AE)AFCA( -1./0AD7CAC8FE89A985A)CA7A985F7258A >=
8989AC)9A987DEA7AD)C8C4AFAFAC)A$)F258A)A8C498A97C7DF)CA7A38%FC83A2A477$7D8#A)9AEFA987)CA4A. A 3)8AC)A4$$)9AE8AD)CD8$A)%A97C7DF)CA7C3A87DEA)$897F)CAFAD)CF38983A7A7AFC58)CA)$897F)C7A7CA)$897F)C A E7A3)8AC)AD)CF389AE8A78A)%A)E89A)$897F)CA+EF58A$89%)9*FCAFA76#A 2 /10"15D!2 1A( -1./0AFA7A+F9858AC8+)96A+E)8A)$)5)AFAD)CFC4)45ADE7CFCA7C3A+E898A973F)AD)C7DA28+88CA *)2F58AE)A3)AC)AC8D879F5A%)55)+A7CA$983FD7258A$789C#A0E898%)98A$9))D)5A7C3A8*A38FC83A%)9A( -1./0A798A44755A8754783A4FCAC8+)96AF*457)9#A0E8A)9FFC75FA)%A)49A+)96A5F8AFCAE8A%7DAE7A4A.AE7 A 288CA%455AF*$58*8C83AFCA477A7C3AD7CAE4A28A883AFCA9875 5F%8A85$89F*8CA)CAFC45A7C3A1C39)F3A$57%)9*# A 4A.AFA3F9F2483A4C389AE8A89*A)%AE8A.A8C8975A425FDAFD8C8:#AAE7A88CA858CF8A8FCA)A857*FC8A E)+A+855AFA$89%)9*AFCA( -1./0#AOEF58AD)C34DFCAE88A8A+8A9F83A)A875478AE)+A87AFAFA%)9A7C A 7$$5FD7F)C A 3885)$89 A ) A F*$58*8C A 7 A 3F9F2483 A 7$$5FD7F)C A 4FC A 4A.# A 49E89*)98 A +8 A E78 A 8754783 A FA 8%%FDF8CDAFCA9875AD)C3FF)C#A 2& 9*987F%26921778CBF2-2)D!2 4A.AF*$58*8CA4CA-FD9)8*MA477$7D8A08DEC)5)A$8DF%FD7F)CA$9)F383A7A7A$79A)%AE8A477A4FCF A 08DEC)5)ACLD#AFCD8AFAF*$58*8CA7A+855 6C)+CA*F3358+798A$8DF%FD7F)CA3885)$89A3)AC)AC883A)A5879CA7AC8+ A $9)97**FCA57C478A)9A8A%7*F5F79A+FEA7CA85)FDA$9)97**FCA*)385A)9A1#A1A3885)$89AD7CAF*$5A%)D4A)CA +9FFCA7A7C3793A477$7D8A7$$5FD7F)CA7C3A4A.A+F55A768AD798A)%AFA858D4F)CAFCA7A( -1./0#AC3883A7CA$98 85FFCA477$7D8A7$$5FD7F)CAD7CA28A38$5)83A4FCA4A.A+FE)4A7CADE7C8AFCAFA)49D8AD)38#A1A7A$9))% )% D)CD8$A7CA759873A85FFCA477$7D8A7$$5FD7F)CAE7A288CA38$5)83A4DD8%455A)89A4A.A+FE)4A7CADE7C8AFCA FA)49D8AD)38#A0E8A+E)58A)49D8AD)38AFA$9)F383AFCA1$$8C3F5A;#>#AK)+889A3885)$89AE)453A75+7A768AFC) A D)CF3897F)CAE8A$8DF%FDAD)C97FCA$)83A2A( -1./0A+E898A97C*FF)CA3857A7C3A*878A385F89A798A 44755AC)A4797C883#A0EFAF48AFA3FD483A%49E89AFCA8DF)CAL#A )9A8FCA7C3A87547F)CA$49$)8A+8AE78A3885)$83A7A3F9F2483A6793A3F98D)9A8*A,( 67931A%)9A 1C39)F3A$57%)9*A2783A)CA4A.A7AE)+CAFCAF#AL#A( 6793AFA7A3F9F2483A73398A2))6A38FC83A)A755)+ A )+C89A)%A1C39)F3A*79$E)C8A)A7DD8A7C3AE798AD)C7DA377A2783A)CA4C$983FD7258AD)C7DA28+88CAE8F9A *79$E)C8#A( 6793AD)*$5F8A+FEAE8A6793A858D9)CFDA24FC8AD793A$8DF%FD7F)CA7A38%FC83AFCA6A?9L= A C>9D#A1A6793AFA7A7C3793A%)9A98$988CFCAE8A6FC3A)%AFC%)9*7F)CA9834F983A%)9A889AD)C7DAFCA7CA73398A2))6A)9 A 8*7F5A7$$5FD7F)C7AC7*8A73398AFC%)9*7F)CA$E)C8AC4*289A8D#AA27FD755AD)CFA)%A%F853 7548A$7F9A8$79783 A2AF7G#A0E8A$8DF%FD7F)CA38%FC8A755A$)F258A%F853A7C3AE8A%)9*7A%)9AE8F9A7548# : E$7HH+++ F9F7#4CF 42#%9H611H4A.A A >> $%&3A( 6793A7$$5FD7F)C
CAE8A7$$5FD7F)CA( 6793AD987FCA7AC8+A6793AFAF*$5AF*$58*8C83A4FCA3B52A)$897F)CA)%A4A.7A7A6793A 8C9AFAD98783A7C3A)983A5)D755A)CAE8A$7D8A+EFDEA7DA7A7A5)D75A3F98D)9#AF*F5795AF238%BCDH225BCDA7A6793A FCH%9)*AE8A$7D8AFA$89%)9*83A2AD987FCA7A8*$578AE7FCAE8A9834F983AFC%)9*7F)CA7A%F853#A0EFA8*$578AD7C A E8CA28A$783A7A7A$797*889A)AE8A32H52A)$897F)C#AACD8A7A489A8A7A6793AE8HE8A+F55A74)*7FD755A98D8F8A C)F%FD7F)CA72)4A7CAC8+A*)3F%FD7F)CA)CAE8AF8CA6793AE7C6A)AE8AC65B$#A)$897F)C# 2&4 479E9FB82*B86BF CA)9389A)A875478AE8A$89%)9*7CD8A)%A4A.A+8AD)C34D83A+)A3F%%898CA*87498*8CAD7*$7FC7A%F9A+FEFCA7 A FC58AD)CC8D83AF57C3A7C3AE8CAFCA7A9875A3FD)CC8D83AC8+)96AFC)5FCA88975A489 D799F83A*79$E)C8A 94CCFCA( 6793!A FCAE8A97D8AD)558D83A2A4A.A349FCAE88A+)AD7*$7FCA+8AE78AD)*$483A88975A$89%)9*7CD8A*89FD#A 0E8AD7*$7FCA75)CA+FEAE8F9A9845A798A38D9F283AFCA387F5AFCAE8AC85A8DF)C#A >:
2&4& C9FC22)D!2*92B2AF%892#FF9C92D8BF
B8%)98A9FCA)A)2898AE)+A8C9F8AD7CA$9)$778A28+88CA88975AF57C3AFCA7A3FD)CC8D83AC8+)96A)C8AD7CA %F9 A9A)A*87498 AE)+A%7 AE8 AD7C A$9)$778 A+FEFCA7 AFC58 AF57C3 A+E898 A97C*FF)CAFAC) AE7*$8983A2 A D)CC8DFFA3F94$F)C#AFCD8A4A.AFAF*$58*8C83A)CA)$A)%AE8A()(O1.AD)**4CFD7F)CA8*A+EFDEAF85% A 985F8 A )C A ( A 97C*FF)C A )49 A %F9 A )228DF8 A +7 A ) A 875478 A E)+ A )49 A *45F 5789 A *F3358+798 A 79DEF8D498A $89%)9*A)89AE8A4C3895FCA+F9858A97C*FF)CA*83F4*#A
O8A%F9A483A+)AC82))6A1A7C3ABA94CCFCA4A.A)89A7AFC45A)$897FCA8*#A0E88AC82))6A+898AFC75583A C85A)A87DEA)E89AFCAE8A7*8A9))*A7C3AE8F9A24F5 FCAOF FAN=:#>>2ADEF$8A+898AD)C%F4983A)A)$8978AFCA73AE)D A *)38#AO8A7D4755A%)D483A)CAE8A98$)C8AF*8A+EFDEAFAE898A38%FC83A7AE8AF*8AFC8975A28+88CAE8AF*8AC82))6 A 1A8C3A7A98348A)A32852A8C9F8A)%A3F%%898CAF@8A)AC82))6ABA7C3AE8AF*8A+E8CAFA7D4755A98D8F8AE8*#AC A )9389A)A8A98%898CD8A7548A98793FCAE8AD7$7DFA)%AE8A+F9858A5FC6A7A7$$5FD7F)C 5885A+8A483AE8A27FDA.8D7 A
>9
,CD1AC8+)96FCA4F5FAFCA(A*)38AE7AD7CA9873A7C3A+9F8ADE4C6A)%A377A7D9)AC8+)96AD)CC8DF)C#A:==A89F8A )%A8A+898AD)C34D83AFCAEFAD8C79F)#A0E8A9845A)%AE88A8A798A$988C83AFCAF#A? #7#A42A7C3A52A)$897F)CA E)+ A F*F579 A $89%)9*7CD8# A K)+889 A 4A. A E)+ A 72)4 A :=P A )89E873 A )89 A .8D7# A 6)CF389FC A E7 A E8A D)**4CFD7F)C A *F3358+798 A )% A 4A. A ,()(O1.1 A F*$58*8C A 7 A )$EFFD783 A )$$)94CFFD A $9))D)5 A FC A )9389 A )A )9DE8978AD)**4CFD7F)CA28+88CAC8FE2)9AE)A+8AD)CF389AE7AE88A9845A798A34F8A987)C7258# A 1C)E89A9875A+)953A8A+7AD)C34D83A)AFC8F78AE8A28E7F)9A)%A4A.A+E8CA*878AD7CA$9)$778A)89A *45F$58AE)$#A0E8A8A+7AD799F83A)4A+FEA%)49AC82))6A,1ABA6A7C3A(1A3F9F2483AFCA)49A572)97)9#AB8D748A)% A E8A8%%8DA)%AD)CD988A+755A)CAFC75A78C47F)CAE8AD)CC8DFFA28+88CAE88AC82))6A+7A4DEAE7AC82))6ABA D)453A)C5AD)**4CFD78A+FEA1A7C3A6A+EF58AC82))6A(AD)453A)C5AD)**4CFD78A+FEA6A7AE)+CAFCAF#A <#A0EFA 8A985F83A)CA3B52832A)$897F)C7A7A)75A7*)4CA)%A::LA8C9F8A+898A+9F8CA)CABA6A(A7C3AE)A1A+7AD)C%F4983A )A9873AE88A8C9F8#AO8A*874983AE8A78978AF*8A9834F983A%)9AE88A8C9F8A)A987DEAE)A1#A0E8A9845A)%AEFA8A 798AE)+CAFCAF#A?#2#AAD7CA28A)28983AE7AE8A3857A28%)98AE)A1A8A7CA8C9ADE7C8A+FEAE8AF@8A)%AE8A8C9 A 7C3AE8AC4*289A)%A97C*FF)CAE)$#A0EFAFA28D748A+E8CAE)ABA898A7A7A9857A28+88CAFAC8FE2)9A1A7C3A6 A E8A973F)ADE7CC85A79)4C3ABAFA+FD8A7A24A7A+E8CABAFC897DA)C5A+FEAE)A1#A0E8A7*8A)2897F)CA7$$5F8A%)9A E)A6A+E8CAFA*4A898A7A7A9857A28+88CAE)ABA7C3A(#AA*4A75)A28AD)CF38983AE7A()(O1.A9F8A) A 8C498A7AEFEA385F89A97F)A)A8C9F8A798A9897C*F83A77FCA7C3A77FCAF%AE8A798AC)A98D8F83AFCAE8A%F9A$57D8# A C3883A349FCAE8A8A755A8C9F8A)A98D8F83A2AE)A1A)AE7AE8A385F89A97F)A+7A>==PAFCAE7AD78# 2&4&4 C9FC22)D!2F2B2 9B82615 0E8A$98F)4A8A38*)C9783AE7A4A.A$89%)9*A7F%7D)9F5AFCA7A973FF)C75AD)CC8D83A8CF9)C*8CA7C3 A $9)F38A7A987)C7258A98$)C8AF*8#AK)+889A4A.A28D)*8A98755A28C8%FDF75A+E8CAE8AC8+)96AFAC)AD)CC8D83A 7AE)+CAFCAF#A>#A6)C8348C5A7%89A*8749FCAE)+A4A.AD7CA$89%)9*AFCA7AFC58AD)CC8D83AF57C3A+8A483A)49 A ( 6793A7$$5FD7F)CA)A)2898AE)+AFAD7CA$89%)9*AFCA7A9875A( -1./0#A/FEA)54C889A%9)*A)49A572)97)9A+898 A 834F$$83A+FEAK06A*79$E)C8A94CCFCA( 6793#A(49FCAEFAD7*$7FCA+EFDEA5783A%)9ANAE)49AE8A)54C889A +898A7683A)AD799AE8F9A*79$E)C8A+E8C889A$)F258AJ7C3A48A( 6793A89FD8A)%AD)498JA+EF58A9)7*FCAE8A 572)97)9A24F53FCA)9AFA499)4C3FC#A
F# A ?#DA F554978 A E)+ A )C8 A $79FD4579 A FC)F% A 98348G A *878 A 3F8*FC783 A 349FC A )C8 A )% A E8 A 9F75# A0EFA *878A+7A%F9A$425FE83A2A*79$E)C8A3-#A1%89A)C5A7A%8+A*FC48A3-A8725FE83A973F)AD)C7DA+FEA32A +EFDEAE4A)A7AD)$A)%AE8A*878A7C3A28D7*8A7AC8+AD799F89A%)9AEFA*878#A 3-A5789A*7C783A)A%)9+793AE8A *878A) A39A+EF58 A32A %)9+79383AFA) A3:#A0E8A*878AE4A68$ A3F8*FC7FCA4CF5AFA987DE83AE8A57A *79$E)C8A3;A72)4A)C8AE)49A7%89AFA+7AFCFF755A$425FE83#A0EFA857*$58AD)C%F9*AE8A3857H3F94$F)C )5897CA C7498A)%A97C*FF)C#A 1CAF*$)97CA%7D)9AFCA( -1./0AFAE)+A)%8CAE8A*)2F58AE)A*88A87DEA)E89#A(49FCAEFAD7*$7FCAE8A D4*457F8A3F9F24F)CA%4CDF)CA,6(1A%)9AE8AC4*289A)%AC8FE2)9A%)9A87DEA38FD8AFAE)+CAFCAF#A? #3#AAD7CA28A >I $%&7A-45F E)$A%)9+793FCA8AD8C79F)
C)FD83AE7AE8A78978AC4*289A)%AC8FE2)9A%)9A87DEA*79$E)C8A+7A72)4A+)AC8FE2)9A349FCA72)4A?LPA)%AE8 A D7*$7FCA3497F)CA7C3AC)AC8FE2)9A7A755A349FCA:LPA)%AE8AD7*$7FCA3497F)C#A1A%FC89A387F5A)%A*79$E)C8A38CF A 7A)28983A349FCAE8AD7*$7FCAFA$9)F383AFCAF#A?#8#AAFA+)9EAC)FCAE8A%98348CA3FD)CC8DF)CA28+88CA *79$E)C8A349FCAE8A*72)9FA)%AE8AD7*$7FCA3497F)CA+EFDEA*768A7A8989 2783A8*A+FEACDE9)C)4 A )$897F)C A )755 A F*$97DFD75# A1A (0. 58 A D)**4CFD7F)C A F A E4 A C88383 A FC A )9389 A ) A $9)F38 A D)**4CFD7F)C A 89FD8A28+88CAE8A*)2F58A38FD8#A OE8CA7C75@FCAE8A97D8AD)558D83A2A4A.A7A$8DF75A78CF)CA+7A$7F3A)AE8A385F89AF*8A)%A4DD8%45 A )$897F)C#A0E8A385F89AF*8AFAD75D45783A7AE8A3F%%898CD8A28+88CAE8AF*8A+E8CA7CA)$897F)CAFA7983A7C3AE8 A F*8A+E8CA7CA7C+89AFA98D8F83#A0E8A385F89AF*8A798AE8CA98$988C83AFCAD4*457F8A+7A7AE)+CAFCAF#A? #%#A 0E8AD4*457F8A385F89AF*8A+898AD75D45783AFCA89*A)%AF*8A5FD8A+E898A7A*87498A)%ALA8D)C3A*87CAE7AE8 A 78978A385F89AF*8A)28983A+7A28+88CA=A7C3ALA8D)C3EA7A*87498A)%A>=A8D)C3A*87CAFA+7A28+88CA=A7C3 A >=A8D)C3A8D#ACA8C8975AE8A9845AE)+AE7AC8795AN=PA)%AE8A8C9F8A)A385F8983A)AE8F9A38FC7F)C,1AFCA58 A E7CAL=A8D)C3#AB8A72)4A9PA)%AE8A8C9F8AD)453AC)A28A385F8983#A0EFAFAE8AD)C8348CD8A)%AE8A4C$983FD7258AJ 8A$89%8D5A58FF*78JA28E7F)9A)%AE8A489A+EFDEA)*8F*8A*)83A7+7A%9)*AE8A572)97)9A)9A+FDE83AE8F9 A 38FD8A)%%AFCA)9389A)A$98898AE8F9A2789A2438#ABA3)FCA)AE8A$988C83A7CA%49E89A973F)AD)C7DA28+88C A E8F9A38FD8A7C3AE)8A)%A)E89A489A7C3AEFA)%AD)498A583A)A*878A5)#A (49FCAEFAD7*$7FCA7A)75AC4*289A)%A9N=?A973F)AD)C7DA+898A8725FE83A28+88CAC8FE2)9A*79$E)C8A +FEA7CA78978AD)C7DA3497F)CA)%A:>9A8D)C3#A0E8AD)C7DA3497F)CA798AD75D45783AFCA89*A)%AF*8A5FD8A7C3 A $988C83AFCAF#A?#E#A1AE)+CAFCAE8A%F498AE8A*72)9FA)%A973F)AD)C7DA5783A58AE7CA7A*FC48A+EFDEAD)C%F9*A E8AD)CFC4)4A)$)5)FD75ADE7C8A)%AE8AC8+)96A349FCAE8AD7*$7FC#AK8CD8A8*AE7A+7CA)A985A)CAE88 A D)C7DA)A97C$)9A377A28+88CA*79$E)C8AE78A)A98)9A)A(0. 58AD)**4CFD7F)C#A 1C)E89AF*$)97CA*89FDAE7A+8AE78A75)AD75D45783A349FCAEFAD7*$7FCAFAE8A8%%8DA)%A*45F E)$A%)9+793FC#A F#A?#A E)+AE8A$89D8C78A)%A3F98DH*45F E)$A8C9F8#A(F98D 8C9F8A,E)+CA7A> E)$AFCAE8A%F4981A798A8C9F8A E7AE78A288CA3F98D5A98D8F83A%9)*AE8F9A)9FFC75A)49D8#A-45F E)$A8C9F8A798A8C9F8AE7AE78A288CA985783A2 A 88975AFC89*83F78A*79$E)C8A28%)98A987DEFCAE8F9A%FC75A38FC7F)C#A)9A857*$58AE8A*79$E)C8A$988C83A7 A IAFCAF#A?#A98D8F83AFA8C9F8AFCAE8A%)55)+FCA*7CC897AL>PA+898A98D8F83A3F98D5A%9)*AE8A8C389A,> E)$1A I=PAE9)4EA:AE)$A?PAE9)4EA9AE)$A:PAE9)4EAIAE)$A7C3A%FC755A>PAE9)4EALAE)$#AAD7CA28A)28983AE7 A 79)4C3AL=PA)%AE8A8C9F8A+898A98D8F83AFCA7A*45F E)$A*7CC89AE)+FCAE7A4A.A4FCA()(O1.A$9)F38A7A *45F E)$A3F8*FC7F)CA89FD8AE7A$89%)9*A7F%7D)9F5AFCA7A9875A( -1./0#A 3 DA#"AAD! 0E8A9845A$988C83AFCA8DF)CA I AD)C%F9*AE7A4A.AFA34F8A8%%FDF8CAFCA$9)F3FCA477$7D8A89FD8AFCA( -1./0#AK)+889A+8A75)AE78A)AD)CF389AE8AF38A8%%8DA)%A)49A8DECF348A+EFDEAFC)58AE8AF*$58*8C7F)CA)%A 7A7C3793A$8DF%FD7F)CA)9FFC755A38FC83A%)9AF973FF)C75GAC8+)96AFCA( -1./0#AB783A)CAE8A%88327D6A+8 A 98D8F83A%9)*A3885)$89A4FCA4A.A+8A)2898AE7A4DEA8DECF348AF%AC)A483AD798%455AD7CAE78A2)EA%7)97258 A 7C3A4C%7)97258AD)C8348CD8#A ACAE8A)C8AE7C3A3885)$89A3)AC)AC883A)A5879CA7AC8+A$9)97**FCA57C478A)9A8A%7*F5F79A+FEA7CA85)FDA $9)97**FCA*)385A)9A1#A1A3885)$89AD7CAF*$5A%)D4A)CA+9FFCA7A7C3793A477$7D8A7$$5FD7F)CA7C3A4A.A +F55A768AD798A)%AFA858D4F)CAFCA7A( -1./0#AC3883A7CA$98 85FFCA477$7D8A7$$5FD7F)CAD7CA28A38$5)83A)89A ( -1./0A87F5A4FCA4A.#A
ACAE8A)E89AE7C3A3885)$89AE)453AE)+889A28A7+798A)%AE8A$8DF%FDAD)C97FCA$)83A2A( -1./0A+E898 A *878A385F89A*878A)9389FCA7C3A97C*FF)CA3857A798A44755AC)A4797C883#A4DEAD)C97FCA798AC)A348A )A5F*F7F)CAFCA4A.EAE8A798A348A)AE8A89AC7498A)%A( -1./0#AA$$)94CFFDA$9))D)5A7C3A*F3358+798 A 8*A38FC83A%)9A( -1./0AD7CA3)AC)A*7FDEAE8AD7CA4$$)9AC8+)96 +F38AD)**4CFD7F)CAFCA7A( -1./0A 4FCA*)2F58AE)A7AD799F89AE7AE85$A29F38AE8A7$A28+88CAC)C D)CC8D83A$79A)%AE8AC8+)96#AB8A4C58 A )E89+F8A$8DF%F83AE8A3)AC)AD)C9)5AE)+A*)2F58AE)A*)8AFCAE8AC8+)96A)AE8AD7CC)A4797C88AE7A7A *878A+F55A889A987DEA,)9A987DEAFCAF*81A7CA$79FD4579AE)AFCAE8AC8+)96#A1A3885)$89A+)96FCA)CA7CA7$$5FD7F)CA
%)9A( -1./0AE)453AE898%)98A74*8AE7A385F89A%7F5498A7C3A578A385F89F8A*7A28A*)98AD)**)CAE7CAFC F*8A 385F89F8A7C3A38FCAE8F9A3F9F2483A7$$5FD7F)CA)9A)97CF@8AFA38$5)*8CA7DD)93FC5#A /99)C8)4 A $98D)CD8F83 A F387 A 72)4 A 477$7D8 A F*$58*8C7F)C A D7C A 75) A $57 A 7 A 9)58# A )9 A 857*$58 A *)A 477$7D8A7$$5FD7F)CA798A24F5A+FEAE8AF*$5FDFA74*$F)CAE7AC8+)96A8D49FAFA75+7A8C4983A2A477$7D8 A F*$58*8C7F)C#AAFA+)9EA76FCAFC)AD)CF3897F)CAE7AF55AC)+AE898AFAC)A7C3793A4.A8D49FA*)385A)A28 A 483 A 2 A 477$7D8 A F*$58*8C7F)C# A B8 A E8 A )C5 A 8D49F A 77F57258 A ) A 489 A )% A 755 A D4998C A 477$7D8 A F*$58*8C7F)CAFA$9)F383A2AE8F9AD)**4CFD7F)CA$9))D)5#AF*F5795AE8A8D49FA$9)F383A2A4A.AFA2783A)C A E8A8D49FA8*A4$$)983A2A()(O1.#A0EFA8*A755)+A*)2F58AE)AE7A94CA7A3F9F2483A7$$5FD7F)CA) A 85DE7C8A*878AE7A798A8CD9$83A+FEA7AE7983A**89FDA68#A-)2F58AE)AE7AE798AE8A7*8A4$58A$7D8 A 4FCA4A.AD7CAE898%)98A28C8%FA%9)*AEFA%87498A+E8CA+9FFCA9873FCA7C3A76FCA8C9F8A)A7C3A%9)*AE8A$7D8# A AC8A)%AE8A28A+7A)A7)F3A$9)258*AD7483A2A899)C8)4A$98D)CD8F83AF387A72)4A477$7D8AF*$58*8C7F)CA FAFCA%7DA)A9873AD798%455AE8F9A$8DF%FD7F)CAFCA)9389A)A38FCA7$$5FD7F)CA7DD)93FC5#A
0) A 78 A E8 A 737C78 A )% A 4FC A 4498 A )228D A F A F A +)9E A C)FC A E7 A $89%)9*FC A 25)D6FC A )$897F)C A 7A $9)F383AFCA7C3793A477$7D8AF*$58*8C7F)CAFAC)A$98%897258A)CA3F9F2483A8*#AAFAF*$97DFD75A%)9A7C A 7$$5FD7F)CA)A28A25)D683A+7FFCA%)9A7CA7C+89A%)9A7CA4C6C)+CA7*)4CA)%AF*8#ACA4DEAD78AFA+F55A28A75+7A D)CF38983A7A7CAAC32F16CFB2A7$$5FD7F)C#A1A7C3793A+7A)A)89D)*8AEFA5F*F7F)CA)%A25)D6FCA)$897F)CAFA)%8CA )A38FCA*45FE987383A7$$5FD7F)C#AK)+889AE8A48A)%A4498A)228DA%9)*A7A987372F5FA$)FCA)%AF8+AFA34F8 A F*$)97CAFCD8AFA$89*FA)A*768AE8AD)38A*)98A322"A*)98A94D4983A7C3AE898%)98A*)98AFC4FF8#A)9AE8A768A )%AF55497F)CAFCA1$$8C3F5A;#:A7AC6C468BCDA477$7D8A7$$5FD7F)CAFA%F9A+9F8CA4FCAE8A8DECF348A)%A%32F#A 0E8C A F A F A $988C83 A E)+ A ) A 98+9F8 A EF A 7$$5FD7F)C A 4FC A 4498 A )228D# A 6)*$79FC A E8 A +) A 89F)C A )% A E8 A 7$$5FD7F)CA)C8AD7CA7948AE7AC)C 25)D6FCA477$7D8A7$$5FD7F)CAD7CA28A87F5A7DEF883A4FCA4498A)228DA+EF58 A 688$FCAFA)49D8AD)38AE4*7C 98737258A7C3A*7FC7FC7258A7A+855#A,3885)$89AD7CA87F5A7DEF88A7A*)98A98737258 A 7C3A*7FC7FC7258AC)C 25)D6FCA7$$5FD7F)CA4FCA4498A)228DA97E89AE7CA4FCA0E9873#1A
5 01521!
C A E8 A 57 A %8+ A 879 A 88975 A $9)28D A 98FF83 A FC37 A C<D A 8$8DF755 A FC A E8 A D)C85 A )% A *)2F58 A 73 A E)D A 8CF9)C*8C#A B)EA197AC>IDA7C3A-/AC>LDA798AD))93FC7F)CA*F3358+798A8*AF*$58*8CFCA4$58A$7D8A)983A)CAE)A 7DFCA7A8989#A0E88A*F3358+798A8*A798A*)2F58A73AE)DAC8+)96#A0E8A$9)F38A477$7D8A89FD8A) A *)2F58AE)AE7A798AFCAD)**4CFD7F)CA97C8A)%AE8A8989#AFCD8AE8A985A)CA7A8989 2783A*)385AE8A798AE7935 A 47258AFCA9875A( -1./0#AF*)C8AC>?DAFA7A5FE+8FEA7589C7F8A)A-/A9834F9FCA%79A58A)89E873#AF*)C8AF A 2783A)CAE8A$98*F8AE7A7AFC58A9)4C3 9F$A*878A85DE7C8AFA75+7A$)F258A*76FCAFAF*$97DFD75A)89A( -1./0#ACAD)C97A610AC><DAFA7A8989 58AD))93FC7F)CA*F3358+798A%)9A-1./0#AFCD8AFA3)8AC)A985A)C A 7CAD8C975F@83A89FD8AEFA*F3358+798A4FA+855AE8A3C7*FDA)%A+F9858A)$8CAC8+)96#A610A*768AFA$)F258 A )A$9)D8A)$897F)CA88CA+E8CAC)A8C3 ) 8C3A9)48A85FA28+88CAE8AE)AFC)583A2AF*$58*8CFCA7A)49D8 A 9)4FCA75)9FE*#A0EFA9)4FCA978A985F8A)CAE8A74*$F)CAE7AE8A*)F)CA$9)%F58A)%A87DEAE)AFA6C)+C#A0EF A FAD58795A7A89F)4AD)C97FCA+EFDEA5F*FAE8A472F5FA)%A610A)89AE8A6FC3A)%A( -1./0A4A.A798A+E898 A E8A*)F)CA)%AE)A798AC8FE89A$57CC83AC)9A$983FD7258#A04$58A2)793A,0B1AC>NDAFA7C)E89A8989 58AD))93FC7F)CA *F3358+798A%)9A3885)$FCAD)5572)97F8A7$$5FD7F)CA94CCFCAFCA73AE)DAC8+)96A)%A*)2F58AD)*$4FCA38FD8#AF68A 4A.AEFA*F3358+798AE7A288CA%455AF*$58*8C83A7C3A3F9F2483#AAD7CAE4A28A483A7C3A883AFCA9875AD)C3FF)C#A K)+889AE8A$9)$)75AFA5F*F83A)A7A9)4$A)%AC8792AD)CC8D83A38FD87A+E8CA7A38FD8A5878AE8AC8+)96A)9A49C A )%%A755AE8A4$58A$)83A%9)*AEFA38FD8A798A+FE397+C#A0E8A%98348CDA)%A5FC6A3F94$F)CAFCA( -1./0A*768AE8 A 3FD)CC8DF)CA)5897CD8A7AF75A9834F98*8CA%)9A7CA*F3358+798AE7AFA*87CA)A4$$)9A( -1./0#A A D7C A 28 A C)FD83 A E7 A 755 A E88 A *F3358+798 A 8* A 85D8$ A -/ A 7C3 A F*)C8 A 798 A C) A +855 4F83 A %)9 A ( -1./0 A 2 A C) A 4$$)9FC A 7CDE9)C)4 A )$897F)C# A -/ A 7C3 A F*)C8 A 7 A %)9 A 973FF)C75 A 477$7D8A F*$58*8C7F)C A48 A 7A 27FD A7$$9)7DE A+E898 A77 F*8)4 AD7C A28 A$8DF%F83 A%)9 AE8F9 A25)D6FC A)$897F)CA )A 7)F3A 5)D6FCAE8A8*AFC38%FCF85#A
49E89*)98A755A*F3358+798A8*A*8CF)C83AFCAEFA8DF)CA38%FC8AE8F9A)+CAD)**4CFD7F)CA$9))D)5A%)9A 9)48A3FD)89A7C3A*7FC8C7CD8#AA49A+)96AFA3F%%898CA7A4A.A$988CA7A+) 5789A79DEF8D4987AE8A4$$89A5789AF A D)CD89C83A+FEA4$58A$7D8A89FD8A+EF58AE8A5)+89A5789A4$$)9A)$$)94CFFDAD)**4CFD7F)C#A1A*8CF)C83 A 72)8A()(O1.AE7A288CADE)8CA7*)CA7A%8+A)$$)94CFFDAD)**4CFD7F)CA$9))D)5AE7A798A)$8C5A3F9F2483A)A 4$$)9 A D)**4CFD7F)C A )C A ( -1./0# A B8 A 4A. A D)453 A E8)98FD755 A 28 A F*$58*8C83 A 72)8 A 7C A )E89A D)**4CFD7F)CA8*A4DEA7A(0.:A,7A98%898CD8AF*$58*8C7F)CA)%A$9))D)5A38FC83A2AE8A(857 0)5897CA .8+)96FC A 8879DE A 9)4$ A ,(0.1 A C>;D1 A )9 A K758 A ,7 A86C52C5482C53B8A 79DEF8D498 A %)9 A )$$)94CFFDA D)**4CFD7F)CA7*)CA*)2F58A38FD8AC:=D1#A 7 #!#0"AD!212$"5" 21! CAEFA$7$89A+8AE78AFC9)34D83A4A.A,477$7D8A*$58*8C7F)CA%)9AA$$)94CFFDA.8+)961A7A$889 ) $889A 477$7D8 A F*$58*8C7F)C A +FE A 4$$)9 A %)9 A 4498 A )228D A +8 A 38FC83 A 7C3 A F*$58*8C83 A $8DF%FD755 A %)9A 3FD)CC8D83A*)2F58A73AE)DAC8+)96A,( -1./01#AFCA4A.A3F9F2483A7$$5FD7F)CA2783A)CAE8AD)CD8$A)%A 4$58A$7D8A,7A38%FC83AFCAE8A477$7D8A$8DF%FD7F)C1AD7CA28A38$5)83A7C3A858D483AFCA( -1./0#A4A.AF A 98F5F8CA)AE8ADE7558C8A)%A( -1./0A7C3A$9)F38A7CA8%%8DF8A278A+EFDEA878AE8A3885)$*8CA)%A7$$5FD7F)C A %)9A( -1./0#AAE7A288CA883A)CAFC45A7C3A1C39)F3A$57%)9*AFCA9875AD)C3FF)CA7C3AFAC)+A3F9F2483A4C389 A E8A89*A)%AE8A.A8C8975A425FDAFD8C8#A
49E89 A 8 A 798 A F55 A 4C389 A +7 A FC A )9389 A ) A 89F% A E)+ A 7258 A 4A. A F A FC A 3F%%898C A 6FC3 A )% A DE7558C83A 8CF9)C*8C# A 4498 A +)96 A E)453 A C)725 A FCD5438 A E8 A 78*8C A )% A E8 A $)972F5F A )% A 4A. A )89 A 7C)E89A D)**4CFD7F)C A *F3358+798 A )E89 A E7C A ()(O1. A ,*) A 5F685 A 2 A F*$58*8CFC A F A )89 A E8 A (0.: A 98%898CD8A F*$58*8C7F)C1#
8 $ #A
C>D 6#AA1.(A4#AQ1/AF1A!/BAAA-AB/A1(AKA6A./0OAQAA0.AA0A6AGA.!/0BAAA
-1(/BA:==L# C:D Q#A755AF1A(857 0)5897CA.8+)96A19DEF8D498A%)9A6E7558C83AC89C8GAFCA<7CCA7<6C$232C8276$75%2 7 128B7&C5232F57=36A176C757<699ACB85B6CA.8+AB)96A.BA1A:==9A$$#A:<J9I# C9D #A854FA1#A7798557A7C3A-#A6)CFAFA$$)94CFFDA.8+)96FC7A(77A)9+793FCAFCA(FD)CC8D83A-)2F58A13A E)DA.8+)96GA&2227<699AC!7D!A)5#AIIAC)#A>>A$$#A>9IJ>I>A:==?# CID 6#A-7D)5)A#A67$97A7C3AO#A/**89FDEAF-)2F58A6)*$4FCA-F3358+798GAFCA&C7C827285A32F76C 7 C2563BCDA:==:A$$#A:=JLN# CLD /#A988*7CA#AK4$%89A7C3AQ#A19C)53A182F)+733BC8B12F"735523CF"7C73385B82#A98CFD8AK755A>;;;# C?D /#A#AO75689A#A5)3A7C3A#A.88AF1CDE9)C)4A98*)8AA$897F)CA/58D4F)CAFCA(F9F2483A8*GAFCA"7 ->5%7&C523C5B6C7<6C$232C8276C7BF53BA527<691A5BCD7#F529F"7-??>!7336822BCDFA>;;=A$$#A:L9AJ:L;# C<D .#A6799F89)A7C3A(#A8589C89AFFC37AFCA6)C85GA<699AC789A)5#A9:AC)#AIA$$#AIIIJILNA1$9#A>;N;# CND # 6#A)*7CA1#A#A-49$EA7C3A#A#AFDD)AF6))93FC7F)CA7C3A-)2F5FGAFCA<663BC5B6C76$7&C523C257D2C5F@ 7 62F"728%C66DB2F"7C711B85B6CFA>;;;A$$#A:LIJ:<9# C;D #A6)7A#A-))57A1#A#A-49$EA7C3A#A#AFDD)AF04$58A$7D8A-F3358+798A%)9AOF9858A.8+)96GAFCA B2327$63725637882C53B87C76B2711B85B6CFAB#A792FC7)AK#A-F97C37A7C3A#A)39F48A/3#A $9FC89A98A:==;A$$#A:ILJ:?I# C>=D 4#A#A()D4*8C7F)CAF6)CD4998CDAF5FF8GAA16/A:=>># C>>D 4#AK7F55)A7C3A#A4F38DAF1A9))D)5A%)9A6)C8C B783A6)**4CFD7F)CAFCA(FD)CC8D83A-)2F58A13AK)DA .8+)96GA!76!7&C$!7#F5!A)5#A?AC)#A:A$$#A>:9J>LIA:=>=# C>:D 1#A!7E37A7C3A(#AB8D689AF/$F38*FDA)4FCA%)9A79F755A6)CC8D83A13AK)DA.8+)96GA(468ACF89FA1$9#A :===# C>9D C89C8A/CFC889FCA076A)9D8AF6793A)9*7A$8DF%FD7F)C#GAE$7HH))5#F8%#)9HE*5H9%D?9L=# C>ID K#A8FC8A7C3A0#A)5$*7CCAF0E8A19DEF8D498A)%AE8A197A57%)9*A%)9A-)2F58A18CGAFCA336822BCDF76$75%2 7 B3F57&C523C5B6C7*63F%6176C76B27D2C5FA)C3)CAQA>;;<A$$#AL=J?># C>LD 1#A#A-49$EA#A#AFDD)A7C3A# 6#A)*7CAF-/7A1A6))93FC7F)CA-)385A7C3A-F3358+798A4$$)9FCA -)2F5FA)%AK)A7C3A18CGA8973CF76$57CD725%66A)5#A>LAC)#A9A$$#A:<;J9:NA445#A:==?# C>?D 6#A)6A#A)*7CA7C3A#AK7D6*7CCAF1AFE+8FEA6))93FC7F)CA-F3358+798A%)9A-)2F58A6)*$4FCGA3368! 7 A5%7&C5!7<6C$!7<663!762F7BCD!A)5#A:;I;A$$#A>9LJ>L>A:==I# C><D # 6#A)*7CA#AK7C3)987CA7C3A#A8CAF04$58A$7D8A6))93FC7F)CA1D9)A$7D8A7C3A0F*8GAFCA336822BCDF 7 6$75%27;5%7BC523C5B6C786C$232C8276C7<663BC5B6C762F7C7BCDAD2FAB895FCAK8F385289A:==?A$$#A:??J :N=# C>ND 1#AQ7*FC6A7C3A6#AB)C3737AF04$58AB)7937A1A.8+A(F9F2483A6)*$4FCA7973F*A%)9A-)2F58A13AK)DA .8+)96GA<691A5!7#F5!A$$#ALJ<A:==L# C>;D !#A689%A#AB4958FEA1#AK))68A#A0)989)CA#A(49AQ#AD)AQ#A755A7C3AK#AO8FAF(857 0)5897CA .8+)96FCA19DEF8D498GA&25$74$879;7;A1$9#A:==<# C:=D /#A.)939R*A#A4CCFC289A7C3A6#A)EC89AF1A879DE 2783A.8+)96A19DEF8D498A%)9A-)2F58A(8FD8GA (8$79*8CA)%AC%)9*7F)CA08DEC)5)A$$757ACF89FA:==; ==9A47C#A:==;# >N
9 133D:
9& 978F%2BF2B89B694F%2)B*BA7BC92B778CBF2*92)D!
K898A+8A38*)C978AE)+A7A$98 85FFCA477$7D8A7$$5FD7F)CAD7CA28A38$5)83A)CA7A( -1./0A4FCA4A.#A 0E8AF*$)9A78*8CA798AC)AE)+CA7C3AE8AD57A25AFA38%FC83AFCA8DF)CA9#:#:#A1AFAD7CA28AC)FD83A+8A3)AC)A C883A)ADE7C8A7CA5FC8AFCAE8A)49D8AD)38A)A38$5)AFA)CA4A.#A
># public class HelloWorld{
:# public static void main (String [] args){
9# try {
4. JavaSpace space = JavaSpaceSingleton.getInstance();
L# if (args[0].equals("write")){
?# Seat offer = new Seat ("Paris", "Madrid", new Date (2013,9,22));
<# space.write(offer, null, Lease.FOREVER);}
N# if (args[0].equals("read")){
;# Seat request = new Seat ();
>=# Seat result = (Seat) space.read (request, null, Lease.FOREVER);}
>># if (args[0].equals("take")){
>:# Seat request = new Seat ();
>9# Seat result = (Seat) space.take (request, null, Lease.FOREVER);}
>I# } catch (Exception e){
15. e.printStackTrace();}}}
14*FC A E7 A 4A.M A $7D678 A F A FC75583 A FC A E8 A E)*8 A 3F98D)9 A EF A 857*$58 A D7C A 28 A D)*$F583 A +FE A E8A %)55)+FCAD)**7C37
% javac -cp $HOME/JION.jar HelloWorld.java
ACD8A E8A 857*$58A E7A 288CA 4DD8%455AD)*$F583A F A D7C A28 A94CA )CA7 A8C389 F38 A89*FC75 AFCAE8A %)55)+FCA *7CC897A
% java −cp $HOME/JION.jar HelloWorld write
F*F5795A)CA7A98D8F89 F38A89*FC75A%)9AE8A32A)$897F)C7A
% java −cp $HOME/JION.jar HelloWorld read
F68+F8AE8A52A)$897F)CAD)453A28A94CA)CA7A98D8F89 F38A89*FC75AFCAE8A%)55)+FCA*7CC897A
% java −cp $HOME/JION.jar HelloWorld take
9&4 1FC-F62978E9F22B2)B*BA7BC92B778CBF
K898A+8A38*)C978A38$5)FCA7A477$7D8A7$$5FD7F)CA7CDE9)C)45A4FCA%32F#A.)8AE7AE8AD57A257 FA38%FC83AFCA8DF)CA9#:#:#A
># public class NonBlocking {
:# public static void main(String [] args){
9# final JavaSpace space= JavaSpaceSingleton.getInstance();
I# new Thread(){
L# public void run(){
?# Seat request_1= null;
7. try {
N# request_1= (Seat) space.read(new Seat("Paris", "Roma", null), null,
Lease.FOREVER);
;# } catch (Exception e){
10. e.printStackTrace();}}}.start();
>># new Thread(){
>:# public void run(){
>9# Seat request_2= null;
14. try {
>L# request_2= (Seat) space.read(new Seat("Paris", null, new Date(2013,9,22)), null, Lease.FOREVER);
>?# } catch (Exception e){
17. e.printStackTrace();}}}.start();}}
0E8A$98F)4AD)38AD7CA28A*738A*)98A98737258A2ADE7CFCAE8A5FC8A%9)*AIA)A><A2AE8AC85A+)A5FC8A)C5 A +EFDEAFC)58A4FCA)$897F)CA2783A)CA4498A)228D#A
Future<Seat> request_1 = space.readf (new Seat ("Paris", "Roma", null), null, Lease.FOREVER); Future<Seat> request_2 = space.readf (new Seat ("Paris", null, new Date(2013,9,22)), null, Lease.FOREVER);
1A7A9845AE8AD)38A+F55A28A*)98A322A7C3A87F89A)A3824A7C3A*7FC7FC#A