PROBLEM STATEMENT
Nada, ca eceda a a a eabe e e dce fed f, age ead ad e b. Bg cae c a Faceb ad Aa ea e g-a eceda ee e e ace. Tee e e eceda ag — f e e e baed c egb cg, e ccaed e baed dee eag de c a Ga Nea Ne. Te c e f e ag a e eee e ca e a a ga, ad ef a ea e de ad edge.
I ec, ee a e aca geeae ced eceda baed e ee. Secfca, cde a Faceb e dffee ce a f e fed. Te d ed e ee a Faceb ee (.e., a ee) ad ecee e e fed gge a e e f e ae a ee. N ce e Faceb ca e age a be e a e e fa a ge ace. S e cde a dbed e deg ee e a ee fe ceced a ( cae, ) baced ee. Eac baced ee e e Faceb ca e f dffee ce. F eae, baced ee A a e e e daa f Caada ad e US, ad baced ee B a e e daa f Ee. Teefe, ce e a ee ecee a e e, decde e e ad fe ed a ee e cedg baced ee. Te baced ee eac g ca daa, def e e fed be eceded ad e e a ee. Fa, e a ee e e e ccde e ce.
Te deaed ea be efed b a e ae ae decbed e e f Fge 1. Tee ae a 5 cca ed-:
Ce 1 ad Ce 2: eeeg dffee e, b dffee ce
Ma ee: ebe f eacg e ce ad e baced ee
Baced ee A ad Baced ee B: ebe f geeag e e fed baed
e e
○ F c, e daa ed a a e. Baced ee A e daa1.
ad Baced ee B e daa2. e ca fe e.
Te f ce ca be g dded f ae (ee a DETAILED EXPLANATION ec), e cca ad ca e ae a f:
Boop
1. [Ca]: Baced ee A ad B ead e fe daa1. ad daa2. eece, ad cc a f ga (ee DETAILED EXPLANATION f dec f ggeed daa ce f ga).
○ Ae a ac ca e ee ce daa1. ad daa2. d cage g e ee ce.
○ Baced ee eed ead e e fe ce. We Baced ee ae adg e ee, e efe e ea eeeed ga, e e fe.
○ F c, ee ea f ce beee daa1. ad daa2..
2. [Cca]: afe e 1, Ma ee a eac f Baced ee c
ce e ae ebe f.
3. [Ca]: Ma ee cc a daa ce b-ee c fa
f e 2. We e ce ee ce, e a ee ca ed a ee e cec Baced ee.
Qer
1. [Cca]: Ce ed e ee e Ma ee.
○ A ce ca eae ef afe ecee a e f e ee ( e
Re ae).
○ Ma ee a be ceced b ce a e ae e.
2. [Ca]: Oce e Ma ee ecee e ee, decde e ee ad decde c baced ee() d ade e ee.
Recommendaion
1. [Cca] Ma ee ed a eage e cedg baced ee a e Baced ee ca ef ca ca geeae eceda.
2. [Ca]: Baced ee ef e ea e ga f fed eceda, c baed e be f c egb. Y eed ee e ag Baced ee c e be f c egb.
3. [Cca]: Baced ee, afe geeag e eceda, e Ma ee.
Repl
1. [Ca]: Ma ee decde e eage f Baced ee ad e decde c eceda ced c ce ee.
2. [Cca]: Ma ee eae a e eage ad ed e aae Ce.
3. [Cca]: Ce ecee e eceda f Ma ee ad da . Ce d ee ace f fe ed ee, e ga aa ed.
Te fa f daa1. daa2. defed a f.
…
…
Le cde a eae:
Le a ee ae ee ce, A, Caada ad Y . I c A, ee ae ee e ID 0, 1 ad 2. I c Caada, ee ae fe e ID 78, 2, 8, 3 ad 11. I c Y , ee ae ee e ID 1, 0 ad 3. Ag b c A ad c Y ae e ae e ID 0 ad 1, e ae e ae e (See A 7 be).
Ae daa1. e e e daa f ce A ad Y , ad daa2. e e e daa f c Caada.
Eae daa1.:
A 012 120 210 xY 103 01 31
Eae daa2.:
Canada 38 28
11
8 78 2 3
78 8
A e daa fe:
1. We cde deced cec beee a a f e. F eae, f ee a
cec f e 1 e 0, e ee be a cec f e 0 e 1.
2. Tee a be aed e. Ta , a e a ae a cec e e
(e.g., e 11 c Caada).
3. Eac e ae e e e e fe. Ee g 11 Caada a e
cec, ee a e f 11 daa2..
4. C ae ae ee. Te eg f e ae ca a f 1 ee a 20
ee. Tee ca be b caa ad ecae ee e ae. C ae de
ca a e ace.
5. Ue ID ae eeeed b -egae ege be.
6. W e ae c, e ID d eed be cece. I.e., f a c
ca N e, e ID d eed be 0, 1, 2, , N-1. See e cae f Caada ad
Y.
7. Te a (c ae, e ID) e defe a e ad e d.
○ Ue dffee ce a ae e ae ID.
○ Ue e ae c d ae e ae ID.
8. Ue ID a a f 0. See e cae f Caada.
9. Te a be e ID (2^31 – 1). Te be e ID 0.
○ T ee a ca aa e 32 e e e ID.
○ Baced ee a a a e-de e e ID e ccg e
ga.
10. Tee ae a 10 ce a.
11. Tee adda e e() a e begg e ed f e fe. Ta , e e daa1. ad daa2. d ca a e e.
12. F c, ee ea f ce beee daa1. ad daa2..
13. Te e ID daa1. ad daa2. ae eaaed b e ace(). Ta , ee
be a ea e e ace beee ID, b ee ca a be e ace.
14. A e cec /eef.
15. F a ge e, /e cedg e e e fe a ca eeaed egb
ID.
○ F eae, a ad fe f e eace e ecd e f daa1.
0 1 2 1
16. Te e ID e e ae ed.
17. daa1. ad daa2. be e.
18. A c ae a ea e e, ad a 100 e.
A ae daa1. ad daa2. ded f a a efeece. Peae efe e DOWNLOAD SAMPLES Sec dad e. Oe daa1. ad daa2. be ed f gadg, ae aded eae fe f eg e.
Sorce Code File
Y eea d cde e ce cde fe decbed be, f eac ce f e e.
1. eea: Y ae cde fe: erermain.c erermain.cc erermain.cpp (a a ee). A ae e cedg eade fe (f ae e; ada) erermain.h (a a ee).
2. Baced-See A ad B: Y e e f ee ae f ece f cde: erer#.c erer#.cc erer#.cpp (a a ee ece f #). A ae e cedg eade fe (f ae e; ada) erer#.h (a a ee, ece f #). Te # caace be eaced b e ee defe (.e. A B), e.g., eeA.c.
3. Ce: Te ae f ece f cde be clien.c clien.cc clien.cpp (a a ee) ad e eade fe (f ae e; ada) be caed clien.h (a a ee).
Ne: Y ca d geeae eaae eecabe fe f eac f e ce ed abe.
DETAILED EXPLANATION
Phae 1 (10 poin) — Boop
A ee ee ga (Ma ee, Baced ee A & B) b ae. We bg , e ee da a b eage e ea. Te fa f e b eage f eac ee ge e cee eage abe a e ed f e dce. A e b eage dcae, eac ee e e aae f cg ace/cec.
A decbed e e ec, e baced ee eed ead e e fe ad ce e ca e ga — e ga e c. Tee ae a a eee a ga. F eae, adacec a, adacec Ceed Sae R (CSR) fa. Y eed decde c fa e baed e eee f e be. Y ca e an fa a g a ca geeae e cec eceda.
F eae, e Baced ee 2 e-deed e Caada e a
Oga e ID
Re-deed e ID
3
0
2
1
11
2
8
3
78
4
Te e adacec a f e ga be:
Wee e eee a e - ad - c be 1 f ee a cec beee e (e-deed) e ad e .
Aga, ae ece e e a eee e ga. Oce Baced ee fe ceg e fe f daa1. ad daa2., Ma ee a Baced ee a Ma ee c Baced ee ebe f c ce. Te cca beee Ma ee ad Baced ee g UDP. F eae, Ma ee a e a deed_a e e fg fa:
std::unordered_map
country_backend_mapping[xY] = 0;
country_backend_mapping[Canada] = 1;
country_backend_mapping[A] = 0;
Abe e dcae a Y ad A ed daa1. Baced ee A (eeeed b ae 0) ad Caada ed daa2. Baced ee B (eeeed b ae 1).
Oce e ee ga ae bed , ce ga . Eac ce da a b eage a dcaed e cee eage abe. Ne a e ce cde ae age f e cad e. Te fa f g e ce cde :
./client
Afe g , d da eage a e e ee a e c ae ad a e e ID (e.g., ee g d::c):
./client
Enter country name:
Enter user ID:
F eae, f e ce 1 bed ad a f e fed eceda f e ID 78 C Caada, e e ea da e :
./client
Enter country name: Canada
Enter user ID: 78
Afe bg , Ce eab TCP cec Ma ee. Afe ccef eabg e cec, Ce ed e c ae ad e ID) Ma ee. Oce e, Ce d a eage a ecfc fa. Reea e ae e f Ce 2.
Eac f ee ee ad e a ee ae e be ecfed PORT NUMBER ALLOCATION ec e ce ad dea IP adde a ca/127.0.0.1/::1.
Ce, Ma ee, Baced ee A ad Baced ee B ae eed cee eage afe eecg eac ac a decbed e ON SCREEN MESSAGES ec. Tee eage e gadg e ee a e ce dd eece ccef. Mg e f e cee eage g e eea a ce faed cee. Peae f e eac fa e g e cee eage.
Phae 2 (40 poin) — Qer
I e e ae, Ce 1 ad Ce 2 ecee e e aaee f e e ad ed e Ma ee e TCP ce cec. I ae 2, Ma ee ae ecee ee f Ce. If e c ae e ID ae fd, e a ee a eage (ee e O Scee Meage ec) ad e adb.
F a ee ecee ee f eea ce a e ae e, e fc fork() d be ed f e cea f a e ce. F() fc ed f ceag a e ce, c caed chid ce, c cce e ce a ae e f() ca (ae ce).
F a TCP ee, e a aca eg f ea-eed cec f e , fed f c ee ad ae e cec g acce(). Afe e cec e ce ccef eabed, e acce() fc e a e dec f a ce caed e cd ce. Te ee ca e f ff a ce g f() fc ade cec e e ce ad g bac ag e ga ce. Ne a e ce a a ga ceaed, a e ae ce, gg be ed e e ce ee, ad gg be ed f cca beee ce ad Ma ee. Cd ce a ae ceaed f a ae ce ae e deca e- be IP adde a e ee de, b eac cd ce ceaed f a ecfc ce.
Tg g e cd ce e e f f(), e ee abe ade e ce cg a e f e cec.
Phae 3 (40 poin) — Recommendaion
I ae, eac Baced ee d ae eceed a ee f Ma ee. Te ee d ca a e ID ad a c ae. Te baced ee geeae e eceda e ee baed e c egb cg. If de ae adace eac e, e ae egb. Te c egb ae e eec beee e egb f de. Te eceda e d be ee Ne a ID f ae e (e ID d be e ga ID a ed daa1. daa2., e ID e-deed b e baced ee).
Tae e ee f e a c C a a eae. Cde e fg ee cae:
1. aead ceced a e e e c C. Te ee a e e be eceded. S Baced ee d eced Ne.
a. If e e e ga, d a eced Ne.
2. e ceced e e C. Le dee e e nconneced a a
e N. F eac e n N, c e be f c egb beee ad n.
a. If n ae a c egb (.e., man∈N commonNeighbor(,n)=0),eeBacedeeeceda n e ge degee. Te degee f n e be f de ceced n. Te-beae: f e e ae e ae ge degee, d eced e e e ae ID (aga, ga ID a ed e e
fe).
b. If e n ae e c egb . Te e Baced ee
c e n c a a e c egb (.e., eced argman∈N commonNeighbor(, n) ). Te-beae: f e e ae e
ae ge be f c egb, d eced e e e ae ID (aga, ga ID a ed e e fe).
Reca e eae e PROBLEM STATEMENT ec. We e e ee 1 A ( 0 A, 2 A), ced cae 1. We e e ee 11 Caada, ced cae 2.a, ad e eceda d be e ID 8 (ce 8 a degee 3, c e ge).We e e ee 8 Caada, a ced cae 2.a, ad e eceda d be 11. We e ee 0 Y, ced cae 2.b, ad e eceda d be 3 ( cae e 0 ad 3 ae e c egb a e 1).
Y a e e std::set daa ce fd e be f c egb. Phae 4 (10 poin) — Repl
A e ed f Pae 3, e ebe Baced ee d ae e eceda e ead. Te e e eceded e ID (e ga de de). Te e d be e bac e Ma ee g UDP. We e Ma ee ecee e e, eed fad a e e e cedg Ce g TCP. Te ce e eceded e ID ad e e eage f a e ee a f:
…
Recommended User ID is 2.
—–Start a new request—–
Enter country name:
Enter user ID:
See e ON SCREEN MESSAGES abe f a eae abe.
DOWNLOAD SAMPLES
Sae f daa1. ad daa2. f ec ae aaabe e f dad. Te daa ee daa. fe ae geeaed ad f eac dad, b e ce ad daa e f e daa. fe ae ce. daa1. ad daa2. ae eeced be ead ad ed eeA ad eeB eece.
Te dad a c f daa. fe be ed DEN .
PORT NUMBER ALLOCATION
Te be ed b e ce ad e ee ae ecfed e fg abe:
Table 3. Saic and Dnamic aignmen for TCP and UDP por
Proce
Dnamic Por
Saic Por
Baced-See A
UDP: 30
Baced-See B
UDP: 31
Ma See
UDP( ee): 32 TCP( ce): 33
Ce 1
TCP
Ce 2
TCP
NOTE: e a 3 dg f USC ID. F eae, f e a 3 dg f USC ID ae 319, d e e : 30319 f e Baced-See (A), ec.
P be f a cee be f e
ON SCREEN MESSAGES
Table 4. Backend-Serer A on-creen meage
Een
On-creen Meage
Bg (O e ag):
Te ee A ad g g UDP <ee A be>
Sedg e c a ca daa1. Ma See:
Te ee A a e a c Ma See
F fed eacg, eceg e e:
Te ee A a eceed ee f fdg be fed f Ue<e ID>
If e cd fd e ID c, ed fd bac Ma See:
Ue<e ID> de
Te ee A a e Ue<e ID> fd Ma See
If e fd e ID c, eacg be fed f e ad ed e() bac Ma See:
Te ee A eacg be fed f Ue<e ID>
Hee ae e e: Ue<e ID1>, Ue<e ID2>…
Te ee A a e e e() Ma See
Table 5. Backend-Serer B on-creen meage
Een
On-creen Meage
Bg (O e ag):
Te ee B ad g g UDP <ee B be>
Sedg e c a ca daa2. Ma See:
Te ee B a e a c Ma See
F egb fdg, eceg e e:
Te ee B a eceed ee f fdg be fed f Ue<e ID>
If e cd fd e ID c, ed fd bac Ma See:
Ue<e ID> de
Te ee B a e Ue<e ID> fd Ma See
If e fd e ID c, eacg be fed f e ad ed e() bac Ma See:
Te ee B eacg be fed f Ue<e ID>
Hee ae e e: Ue<e ID1>, Ue<e ID2>…
Te ee B a e e e() Ma See
Table 6. Main Serer on-creen meage
Een
On-creen Meage
Bg ( e ag):
Te Ma ee ad g.
U eceg e c f ee A:
Te Ma ee a eceed e c f ee A g UDP e
U eceg e c f ee B:
Te Ma ee a eceed e c f ee B g UDP e
L e e f c c eeA/eeB ebe f:
See A See B
U eceg e f e ce:
Te Ma ee a eceed e ee Ue <e ID>
If e c ae cd be fd, ed e e eage e ce:
Te Ma See a e C Nae: N fd ce1/2 g TCP e
If e c ae cd be fd, decde c ee
ca eaed fa ab e eID ad ed a ee eeA/B
Te Ma See a e ee f Ue <e ID> ee A/B g UDP e
If e cd fd e ID e ga, e Ma See ecee e eacg e f eeA/B ad ed e ce1/2
Te Ma ee a eceed eacg e() f Ue <e ID> f ee
Te Ma See a e eacg e() ce g TCP e
If e cd fd e ID e ga, ed e e eage bac ce
Te Ma ee a eceed Ue ID: N fd f ee
Te Ma See a e e ce g TCP e
Table 7. Clien 1 on-creen meage
Een
On-creen Meage
Bg ( e ag)
Ce1 ad g
Peae ee e Ue ID: Peae ee e C Nae:
Afe edg Ue ID Ma See:
Ce1 a e Ue<e ID> ad
If c fd
If Ue ID fd
Ue<e ID> fd
If Ue ID ad c ca be fd:
Ce1 a eceed e f Ma See:
Ue<e ID1>, Ue<e ID2> /ae be fed() f Ue<e ID>
ASSUMPTIONS
Table 8. Clien 2 on-creen meage
Een
On-creen Meage
Bg ( e ag)
Te ce ad g
Peae ee e Ue ID: Peae ee e C Nae:
Afe edg Ue ID Ma See:
Ce2 a e Ue<e ID> ad
If c fd
If Ue ID fd
Ue<e ID> fd
If Ue ID ad c ca be fd:
Ce2 a eceed e f Ma See:
Ue<e ID1>, Ue<e ID2> /ae be fed() f Ue<e ID>
1. Y ae a e cee de: Backend-erer (A), Backend-erer (B), Main-erer, and Clien 1, Clien 2.
2. Te daa1. ad daa2. fe ae ceaed befe ga a.
3. If eed ae e cde fe a e e a ae eed ee, eae e
eagf ae ad a a ee ad e e a README fe.
4. Y ae aed e cde e f Bee ce gag a (Bee gde e gag) ec. Hee, eed a e ced a cde.
5. We cde, f ge e eage aead e adde aead e, pleae fir check o ee if o hae a ombie proce (ee fg). If d ae c be cee f ge eage afe eag a be cee, cagg e ac UDP TCP be cedg e
eage (a be be 1024 ae eeed ad be ed). If ae cage e be, eae d e README fe ad de ea f .
6. Y a ceae be cee e eg cde, eae ae e e ee e a cde. T ee a f a be cee, cad:
ps -aux grep developer
Idef e be cee ad e ce be ad e b g a e cad-e:
kill -9
1. D adcde e TCP UDP be a ae be baed daca. Refe Tabe 3 ee c ae aca defed ad c e ae daca aged. Ue gecae() fc eee e ca-bd be eee ae aged daca a be:
/*Retrieve the locally-bound name of the specified socket and store it in the sockaddr structure*/ getsock_check=getsockname(TCP_Connect_Sock,(struct sockaddr *)&my_addr, (socklen_t *)&addrlen);
//Error checking
if (getsock_check== -1) perror(“getsockname”); exit(1);
2. Te ae be ad-cded a localho (127.0.0.1) a cde.
3. Y ce d ee g ad a ee a e ee afe dag e e e, e TA aa eae b C+C. Te baced ee ad e Ma ee d ee g ad be ag f ae ee e TA eae e b C+C. If e eae befe a, e e f .
4. A e ag ce ad e -cee eage cf e e eed e.
5. Y ae aed a a aaee ae g caace a a cad-e age.
6. A e -cee eage cf eac e ec dec. Y d add ae -cee eage. If eed d f e debggg e, ce a f e ea eage befe b ec.
7. Peae e f() a e ca ceae cce cee ada f d fee cfabe g e. Hee, e e f f() f e cea f a cd ce e a e TCP cec acceed ada ad eee d . T ef e dffee ce ae g cec e ae ee ae. If d e f() e Ma ee e a e cec acceed, e Ma See be abe ade e cce cec.
8. Peae d eebe ce e ce ad ea d e cec ce ae de g a ce.
Programming Plaform and Enironmen
1. A bed cde MUST e e ded a ace Ub.
2. A b be gaded e ded Ub. TA ae a dae cage e a ace. I eb ae e cde e e ded Ub. I e ace a ece ad e d cae.
3. Y b MUST ae a Maefe. Peae f e eee e fg Sb Re ec.
Programming Langage and Compiler
Y e C/C++ UNIX a e a UNIX Sce gag cad ad fc. Hee ae e e f Bee’ Gde C Pgag ad Ne Pgag (ce gag):
://.bee./gde/bge/
(If ae e ce gag eae d d a caef a a be ad befe ag e ec)
://.bee./gde/bgc/
Y ca e a U e ed e eac ged e cde ad e e ce c a g++ (f C++) ad gcc (f C) a ae aead aed Ub ce cde. Y e e fg cad ad ce ce fe.c fe.c. I ae a eecabe b e ae f “fe.
gcc -o yourfileoutput yourfile.c
g++ -o yourfileoutput yourfile.cpp
D NOT fge e ada ag ce eed befe!
A de cde a eed cde ee eade fe add a e eade fe ed:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
Sbmiion Rle
Ag cde fe, cde a README file and a Makefile. I e README fe e:
Y Fll Name a ge e ca
Y Sde ID
Wa ae de e age.
Wa cde fe ae ad a eac e f e de. (Peae d eea e ec dec, ae cde fe ad bef e a e d).
Te fa f a e eage ecaged.
A dca f ec. I d a de a cd e ec fa, f a.
Reed Cde: Dd e cde f aee f ec? If , a . If , a a fc ad ee e’e f. (A def a ce e ce cde.)
SUBMISSIONS WITHOUT README AND MAKEFILE WILL BE SUBJECT TO A SERIOUS PENALTY.
Abo he Makefile
Maefe Ta:
hp://.c.arhmore.ed/nehall/nihelp/hoo_makefile.hml
Maefe d fg fc:
Ce all fe ad ceae eecabe
ae a
Rn ee A
ae eeA
Rn ee B
ae eeB
Rn Ma See
ae aee
Rn ce 1
./ce
Rn ce 2
./ce
TA f ce a cde g make all. Te e e 5 dffee ea d. O 3 ea e a ee A, B ad Ma See g cad make ererA, make ererB, ad make mainerer. Remember ha erer hold ala be on once ared. O e 5 ea e a e ce a ./clien”. TA cec e f e ee. Te ea d da e eage ecfed abe.
1. Ce a fe cdg e README fe a ge a ba ad ca :
ee450_orUSCername_eion#.ar.g (a a ee) e.g. feae d be ee450_nananha_eion1.ar.g. Peae ae e a ae ace e e e ca . Hee ae e c:
O VM, g e dec c a a ec fe. Ree a eecabe ad e ecea fe. Onl inclde he reqired orce code file, Makefile and he README file. N e fg cad:
tar cvf ee450_yourUSCusername_session#.tar *
gip ee450_yourUSCusername_session#.tar
N, fd a fe aed ee450_USCeae_e#.a.g e ae dec. Peae ce ee a a (*) a e ed f e f cad.
2. D NOT cde ag eed a.g fe. D NOT e bfde. A ceed fa e a .a.g NOT be gaded!
3. Uad ee450_USCeae_e#.a.g e Dga Db e DEN ebe (DEN -> EE450 -> M T -> Age -> Sce Pec). Afe e fe aded e d b, cc e end b aca b . If d cc end, e fe be bed.
4. D2L ee a f a b. If ae e b, e gade ae ad b. Sb afe e deade cdeed a ad.
5. D2L ed a Db b ece cf b. S eae d cec ea ae e b ccef eceed. If d ecee a cfa ea, aga ae ad cac TA f aa fa.
6. Peae ae acc a d f be ecca e ad d eec a ge affc e DEN ebe e ce e deade c a ede b ee acce DEN ccef.
7. Peae DO NOT a e a 5 e ad ad b becae e ecca e g ae ad e deade. Ad a d gge, f
ge e bg e befe e deade, eae ae a b f ae e ge e f ad !
8. Afe eceg e cfa ea, eae cf b b dadg ad cg ace. If e ce a eeced, eb ad cf aga. We gade a bed ee g ced.
9. Y ae e f e ec ad b e ece ee abe e eace f ae b! D NOT ae a ee be a ae b ea a gace ed. If b ec ae ( ae f a ea ece ee ecca e), ecee a e f e ec.
GRADING CRITERIA
Noice: We ill onl grade ha i alread done b he program inead of ha ill be done.
F eae, e TCP cec eabed ad daa e e Ma See. B e e eceed b e ce becae Ma-ee g e e. Te e e f ae 1 ee g g e.
Y ec gade deed e fg:
1. Cec fca, .e. e ga ff e eee f e age, eeca e cca g UDP ad TCP ce.
2. Ie ce cde. T a a e deadg a ae de.
3. Wee ga a a e d e README fe.
4. Wee ga e aae e eage ad e.
5. If bed cde d ee ce, ecee 5 f 100 f e ec.
6. If bed cde ce g ae b e eeced, dce e e efg a a f e ec, ecee 10 f 100.
7. If fge cde e README fe Maefe e ec a-ba a bed, e 15 f eac g fe ( eed ed e fe e TA de f ec be gaded.)
8. If add bfde ce fe e g a, e 2 eac.
9. If cde de cec ag e TCP UDP be ( a ae), e 10 eac.
10. Y e 5 f eac e a a a de cec.
11. Te gade f a -e bed ec 10 f 100, ag ee ae ca e ad e b cde a g Maefe ad a README.
12. Tee ae f e eff e e ed g e ec eadg e a. If ed ab 2 ec ad de ee ce, ecee 5 f 100.
13. Yo m dic all projec relaed ie on Piaa. We ge e ace e e b aeg e Paa 10 b . If a ea e ea ced, d eebe eae ae be c e aeg e Paa. A, NOT ge ced b eeag e ae.
14. Te a a ca ecee f e ec e b 100. I e d e b e gade f gade e a 100.
15. Y cde be aeed a a f gadg e ad ee be eed dffee . Y degaed TA ec a , accdg e ec dec ad README fe ad e cec ee cec . If README ce e dec, e f e dec.
FINAL WORDS
1. Sa ec ea. Had deade c efced. N gace ed. N gace da. N ece.
2. I e f a a ecg ca ea e ed f a ec, e a ae cea a e age af c e ec ed he proided Ub (16.04). I g eceded a de dee e cde a ace. I cae de dee e ga e ea ace, b g e eag e, e ae eeced dea ecca ad cab e ( e ) ee a e fa ec ce ad e eeed a ace. If d deee ace, eae eae a ea ee da ae Ub. I g ae c ge a eec becae f e cab e.
3. Cec Paa ega f adda eee ad ae dae ab e ec gdee. A ec cage aced Paa ae fa ad ee e eece dec eed dce.
4. Paga be eaed ad e a F e ce.