package Ġnet . earth computer . mult icon nect . ap Ċ Ċ import Ġkotlinx . serialization . Context ual Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġjavax . annotation . processing . Processing Environment Ċ import Ġjavax . lang . model . type . Type Kind Ċ import Ġjavax . lang . model . type . Type Mirror Ċ Ċ @ Serializable Ċ data Ġclass ĠMult icon nect Type ( ĊĠĠĠ Ġval Ġreal Type : ĠType Mirror , ĊĠĠĠ Ġval ĠwireType : ĠTypes , ĊĠĠĠ Ġval Ġregistry : ĠRegist ries ?, ĊĠĠĠ Ġ@ Context ual Ġval Ġlength Info : ĠLength ?, ĊĠĠĠ Ġ@ Context ual Ġval Ġdefault Construct Info : ĠDefault Construct ?, ĊĠĠĠ Ġval Ġonly If : ĠString ?, ĊĠĠĠ Ġ@ Context ual Ġval Ġdata fix Info : ĠData fix ?, ĊĠĠĠ Ġval Ġpol ymorphic By : ĠString ?, ĊĠĠĠ Ġval Ġintroduce : ĠList < @ Context ual ĠIntro duce >, ĊĠĠĠ Ġval Ġcustom Fix : ĠList < @ Context ual ĠCustom Fix >, Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġis Constant Represent able (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġreal Type . kind . is Primitive ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . is Enum ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . has QualifiedName ( JAVA _ LANG _ STRING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . has QualifiedName ( M INE CR AFT _ IDENTIFIER ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcan Co erce FromString (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġreal Type . is Enum ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . has QualifiedName ( JAVA _ LANG _ STRING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . has QualifiedName ( M INE CR AFT _ IDENTIFIER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġregistry Ġ!= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġis Supported Type ( processing Env : ĠProcessing Environment , Ġreal Type : ĠType Mirror ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdefault Wire Type ( real Type . deep ComponentType ( processing Env )) Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdefault Wire Type ( real Type : ĠType Mirror ): ĠTypes ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( real Type . is Enum ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTypes . VAR _ INT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( real Type . is Message Ġ|| Ġreal Type . is Message Variant ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTypes . MESSAGE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( real Type . kind ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . BOOLEAN Ġ-> ĠTypes . BOOLEAN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . BYTE Ġ-> ĠTypes . BYTE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . SHORT Ġ-> ĠTypes . SHORT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . INT Ġ-> ĠTypes . VAR _ INT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . LONG Ġ-> ĠTypes . VAR _ LONG ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . FLOAT Ġ-> ĠTypes . FLOAT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . DOUBLE Ġ-> ĠTypes . DOUBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Kind . DECLARE D Ġ-> Ġwhen ( real Type . as Type Element ()?. qualified Name ?. toString ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJAVA _ LANG _ STRING Ġ-> ĠTypes . STRING ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJAVA _ UTIL _ BIT SET Ġ-> ĠTypes . BIT SET ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJAVA _ UTIL _ UUID Ġ-> ĠTypes . UUID ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM INE CR AFT _ IDENTIFIER Ġ-> ĠTypes . IDENTIFIER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM INE CR AFT _ NBT _ COMP O UND Ġ-> ĠTypes . NBT _ COMP O UND ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Wire Type Compatible ( real Type : ĠType Mirror , ĠwireType : ĠTypes ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdefault Wire Type Ġ= Ġdefault Wire Type ( real Type ) Ġ?: Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( default Wire Type . is Integral Ġ&& ĠwireType . is Integral ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġmake Ġsure Ġthe Ġdefault Ġwire Ġtype Ġis Ġ" w ider " Ġthan Ġthe Ġactual Ġwire Ġtype ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIN TEGR AL _ SIZ ES [ default Wire Type ] !! Ġ>= ĠIN TEGR AL _ SIZ ES [ wire Type ] !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdefault Wire Type Ġ== ĠwireType ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Registry Compatible ( real Type : ĠType Mirror ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġreal Type . is Integral Ġ|| Ġreal Type . has QualifiedName ( M INE CR AFT _ IDENTIFIER ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcan Auto Fill ( real Type : ĠType Mirror ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġreal Type . has QualifiedName ( M INE CR AFT _ NETWORK _ HANDLER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . has QualifiedName ( MULT ICON NECT _ TYPE D _ MAP ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġreal Type . has QualifiedName ( MULT ICON NECT _ DELAY ED _ PACKET _ SEND ER ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval ĠIN TEGR AL _ SIZ ES Ġ= Ġmap Of ( ĊĠĠĠ ĠTypes . BOOLEAN Ġto Ġ 1 , ĊĠĠĠ ĠTypes . BYTE Ġto Ġ 1 , ĊĠĠĠ ĠTypes . UNSIGNED _ BYTE Ġto Ġ 1 , ĊĠĠĠ ĠTypes . SHORT Ġto Ġ 2 , ĊĠĠĠ ĠTypes . INT Ġto Ġ 4 , ĊĠĠĠ ĠTypes . VAR _ INT Ġto Ġ 4 , ĊĠĠĠ ĠTypes . LONG Ġto Ġ 8 , ĊĠĠĠ ĠTypes . VAR _ LONG Ġto Ġ 8 Ċ ) Ċ val ĠTypes . is Integral : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġthis Ġin ĠIN TEGR AL _ SIZ ES Ċ