Coverage Summary for Class: CollisionModelSerializer (com.ghost.serialization.integration.model)

Class Method, % Branch, % Line, % Instruction, %
CollisionModelSerializer 42.1% (8/19) 35.3% (230/652) 45.7% (436/954) 46.6% (3307/7101)
CollisionModelSerializer$DecodingContext 100% (103/103) 100% (103/103) 100% (512/512)
Total 91% (111/122) 35.3% (230/652) 51% (539/1057) 50.2% (3819/7613)


 @file:OptIn(InternalGhostApi::class)
 
 package com.ghost.serialization.integration.model
 
 import com.ghost.serialization.InternalGhostApi
 import com.ghost.serialization.contract.GhostSerializer
 import com.ghost.serialization.parser.GhostJsonFlatReader
 import com.ghost.serialization.parser.GhostJsonReader
 import com.ghost.serialization.parser.JsonReaderOptions
 import com.ghost.serialization.parser.beginObject
 import com.ghost.serialization.parser.endObject
 import com.ghost.serialization.parser.nextInt
 import com.ghost.serialization.parser.selectNameAndConsume
 import com.ghost.serialization.parser.skipValue
 import com.ghost.serialization.writer.GhostJsonFlatWriter
 import com.ghost.serialization.writer.GhostJsonWriter
 import okio.ByteString
 import okio.ByteString.Companion.encodeUtf8
 
 /**
  * High-performance serializer for [CollisionModel].
  * Generated by GhostSerialization. Do not modify manually.
  */
 public object CollisionModelSerializer : GhostSerializer<CollisionModel> {
   override val typeName: String = "CollisionModel"
 
   private val OPTIONS: JsonReaderOptions =
       JsonReaderOptions.of(16, 233, 8_192, false, "a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "a10", "a11", "a12", "a13", "a14", "a15", "a16", "a17", "a18", "a19", "a20", "a21", "a22", "a23", "a24", "a25", "a26", "a27", "a28", "a29", "a30", "a31", "a32", "a33", "a34", "a35", "a36", "a37", "a38", "a39", "a40", "a41", "a42", "a43", "a44", "a45", "a46", "a47", "a48", "a49", "a50", "a51", "a52", "a53", "a54", "a55", "a56", "a57", "a58", "a59", "a60", "a61", "a62", "a63", "a64", "a65", "a66", "a67", "a68", "a69", "a70", "a71", "a72", "a73", "a74", "a75", "a76", "a77", "a78", "a79", "a80", "a81", "a82", "a83", "a84", "a85", "a86", "a87", "a88", "a89", "a90", "a91", "a92", "a93", "a94", "a95", "a96", "a97", "a98", "a99", "a100")
 
   private val H_A1: ByteString = "\"a1\":".encodeUtf8()
 
   private val H_A10: ByteString = "\"a10\":".encodeUtf8()
 
   private val H_A100: ByteString = "\"a100\":".encodeUtf8()
 
   private val H_A11: ByteString = "\"a11\":".encodeUtf8()
 
   private val H_A12: ByteString = "\"a12\":".encodeUtf8()
 
   private val H_A13: ByteString = "\"a13\":".encodeUtf8()
 
   private val H_A14: ByteString = "\"a14\":".encodeUtf8()
 
   private val H_A15: ByteString = "\"a15\":".encodeUtf8()
 
   private val H_A16: ByteString = "\"a16\":".encodeUtf8()
 
   private val H_A17: ByteString = "\"a17\":".encodeUtf8()
 
   private val H_A18: ByteString = "\"a18\":".encodeUtf8()
 
   private val H_A19: ByteString = "\"a19\":".encodeUtf8()
 
   private val H_A2: ByteString = "\"a2\":".encodeUtf8()
 
   private val H_A20: ByteString = "\"a20\":".encodeUtf8()
 
   private val H_A21: ByteString = "\"a21\":".encodeUtf8()
 
   private val H_A22: ByteString = "\"a22\":".encodeUtf8()
 
   private val H_A23: ByteString = "\"a23\":".encodeUtf8()
 
   private val H_A24: ByteString = "\"a24\":".encodeUtf8()
 
   private val H_A25: ByteString = "\"a25\":".encodeUtf8()
 
   private val H_A26: ByteString = "\"a26\":".encodeUtf8()
 
   private val H_A27: ByteString = "\"a27\":".encodeUtf8()
 
   private val H_A28: ByteString = "\"a28\":".encodeUtf8()
 
   private val H_A29: ByteString = "\"a29\":".encodeUtf8()
 
   private val H_A3: ByteString = "\"a3\":".encodeUtf8()
 
   private val H_A30: ByteString = "\"a30\":".encodeUtf8()
 
   private val H_A31: ByteString = "\"a31\":".encodeUtf8()
 
   private val H_A32: ByteString = "\"a32\":".encodeUtf8()
 
   private val H_A33: ByteString = "\"a33\":".encodeUtf8()
 
   private val H_A34: ByteString = "\"a34\":".encodeUtf8()
 
   private val H_A35: ByteString = "\"a35\":".encodeUtf8()
 
   private val H_A36: ByteString = "\"a36\":".encodeUtf8()
 
   private val H_A37: ByteString = "\"a37\":".encodeUtf8()
 
   private val H_A38: ByteString = "\"a38\":".encodeUtf8()
 
   private val H_A39: ByteString = "\"a39\":".encodeUtf8()
 
   private val H_A4: ByteString = "\"a4\":".encodeUtf8()
 
   private val H_A40: ByteString = "\"a40\":".encodeUtf8()
 
   private val H_A41: ByteString = "\"a41\":".encodeUtf8()
 
   private val H_A42: ByteString = "\"a42\":".encodeUtf8()
 
   private val H_A43: ByteString = "\"a43\":".encodeUtf8()
 
   private val H_A44: ByteString = "\"a44\":".encodeUtf8()
 
   private val H_A45: ByteString = "\"a45\":".encodeUtf8()
 
   private val H_A46: ByteString = "\"a46\":".encodeUtf8()
 
   private val H_A47: ByteString = "\"a47\":".encodeUtf8()
 
   private val H_A48: ByteString = "\"a48\":".encodeUtf8()
 
   private val H_A49: ByteString = "\"a49\":".encodeUtf8()
 
   private val H_A5: ByteString = "\"a5\":".encodeUtf8()
 
   private val H_A50: ByteString = "\"a50\":".encodeUtf8()
 
   private val H_A51: ByteString = "\"a51\":".encodeUtf8()
 
   private val H_A52: ByteString = "\"a52\":".encodeUtf8()
 
   private val H_A53: ByteString = "\"a53\":".encodeUtf8()
 
   private val H_A54: ByteString = "\"a54\":".encodeUtf8()
 
   private val H_A55: ByteString = "\"a55\":".encodeUtf8()
 
   private val H_A56: ByteString = "\"a56\":".encodeUtf8()
 
   private val H_A57: ByteString = "\"a57\":".encodeUtf8()
 
   private val H_A58: ByteString = "\"a58\":".encodeUtf8()
 
   private val H_A59: ByteString = "\"a59\":".encodeUtf8()
 
   private val H_A6: ByteString = "\"a6\":".encodeUtf8()
 
   private val H_A60: ByteString = "\"a60\":".encodeUtf8()
 
   private val H_A61: ByteString = "\"a61\":".encodeUtf8()
 
   private val H_A62: ByteString = "\"a62\":".encodeUtf8()
 
   private val H_A63: ByteString = "\"a63\":".encodeUtf8()
 
   private val H_A64: ByteString = "\"a64\":".encodeUtf8()
 
   private val H_A65: ByteString = "\"a65\":".encodeUtf8()
 
   private val H_A66: ByteString = "\"a66\":".encodeUtf8()
 
   private val H_A67: ByteString = "\"a67\":".encodeUtf8()
 
   private val H_A68: ByteString = "\"a68\":".encodeUtf8()
 
   private val H_A69: ByteString = "\"a69\":".encodeUtf8()
 
   private val H_A7: ByteString = "\"a7\":".encodeUtf8()
 
   private val H_A70: ByteString = "\"a70\":".encodeUtf8()
 
   private val H_A71: ByteString = "\"a71\":".encodeUtf8()
 
   private val H_A72: ByteString = "\"a72\":".encodeUtf8()
 
   private val H_A73: ByteString = "\"a73\":".encodeUtf8()
 
   private val H_A74: ByteString = "\"a74\":".encodeUtf8()
 
   private val H_A75: ByteString = "\"a75\":".encodeUtf8()
 
   private val H_A76: ByteString = "\"a76\":".encodeUtf8()
 
   private val H_A77: ByteString = "\"a77\":".encodeUtf8()
 
   private val H_A78: ByteString = "\"a78\":".encodeUtf8()
 
   private val H_A79: ByteString = "\"a79\":".encodeUtf8()
 
   private val H_A8: ByteString = "\"a8\":".encodeUtf8()
 
   private val H_A80: ByteString = "\"a80\":".encodeUtf8()
 
   private val H_A81: ByteString = "\"a81\":".encodeUtf8()
 
   private val H_A82: ByteString = "\"a82\":".encodeUtf8()
 
   private val H_A83: ByteString = "\"a83\":".encodeUtf8()
 
   private val H_A84: ByteString = "\"a84\":".encodeUtf8()
 
   private val H_A85: ByteString = "\"a85\":".encodeUtf8()
 
   private val H_A86: ByteString = "\"a86\":".encodeUtf8()
 
   private val H_A87: ByteString = "\"a87\":".encodeUtf8()
 
   private val H_A88: ByteString = "\"a88\":".encodeUtf8()
 
   private val H_A89: ByteString = "\"a89\":".encodeUtf8()
 
   private val H_A9: ByteString = "\"a9\":".encodeUtf8()
 
   private val H_A90: ByteString = "\"a90\":".encodeUtf8()
 
   private val H_A91: ByteString = "\"a91\":".encodeUtf8()
 
   private val H_A92: ByteString = "\"a92\":".encodeUtf8()
 
   private val H_A93: ByteString = "\"a93\":".encodeUtf8()
 
   private val H_A94: ByteString = "\"a94\":".encodeUtf8()
 
   private val H_A95: ByteString = "\"a95\":".encodeUtf8()
 
   private val H_A96: ByteString = "\"a96\":".encodeUtf8()
 
   private val H_A97: ByteString = "\"a97\":".encodeUtf8()
 
   private val H_A98: ByteString = "\"a98\":".encodeUtf8()
 
   private val H_A99: ByteString = "\"a99\":".encodeUtf8()
 
   private const val MASK_A1: Long = 1L
 
   private const val MASK_A2: Long = 2L
 
   private const val MASK_A3: Long = 4L
 
   private const val MASK_A4: Long = 8L
 
   private const val MASK_A5: Long = 16L
 
   private const val MASK_A6: Long = 32L
 
   private const val MASK_A7: Long = 64L
 
   private const val MASK_A8: Long = 128L
 
   private const val MASK_A9: Long = 256L
 
   private const val MASK_A10: Long = 512L
 
   private const val MASK_A11: Long = 1024L
 
   private const val MASK_A12: Long = 2048L
 
   private const val MASK_A13: Long = 4096L
 
   private const val MASK_A14: Long = 8192L
 
   private const val MASK_A15: Long = 16384L
 
   private const val MASK_A16: Long = 32768L
 
   private const val MASK_A17: Long = 65536L
 
   private const val MASK_A18: Long = 131072L
 
   private const val MASK_A19: Long = 262144L
 
   private const val MASK_A20: Long = 524288L
 
   private const val MASK_A21: Long = 1048576L
 
   private const val MASK_A22: Long = 2097152L
 
   private const val MASK_A23: Long = 4194304L
 
   private const val MASK_A24: Long = 8388608L
 
   private const val MASK_A25: Long = 16777216L
 
   private const val MASK_A26: Long = 33554432L
 
   private const val MASK_A27: Long = 67108864L
 
   private const val MASK_A28: Long = 134217728L
 
   private const val MASK_A29: Long = 268435456L
 
   private const val MASK_A30: Long = 536870912L
 
   private const val MASK_A31: Long = 1073741824L
 
   private const val MASK_A32: Long = 2147483648L
 
   private const val MASK_A33: Long = 4294967296L
 
   private const val MASK_A34: Long = 8589934592L
 
   private const val MASK_A35: Long = 17179869184L
 
   private const val MASK_A36: Long = 34359738368L
 
   private const val MASK_A37: Long = 68719476736L
 
   private const val MASK_A38: Long = 137438953472L
 
   private const val MASK_A39: Long = 274877906944L
 
   private const val MASK_A40: Long = 549755813888L
 
   private const val MASK_A41: Long = 1099511627776L
 
   private const val MASK_A42: Long = 2199023255552L
 
   private const val MASK_A43: Long = 4398046511104L
 
   private const val MASK_A44: Long = 8796093022208L
 
   private const val MASK_A45: Long = 17592186044416L
 
   private const val MASK_A46: Long = 35184372088832L
 
   private const val MASK_A47: Long = 70368744177664L
 
   private const val MASK_A48: Long = 140737488355328L
 
   private const val MASK_A49: Long = 281474976710656L
 
   private const val MASK_A50: Long = 562949953421312L
 
   private const val MASK_A51: Long = 1125899906842624L
 
   private const val MASK_A52: Long = 2251799813685248L
 
   private const val MASK_A53: Long = 4503599627370496L
 
   private const val MASK_A54: Long = 9007199254740992L
 
   private const val MASK_A55: Long = 18014398509481984L
 
   private const val MASK_A56: Long = 36028797018963968L
 
   private const val MASK_A57: Long = 72057594037927936L
 
   private const val MASK_A58: Long = 144115188075855872L
 
   private const val MASK_A59: Long = 288230376151711744L
 
   private const val MASK_A60: Long = 576460752303423488L
 
   private const val MASK_A61: Long = 1152921504606846976L
 
   private const val MASK_A62: Long = 2305843009213693952L
 
   private const val MASK_A63: Long = 4611686018427387904L
 
   private const val MASK_A64: Long = Long.MIN_VALUE
 
   private const val MASK_A65: Long = 1L
 
   private const val MASK_A66: Long = 2L
 
   private const val MASK_A67: Long = 4L
 
   private const val MASK_A68: Long = 8L
 
   private const val MASK_A69: Long = 16L
 
   private const val MASK_A70: Long = 32L
 
   private const val MASK_A71: Long = 64L
 
   private const val MASK_A72: Long = 128L
 
   private const val MASK_A73: Long = 256L
 
   private const val MASK_A74: Long = 512L
 
   private const val MASK_A75: Long = 1024L
 
   private const val MASK_A76: Long = 2048L
 
   private const val MASK_A77: Long = 4096L
 
   private const val MASK_A78: Long = 8192L
 
   private const val MASK_A79: Long = 16384L
 
   private const val MASK_A80: Long = 32768L
 
   private const val MASK_A81: Long = 65536L
 
   private const val MASK_A82: Long = 131072L
 
   private const val MASK_A83: Long = 262144L
 
   private const val MASK_A84: Long = 524288L
 
   private const val MASK_A85: Long = 1048576L
 
   private const val MASK_A86: Long = 2097152L
 
   private const val MASK_A87: Long = 4194304L
 
   private const val MASK_A88: Long = 8388608L
 
   private const val MASK_A89: Long = 16777216L
 
   private const val MASK_A90: Long = 33554432L
 
   private const val MASK_A91: Long = 67108864L
 
   private const val MASK_A92: Long = 134217728L
 
   private const val MASK_A93: Long = 268435456L
 
   private const val MASK_A94: Long = 536870912L
 
   private const val MASK_A95: Long = 1073741824L
 
   private const val MASK_A96: Long = 2147483648L
 
   private const val MASK_A97: Long = 4294967296L
 
   private const val MASK_A98: Long = 8589934592L
 
   private const val MASK_A99: Long = 17179869184L
 
   private const val MASK_A100: Long = 34359738368L
 
   private const val MASK_DEFAULTS_0: Long = -1L
 
   private const val MASK_DEFAULTS_1: Long = 68719476735L
 
   private fun decodeChunk0(
     reader: GhostJsonReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       0 -> {
         ctx.a1 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A1
       }
       1 -> {
         ctx.a2 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A2
       }
       2 -> {
         ctx.a3 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A3
       }
       3 -> {
         ctx.a4 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A4
       }
       4 -> {
         ctx.a5 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A5
       }
       5 -> {
         ctx.a6 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A6
       }
       6 -> {
         ctx.a7 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A7
       }
       7 -> {
         ctx.a8 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A8
       }
       8 -> {
         ctx.a9 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A9
       }
       9 -> {
         ctx.a10 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A10
       }
       10 -> {
         ctx.a11 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A11
       }
       11 -> {
         ctx.a12 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A12
       }
       12 -> {
         ctx.a13 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A13
       }
       13 -> {
         ctx.a14 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A14
       }
       14 -> {
         ctx.a15 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A15
       }
       15 -> {
         ctx.a16 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A16
       }
       16 -> {
         ctx.a17 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A17
       }
       17 -> {
         ctx.a18 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A18
       }
       18 -> {
         ctx.a19 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A19
       }
       19 -> {
         ctx.a20 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A20
       }
       20 -> {
         ctx.a21 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A21
       }
       21 -> {
         ctx.a22 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A22
       }
       22 -> {
         ctx.a23 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A23
       }
       23 -> {
         ctx.a24 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A24
       }
       24 -> {
         ctx.a25 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A25
       }
       25 -> {
         ctx.a26 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A26
       }
       26 -> {
         ctx.a27 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A27
       }
       27 -> {
         ctx.a28 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A28
       }
       28 -> {
         ctx.a29 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A29
       }
       29 -> {
         ctx.a30 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A30
       }
       30 -> {
         ctx.a31 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A31
       }
       31 -> {
         ctx.a32 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A32
       }
       32 -> {
         ctx.a33 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A33
       }
       33 -> {
         ctx.a34 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A34
       }
       34 -> {
         ctx.a35 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A35
       }
       35 -> {
         ctx.a36 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A36
       }
       36 -> {
         ctx.a37 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A37
       }
       37 -> {
         ctx.a38 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A38
       }
       38 -> {
         ctx.a39 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A39
       }
       39 -> {
         ctx.a40 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A40
       }
     }
   }
 
   private fun decodeChunk1(
     reader: GhostJsonReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       40 -> {
         ctx.a41 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A41
       }
       41 -> {
         ctx.a42 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A42
       }
       42 -> {
         ctx.a43 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A43
       }
       43 -> {
         ctx.a44 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A44
       }
       44 -> {
         ctx.a45 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A45
       }
       45 -> {
         ctx.a46 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A46
       }
       46 -> {
         ctx.a47 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A47
       }
       47 -> {
         ctx.a48 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A48
       }
       48 -> {
         ctx.a49 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A49
       }
       49 -> {
         ctx.a50 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A50
       }
       50 -> {
         ctx.a51 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A51
       }
       51 -> {
         ctx.a52 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A52
       }
       52 -> {
         ctx.a53 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A53
       }
       53 -> {
         ctx.a54 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A54
       }
       54 -> {
         ctx.a55 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A55
       }
       55 -> {
         ctx.a56 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A56
       }
       56 -> {
         ctx.a57 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A57
       }
       57 -> {
         ctx.a58 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A58
       }
       58 -> {
         ctx.a59 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A59
       }
       59 -> {
         ctx.a60 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A60
       }
       60 -> {
         ctx.a61 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A61
       }
       61 -> {
         ctx.a62 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A62
       }
       62 -> {
         ctx.a63 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A63
       }
       63 -> {
         ctx.a64 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A64
       }
       64 -> {
         ctx.a65 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A65
       }
       65 -> {
         ctx.a66 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A66
       }
       66 -> {
         ctx.a67 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A67
       }
       67 -> {
         ctx.a68 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A68
       }
       68 -> {
         ctx.a69 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A69
       }
       69 -> {
         ctx.a70 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A70
       }
       70 -> {
         ctx.a71 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A71
       }
       71 -> {
         ctx.a72 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A72
       }
       72 -> {
         ctx.a73 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A73
       }
       73 -> {
         ctx.a74 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A74
       }
       74 -> {
         ctx.a75 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A75
       }
       75 -> {
         ctx.a76 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A76
       }
       76 -> {
         ctx.a77 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A77
       }
       77 -> {
         ctx.a78 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A78
       }
       78 -> {
         ctx.a79 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A79
       }
       79 -> {
         ctx.a80 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A80
       }
     }
   }
 
   private fun decodeChunk2(
     reader: GhostJsonReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       80 -> {
         ctx.a81 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A81
       }
       81 -> {
         ctx.a82 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A82
       }
       82 -> {
         ctx.a83 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A83
       }
       83 -> {
         ctx.a84 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A84
       }
       84 -> {
         ctx.a85 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A85
       }
       85 -> {
         ctx.a86 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A86
       }
       86 -> {
         ctx.a87 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A87
       }
       87 -> {
         ctx.a88 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A88
       }
       88 -> {
         ctx.a89 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A89
       }
       89 -> {
         ctx.a90 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A90
       }
       90 -> {
         ctx.a91 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A91
       }
       91 -> {
         ctx.a92 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A92
       }
       92 -> {
         ctx.a93 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A93
       }
       93 -> {
         ctx.a94 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A94
       }
       94 -> {
         ctx.a95 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A95
       }
       95 -> {
         ctx.a96 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A96
       }
       96 -> {
         ctx.a97 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A97
       }
       97 -> {
         ctx.a98 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A98
       }
       98 -> {
         ctx.a99 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A99
       }
       99 -> {
         ctx.a100 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A100
       }
     }
   }
 
   /**
    * Robust deserialization for [CollisionModel].
    */
   override fun deserialize(reader: GhostJsonReader): CollisionModel {
     val ctx = DecodingContext()
     reader.beginObject()
     while (true) {
       val index = reader.selectNameAndConsume(OPTIONS)
       when (index) {
         in 0..39 -> decodeChunk0(reader, ctx, index)
         in 40..79 -> decodeChunk1(reader, ctx, index)
         in 80..99 -> decodeChunk2(reader, ctx, index)
         -1 -> break
         -2 -> {
           reader.skipValue()
         }
       }
     }
     reader.endObject()
     val result = CollisionModel(
     )
     if ((ctx.mask0 and MASK_DEFAULTS_0) != 0L || (ctx.mask1 and MASK_DEFAULTS_1) != 0L) {
       return result.copy(
         a1 = if ((ctx.mask0 and MASK_A1) != 0L) ctx.a1 else result.a1,
         a2 = if ((ctx.mask0 and MASK_A2) != 0L) ctx.a2 else result.a2,
         a3 = if ((ctx.mask0 and MASK_A3) != 0L) ctx.a3 else result.a3,
         a4 = if ((ctx.mask0 and MASK_A4) != 0L) ctx.a4 else result.a4,
         a5 = if ((ctx.mask0 and MASK_A5) != 0L) ctx.a5 else result.a5,
         a6 = if ((ctx.mask0 and MASK_A6) != 0L) ctx.a6 else result.a6,
         a7 = if ((ctx.mask0 and MASK_A7) != 0L) ctx.a7 else result.a7,
         a8 = if ((ctx.mask0 and MASK_A8) != 0L) ctx.a8 else result.a8,
         a9 = if ((ctx.mask0 and MASK_A9) != 0L) ctx.a9 else result.a9,
         a10 = if ((ctx.mask0 and MASK_A10) != 0L) ctx.a10 else result.a10,
         a11 = if ((ctx.mask0 and MASK_A11) != 0L) ctx.a11 else result.a11,
         a12 = if ((ctx.mask0 and MASK_A12) != 0L) ctx.a12 else result.a12,
         a13 = if ((ctx.mask0 and MASK_A13) != 0L) ctx.a13 else result.a13,
         a14 = if ((ctx.mask0 and MASK_A14) != 0L) ctx.a14 else result.a14,
         a15 = if ((ctx.mask0 and MASK_A15) != 0L) ctx.a15 else result.a15,
         a16 = if ((ctx.mask0 and MASK_A16) != 0L) ctx.a16 else result.a16,
         a17 = if ((ctx.mask0 and MASK_A17) != 0L) ctx.a17 else result.a17,
         a18 = if ((ctx.mask0 and MASK_A18) != 0L) ctx.a18 else result.a18,
         a19 = if ((ctx.mask0 and MASK_A19) != 0L) ctx.a19 else result.a19,
         a20 = if ((ctx.mask0 and MASK_A20) != 0L) ctx.a20 else result.a20,
         a21 = if ((ctx.mask0 and MASK_A21) != 0L) ctx.a21 else result.a21,
         a22 = if ((ctx.mask0 and MASK_A22) != 0L) ctx.a22 else result.a22,
         a23 = if ((ctx.mask0 and MASK_A23) != 0L) ctx.a23 else result.a23,
         a24 = if ((ctx.mask0 and MASK_A24) != 0L) ctx.a24 else result.a24,
         a25 = if ((ctx.mask0 and MASK_A25) != 0L) ctx.a25 else result.a25,
         a26 = if ((ctx.mask0 and MASK_A26) != 0L) ctx.a26 else result.a26,
         a27 = if ((ctx.mask0 and MASK_A27) != 0L) ctx.a27 else result.a27,
         a28 = if ((ctx.mask0 and MASK_A28) != 0L) ctx.a28 else result.a28,
         a29 = if ((ctx.mask0 and MASK_A29) != 0L) ctx.a29 else result.a29,
         a30 = if ((ctx.mask0 and MASK_A30) != 0L) ctx.a30 else result.a30,
         a31 = if ((ctx.mask0 and MASK_A31) != 0L) ctx.a31 else result.a31,
         a32 = if ((ctx.mask0 and MASK_A32) != 0L) ctx.a32 else result.a32,
         a33 = if ((ctx.mask0 and MASK_A33) != 0L) ctx.a33 else result.a33,
         a34 = if ((ctx.mask0 and MASK_A34) != 0L) ctx.a34 else result.a34,
         a35 = if ((ctx.mask0 and MASK_A35) != 0L) ctx.a35 else result.a35,
         a36 = if ((ctx.mask0 and MASK_A36) != 0L) ctx.a36 else result.a36,
         a37 = if ((ctx.mask0 and MASK_A37) != 0L) ctx.a37 else result.a37,
         a38 = if ((ctx.mask0 and MASK_A38) != 0L) ctx.a38 else result.a38,
         a39 = if ((ctx.mask0 and MASK_A39) != 0L) ctx.a39 else result.a39,
         a40 = if ((ctx.mask0 and MASK_A40) != 0L) ctx.a40 else result.a40,
         a41 = if ((ctx.mask0 and MASK_A41) != 0L) ctx.a41 else result.a41,
         a42 = if ((ctx.mask0 and MASK_A42) != 0L) ctx.a42 else result.a42,
         a43 = if ((ctx.mask0 and MASK_A43) != 0L) ctx.a43 else result.a43,
         a44 = if ((ctx.mask0 and MASK_A44) != 0L) ctx.a44 else result.a44,
         a45 = if ((ctx.mask0 and MASK_A45) != 0L) ctx.a45 else result.a45,
         a46 = if ((ctx.mask0 and MASK_A46) != 0L) ctx.a46 else result.a46,
         a47 = if ((ctx.mask0 and MASK_A47) != 0L) ctx.a47 else result.a47,
         a48 = if ((ctx.mask0 and MASK_A48) != 0L) ctx.a48 else result.a48,
         a49 = if ((ctx.mask0 and MASK_A49) != 0L) ctx.a49 else result.a49,
         a50 = if ((ctx.mask0 and MASK_A50) != 0L) ctx.a50 else result.a50,
         a51 = if ((ctx.mask0 and MASK_A51) != 0L) ctx.a51 else result.a51,
         a52 = if ((ctx.mask0 and MASK_A52) != 0L) ctx.a52 else result.a52,
         a53 = if ((ctx.mask0 and MASK_A53) != 0L) ctx.a53 else result.a53,
         a54 = if ((ctx.mask0 and MASK_A54) != 0L) ctx.a54 else result.a54,
         a55 = if ((ctx.mask0 and MASK_A55) != 0L) ctx.a55 else result.a55,
         a56 = if ((ctx.mask0 and MASK_A56) != 0L) ctx.a56 else result.a56,
         a57 = if ((ctx.mask0 and MASK_A57) != 0L) ctx.a57 else result.a57,
         a58 = if ((ctx.mask0 and MASK_A58) != 0L) ctx.a58 else result.a58,
         a59 = if ((ctx.mask0 and MASK_A59) != 0L) ctx.a59 else result.a59,
         a60 = if ((ctx.mask0 and MASK_A60) != 0L) ctx.a60 else result.a60,
         a61 = if ((ctx.mask0 and MASK_A61) != 0L) ctx.a61 else result.a61,
         a62 = if ((ctx.mask0 and MASK_A62) != 0L) ctx.a62 else result.a62,
         a63 = if ((ctx.mask0 and MASK_A63) != 0L) ctx.a63 else result.a63,
         a64 = if ((ctx.mask0 and MASK_A64) != 0L) ctx.a64 else result.a64,
         a65 = if ((ctx.mask1 and MASK_A65) != 0L) ctx.a65 else result.a65,
         a66 = if ((ctx.mask1 and MASK_A66) != 0L) ctx.a66 else result.a66,
         a67 = if ((ctx.mask1 and MASK_A67) != 0L) ctx.a67 else result.a67,
         a68 = if ((ctx.mask1 and MASK_A68) != 0L) ctx.a68 else result.a68,
         a69 = if ((ctx.mask1 and MASK_A69) != 0L) ctx.a69 else result.a69,
         a70 = if ((ctx.mask1 and MASK_A70) != 0L) ctx.a70 else result.a70,
         a71 = if ((ctx.mask1 and MASK_A71) != 0L) ctx.a71 else result.a71,
         a72 = if ((ctx.mask1 and MASK_A72) != 0L) ctx.a72 else result.a72,
         a73 = if ((ctx.mask1 and MASK_A73) != 0L) ctx.a73 else result.a73,
         a74 = if ((ctx.mask1 and MASK_A74) != 0L) ctx.a74 else result.a74,
         a75 = if ((ctx.mask1 and MASK_A75) != 0L) ctx.a75 else result.a75,
         a76 = if ((ctx.mask1 and MASK_A76) != 0L) ctx.a76 else result.a76,
         a77 = if ((ctx.mask1 and MASK_A77) != 0L) ctx.a77 else result.a77,
         a78 = if ((ctx.mask1 and MASK_A78) != 0L) ctx.a78 else result.a78,
         a79 = if ((ctx.mask1 and MASK_A79) != 0L) ctx.a79 else result.a79,
         a80 = if ((ctx.mask1 and MASK_A80) != 0L) ctx.a80 else result.a80,
         a81 = if ((ctx.mask1 and MASK_A81) != 0L) ctx.a81 else result.a81,
         a82 = if ((ctx.mask1 and MASK_A82) != 0L) ctx.a82 else result.a82,
         a83 = if ((ctx.mask1 and MASK_A83) != 0L) ctx.a83 else result.a83,
         a84 = if ((ctx.mask1 and MASK_A84) != 0L) ctx.a84 else result.a84,
         a85 = if ((ctx.mask1 and MASK_A85) != 0L) ctx.a85 else result.a85,
         a86 = if ((ctx.mask1 and MASK_A86) != 0L) ctx.a86 else result.a86,
         a87 = if ((ctx.mask1 and MASK_A87) != 0L) ctx.a87 else result.a87,
         a88 = if ((ctx.mask1 and MASK_A88) != 0L) ctx.a88 else result.a88,
         a89 = if ((ctx.mask1 and MASK_A89) != 0L) ctx.a89 else result.a89,
         a90 = if ((ctx.mask1 and MASK_A90) != 0L) ctx.a90 else result.a90,
         a91 = if ((ctx.mask1 and MASK_A91) != 0L) ctx.a91 else result.a91,
         a92 = if ((ctx.mask1 and MASK_A92) != 0L) ctx.a92 else result.a92,
         a93 = if ((ctx.mask1 and MASK_A93) != 0L) ctx.a93 else result.a93,
         a94 = if ((ctx.mask1 and MASK_A94) != 0L) ctx.a94 else result.a94,
         a95 = if ((ctx.mask1 and MASK_A95) != 0L) ctx.a95 else result.a95,
         a96 = if ((ctx.mask1 and MASK_A96) != 0L) ctx.a96 else result.a96,
         a97 = if ((ctx.mask1 and MASK_A97) != 0L) ctx.a97 else result.a97,
         a98 = if ((ctx.mask1 and MASK_A98) != 0L) ctx.a98 else result.a98,
         a99 = if ((ctx.mask1 and MASK_A99) != 0L) ctx.a99 else result.a99,
         a100 = if ((ctx.mask1 and MASK_A100) != 0L) ctx.a100 else result.a100,
       )
     } else {
       return result
     }
   }
 
   private fun decodeChunk0(
     reader: GhostJsonFlatReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       0 -> {
         ctx.a1 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A1
       }
       1 -> {
         ctx.a2 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A2
       }
       2 -> {
         ctx.a3 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A3
       }
       3 -> {
         ctx.a4 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A4
       }
       4 -> {
         ctx.a5 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A5
       }
       5 -> {
         ctx.a6 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A6
       }
       6 -> {
         ctx.a7 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A7
       }
       7 -> {
         ctx.a8 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A8
       }
       8 -> {
         ctx.a9 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A9
       }
       9 -> {
         ctx.a10 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A10
       }
       10 -> {
         ctx.a11 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A11
       }
       11 -> {
         ctx.a12 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A12
       }
       12 -> {
         ctx.a13 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A13
       }
       13 -> {
         ctx.a14 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A14
       }
       14 -> {
         ctx.a15 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A15
       }
       15 -> {
         ctx.a16 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A16
       }
       16 -> {
         ctx.a17 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A17
       }
       17 -> {
         ctx.a18 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A18
       }
       18 -> {
         ctx.a19 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A19
       }
       19 -> {
         ctx.a20 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A20
       }
       20 -> {
         ctx.a21 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A21
       }
       21 -> {
         ctx.a22 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A22
       }
       22 -> {
         ctx.a23 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A23
       }
       23 -> {
         ctx.a24 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A24
       }
       24 -> {
         ctx.a25 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A25
       }
       25 -> {
         ctx.a26 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A26
       }
       26 -> {
         ctx.a27 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A27
       }
       27 -> {
         ctx.a28 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A28
       }
       28 -> {
         ctx.a29 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A29
       }
       29 -> {
         ctx.a30 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A30
       }
       30 -> {
         ctx.a31 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A31
       }
       31 -> {
         ctx.a32 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A32
       }
       32 -> {
         ctx.a33 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A33
       }
       33 -> {
         ctx.a34 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A34
       }
       34 -> {
         ctx.a35 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A35
       }
       35 -> {
         ctx.a36 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A36
       }
       36 -> {
         ctx.a37 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A37
       }
       37 -> {
         ctx.a38 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A38
       }
       38 -> {
         ctx.a39 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A39
       }
       39 -> {
         ctx.a40 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A40
       }
     }
   }
 
   private fun decodeChunk1(
     reader: GhostJsonFlatReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       40 -> {
         ctx.a41 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A41
       }
       41 -> {
         ctx.a42 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A42
       }
       42 -> {
         ctx.a43 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A43
       }
       43 -> {
         ctx.a44 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A44
       }
       44 -> {
         ctx.a45 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A45
       }
       45 -> {
         ctx.a46 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A46
       }
       46 -> {
         ctx.a47 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A47
       }
       47 -> {
         ctx.a48 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A48
       }
       48 -> {
         ctx.a49 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A49
       }
       49 -> {
         ctx.a50 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A50
       }
       50 -> {
         ctx.a51 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A51
       }
       51 -> {
         ctx.a52 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A52
       }
       52 -> {
         ctx.a53 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A53
       }
       53 -> {
         ctx.a54 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A54
       }
       54 -> {
         ctx.a55 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A55
       }
       55 -> {
         ctx.a56 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A56
       }
       56 -> {
         ctx.a57 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A57
       }
       57 -> {
         ctx.a58 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A58
       }
       58 -> {
         ctx.a59 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A59
       }
       59 -> {
         ctx.a60 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A60
       }
       60 -> {
         ctx.a61 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A61
       }
       61 -> {
         ctx.a62 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A62
       }
       62 -> {
         ctx.a63 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A63
       }
       63 -> {
         ctx.a64 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_A64
       }
       64 -> {
         ctx.a65 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A65
       }
       65 -> {
         ctx.a66 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A66
       }
       66 -> {
         ctx.a67 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A67
       }
       67 -> {
         ctx.a68 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A68
       }
       68 -> {
         ctx.a69 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A69
       }
       69 -> {
         ctx.a70 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A70
       }
       70 -> {
         ctx.a71 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A71
       }
       71 -> {
         ctx.a72 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A72
       }
       72 -> {
         ctx.a73 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A73
       }
       73 -> {
         ctx.a74 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A74
       }
       74 -> {
         ctx.a75 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A75
       }
       75 -> {
         ctx.a76 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A76
       }
       76 -> {
         ctx.a77 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A77
       }
       77 -> {
         ctx.a78 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A78
       }
       78 -> {
         ctx.a79 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A79
       }
       79 -> {
         ctx.a80 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A80
       }
     }
   }
 
   private fun decodeChunk2(
     reader: GhostJsonFlatReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       80 -> {
         ctx.a81 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A81
       }
       81 -> {
         ctx.a82 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A82
       }
       82 -> {
         ctx.a83 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A83
       }
       83 -> {
         ctx.a84 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A84
       }
       84 -> {
         ctx.a85 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A85
       }
       85 -> {
         ctx.a86 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A86
       }
       86 -> {
         ctx.a87 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A87
       }
       87 -> {
         ctx.a88 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A88
       }
       88 -> {
         ctx.a89 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A89
       }
       89 -> {
         ctx.a90 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A90
       }
       90 -> {
         ctx.a91 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A91
       }
       91 -> {
         ctx.a92 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A92
       }
       92 -> {
         ctx.a93 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A93
       }
       93 -> {
         ctx.a94 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A94
       }
       94 -> {
         ctx.a95 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A95
       }
       95 -> {
         ctx.a96 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A96
       }
       96 -> {
         ctx.a97 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A97
       }
       97 -> {
         ctx.a98 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A98
       }
       98 -> {
         ctx.a99 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A99
       }
       99 -> {
         ctx.a100 = reader.nextInt()
         ctx.mask1 = ctx.mask1 or MASK_A100
       }
     }
   }
 
   /**
    * Robust deserialization for [CollisionModel].
    */
   override fun deserialize(reader: GhostJsonFlatReader): CollisionModel {
     val ctx = DecodingContext()
     reader.beginObject()
     while (true) {
       val index = reader.selectNameAndConsume(OPTIONS)
       when (index) {
         in 0..39 -> decodeChunk0(reader, ctx, index)
         in 40..79 -> decodeChunk1(reader, ctx, index)
         in 80..99 -> decodeChunk2(reader, ctx, index)
         -1 -> break
         -2 -> {
           reader.skipValue()
         }
       }
     }
     reader.endObject()
     val result = CollisionModel(
     )
     if ((ctx.mask0 and MASK_DEFAULTS_0) != 0L || (ctx.mask1 and MASK_DEFAULTS_1) != 0L) {
       return result.copy(
         a1 = if ((ctx.mask0 and MASK_A1) != 0L) ctx.a1 else result.a1,
         a2 = if ((ctx.mask0 and MASK_A2) != 0L) ctx.a2 else result.a2,
         a3 = if ((ctx.mask0 and MASK_A3) != 0L) ctx.a3 else result.a3,
         a4 = if ((ctx.mask0 and MASK_A4) != 0L) ctx.a4 else result.a4,
         a5 = if ((ctx.mask0 and MASK_A5) != 0L) ctx.a5 else result.a5,
         a6 = if ((ctx.mask0 and MASK_A6) != 0L) ctx.a6 else result.a6,
         a7 = if ((ctx.mask0 and MASK_A7) != 0L) ctx.a7 else result.a7,
         a8 = if ((ctx.mask0 and MASK_A8) != 0L) ctx.a8 else result.a8,
         a9 = if ((ctx.mask0 and MASK_A9) != 0L) ctx.a9 else result.a9,
         a10 = if ((ctx.mask0 and MASK_A10) != 0L) ctx.a10 else result.a10,
         a11 = if ((ctx.mask0 and MASK_A11) != 0L) ctx.a11 else result.a11,
         a12 = if ((ctx.mask0 and MASK_A12) != 0L) ctx.a12 else result.a12,
         a13 = if ((ctx.mask0 and MASK_A13) != 0L) ctx.a13 else result.a13,
         a14 = if ((ctx.mask0 and MASK_A14) != 0L) ctx.a14 else result.a14,
         a15 = if ((ctx.mask0 and MASK_A15) != 0L) ctx.a15 else result.a15,
         a16 = if ((ctx.mask0 and MASK_A16) != 0L) ctx.a16 else result.a16,
         a17 = if ((ctx.mask0 and MASK_A17) != 0L) ctx.a17 else result.a17,
         a18 = if ((ctx.mask0 and MASK_A18) != 0L) ctx.a18 else result.a18,
         a19 = if ((ctx.mask0 and MASK_A19) != 0L) ctx.a19 else result.a19,
         a20 = if ((ctx.mask0 and MASK_A20) != 0L) ctx.a20 else result.a20,
         a21 = if ((ctx.mask0 and MASK_A21) != 0L) ctx.a21 else result.a21,
         a22 = if ((ctx.mask0 and MASK_A22) != 0L) ctx.a22 else result.a22,
         a23 = if ((ctx.mask0 and MASK_A23) != 0L) ctx.a23 else result.a23,
         a24 = if ((ctx.mask0 and MASK_A24) != 0L) ctx.a24 else result.a24,
         a25 = if ((ctx.mask0 and MASK_A25) != 0L) ctx.a25 else result.a25,
         a26 = if ((ctx.mask0 and MASK_A26) != 0L) ctx.a26 else result.a26,
         a27 = if ((ctx.mask0 and MASK_A27) != 0L) ctx.a27 else result.a27,
         a28 = if ((ctx.mask0 and MASK_A28) != 0L) ctx.a28 else result.a28,
         a29 = if ((ctx.mask0 and MASK_A29) != 0L) ctx.a29 else result.a29,
         a30 = if ((ctx.mask0 and MASK_A30) != 0L) ctx.a30 else result.a30,
         a31 = if ((ctx.mask0 and MASK_A31) != 0L) ctx.a31 else result.a31,
         a32 = if ((ctx.mask0 and MASK_A32) != 0L) ctx.a32 else result.a32,
         a33 = if ((ctx.mask0 and MASK_A33) != 0L) ctx.a33 else result.a33,
         a34 = if ((ctx.mask0 and MASK_A34) != 0L) ctx.a34 else result.a34,
         a35 = if ((ctx.mask0 and MASK_A35) != 0L) ctx.a35 else result.a35,
         a36 = if ((ctx.mask0 and MASK_A36) != 0L) ctx.a36 else result.a36,
         a37 = if ((ctx.mask0 and MASK_A37) != 0L) ctx.a37 else result.a37,
         a38 = if ((ctx.mask0 and MASK_A38) != 0L) ctx.a38 else result.a38,
         a39 = if ((ctx.mask0 and MASK_A39) != 0L) ctx.a39 else result.a39,
         a40 = if ((ctx.mask0 and MASK_A40) != 0L) ctx.a40 else result.a40,
         a41 = if ((ctx.mask0 and MASK_A41) != 0L) ctx.a41 else result.a41,
         a42 = if ((ctx.mask0 and MASK_A42) != 0L) ctx.a42 else result.a42,
         a43 = if ((ctx.mask0 and MASK_A43) != 0L) ctx.a43 else result.a43,
         a44 = if ((ctx.mask0 and MASK_A44) != 0L) ctx.a44 else result.a44,
         a45 = if ((ctx.mask0 and MASK_A45) != 0L) ctx.a45 else result.a45,
         a46 = if ((ctx.mask0 and MASK_A46) != 0L) ctx.a46 else result.a46,
         a47 = if ((ctx.mask0 and MASK_A47) != 0L) ctx.a47 else result.a47,
         a48 = if ((ctx.mask0 and MASK_A48) != 0L) ctx.a48 else result.a48,
         a49 = if ((ctx.mask0 and MASK_A49) != 0L) ctx.a49 else result.a49,
         a50 = if ((ctx.mask0 and MASK_A50) != 0L) ctx.a50 else result.a50,
         a51 = if ((ctx.mask0 and MASK_A51) != 0L) ctx.a51 else result.a51,
         a52 = if ((ctx.mask0 and MASK_A52) != 0L) ctx.a52 else result.a52,
         a53 = if ((ctx.mask0 and MASK_A53) != 0L) ctx.a53 else result.a53,
         a54 = if ((ctx.mask0 and MASK_A54) != 0L) ctx.a54 else result.a54,
         a55 = if ((ctx.mask0 and MASK_A55) != 0L) ctx.a55 else result.a55,
         a56 = if ((ctx.mask0 and MASK_A56) != 0L) ctx.a56 else result.a56,
         a57 = if ((ctx.mask0 and MASK_A57) != 0L) ctx.a57 else result.a57,
         a58 = if ((ctx.mask0 and MASK_A58) != 0L) ctx.a58 else result.a58,
         a59 = if ((ctx.mask0 and MASK_A59) != 0L) ctx.a59 else result.a59,
         a60 = if ((ctx.mask0 and MASK_A60) != 0L) ctx.a60 else result.a60,
         a61 = if ((ctx.mask0 and MASK_A61) != 0L) ctx.a61 else result.a61,
         a62 = if ((ctx.mask0 and MASK_A62) != 0L) ctx.a62 else result.a62,
         a63 = if ((ctx.mask0 and MASK_A63) != 0L) ctx.a63 else result.a63,
         a64 = if ((ctx.mask0 and MASK_A64) != 0L) ctx.a64 else result.a64,
         a65 = if ((ctx.mask1 and MASK_A65) != 0L) ctx.a65 else result.a65,
         a66 = if ((ctx.mask1 and MASK_A66) != 0L) ctx.a66 else result.a66,
         a67 = if ((ctx.mask1 and MASK_A67) != 0L) ctx.a67 else result.a67,
         a68 = if ((ctx.mask1 and MASK_A68) != 0L) ctx.a68 else result.a68,
         a69 = if ((ctx.mask1 and MASK_A69) != 0L) ctx.a69 else result.a69,
         a70 = if ((ctx.mask1 and MASK_A70) != 0L) ctx.a70 else result.a70,
         a71 = if ((ctx.mask1 and MASK_A71) != 0L) ctx.a71 else result.a71,
         a72 = if ((ctx.mask1 and MASK_A72) != 0L) ctx.a72 else result.a72,
         a73 = if ((ctx.mask1 and MASK_A73) != 0L) ctx.a73 else result.a73,
         a74 = if ((ctx.mask1 and MASK_A74) != 0L) ctx.a74 else result.a74,
         a75 = if ((ctx.mask1 and MASK_A75) != 0L) ctx.a75 else result.a75,
         a76 = if ((ctx.mask1 and MASK_A76) != 0L) ctx.a76 else result.a76,
         a77 = if ((ctx.mask1 and MASK_A77) != 0L) ctx.a77 else result.a77,
         a78 = if ((ctx.mask1 and MASK_A78) != 0L) ctx.a78 else result.a78,
         a79 = if ((ctx.mask1 and MASK_A79) != 0L) ctx.a79 else result.a79,
         a80 = if ((ctx.mask1 and MASK_A80) != 0L) ctx.a80 else result.a80,
         a81 = if ((ctx.mask1 and MASK_A81) != 0L) ctx.a81 else result.a81,
         a82 = if ((ctx.mask1 and MASK_A82) != 0L) ctx.a82 else result.a82,
         a83 = if ((ctx.mask1 and MASK_A83) != 0L) ctx.a83 else result.a83,
         a84 = if ((ctx.mask1 and MASK_A84) != 0L) ctx.a84 else result.a84,
         a85 = if ((ctx.mask1 and MASK_A85) != 0L) ctx.a85 else result.a85,
         a86 = if ((ctx.mask1 and MASK_A86) != 0L) ctx.a86 else result.a86,
         a87 = if ((ctx.mask1 and MASK_A87) != 0L) ctx.a87 else result.a87,
         a88 = if ((ctx.mask1 and MASK_A88) != 0L) ctx.a88 else result.a88,
         a89 = if ((ctx.mask1 and MASK_A89) != 0L) ctx.a89 else result.a89,
         a90 = if ((ctx.mask1 and MASK_A90) != 0L) ctx.a90 else result.a90,
         a91 = if ((ctx.mask1 and MASK_A91) != 0L) ctx.a91 else result.a91,
         a92 = if ((ctx.mask1 and MASK_A92) != 0L) ctx.a92 else result.a92,
         a93 = if ((ctx.mask1 and MASK_A93) != 0L) ctx.a93 else result.a93,
         a94 = if ((ctx.mask1 and MASK_A94) != 0L) ctx.a94 else result.a94,
         a95 = if ((ctx.mask1 and MASK_A95) != 0L) ctx.a95 else result.a95,
         a96 = if ((ctx.mask1 and MASK_A96) != 0L) ctx.a96 else result.a96,
         a97 = if ((ctx.mask1 and MASK_A97) != 0L) ctx.a97 else result.a97,
         a98 = if ((ctx.mask1 and MASK_A98) != 0L) ctx.a98 else result.a98,
         a99 = if ((ctx.mask1 and MASK_A99) != 0L) ctx.a99 else result.a99,
         a100 = if ((ctx.mask1 and MASK_A100) != 0L) ctx.a100 else result.a100,
       )
     } else {
       return result
     }
   }
 
   private fun serializeChunk0_GhostJsonWriter(writer: GhostJsonWriter, `value`: CollisionModel) {
     writer.writeField(H_A1, value.a1)
     writer.writeField(H_A2, value.a2)
     writer.writeField(H_A3, value.a3)
     writer.writeField(H_A4, value.a4)
     writer.writeField(H_A5, value.a5)
     writer.writeField(H_A6, value.a6)
     writer.writeField(H_A7, value.a7)
     writer.writeField(H_A8, value.a8)
     writer.writeField(H_A9, value.a9)
     writer.writeField(H_A10, value.a10)
     writer.writeField(H_A11, value.a11)
     writer.writeField(H_A12, value.a12)
     writer.writeField(H_A13, value.a13)
     writer.writeField(H_A14, value.a14)
     writer.writeField(H_A15, value.a15)
     writer.writeField(H_A16, value.a16)
     writer.writeField(H_A17, value.a17)
     writer.writeField(H_A18, value.a18)
     writer.writeField(H_A19, value.a19)
     writer.writeField(H_A20, value.a20)
     writer.writeField(H_A21, value.a21)
     writer.writeField(H_A22, value.a22)
     writer.writeField(H_A23, value.a23)
     writer.writeField(H_A24, value.a24)
     writer.writeField(H_A25, value.a25)
     writer.writeField(H_A26, value.a26)
     writer.writeField(H_A27, value.a27)
     writer.writeField(H_A28, value.a28)
     writer.writeField(H_A29, value.a29)
     writer.writeField(H_A30, value.a30)
     writer.writeField(H_A31, value.a31)
     writer.writeField(H_A32, value.a32)
     writer.writeField(H_A33, value.a33)
     writer.writeField(H_A34, value.a34)
     writer.writeField(H_A35, value.a35)
     writer.writeField(H_A36, value.a36)
     writer.writeField(H_A37, value.a37)
     writer.writeField(H_A38, value.a38)
     writer.writeField(H_A39, value.a39)
     writer.writeField(H_A40, value.a40)
   }
 
   private fun serializeChunk1_GhostJsonWriter(writer: GhostJsonWriter, `value`: CollisionModel) {
     writer.writeField(H_A41, value.a41)
     writer.writeField(H_A42, value.a42)
     writer.writeField(H_A43, value.a43)
     writer.writeField(H_A44, value.a44)
     writer.writeField(H_A45, value.a45)
     writer.writeField(H_A46, value.a46)
     writer.writeField(H_A47, value.a47)
     writer.writeField(H_A48, value.a48)
     writer.writeField(H_A49, value.a49)
     writer.writeField(H_A50, value.a50)
     writer.writeField(H_A51, value.a51)
     writer.writeField(H_A52, value.a52)
     writer.writeField(H_A53, value.a53)
     writer.writeField(H_A54, value.a54)
     writer.writeField(H_A55, value.a55)
     writer.writeField(H_A56, value.a56)
     writer.writeField(H_A57, value.a57)
     writer.writeField(H_A58, value.a58)
     writer.writeField(H_A59, value.a59)
     writer.writeField(H_A60, value.a60)
     writer.writeField(H_A61, value.a61)
     writer.writeField(H_A62, value.a62)
     writer.writeField(H_A63, value.a63)
     writer.writeField(H_A64, value.a64)
     writer.writeField(H_A65, value.a65)
     writer.writeField(H_A66, value.a66)
     writer.writeField(H_A67, value.a67)
     writer.writeField(H_A68, value.a68)
     writer.writeField(H_A69, value.a69)
     writer.writeField(H_A70, value.a70)
     writer.writeField(H_A71, value.a71)
     writer.writeField(H_A72, value.a72)
     writer.writeField(H_A73, value.a73)
     writer.writeField(H_A74, value.a74)
     writer.writeField(H_A75, value.a75)
     writer.writeField(H_A76, value.a76)
     writer.writeField(H_A77, value.a77)
     writer.writeField(H_A78, value.a78)
     writer.writeField(H_A79, value.a79)
     writer.writeField(H_A80, value.a80)
   }
 
   private fun serializeChunk2_GhostJsonWriter(writer: GhostJsonWriter, `value`: CollisionModel) {
     writer.writeField(H_A81, value.a81)
     writer.writeField(H_A82, value.a82)
     writer.writeField(H_A83, value.a83)
     writer.writeField(H_A84, value.a84)
     writer.writeField(H_A85, value.a85)
     writer.writeField(H_A86, value.a86)
     writer.writeField(H_A87, value.a87)
     writer.writeField(H_A88, value.a88)
     writer.writeField(H_A89, value.a89)
     writer.writeField(H_A90, value.a90)
     writer.writeField(H_A91, value.a91)
     writer.writeField(H_A92, value.a92)
     writer.writeField(H_A93, value.a93)
     writer.writeField(H_A94, value.a94)
     writer.writeField(H_A95, value.a95)
     writer.writeField(H_A96, value.a96)
     writer.writeField(H_A97, value.a97)
     writer.writeField(H_A98, value.a98)
     writer.writeField(H_A99, value.a99)
     writer.writeField(H_A100, value.a100)
   }
 
   override fun serialize(writer: GhostJsonWriter, `value`: CollisionModel) {
     writer.beginObject()
     serializeChunk0_GhostJsonWriter(writer, value)
     serializeChunk1_GhostJsonWriter(writer, value)
     serializeChunk2_GhostJsonWriter(writer, value)
     writer.endObject()
   }
 
   private fun serializeChunk0_GhostJsonFlatWriter(writer: GhostJsonFlatWriter, `value`: CollisionModel) {
     writer.writeField(H_A1, value.a1)
     writer.writeField(H_A2, value.a2)
     writer.writeField(H_A3, value.a3)
     writer.writeField(H_A4, value.a4)
     writer.writeField(H_A5, value.a5)
     writer.writeField(H_A6, value.a6)
     writer.writeField(H_A7, value.a7)
     writer.writeField(H_A8, value.a8)
     writer.writeField(H_A9, value.a9)
     writer.writeField(H_A10, value.a10)
     writer.writeField(H_A11, value.a11)
     writer.writeField(H_A12, value.a12)
     writer.writeField(H_A13, value.a13)
     writer.writeField(H_A14, value.a14)
     writer.writeField(H_A15, value.a15)
     writer.writeField(H_A16, value.a16)
     writer.writeField(H_A17, value.a17)
     writer.writeField(H_A18, value.a18)
     writer.writeField(H_A19, value.a19)
     writer.writeField(H_A20, value.a20)
     writer.writeField(H_A21, value.a21)
     writer.writeField(H_A22, value.a22)
     writer.writeField(H_A23, value.a23)
     writer.writeField(H_A24, value.a24)
     writer.writeField(H_A25, value.a25)
     writer.writeField(H_A26, value.a26)
     writer.writeField(H_A27, value.a27)
     writer.writeField(H_A28, value.a28)
     writer.writeField(H_A29, value.a29)
     writer.writeField(H_A30, value.a30)
     writer.writeField(H_A31, value.a31)
     writer.writeField(H_A32, value.a32)
     writer.writeField(H_A33, value.a33)
     writer.writeField(H_A34, value.a34)
     writer.writeField(H_A35, value.a35)
     writer.writeField(H_A36, value.a36)
     writer.writeField(H_A37, value.a37)
     writer.writeField(H_A38, value.a38)
     writer.writeField(H_A39, value.a39)
     writer.writeField(H_A40, value.a40)
   }
 
   private fun serializeChunk1_GhostJsonFlatWriter(writer: GhostJsonFlatWriter, `value`: CollisionModel) {
     writer.writeField(H_A41, value.a41)
     writer.writeField(H_A42, value.a42)
     writer.writeField(H_A43, value.a43)
     writer.writeField(H_A44, value.a44)
     writer.writeField(H_A45, value.a45)
     writer.writeField(H_A46, value.a46)
     writer.writeField(H_A47, value.a47)
     writer.writeField(H_A48, value.a48)
     writer.writeField(H_A49, value.a49)
     writer.writeField(H_A50, value.a50)
     writer.writeField(H_A51, value.a51)
     writer.writeField(H_A52, value.a52)
     writer.writeField(H_A53, value.a53)
     writer.writeField(H_A54, value.a54)
     writer.writeField(H_A55, value.a55)
     writer.writeField(H_A56, value.a56)
     writer.writeField(H_A57, value.a57)
     writer.writeField(H_A58, value.a58)
     writer.writeField(H_A59, value.a59)
     writer.writeField(H_A60, value.a60)
     writer.writeField(H_A61, value.a61)
     writer.writeField(H_A62, value.a62)
     writer.writeField(H_A63, value.a63)
     writer.writeField(H_A64, value.a64)
     writer.writeField(H_A65, value.a65)
     writer.writeField(H_A66, value.a66)
     writer.writeField(H_A67, value.a67)
     writer.writeField(H_A68, value.a68)
     writer.writeField(H_A69, value.a69)
     writer.writeField(H_A70, value.a70)
     writer.writeField(H_A71, value.a71)
     writer.writeField(H_A72, value.a72)
     writer.writeField(H_A73, value.a73)
     writer.writeField(H_A74, value.a74)
     writer.writeField(H_A75, value.a75)
     writer.writeField(H_A76, value.a76)
     writer.writeField(H_A77, value.a77)
     writer.writeField(H_A78, value.a78)
     writer.writeField(H_A79, value.a79)
     writer.writeField(H_A80, value.a80)
   }
 
   private fun serializeChunk2_GhostJsonFlatWriter(writer: GhostJsonFlatWriter, `value`: CollisionModel) {
     writer.writeField(H_A81, value.a81)
     writer.writeField(H_A82, value.a82)
     writer.writeField(H_A83, value.a83)
     writer.writeField(H_A84, value.a84)
     writer.writeField(H_A85, value.a85)
     writer.writeField(H_A86, value.a86)
     writer.writeField(H_A87, value.a87)
     writer.writeField(H_A88, value.a88)
     writer.writeField(H_A89, value.a89)
     writer.writeField(H_A90, value.a90)
     writer.writeField(H_A91, value.a91)
     writer.writeField(H_A92, value.a92)
     writer.writeField(H_A93, value.a93)
     writer.writeField(H_A94, value.a94)
     writer.writeField(H_A95, value.a95)
     writer.writeField(H_A96, value.a96)
     writer.writeField(H_A97, value.a97)
     writer.writeField(H_A98, value.a98)
     writer.writeField(H_A99, value.a99)
     writer.writeField(H_A100, value.a100)
   }
 
   override fun serialize(writer: GhostJsonFlatWriter, `value`: CollisionModel) {
     writer.beginObject()
     serializeChunk0_GhostJsonFlatWriter(writer, value)
     serializeChunk1_GhostJsonFlatWriter(writer, value)
     serializeChunk2_GhostJsonFlatWriter(writer, value)
     writer.endObject()
   }
 
   override fun warmUp() {
     try {
       val reader1 = GhostJsonReader("{}".encodeToByteArray())
       deserialize(reader1)
     } catch (_: Exception) {
     }
     try {
       val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
       deserialize(reader2)
     } catch (_: Exception) {
     }
   }
 
   private class DecodingContext {
     public var a1: Int = 0
 
     public var a2: Int = 0
 
     public var a3: Int = 0
 
     public var a4: Int = 0
 
     public var a5: Int = 0
 
     public var a6: Int = 0
 
     public var a7: Int = 0
 
     public var a8: Int = 0
 
     public var a9: Int = 0
 
     public var a10: Int = 0
 
     public var a11: Int = 0
 
     public var a12: Int = 0
 
     public var a13: Int = 0
 
     public var a14: Int = 0
 
     public var a15: Int = 0
 
     public var a16: Int = 0
 
     public var a17: Int = 0
 
     public var a18: Int = 0
 
     public var a19: Int = 0
 
     public var a20: Int = 0
 
     public var a21: Int = 0
 
     public var a22: Int = 0
 
     public var a23: Int = 0
 
     public var a24: Int = 0
 
     public var a25: Int = 0
 
     public var a26: Int = 0
 
     public var a27: Int = 0
 
     public var a28: Int = 0
 
     public var a29: Int = 0
 
     public var a30: Int = 0
 
     public var a31: Int = 0
 
     public var a32: Int = 0
 
     public var a33: Int = 0
 
     public var a34: Int = 0
 
     public var a35: Int = 0
 
     public var a36: Int = 0
 
     public var a37: Int = 0
 
     public var a38: Int = 0
 
     public var a39: Int = 0
 
     public var a40: Int = 0
 
     public var a41: Int = 0
 
     public var a42: Int = 0
 
     public var a43: Int = 0
 
     public var a44: Int = 0
 
     public var a45: Int = 0
 
     public var a46: Int = 0
 
     public var a47: Int = 0
 
     public var a48: Int = 0
 
     public var a49: Int = 0
 
     public var a50: Int = 0
 
     public var a51: Int = 0
 
     public var a52: Int = 0
 
     public var a53: Int = 0
 
     public var a54: Int = 0
 
     public var a55: Int = 0
 
     public var a56: Int = 0
 
     public var a57: Int = 0
 
     public var a58: Int = 0
 
     public var a59: Int = 0
 
     public var a60: Int = 0
 
     public var a61: Int = 0
 
     public var a62: Int = 0
 
     public var a63: Int = 0
 
     public var a64: Int = 0
 
     public var a65: Int = 0
 
     public var a66: Int = 0
 
     public var a67: Int = 0
 
     public var a68: Int = 0
 
     public var a69: Int = 0
 
     public var a70: Int = 0
 
     public var a71: Int = 0
 
     public var a72: Int = 0
 
     public var a73: Int = 0
 
     public var a74: Int = 0
 
     public var a75: Int = 0
 
     public var a76: Int = 0
 
     public var a77: Int = 0
 
     public var a78: Int = 0
 
     public var a79: Int = 0
 
     public var a80: Int = 0
 
     public var a81: Int = 0
 
     public var a82: Int = 0
 
     public var a83: Int = 0
 
     public var a84: Int = 0
 
     public var a85: Int = 0
 
     public var a86: Int = 0
 
     public var a87: Int = 0
 
     public var a88: Int = 0
 
     public var a89: Int = 0
 
     public var a90: Int = 0
 
     public var a91: Int = 0
 
     public var a92: Int = 0
 
     public var a93: Int = 0
 
     public var a94: Int = 0
 
     public var a95: Int = 0
 
     public var a96: Int = 0
 
     public var a97: Int = 0
 
     public var a98: Int = 0
 
     public var a99: Int = 0
 
     public var a100: Int = 0
 
     public var mask0: Long = 0L
 
     public var mask1: Long = 0L
   }
 }