package Ġio . kot est . property . ar bitrary Ċ Ċ import Ġio . kot est . property . Ar b Ċ import Ġio . kot est . property . az string Ċ import Ġkotlin . random . nextInt Ċ Ċ fun ĠA rb . Companion . email ( username Size : ĠInt Range Ġ= Ġ 3 .. 1 0 , Ġdomain Size : ĠInt Range Ġ= Ġ 3 .. 1 0 ): ĠA rb < String > Ġ{ ĊĠĠ Ġval Ġt lds Ġ= ĠlistOf (" com ", Ġ" net ", Ġ" gov ", Ġ" co . uk ", Ġ" jp ", Ġ" nl ", Ġ" ru ", Ġ" de ", Ġ" com . br ", Ġ" it ", Ġ" pl ", Ġ" io ") ĊĠĠ Ġreturn ĠA rb . create Ġ{ ĊĠĠĠĠĠ Ġval Ġt ld Ġ= Ġt lds . random ( it . random ) ĊĠĠĠĠĠ Ġval Ġusername Ġ= Ġit . random . az string ( size Ġ= Ġit . random . nextInt ( username Size )) ĊĠĠĠĠĠ Ġval Ġdomain Ġ= Ġit . random . az string ( size Ġ= Ġit . random . nextInt ( domain Size )) ĊĠĠĠĠĠ Ġval Ġusername p Ġ= Ġif Ġ( username . length Ġ> Ġ 5 Ġ&& Ġit . random . next Boolean ()) Ġ{ ĊĠĠĠĠĠĠĠĠ Ġusername . take ( username . length Ġ/ Ġ 2 ) Ġ+ Ġ"." Ġ+ Ġusername . drop ( username . length Ġ/ Ġ 2 ) ĊĠĠĠĠĠ Ġ} Ġelse Ġusername ĊĠĠĠĠĠ Ġ"$ username p @ $ domain .$ t ld " ĊĠĠ Ġ} Ċ } Ċ