package Ġleak can ary . internal . utils Ċ Ċ import Ġkotlin . math . ln Ċ import Ġkotlin . math . pow ĊĊ Ċ // Ġhttps :// stackoverflow . com / a / 3 7 5 8 8 8 0 Ċ internal Ġfun Ġhuman Readable Byte Count ( ĊĠĠĠĠĠĠĠ Ġbytes : ĠLong , ĊĠĠĠĠĠĠĠ Ġsi : ĠBoolean Ċ ): ĠString Ġ{ ĊĠĠĠ Ġval Ġunit Ġ= Ġif Ġ( si ) Ġ 1 0 0 0 Ġelse Ġ 1 0 2 4 ĊĠĠĠ Ġif Ġ( bytes Ġ< Ġunit ) Ġreturn Ġ"$ bytes ĠB " ĊĠĠĠ Ġval Ġexp Ġ= Ġ( ln ( bytes . toDouble ()) Ġ/ Ġln ( unit . toDouble ())). toInt () ĊĠĠĠ Ġval Ġpre Ġ= Ġ( if Ġ( si ) Ġ" k M GT PE " Ġelse Ġ" KM GT PE ")[ exp Ġ- Ġ 1 ] Ġ+ Ġif Ġ( si ) Ġ"" Ġelse Ġ" i " ĊĠĠĠ Ġreturn ĠString . format ("% . 1 f Ġ% s B ", Ġbytes Ġ/ Ġunit . toDouble (). pow ( exp . toDouble ()), Ġpre ) Ċ } Ċ