package Ġcom . g ow tham . rick nm ort y . navigation Ċ Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Map Ċ import Ġandroidx . compose . material . icons . filled . On demand Video Ċ import Ġandroidx . compose . material . icons . filled . Person Ċ import Ġandroidx . compose . ui . graphics . vector . Image Vector Ċ Ċ sealed Ġclass ĠS cre ens ( val Ġroute : ĠString , Ġval Ġlabel : ĠString , Ġval Ġicon : ĠImage Vector ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġobject ĠChar acters Screen Ġ: ĠS cre ens (" Characters ", Ġ" Characters ", ĠIcons . Default . Person ) ĊĠĠĠ Ġobject ĠEp isode s Screen Ġ: ĠS cre ens (" Episode s ", Ġ" Episode s ", ĠIcons . Default . On demand Video ) ĊĠĠĠ Ġobject ĠLoc ations Screen Ġ: ĠS cre ens (" Locations ", Ġ" Locations ", ĠIcons . Default . Map ) ĊĠĠĠ Ġobject ĠCharacter Detail Screen Ġ: ĠS cre ens (" Character Detail ", Ġ" Character Detail ") ĊĠĠĠ Ġobject ĠEp isode Detail Screen Ġ: ĠS cre ens (" Episode Detail ", Ġ" Episode Detail ") ĊĠĠĠ Ġobject ĠLocation Detail Screen Ġ: ĠS cre ens (" Location Detail ", Ġ" Location Detail ") ĊĊĠĠĠ Ġfun Ġwith Args ( var arg Ġargs : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( route ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("/ $ it ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwith Args ( args : ĠMap < String , ĠString >): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild String Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( route ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend (" ?") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġargs . iterator () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġiterator . next () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( map . key Ġ+ Ġ"=" Ġ+ Ġmap . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( iterator . hasNext ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend ("& ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ