package Ġcom . sk sam uel . hop lite Ċ Ċ import Ġarrow . core . Validated Ċ import Ġcom . sk sam uel . hop lite . decoder . Decoder Ċ import Ġcom . sk sam uel . hop lite . decoder . Decoder Registry Ċ import Ġcom . sk sam uel . hop lite . preprocessor . Pre processor Ċ import Ġkotlin . reflect . K Parameter Ċ import Ġkotlin . reflect . K Type Ċ Ċ data Ġclass ĠDecoder Context ( val Ġde coders : ĠDecoder Registry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparam Map pers : ĠList < Parameter Mapper >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpre processors : ĠList < Pre processor >) Ġ{ ĊĠ Ġfun Ġdecoder ( type : ĠK Type ): ĠValid ated < Config Failure , ĠDecoder <* >> Ġ= Ġde coders . decoder ( type ) ĊĠ Ġfun Ġdecoder ( type : ĠK Parameter ): ĠValid ated < Config Failure , ĠDecoder <* >> Ġ= Ġde coders . decoder ( type . type ) ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval Ġzero Ġ= ĠDecoder Context ( Decoder Registry . zero , Ġempty List (), Ġempty List ()) ĊĠ Ġ} Ċ } Ċ