package Ġde . th omas let sch Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonProperty Ċ Ċ data Ġclass ĠGroup ( ĊĠĠĠĠĠĠĠ Ġ@ field : JsonProperty (" ID ") ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ field : JsonProperty (" NAME ") ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ field : JsonProperty (" PORTS ") ĊĠĠĠĠĠĠĠ Ġval Ġports : ĠList < Port > Ċ ) Ċ Ċ data Ġclass ĠPort ( ĊĠĠĠĠĠĠĠ Ġ@ field : JsonProperty (" ID ") ĊĠĠĠĠĠĠĠ Ġval Ġid : ĠInt , ĊĠĠĠĠĠĠĠ Ġ@ field : JsonProperty (" TYPE ") ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠInt Ċ ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Port ( id =$ id , Ġtype =$ type Ġ(${ Port Type . from ( type )} )) " ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠPort Type ( val Ġcode : ĠInt ) Ġ{ ĊĠĠĠ ĠNONE ( 0 ), ĊĠĠĠ ĠIMP UL S ( 1 ), ĊĠĠĠ ĠAUTO _ CLOSE ( 2 ), ĊĠĠĠ ĠON _ OFF ( 3 ), ĊĠĠĠ ĠUP ( 4 ), ĊĠĠĠ ĠDOWN ( 5 ), ĊĠĠĠ ĠHAL F ( 6 ), ĊĠĠĠ ĠW AL K ( 7 ), ĊĠĠĠ ĠLIGHT ( 8 ), ĊĠĠĠ ĠON ( 9 ), ĊĠĠĠ ĠOFF ( 1 0 ), ĊĠĠĠ ĠLOCK ( 1 1 ), ĊĠĠĠ ĠUN LOCK ( 1 2 ), ĊĠĠĠ ĠOPEN _ DO OR ( 1 3 ), ĊĠĠĠ ĠL IFT ( 1 4 ), ĊĠĠĠ ĠS INK ( 1 5 ); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom ( code : ĠInt ): ĠPort Type ? Ġ= Ġvalues (). first OrNull Ġ{ Ġit . code Ġ== Ġcode Ġ} ĊĠĠĠ Ġ} Ċ } Ċ