public static ulong DecodeVarUInt64()

in cs/src/core/io/IntegerHelper.cs [267:327]


        public static ulong DecodeVarUInt64(byte[] data, ref int index)
        {
            var i = index;
            // byte 0
            ulong result = data[i++];
            if (0x80u <= result)
            {
                // byte 1
                ulong raw = data[i++];
                result = (result & 0x7Fu) | ((raw & 0x7Fu) << 7);
                if (0x80u <= raw)
                {
                    // byte 2
                    raw = data[i++];
                    result |= (raw & 0x7Fu) << 14;
                    if (0x80u <= raw)
                    {
                        // byte 3
                        raw = data[i++];
                        result |= (raw & 0x7Fu) << 21;
                        if (0x80u <= raw)
                        {
                            // byte 4
                            raw = data[i++];
                            result |= (raw & 0x7Fu) << 28;
                            if (0x80u <= raw)
                            {
                                // byte 5
                                raw = data[i++];
                                result |= (raw & 0x7Fu) << 35;
                                if (0x80u <= raw)
                                {
                                    // byte 6
                                    raw = data[i++];
                                    result |= (raw & 0x7Fu) << 42;
                                    if (0x80u <= raw)
                                    {
                                        // byte 7
                                        raw = data[i++];
                                        result |= (raw & 0x7Fu) << 49;
                                        if (0x80u <= raw)
                                        {
                                            // byte 8
                                            raw = data[i++];
                                            result |= raw << 56;
                                            if (0x80u <= raw)
                                            {
                                                // byte 9
                                                i++;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            index = i;
            return result;
        }