package Ġformats . p dc Ċ Ċ import Ġkotlin . native . concurrent . Mutable Data Ċ Ċ data Ġclass ĠCommand List ( var Ġcommands : ĠList < Draw Command >) Ġ{ ĊĠĠĠ Ġfun Ġto Bytes (): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbuild List < Byte > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarr Ġ= ĠByteArray ( 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . set U Short At ( 0 , Ġcommands . size . to U Short ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . addAll ( arr . toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommands . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . addAll ( it . to Bytes (). toList ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. toByteArray () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Bytes ( bytes : ĠByteArray ): ĠCommand List Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlength Ġ= Ġbytes . get U Short At ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġn Ġ= ĠU Short . SIZE _ BYTES ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCommand List ( build List < Draw Command > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġlength . toInt ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcmd Ġ= ĠDraw Command . from Bytes ( bytes . slice Array ( n .. bytes . last Index )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd ( cmd ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn Ġ+= Ġcmd . to Bytes (). size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }