package Ġnetwork . xy o . sdk core kotlin . data . array . single Ċ Ċ import Ġnetwork . xy o . sdk core kotlin . data . X yo Object Ċ import Ġnetwork . xy o . sdk core kotlin . data . X yo Unsigned Helper Ċ import Ġnetwork . xy o . sdk core kotlin . data . array . X yo Array Decoder Ċ import Ġnetwork . xy o . sdk core kotlin . exceptions . X yo Cor rupt DataException Ċ Ċ /** Ċ Ġ* ĠAn Ġsingle Ġtype Ġarray Ġwith Ġa Ġ 2 Ġbyte Ġsize . Ċ Ġ* Ċ Ġ* Ġ@ major Ġ 0 x 0 1 Ċ Ġ* Ġ@ minor Ġ 0 x 0 2 Ċ Ġ* Ċ Ġ* Ġ@ param Ġelement Major ĠThe Ġmajor Ġtype Ġof Ġthe Ġelements Ġin Ġthe Ġarray . Ċ Ġ* Ġ@ param Ġelement Minor ĠThe Ġminor Ġtype Ġof Ġthe Ġelements Ġin Ġthe Ġarray . Ċ Ġ* Ġ@ param Ġarray ĠThe Ġin - memory Ġarray Ġto Ġstart Ġoff Ġthe ĠX yo Ġarray Ġwith . Ċ Ġ*/ Ċ open Ġclass ĠX yo Single Type Array Short ( override Ġval Ġelement Major Ġ: ĠByte , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġelement Minor Ġ: ĠByte , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġarray : ĠArray < X yo Object >) Ġ: ĠX yo Single Type Array Base () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġid : ĠByteArray Ġ= Ġbyte ArrayOf ( major , Ġminor ) ĊĠĠĠ Ġoverride Ġval Ġsize Identifier Size : ĠInt ? Ġ= Ġsize Of Bytes To GetSize ĊĊĠĠĠ Ġoverride Ġval Ġtyped Id : ĠByteArray ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbyte ArrayOf ( element Major , Ġelement Minor ) ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠX yo Array Provider () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġminor : ĠByte Ġ= Ġ 0 x 0 2 ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġsize Of Bytes To GetSize : ĠInt ? Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġread Size ( byteArray : ĠByteArray ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠX yo Unsigned Helper . read Unsigned Short ( byteArray ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Packed ( byteArray : ĠByteArray ): ĠX yo Object Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġunpack ed Array Ġ= ĠX yo Array Decoder ( byteArray , Ġtrue , Ġ 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarray Ġ= Ġunpack ed Array . array ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmajor Type Ġ= Ġunpack ed Array . major Type Ġ?: Ġthrow ĠX yo Cor rupt DataException (" No ĠMajor !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġminor Type Ġ= Ġunpack ed Array . minor Type Ġ?: Ġthrow ĠX yo Cor rupt DataException (" No ĠMinor !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠX yo Single Type Array Short ( major Type , Ġminor Type , Ġarray . to Typed Array ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }