package Ġcom . oct aw izard . data . repository Ċ Ċ import Ġcom . oct aw izard . domain . model .* Ċ import Ġcom . oct aw izard . domain . model . Week Day .* Ċ Ċ class ĠDi et Repository Ġ{ ĊĠĠĠ Ġprivate Ġval Ġproteins : ĠSet < Protein > Ġ= Ġset Of Protein ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ch icken ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" t una ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sh ri mps ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" eg gs ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" beans ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ch ick pe as ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" l ent il ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cott age Ġche ese ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cl ams ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cod ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" sal mon " ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġve get ables Ġ= Ġset Of Ve get able ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" bro c co li ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" spin ach ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" be et root ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ca ul if lower ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" egg plant ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" z uc ch ini ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" red Ġpep per ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" green Ġbe ans ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ed am ame ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" c abb age ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pump kin " ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġside Ve get ables Ġ= Ġset Of Ve get able ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cucumber ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" tom ato ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" car rot ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" ru col a ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" lett uce ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" can on ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" d ried Ġto mat o " ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġval Ġcar bs Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Of Car b (" past a ", Ġ" brown Ġr ice ", Ġ" brown Ġb read ", Ġ" pot ato ", Ġ" sweet Ġpot ato ", Ġ" qu ino a ") ĊĊĠĠĠ Ġprivate Ġval Ġweekly Me als : Ġ ĠWeek ly Me als ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġweekly Me als Ġ= Ġget Week ly Me als () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Daily Me al ( week Day : ĠWeek Day ): ĠDaily Me als ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweekly Me als . me als . find Ġ{ Ġit . first Ġ== Ġweek Day Ġ} ?. second ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Me al (): ĠMe al Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMe al ( pro teins . random (), Ġve get ables . random (), Ġside Ve get ables . random ( 3 ), Ġcar bs . random ()) ĊĊĠĠĠ Ġprivate Ġfun Ġget Week ly Me als (): ĠWeek ly Me als Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpairs Ġ= ĠWeek Days . zip ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList ( S unday . day Number ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDaily Me als ( l unch Ġ= Ġgenerate Me al (), Ġd inner Ġ= Ġgenerate Me al ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠWeek ly Me als ( pairs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Week ly Di et (): ĠWeek ly Me als Ġ= Ġweekly Me als Ċ Ċ } Ċ Ċ fun Ġ< T Ġ: ĠAny > ĠSet < T >. random ( n : ĠInt ): ĠSet < T > Ġ= ĊĠĠĠĠĠĠĠ Ġgenerate Sequence Ġ{ Ġthis . random () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( n ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĊ