package Ġru . ot us . ot us kotlin . work out . be . app . rabbit Ċ Ċ fun Ġmain () Ġ{ ĊĠĠĠ Ġval Ġconfig Ġ= ĠRabbit Config () ĊĠĠĠ Ġval Ġexercise Processor Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠRabbit Exercise Processor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġconfig , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconsumer Tag Ġ= Ġ" test - exercise - tag ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey In Ġ= Ġ" exercise - in ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Out Ġ= Ġ" exercise - out ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue Ġ= Ġ" exercise - queue ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Ġ= Ġ" exercise - exchange ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexercise Service Ġ= Ġconfig . exercise Service ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġwork out Processor Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠRabbit Work out Processor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġconfig , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconsumer Tag Ġ= Ġ" test - work out - tag ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey In Ġ= Ġ" work out - in ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Out Ġ= Ġ" work out - out ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Ġ= Ġ" work out - exchange ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġqueue Ġ= Ġ" work out - queue ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwork out Service Ġ= Ġconfig . work out Service ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġcontroller Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠRabbit Controller ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessors Ġ= Ġset Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexercise Processor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwork out Processor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġcontroller . start () Ċ }