package Ġgg . r sm od . cache . struct Ċ Ċ import Ġgg . r sm od . cache . type . Archive Version Type Ċ Ċ /** Ċ Ġ* Ġ@ author ĠTom Ġ< rsp sm ods @ gmail . com > Ċ Ġ*/ Ċ data Ġclass ĠIndex ( val Ġversion : ĠInt , Ġval Ġversion Type : ĠArchive Version Type , Ġval Ġname Hash : ĠBoolean , Ġvar Ġarchive Data : ĠByteArray ?) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġother Ġas ĠIndex ĊĊĠĠĠĠĠĠĠ Ġif Ġ( version Ġ!= Ġother . version ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( version Type Ġ!= Ġother . version Type ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġif Ġ( name Hash Ġ!= Ġother . name Hash ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġversion ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġversion Type . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġname Hash . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }