package Ġio . e jek ta . k amb rik . ext . internal Ċ Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Composite Decoder Ċ import Ġkotlinx . serialization . encoding . Composite Encoder Ċ import Ġkotlinx . serialization . encoding . Decoder Ċ import Ġkotlinx . serialization . encoding . Encoder Ċ Ċ fun ĠEncoder . do Collection ( serial : ĠSerial Descriptor , Ġsize : ĠInt , Ġfunc : ĠComposite Encoder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġbegin Collection ( serial , Ġsize ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġfunc ( this ) ĊĠĠĠĠĠĠĠ Ġend Structure ( serial ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠEncoder . do Structure ( serial : ĠSerial Descriptor , Ġfunc : ĠComposite Encoder . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġbegin Structure ( serial ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġfunc ( this ) ĊĠĠĠĠĠĠĠ Ġend Structure ( serial ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠDecoder . do Structure ( serial : ĠSerial Descriptor , Ġfunc : ĠComposite Decoder . () Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ Ġbegin Structure ( serial ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġfunc ( this ) ĊĠĠĠĠĠĠĠ Ġend Structure ( serial ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ }