// @generated by thrift-lite.py; do not edit.

#pragma once

#include <thrift/lib/cpp2/frozen/Frozen.h>
#include "metadata_types.h"

namespace apache::thrift::frozen {

FROZEN_TYPE(::dwarfs::thrift::metadata::chunk,
  FROZEN_FIELD(block, 1, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(offset, 2, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(size, 3, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(block, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(offset, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(size, ::dwarfs::thrift::metadata::UInt32))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(block)
    FROZEN_SAVE_FIELD(offset)
    FROZEN_SAVE_FIELD(size))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(block, 1)
    FROZEN_LOAD_FIELD(offset, 2)
    FROZEN_LOAD_FIELD(size, 3)));

FROZEN_TYPE(::dwarfs::thrift::metadata::directory,
  FROZEN_FIELD(parent_entry, 1, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(first_entry, 2, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(self_entry, 3, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(parent_entry, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(first_entry, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(self_entry, ::dwarfs::thrift::metadata::UInt32))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(parent_entry)
    FROZEN_SAVE_FIELD(first_entry)
    FROZEN_SAVE_FIELD(self_entry))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(parent_entry, 1)
    FROZEN_LOAD_FIELD(first_entry, 2)
    FROZEN_LOAD_FIELD(self_entry, 3)));

FROZEN_TYPE(::dwarfs::thrift::metadata::inode_data,
  FROZEN_FIELD(mode_index, 2, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(owner_index, 4, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(group_index, 5, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(atime_offset, 6, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(mtime_offset, 7, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(ctime_offset, 8, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(btime_offset, 9, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(atime_subsec, 10, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(mtime_subsec, 11, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(ctime_subsec, 12, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(btime_subsec, 13, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(nlink_minus_one, 14, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(name_index_v2_2, 1, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(inode_v2_2, 3, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(mode_index, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(owner_index, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(group_index, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(atime_offset, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(mtime_offset, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(ctime_offset, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(btime_offset, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(atime_subsec, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(mtime_subsec, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(ctime_subsec, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(btime_subsec, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(nlink_minus_one, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(name_index_v2_2, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(inode_v2_2, ::dwarfs::thrift::metadata::UInt32))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(mode_index)
    FROZEN_SAVE_FIELD(owner_index)
    FROZEN_SAVE_FIELD(group_index)
    FROZEN_SAVE_FIELD(atime_offset)
    FROZEN_SAVE_FIELD(mtime_offset)
    FROZEN_SAVE_FIELD(ctime_offset)
    FROZEN_SAVE_FIELD(btime_offset)
    FROZEN_SAVE_FIELD(atime_subsec)
    FROZEN_SAVE_FIELD(mtime_subsec)
    FROZEN_SAVE_FIELD(ctime_subsec)
    FROZEN_SAVE_FIELD(btime_subsec)
    FROZEN_SAVE_FIELD(nlink_minus_one)
    FROZEN_SAVE_FIELD(name_index_v2_2)
    FROZEN_SAVE_FIELD(inode_v2_2))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(mode_index, 2)
    FROZEN_LOAD_FIELD(owner_index, 4)
    FROZEN_LOAD_FIELD(group_index, 5)
    FROZEN_LOAD_FIELD(atime_offset, 6)
    FROZEN_LOAD_FIELD(mtime_offset, 7)
    FROZEN_LOAD_FIELD(ctime_offset, 8)
    FROZEN_LOAD_FIELD(btime_offset, 9)
    FROZEN_LOAD_FIELD(atime_subsec, 10)
    FROZEN_LOAD_FIELD(mtime_subsec, 11)
    FROZEN_LOAD_FIELD(ctime_subsec, 12)
    FROZEN_LOAD_FIELD(btime_subsec, 13)
    FROZEN_LOAD_FIELD(nlink_minus_one, 14)
    FROZEN_LOAD_FIELD(name_index_v2_2, 1)
    FROZEN_LOAD_FIELD(inode_v2_2, 3)));

FROZEN_TYPE(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_FIELD(name_index, 1, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(inode_num, 2, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(name_index, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(inode_num, ::dwarfs::thrift::metadata::UInt32))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(name_index)
    FROZEN_SAVE_FIELD(inode_num))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(name_index, 1)
    FROZEN_LOAD_FIELD(inode_num, 2)));

FROZEN_TYPE(::dwarfs::thrift::metadata::fs_options,
  FROZEN_FIELD(mtime_only, 1, bool)
  FROZEN_FIELD_OPT(time_resolution_sec, 2, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(packed_chunk_table, 3, bool)
  FROZEN_FIELD(packed_directories, 4, bool)
  FROZEN_FIELD(packed_shared_files_table, 5, bool)
  FROZEN_FIELD_OPT(subsecond_resolution_nsec_multiplier, 6, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(has_btime, 7, bool)
  FROZEN_FIELD(inodes_have_nlink, 8, bool)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(mtime_only, bool)
    FROZEN_VIEW_FIELD_OPT(time_resolution_sec, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(packed_chunk_table, bool)
    FROZEN_VIEW_FIELD(packed_directories, bool)
    FROZEN_VIEW_FIELD(packed_shared_files_table, bool)
    FROZEN_VIEW_FIELD_OPT(subsecond_resolution_nsec_multiplier, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(has_btime, bool)
    FROZEN_VIEW_FIELD(inodes_have_nlink, bool))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(mtime_only)
    FROZEN_SAVE_FIELD(time_resolution_sec)
    FROZEN_SAVE_FIELD(packed_chunk_table)
    FROZEN_SAVE_FIELD(packed_directories)
    FROZEN_SAVE_FIELD(packed_shared_files_table)
    FROZEN_SAVE_FIELD(subsecond_resolution_nsec_multiplier)
    FROZEN_SAVE_FIELD(has_btime)
    FROZEN_SAVE_FIELD(inodes_have_nlink))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(mtime_only, 1)
    FROZEN_LOAD_FIELD(time_resolution_sec, 2)
    FROZEN_LOAD_FIELD(packed_chunk_table, 3)
    FROZEN_LOAD_FIELD(packed_directories, 4)
    FROZEN_LOAD_FIELD(packed_shared_files_table, 5)
    FROZEN_LOAD_FIELD(subsecond_resolution_nsec_multiplier, 6)
    FROZEN_LOAD_FIELD(has_btime, 7)
    FROZEN_LOAD_FIELD(inodes_have_nlink, 8)));

FROZEN_TYPE(::dwarfs::thrift::metadata::string_table,
  FROZEN_FIELD(buffer, 1, ::std::string)
  FROZEN_FIELD_OPT(symtab, 2, ::std::string)
  FROZEN_FIELD(index, 3, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(packed_index, 4, bool)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(buffer, ::std::string)
    FROZEN_VIEW_FIELD_OPT(symtab, ::std::string)
    FROZEN_VIEW_FIELD(index, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(packed_index, bool))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(buffer)
    FROZEN_SAVE_FIELD(symtab)
    FROZEN_SAVE_FIELD(index)
    FROZEN_SAVE_FIELD(packed_index))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(buffer, 1)
    FROZEN_LOAD_FIELD(symtab, 2)
    FROZEN_LOAD_FIELD(index, 3)
    FROZEN_LOAD_FIELD(packed_index, 4)));

FROZEN_TYPE(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_FIELD(size_lookup, 1, ::std::map<::dwarfs::thrift::metadata::UInt32, ::dwarfs::thrift::metadata::UInt64>)
  FROZEN_FIELD(min_chunk_count, 2, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(allocated_size_lookup, 3, ::std::map<::dwarfs::thrift::metadata::UInt32, ::dwarfs::thrift::metadata::UInt64>)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(size_lookup, ::std::map<::dwarfs::thrift::metadata::UInt32, ::dwarfs::thrift::metadata::UInt64>)
    FROZEN_VIEW_FIELD(min_chunk_count, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(allocated_size_lookup, ::std::map<::dwarfs::thrift::metadata::UInt32, ::dwarfs::thrift::metadata::UInt64>))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(size_lookup)
    FROZEN_SAVE_FIELD(min_chunk_count)
    FROZEN_SAVE_FIELD(allocated_size_lookup))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(size_lookup, 1)
    FROZEN_LOAD_FIELD(min_chunk_count, 2)
    FROZEN_LOAD_FIELD(allocated_size_lookup, 3)));

FROZEN_TYPE(::dwarfs::thrift::metadata::history_entry,
  FROZEN_FIELD(major, 1, ::dwarfs::thrift::metadata::UInt8)
  FROZEN_FIELD(minor, 2, ::dwarfs::thrift::metadata::UInt8)
  FROZEN_FIELD_OPT(dwarfs_version, 3, ::std::string)
  FROZEN_FIELD(block_size, 4, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD_OPT(options, 5, ::dwarfs::thrift::metadata::fs_options)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(major, ::dwarfs::thrift::metadata::UInt8)
    FROZEN_VIEW_FIELD(minor, ::dwarfs::thrift::metadata::UInt8)
    FROZEN_VIEW_FIELD_OPT(dwarfs_version, ::std::string)
    FROZEN_VIEW_FIELD(block_size, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD_OPT(options, ::dwarfs::thrift::metadata::fs_options))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(major)
    FROZEN_SAVE_FIELD(minor)
    FROZEN_SAVE_FIELD(dwarfs_version)
    FROZEN_SAVE_FIELD(block_size)
    FROZEN_SAVE_FIELD(options))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(major, 1)
    FROZEN_LOAD_FIELD(minor, 2)
    FROZEN_LOAD_FIELD(dwarfs_version, 3)
    FROZEN_LOAD_FIELD(block_size, 4)
    FROZEN_LOAD_FIELD(options, 5)));

FROZEN_TYPE(::dwarfs::thrift::metadata::metadata,
  FROZEN_FIELD(chunks, 1, ::std::vector<::dwarfs::thrift::metadata::chunk>)
  FROZEN_FIELD(directories, 2, ::std::vector<::dwarfs::thrift::metadata::directory>)
  FROZEN_FIELD(inodes, 3, ::std::vector<::dwarfs::thrift::metadata::inode_data>)
  FROZEN_FIELD(chunk_table, 4, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(entry_table_v2_2, 5, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(symlink_table, 6, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(uids, 7, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(gids, 8, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(modes, 9, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD(names, 10, ::std::vector<::std::string>)
  FROZEN_FIELD(symlinks, 11, ::std::vector<::std::string>)
  FROZEN_FIELD(timestamp_base, 12, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD(block_size, 15, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD(total_fs_size, 16, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD_OPT(devices, 17, ::std::vector<::dwarfs::thrift::metadata::UInt64>)
  FROZEN_FIELD_OPT(options, 18, ::dwarfs::thrift::metadata::fs_options)
  FROZEN_FIELD_OPT(dir_entries, 19, ::std::vector<::dwarfs::thrift::metadata::dir_entry>)
  FROZEN_FIELD_OPT(shared_files_table, 20, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD_OPT(total_hardlink_size, 21, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD_OPT(dwarfs_version, 22, ::std::string)
  FROZEN_FIELD_OPT(create_timestamp, 23, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_FIELD_OPT(compact_names, 24, ::dwarfs::thrift::metadata::string_table)
  FROZEN_FIELD_OPT(compact_symlinks, 25, ::dwarfs::thrift::metadata::string_table)
  FROZEN_FIELD_OPT(preferred_path_separator, 26, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD_OPT(features, 27, ::std::set<::std::string>)
  FROZEN_FIELD_OPT(category_names, 28, ::std::vector<::std::string>)
  FROZEN_FIELD_OPT(block_categories, 29, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD_OPT(reg_file_size_cache, 30, ::dwarfs::thrift::metadata::inode_size_cache)
  FROZEN_FIELD_OPT(category_metadata_json, 31, ::std::vector<::std::string>)
  FROZEN_FIELD_OPT(block_category_metadata, 32, ::std::map<::dwarfs::thrift::metadata::UInt32, ::dwarfs::thrift::metadata::UInt32>)
  FROZEN_FIELD_OPT(metadata_version_history, 33, ::std::vector<::dwarfs::thrift::metadata::history_entry>)
  FROZEN_FIELD_OPT(hole_block_index, 34, ::dwarfs::thrift::metadata::UInt32)
  FROZEN_FIELD_OPT(large_hole_size, 35, ::std::vector<::dwarfs::thrift::metadata::UInt64>)
  FROZEN_FIELD_OPT(total_allocated_fs_size, 36, ::dwarfs::thrift::metadata::UInt64)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(chunks, ::std::vector<::dwarfs::thrift::metadata::chunk>)
    FROZEN_VIEW_FIELD(directories, ::std::vector<::dwarfs::thrift::metadata::directory>)
    FROZEN_VIEW_FIELD(inodes, ::std::vector<::dwarfs::thrift::metadata::inode_data>)
    FROZEN_VIEW_FIELD(chunk_table, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(entry_table_v2_2, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(symlink_table, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(uids, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(gids, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(modes, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD(names, ::std::vector<::std::string>)
    FROZEN_VIEW_FIELD(symlinks, ::std::vector<::std::string>)
    FROZEN_VIEW_FIELD(timestamp_base, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD(block_size, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD(total_fs_size, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD_OPT(devices, ::std::vector<::dwarfs::thrift::metadata::UInt64>)
    FROZEN_VIEW_FIELD_OPT(options, ::dwarfs::thrift::metadata::fs_options)
    FROZEN_VIEW_FIELD_OPT(dir_entries, ::std::vector<::dwarfs::thrift::metadata::dir_entry>)
    FROZEN_VIEW_FIELD_OPT(shared_files_table, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD_OPT(total_hardlink_size, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD_OPT(dwarfs_version, ::std::string)
    FROZEN_VIEW_FIELD_OPT(create_timestamp, ::dwarfs::thrift::metadata::UInt64)
    FROZEN_VIEW_FIELD_OPT(compact_names, ::dwarfs::thrift::metadata::string_table)
    FROZEN_VIEW_FIELD_OPT(compact_symlinks, ::dwarfs::thrift::metadata::string_table)
    FROZEN_VIEW_FIELD_OPT(preferred_path_separator, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD_OPT(features, ::std::set<::std::string>)
    FROZEN_VIEW_FIELD_OPT(category_names, ::std::vector<::std::string>)
    FROZEN_VIEW_FIELD_OPT(block_categories, ::std::vector<::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD_OPT(reg_file_size_cache, ::dwarfs::thrift::metadata::inode_size_cache)
    FROZEN_VIEW_FIELD_OPT(category_metadata_json, ::std::vector<::std::string>)
    FROZEN_VIEW_FIELD_OPT(block_category_metadata, ::std::map<::dwarfs::thrift::metadata::UInt32, ::dwarfs::thrift::metadata::UInt32>)
    FROZEN_VIEW_FIELD_OPT(metadata_version_history, ::std::vector<::dwarfs::thrift::metadata::history_entry>)
    FROZEN_VIEW_FIELD_OPT(hole_block_index, ::dwarfs::thrift::metadata::UInt32)
    FROZEN_VIEW_FIELD_OPT(large_hole_size, ::std::vector<::dwarfs::thrift::metadata::UInt64>)
    FROZEN_VIEW_FIELD_OPT(total_allocated_fs_size, ::dwarfs::thrift::metadata::UInt64))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(chunks)
    FROZEN_SAVE_FIELD(directories)
    FROZEN_SAVE_FIELD(inodes)
    FROZEN_SAVE_FIELD(chunk_table)
    FROZEN_SAVE_FIELD(entry_table_v2_2)
    FROZEN_SAVE_FIELD(symlink_table)
    FROZEN_SAVE_FIELD(uids)
    FROZEN_SAVE_FIELD(gids)
    FROZEN_SAVE_FIELD(modes)
    FROZEN_SAVE_FIELD(names)
    FROZEN_SAVE_FIELD(symlinks)
    FROZEN_SAVE_FIELD(timestamp_base)
    FROZEN_SAVE_FIELD(block_size)
    FROZEN_SAVE_FIELD(total_fs_size)
    FROZEN_SAVE_FIELD(devices)
    FROZEN_SAVE_FIELD(options)
    FROZEN_SAVE_FIELD(dir_entries)
    FROZEN_SAVE_FIELD(shared_files_table)
    FROZEN_SAVE_FIELD(total_hardlink_size)
    FROZEN_SAVE_FIELD(dwarfs_version)
    FROZEN_SAVE_FIELD(create_timestamp)
    FROZEN_SAVE_FIELD(compact_names)
    FROZEN_SAVE_FIELD(compact_symlinks)
    FROZEN_SAVE_FIELD(preferred_path_separator)
    FROZEN_SAVE_FIELD(features)
    FROZEN_SAVE_FIELD(category_names)
    FROZEN_SAVE_FIELD(block_categories)
    FROZEN_SAVE_FIELD(reg_file_size_cache)
    FROZEN_SAVE_FIELD(category_metadata_json)
    FROZEN_SAVE_FIELD(block_category_metadata)
    FROZEN_SAVE_FIELD(metadata_version_history)
    FROZEN_SAVE_FIELD(hole_block_index)
    FROZEN_SAVE_FIELD(large_hole_size)
    FROZEN_SAVE_FIELD(total_allocated_fs_size))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(chunks, 1)
    FROZEN_LOAD_FIELD(directories, 2)
    FROZEN_LOAD_FIELD(inodes, 3)
    FROZEN_LOAD_FIELD(chunk_table, 4)
    FROZEN_LOAD_FIELD(entry_table_v2_2, 5)
    FROZEN_LOAD_FIELD(symlink_table, 6)
    FROZEN_LOAD_FIELD(uids, 7)
    FROZEN_LOAD_FIELD(gids, 8)
    FROZEN_LOAD_FIELD(modes, 9)
    FROZEN_LOAD_FIELD(names, 10)
    FROZEN_LOAD_FIELD(symlinks, 11)
    FROZEN_LOAD_FIELD(timestamp_base, 12)
    FROZEN_LOAD_FIELD(block_size, 15)
    FROZEN_LOAD_FIELD(total_fs_size, 16)
    FROZEN_LOAD_FIELD(devices, 17)
    FROZEN_LOAD_FIELD(options, 18)
    FROZEN_LOAD_FIELD(dir_entries, 19)
    FROZEN_LOAD_FIELD(shared_files_table, 20)
    FROZEN_LOAD_FIELD(total_hardlink_size, 21)
    FROZEN_LOAD_FIELD(dwarfs_version, 22)
    FROZEN_LOAD_FIELD(create_timestamp, 23)
    FROZEN_LOAD_FIELD(compact_names, 24)
    FROZEN_LOAD_FIELD(compact_symlinks, 25)
    FROZEN_LOAD_FIELD(preferred_path_separator, 26)
    FROZEN_LOAD_FIELD(features, 27)
    FROZEN_LOAD_FIELD(category_names, 28)
    FROZEN_LOAD_FIELD(block_categories, 29)
    FROZEN_LOAD_FIELD(reg_file_size_cache, 30)
    FROZEN_LOAD_FIELD(category_metadata_json, 31)
    FROZEN_LOAD_FIELD(block_category_metadata, 32)
    FROZEN_LOAD_FIELD(metadata_version_history, 33)
    FROZEN_LOAD_FIELD(hole_block_index, 34)
    FROZEN_LOAD_FIELD(large_hole_size, 35)
    FROZEN_LOAD_FIELD(total_allocated_fs_size, 36)));

} // apache::thrift::frozen
