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

#include "metadata_layouts.h"

namespace apache::thrift::frozen {

FROZEN_CTOR(::dwarfs::thrift::metadata::chunk,
  FROZEN_CTOR_FIELD(block, 1)
  FROZEN_CTOR_FIELD(offset, 2)
  FROZEN_CTOR_FIELD(size, 3))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::chunk,
  FROZEN_MAXIMIZE_FIELD(block);
  FROZEN_MAXIMIZE_FIELD(offset);
  FROZEN_MAXIMIZE_FIELD(size);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::chunk,
  FROZEN_LAYOUT_FIELD(block)
  FROZEN_LAYOUT_FIELD(offset)
  FROZEN_LAYOUT_FIELD(size))
FROZEN_FREEZE(::dwarfs::thrift::metadata::chunk,
  FROZEN_FREEZE_FIELD(block)
  FROZEN_FREEZE_FIELD(offset)
  FROZEN_FREEZE_FIELD(size))
FROZEN_THAW(::dwarfs::thrift::metadata::chunk,
  FROZEN_THAW_FIELD(block)
  FROZEN_THAW_FIELD(offset)
  FROZEN_THAW_FIELD(size))
FROZEN_DEBUG(::dwarfs::thrift::metadata::chunk,
  FROZEN_DEBUG_FIELD(block)
  FROZEN_DEBUG_FIELD(offset)
  FROZEN_DEBUG_FIELD(size))
FROZEN_CLEAR(::dwarfs::thrift::metadata::chunk,
  FROZEN_CLEAR_FIELD(block)
  FROZEN_CLEAR_FIELD(offset)
  FROZEN_CLEAR_FIELD(size))

FROZEN_CTOR(::dwarfs::thrift::metadata::directory,
  FROZEN_CTOR_FIELD(parent_entry, 1)
  FROZEN_CTOR_FIELD(first_entry, 2)
  FROZEN_CTOR_FIELD(self_entry, 3))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::directory,
  FROZEN_MAXIMIZE_FIELD(parent_entry);
  FROZEN_MAXIMIZE_FIELD(first_entry);
  FROZEN_MAXIMIZE_FIELD(self_entry);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::directory,
  FROZEN_LAYOUT_FIELD(parent_entry)
  FROZEN_LAYOUT_FIELD(first_entry)
  FROZEN_LAYOUT_FIELD(self_entry))
FROZEN_FREEZE(::dwarfs::thrift::metadata::directory,
  FROZEN_FREEZE_FIELD(parent_entry)
  FROZEN_FREEZE_FIELD(first_entry)
  FROZEN_FREEZE_FIELD(self_entry))
FROZEN_THAW(::dwarfs::thrift::metadata::directory,
  FROZEN_THAW_FIELD(parent_entry)
  FROZEN_THAW_FIELD(first_entry)
  FROZEN_THAW_FIELD(self_entry))
FROZEN_DEBUG(::dwarfs::thrift::metadata::directory,
  FROZEN_DEBUG_FIELD(parent_entry)
  FROZEN_DEBUG_FIELD(first_entry)
  FROZEN_DEBUG_FIELD(self_entry))
FROZEN_CLEAR(::dwarfs::thrift::metadata::directory,
  FROZEN_CLEAR_FIELD(parent_entry)
  FROZEN_CLEAR_FIELD(first_entry)
  FROZEN_CLEAR_FIELD(self_entry))

FROZEN_CTOR(::dwarfs::thrift::metadata::inode_data,
  FROZEN_CTOR_FIELD(mode_index, 2)
  FROZEN_CTOR_FIELD(owner_index, 4)
  FROZEN_CTOR_FIELD(group_index, 5)
  FROZEN_CTOR_FIELD(atime_offset, 6)
  FROZEN_CTOR_FIELD(mtime_offset, 7)
  FROZEN_CTOR_FIELD(ctime_offset, 8)
  FROZEN_CTOR_FIELD(btime_offset, 9)
  FROZEN_CTOR_FIELD(atime_subsec, 10)
  FROZEN_CTOR_FIELD(mtime_subsec, 11)
  FROZEN_CTOR_FIELD(ctime_subsec, 12)
  FROZEN_CTOR_FIELD(btime_subsec, 13)
  FROZEN_CTOR_FIELD(nlink_minus_one, 14)
  FROZEN_CTOR_FIELD(name_index_v2_2, 1)
  FROZEN_CTOR_FIELD(inode_v2_2, 3))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::inode_data,
  FROZEN_MAXIMIZE_FIELD(mode_index);
  FROZEN_MAXIMIZE_FIELD(owner_index);
  FROZEN_MAXIMIZE_FIELD(group_index);
  FROZEN_MAXIMIZE_FIELD(atime_offset);
  FROZEN_MAXIMIZE_FIELD(mtime_offset);
  FROZEN_MAXIMIZE_FIELD(ctime_offset);
  FROZEN_MAXIMIZE_FIELD(btime_offset);
  FROZEN_MAXIMIZE_FIELD(atime_subsec);
  FROZEN_MAXIMIZE_FIELD(mtime_subsec);
  FROZEN_MAXIMIZE_FIELD(ctime_subsec);
  FROZEN_MAXIMIZE_FIELD(btime_subsec);
  FROZEN_MAXIMIZE_FIELD(nlink_minus_one);
  FROZEN_MAXIMIZE_FIELD(name_index_v2_2);
  FROZEN_MAXIMIZE_FIELD(inode_v2_2);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::inode_data,
  FROZEN_LAYOUT_FIELD(mode_index)
  FROZEN_LAYOUT_FIELD(owner_index)
  FROZEN_LAYOUT_FIELD(group_index)
  FROZEN_LAYOUT_FIELD(atime_offset)
  FROZEN_LAYOUT_FIELD(mtime_offset)
  FROZEN_LAYOUT_FIELD(ctime_offset)
  FROZEN_LAYOUT_FIELD(btime_offset)
  FROZEN_LAYOUT_FIELD(atime_subsec)
  FROZEN_LAYOUT_FIELD(mtime_subsec)
  FROZEN_LAYOUT_FIELD(ctime_subsec)
  FROZEN_LAYOUT_FIELD(btime_subsec)
  FROZEN_LAYOUT_FIELD(nlink_minus_one)
  FROZEN_LAYOUT_FIELD(name_index_v2_2)
  FROZEN_LAYOUT_FIELD(inode_v2_2))
FROZEN_FREEZE(::dwarfs::thrift::metadata::inode_data,
  FROZEN_FREEZE_FIELD(mode_index)
  FROZEN_FREEZE_FIELD(owner_index)
  FROZEN_FREEZE_FIELD(group_index)
  FROZEN_FREEZE_FIELD(atime_offset)
  FROZEN_FREEZE_FIELD(mtime_offset)
  FROZEN_FREEZE_FIELD(ctime_offset)
  FROZEN_FREEZE_FIELD(btime_offset)
  FROZEN_FREEZE_FIELD(atime_subsec)
  FROZEN_FREEZE_FIELD(mtime_subsec)
  FROZEN_FREEZE_FIELD(ctime_subsec)
  FROZEN_FREEZE_FIELD(btime_subsec)
  FROZEN_FREEZE_FIELD(nlink_minus_one)
  FROZEN_FREEZE_FIELD(name_index_v2_2)
  FROZEN_FREEZE_FIELD(inode_v2_2))
FROZEN_THAW(::dwarfs::thrift::metadata::inode_data,
  FROZEN_THAW_FIELD(mode_index)
  FROZEN_THAW_FIELD(owner_index)
  FROZEN_THAW_FIELD(group_index)
  FROZEN_THAW_FIELD(atime_offset)
  FROZEN_THAW_FIELD(mtime_offset)
  FROZEN_THAW_FIELD(ctime_offset)
  FROZEN_THAW_FIELD(btime_offset)
  FROZEN_THAW_FIELD(atime_subsec)
  FROZEN_THAW_FIELD(mtime_subsec)
  FROZEN_THAW_FIELD(ctime_subsec)
  FROZEN_THAW_FIELD(btime_subsec)
  FROZEN_THAW_FIELD(nlink_minus_one)
  FROZEN_THAW_FIELD(name_index_v2_2)
  FROZEN_THAW_FIELD(inode_v2_2))
FROZEN_DEBUG(::dwarfs::thrift::metadata::inode_data,
  FROZEN_DEBUG_FIELD(mode_index)
  FROZEN_DEBUG_FIELD(owner_index)
  FROZEN_DEBUG_FIELD(group_index)
  FROZEN_DEBUG_FIELD(atime_offset)
  FROZEN_DEBUG_FIELD(mtime_offset)
  FROZEN_DEBUG_FIELD(ctime_offset)
  FROZEN_DEBUG_FIELD(btime_offset)
  FROZEN_DEBUG_FIELD(atime_subsec)
  FROZEN_DEBUG_FIELD(mtime_subsec)
  FROZEN_DEBUG_FIELD(ctime_subsec)
  FROZEN_DEBUG_FIELD(btime_subsec)
  FROZEN_DEBUG_FIELD(nlink_minus_one)
  FROZEN_DEBUG_FIELD(name_index_v2_2)
  FROZEN_DEBUG_FIELD(inode_v2_2))
FROZEN_CLEAR(::dwarfs::thrift::metadata::inode_data,
  FROZEN_CLEAR_FIELD(mode_index)
  FROZEN_CLEAR_FIELD(owner_index)
  FROZEN_CLEAR_FIELD(group_index)
  FROZEN_CLEAR_FIELD(atime_offset)
  FROZEN_CLEAR_FIELD(mtime_offset)
  FROZEN_CLEAR_FIELD(ctime_offset)
  FROZEN_CLEAR_FIELD(btime_offset)
  FROZEN_CLEAR_FIELD(atime_subsec)
  FROZEN_CLEAR_FIELD(mtime_subsec)
  FROZEN_CLEAR_FIELD(ctime_subsec)
  FROZEN_CLEAR_FIELD(btime_subsec)
  FROZEN_CLEAR_FIELD(nlink_minus_one)
  FROZEN_CLEAR_FIELD(name_index_v2_2)
  FROZEN_CLEAR_FIELD(inode_v2_2))

FROZEN_CTOR(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_CTOR_FIELD(name_index, 1)
  FROZEN_CTOR_FIELD(inode_num, 2))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_MAXIMIZE_FIELD(name_index);
  FROZEN_MAXIMIZE_FIELD(inode_num);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_LAYOUT_FIELD(name_index)
  FROZEN_LAYOUT_FIELD(inode_num))
FROZEN_FREEZE(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_FREEZE_FIELD(name_index)
  FROZEN_FREEZE_FIELD(inode_num))
FROZEN_THAW(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_THAW_FIELD(name_index)
  FROZEN_THAW_FIELD(inode_num))
FROZEN_DEBUG(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_DEBUG_FIELD(name_index)
  FROZEN_DEBUG_FIELD(inode_num))
FROZEN_CLEAR(::dwarfs::thrift::metadata::dir_entry,
  FROZEN_CLEAR_FIELD(name_index)
  FROZEN_CLEAR_FIELD(inode_num))

FROZEN_CTOR(::dwarfs::thrift::metadata::fs_options,
  FROZEN_CTOR_FIELD(mtime_only, 1)
  FROZEN_CTOR_FIELD_OPT(time_resolution_sec, 2)
  FROZEN_CTOR_FIELD(packed_chunk_table, 3)
  FROZEN_CTOR_FIELD(packed_directories, 4)
  FROZEN_CTOR_FIELD(packed_shared_files_table, 5)
  FROZEN_CTOR_FIELD_OPT(subsecond_resolution_nsec_multiplier, 6)
  FROZEN_CTOR_FIELD(has_btime, 7)
  FROZEN_CTOR_FIELD(inodes_have_nlink, 8))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::fs_options,
  FROZEN_MAXIMIZE_FIELD(mtime_only);
  FROZEN_MAXIMIZE_FIELD(time_resolution_sec);
  FROZEN_MAXIMIZE_FIELD(packed_chunk_table);
  FROZEN_MAXIMIZE_FIELD(packed_directories);
  FROZEN_MAXIMIZE_FIELD(packed_shared_files_table);
  FROZEN_MAXIMIZE_FIELD(subsecond_resolution_nsec_multiplier);
  FROZEN_MAXIMIZE_FIELD(has_btime);
  FROZEN_MAXIMIZE_FIELD(inodes_have_nlink);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::fs_options,
  FROZEN_LAYOUT_FIELD(mtime_only)
  FROZEN_LAYOUT_FIELD_OPT(time_resolution_sec)
  FROZEN_LAYOUT_FIELD(packed_chunk_table)
  FROZEN_LAYOUT_FIELD(packed_directories)
  FROZEN_LAYOUT_FIELD(packed_shared_files_table)
  FROZEN_LAYOUT_FIELD_OPT(subsecond_resolution_nsec_multiplier)
  FROZEN_LAYOUT_FIELD(has_btime)
  FROZEN_LAYOUT_FIELD(inodes_have_nlink))
FROZEN_FREEZE(::dwarfs::thrift::metadata::fs_options,
  FROZEN_FREEZE_FIELD(mtime_only)
  FROZEN_FREEZE_FIELD_OPT(time_resolution_sec)
  FROZEN_FREEZE_FIELD(packed_chunk_table)
  FROZEN_FREEZE_FIELD(packed_directories)
  FROZEN_FREEZE_FIELD(packed_shared_files_table)
  FROZEN_FREEZE_FIELD_OPT(subsecond_resolution_nsec_multiplier)
  FROZEN_FREEZE_FIELD(has_btime)
  FROZEN_FREEZE_FIELD(inodes_have_nlink))
FROZEN_THAW(::dwarfs::thrift::metadata::fs_options,
  FROZEN_THAW_FIELD(mtime_only)
  FROZEN_THAW_FIELD_OPT(time_resolution_sec)
  FROZEN_THAW_FIELD(packed_chunk_table)
  FROZEN_THAW_FIELD(packed_directories)
  FROZEN_THAW_FIELD(packed_shared_files_table)
  FROZEN_THAW_FIELD_OPT(subsecond_resolution_nsec_multiplier)
  FROZEN_THAW_FIELD(has_btime)
  FROZEN_THAW_FIELD(inodes_have_nlink))
FROZEN_DEBUG(::dwarfs::thrift::metadata::fs_options,
  FROZEN_DEBUG_FIELD(mtime_only)
  FROZEN_DEBUG_FIELD(time_resolution_sec)
  FROZEN_DEBUG_FIELD(packed_chunk_table)
  FROZEN_DEBUG_FIELD(packed_directories)
  FROZEN_DEBUG_FIELD(packed_shared_files_table)
  FROZEN_DEBUG_FIELD(subsecond_resolution_nsec_multiplier)
  FROZEN_DEBUG_FIELD(has_btime)
  FROZEN_DEBUG_FIELD(inodes_have_nlink))
FROZEN_CLEAR(::dwarfs::thrift::metadata::fs_options,
  FROZEN_CLEAR_FIELD(mtime_only)
  FROZEN_CLEAR_FIELD(time_resolution_sec)
  FROZEN_CLEAR_FIELD(packed_chunk_table)
  FROZEN_CLEAR_FIELD(packed_directories)
  FROZEN_CLEAR_FIELD(packed_shared_files_table)
  FROZEN_CLEAR_FIELD(subsecond_resolution_nsec_multiplier)
  FROZEN_CLEAR_FIELD(has_btime)
  FROZEN_CLEAR_FIELD(inodes_have_nlink))

FROZEN_CTOR(::dwarfs::thrift::metadata::string_table,
  FROZEN_CTOR_FIELD(buffer, 1)
  FROZEN_CTOR_FIELD_OPT(symtab, 2)
  FROZEN_CTOR_FIELD(index, 3)
  FROZEN_CTOR_FIELD(packed_index, 4))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::string_table,
  FROZEN_MAXIMIZE_FIELD(buffer);
  FROZEN_MAXIMIZE_FIELD(symtab);
  FROZEN_MAXIMIZE_FIELD(index);
  FROZEN_MAXIMIZE_FIELD(packed_index);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::string_table,
  FROZEN_LAYOUT_FIELD(buffer)
  FROZEN_LAYOUT_FIELD_OPT(symtab)
  FROZEN_LAYOUT_FIELD(index)
  FROZEN_LAYOUT_FIELD(packed_index))
FROZEN_FREEZE(::dwarfs::thrift::metadata::string_table,
  FROZEN_FREEZE_FIELD(buffer)
  FROZEN_FREEZE_FIELD_OPT(symtab)
  FROZEN_FREEZE_FIELD(index)
  FROZEN_FREEZE_FIELD(packed_index))
FROZEN_THAW(::dwarfs::thrift::metadata::string_table,
  FROZEN_THAW_FIELD(buffer)
  FROZEN_THAW_FIELD_OPT(symtab)
  FROZEN_THAW_FIELD(index)
  FROZEN_THAW_FIELD(packed_index))
FROZEN_DEBUG(::dwarfs::thrift::metadata::string_table,
  FROZEN_DEBUG_FIELD(buffer)
  FROZEN_DEBUG_FIELD(symtab)
  FROZEN_DEBUG_FIELD(index)
  FROZEN_DEBUG_FIELD(packed_index))
FROZEN_CLEAR(::dwarfs::thrift::metadata::string_table,
  FROZEN_CLEAR_FIELD(buffer)
  FROZEN_CLEAR_FIELD(symtab)
  FROZEN_CLEAR_FIELD(index)
  FROZEN_CLEAR_FIELD(packed_index))

FROZEN_CTOR(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_CTOR_FIELD(size_lookup, 1)
  FROZEN_CTOR_FIELD(min_chunk_count, 2)
  FROZEN_CTOR_FIELD(allocated_size_lookup, 3))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_MAXIMIZE_FIELD(size_lookup);
  FROZEN_MAXIMIZE_FIELD(min_chunk_count);
  FROZEN_MAXIMIZE_FIELD(allocated_size_lookup);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_LAYOUT_FIELD(size_lookup)
  FROZEN_LAYOUT_FIELD(min_chunk_count)
  FROZEN_LAYOUT_FIELD(allocated_size_lookup))
FROZEN_FREEZE(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_FREEZE_FIELD(size_lookup)
  FROZEN_FREEZE_FIELD(min_chunk_count)
  FROZEN_FREEZE_FIELD(allocated_size_lookup))
FROZEN_THAW(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_THAW_FIELD(size_lookup)
  FROZEN_THAW_FIELD(min_chunk_count)
  FROZEN_THAW_FIELD(allocated_size_lookup))
FROZEN_DEBUG(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_DEBUG_FIELD(size_lookup)
  FROZEN_DEBUG_FIELD(min_chunk_count)
  FROZEN_DEBUG_FIELD(allocated_size_lookup))
FROZEN_CLEAR(::dwarfs::thrift::metadata::inode_size_cache,
  FROZEN_CLEAR_FIELD(size_lookup)
  FROZEN_CLEAR_FIELD(min_chunk_count)
  FROZEN_CLEAR_FIELD(allocated_size_lookup))

FROZEN_CTOR(::dwarfs::thrift::metadata::history_entry,
  FROZEN_CTOR_FIELD(major, 1)
  FROZEN_CTOR_FIELD(minor, 2)
  FROZEN_CTOR_FIELD_OPT(dwarfs_version, 3)
  FROZEN_CTOR_FIELD(block_size, 4)
  FROZEN_CTOR_FIELD_OPT(options, 5))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::history_entry,
  FROZEN_MAXIMIZE_FIELD(major);
  FROZEN_MAXIMIZE_FIELD(minor);
  FROZEN_MAXIMIZE_FIELD(dwarfs_version);
  FROZEN_MAXIMIZE_FIELD(block_size);
  FROZEN_MAXIMIZE_FIELD(options);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::history_entry,
  FROZEN_LAYOUT_FIELD(major)
  FROZEN_LAYOUT_FIELD(minor)
  FROZEN_LAYOUT_FIELD_OPT(dwarfs_version)
  FROZEN_LAYOUT_FIELD(block_size)
  FROZEN_LAYOUT_FIELD_OPT(options))
FROZEN_FREEZE(::dwarfs::thrift::metadata::history_entry,
  FROZEN_FREEZE_FIELD(major)
  FROZEN_FREEZE_FIELD(minor)
  FROZEN_FREEZE_FIELD_OPT(dwarfs_version)
  FROZEN_FREEZE_FIELD(block_size)
  FROZEN_FREEZE_FIELD_OPT(options))
FROZEN_THAW(::dwarfs::thrift::metadata::history_entry,
  FROZEN_THAW_FIELD(major)
  FROZEN_THAW_FIELD(minor)
  FROZEN_THAW_FIELD_OPT(dwarfs_version)
  FROZEN_THAW_FIELD(block_size)
  FROZEN_THAW_FIELD_OPT(options))
FROZEN_DEBUG(::dwarfs::thrift::metadata::history_entry,
  FROZEN_DEBUG_FIELD(major)
  FROZEN_DEBUG_FIELD(minor)
  FROZEN_DEBUG_FIELD(dwarfs_version)
  FROZEN_DEBUG_FIELD(block_size)
  FROZEN_DEBUG_FIELD(options))
FROZEN_CLEAR(::dwarfs::thrift::metadata::history_entry,
  FROZEN_CLEAR_FIELD(major)
  FROZEN_CLEAR_FIELD(minor)
  FROZEN_CLEAR_FIELD(dwarfs_version)
  FROZEN_CLEAR_FIELD(block_size)
  FROZEN_CLEAR_FIELD(options))

FROZEN_CTOR(::dwarfs::thrift::metadata::metadata,
  FROZEN_CTOR_FIELD(chunks, 1)
  FROZEN_CTOR_FIELD(directories, 2)
  FROZEN_CTOR_FIELD(inodes, 3)
  FROZEN_CTOR_FIELD(chunk_table, 4)
  FROZEN_CTOR_FIELD(entry_table_v2_2, 5)
  FROZEN_CTOR_FIELD(symlink_table, 6)
  FROZEN_CTOR_FIELD(uids, 7)
  FROZEN_CTOR_FIELD(gids, 8)
  FROZEN_CTOR_FIELD(modes, 9)
  FROZEN_CTOR_FIELD(names, 10)
  FROZEN_CTOR_FIELD(symlinks, 11)
  FROZEN_CTOR_FIELD(timestamp_base, 12)
  FROZEN_CTOR_FIELD(block_size, 15)
  FROZEN_CTOR_FIELD(total_fs_size, 16)
  FROZEN_CTOR_FIELD_OPT(devices, 17)
  FROZEN_CTOR_FIELD_OPT(options, 18)
  FROZEN_CTOR_FIELD_OPT(dir_entries, 19)
  FROZEN_CTOR_FIELD_OPT(shared_files_table, 20)
  FROZEN_CTOR_FIELD_OPT(total_hardlink_size, 21)
  FROZEN_CTOR_FIELD_OPT(dwarfs_version, 22)
  FROZEN_CTOR_FIELD_OPT(create_timestamp, 23)
  FROZEN_CTOR_FIELD_OPT(compact_names, 24)
  FROZEN_CTOR_FIELD_OPT(compact_symlinks, 25)
  FROZEN_CTOR_FIELD_OPT(preferred_path_separator, 26)
  FROZEN_CTOR_FIELD_OPT(features, 27)
  FROZEN_CTOR_FIELD_OPT(category_names, 28)
  FROZEN_CTOR_FIELD_OPT(block_categories, 29)
  FROZEN_CTOR_FIELD_OPT(reg_file_size_cache, 30)
  FROZEN_CTOR_FIELD_OPT(category_metadata_json, 31)
  FROZEN_CTOR_FIELD_OPT(block_category_metadata, 32)
  FROZEN_CTOR_FIELD_OPT(metadata_version_history, 33)
  FROZEN_CTOR_FIELD_OPT(hole_block_index, 34)
  FROZEN_CTOR_FIELD_OPT(large_hole_size, 35)
  FROZEN_CTOR_FIELD_OPT(total_allocated_fs_size, 36))
FROZEN_MAXIMIZE(::dwarfs::thrift::metadata::metadata,
  FROZEN_MAXIMIZE_FIELD(chunks);
  FROZEN_MAXIMIZE_FIELD(directories);
  FROZEN_MAXIMIZE_FIELD(inodes);
  FROZEN_MAXIMIZE_FIELD(chunk_table);
  FROZEN_MAXIMIZE_FIELD(entry_table_v2_2);
  FROZEN_MAXIMIZE_FIELD(symlink_table);
  FROZEN_MAXIMIZE_FIELD(uids);
  FROZEN_MAXIMIZE_FIELD(gids);
  FROZEN_MAXIMIZE_FIELD(modes);
  FROZEN_MAXIMIZE_FIELD(names);
  FROZEN_MAXIMIZE_FIELD(symlinks);
  FROZEN_MAXIMIZE_FIELD(timestamp_base);
  FROZEN_MAXIMIZE_FIELD(block_size);
  FROZEN_MAXIMIZE_FIELD(total_fs_size);
  FROZEN_MAXIMIZE_FIELD(devices);
  FROZEN_MAXIMIZE_FIELD(options);
  FROZEN_MAXIMIZE_FIELD(dir_entries);
  FROZEN_MAXIMIZE_FIELD(shared_files_table);
  FROZEN_MAXIMIZE_FIELD(total_hardlink_size);
  FROZEN_MAXIMIZE_FIELD(dwarfs_version);
  FROZEN_MAXIMIZE_FIELD(create_timestamp);
  FROZEN_MAXIMIZE_FIELD(compact_names);
  FROZEN_MAXIMIZE_FIELD(compact_symlinks);
  FROZEN_MAXIMIZE_FIELD(preferred_path_separator);
  FROZEN_MAXIMIZE_FIELD(features);
  FROZEN_MAXIMIZE_FIELD(category_names);
  FROZEN_MAXIMIZE_FIELD(block_categories);
  FROZEN_MAXIMIZE_FIELD(reg_file_size_cache);
  FROZEN_MAXIMIZE_FIELD(category_metadata_json);
  FROZEN_MAXIMIZE_FIELD(block_category_metadata);
  FROZEN_MAXIMIZE_FIELD(metadata_version_history);
  FROZEN_MAXIMIZE_FIELD(hole_block_index);
  FROZEN_MAXIMIZE_FIELD(large_hole_size);
  FROZEN_MAXIMIZE_FIELD(total_allocated_fs_size);
)
FROZEN_LAYOUT(::dwarfs::thrift::metadata::metadata,
  FROZEN_LAYOUT_FIELD(chunks)
  FROZEN_LAYOUT_FIELD(directories)
  FROZEN_LAYOUT_FIELD(inodes)
  FROZEN_LAYOUT_FIELD(chunk_table)
  FROZEN_LAYOUT_FIELD(entry_table_v2_2)
  FROZEN_LAYOUT_FIELD(symlink_table)
  FROZEN_LAYOUT_FIELD(uids)
  FROZEN_LAYOUT_FIELD(gids)
  FROZEN_LAYOUT_FIELD(modes)
  FROZEN_LAYOUT_FIELD(names)
  FROZEN_LAYOUT_FIELD(symlinks)
  FROZEN_LAYOUT_FIELD(timestamp_base)
  FROZEN_LAYOUT_FIELD(block_size)
  FROZEN_LAYOUT_FIELD(total_fs_size)
  FROZEN_LAYOUT_FIELD_OPT(devices)
  FROZEN_LAYOUT_FIELD_OPT(options)
  FROZEN_LAYOUT_FIELD_OPT(dir_entries)
  FROZEN_LAYOUT_FIELD_OPT(shared_files_table)
  FROZEN_LAYOUT_FIELD_OPT(total_hardlink_size)
  FROZEN_LAYOUT_FIELD_OPT(dwarfs_version)
  FROZEN_LAYOUT_FIELD_OPT(create_timestamp)
  FROZEN_LAYOUT_FIELD_OPT(compact_names)
  FROZEN_LAYOUT_FIELD_OPT(compact_symlinks)
  FROZEN_LAYOUT_FIELD_OPT(preferred_path_separator)
  FROZEN_LAYOUT_FIELD_OPT(features)
  FROZEN_LAYOUT_FIELD_OPT(category_names)
  FROZEN_LAYOUT_FIELD_OPT(block_categories)
  FROZEN_LAYOUT_FIELD_OPT(reg_file_size_cache)
  FROZEN_LAYOUT_FIELD_OPT(category_metadata_json)
  FROZEN_LAYOUT_FIELD_OPT(block_category_metadata)
  FROZEN_LAYOUT_FIELD_OPT(metadata_version_history)
  FROZEN_LAYOUT_FIELD_OPT(hole_block_index)
  FROZEN_LAYOUT_FIELD_OPT(large_hole_size)
  FROZEN_LAYOUT_FIELD_OPT(total_allocated_fs_size))
FROZEN_FREEZE(::dwarfs::thrift::metadata::metadata,
  FROZEN_FREEZE_FIELD(chunks)
  FROZEN_FREEZE_FIELD(directories)
  FROZEN_FREEZE_FIELD(inodes)
  FROZEN_FREEZE_FIELD(chunk_table)
  FROZEN_FREEZE_FIELD(entry_table_v2_2)
  FROZEN_FREEZE_FIELD(symlink_table)
  FROZEN_FREEZE_FIELD(uids)
  FROZEN_FREEZE_FIELD(gids)
  FROZEN_FREEZE_FIELD(modes)
  FROZEN_FREEZE_FIELD(names)
  FROZEN_FREEZE_FIELD(symlinks)
  FROZEN_FREEZE_FIELD(timestamp_base)
  FROZEN_FREEZE_FIELD(block_size)
  FROZEN_FREEZE_FIELD(total_fs_size)
  FROZEN_FREEZE_FIELD_OPT(devices)
  FROZEN_FREEZE_FIELD_OPT(options)
  FROZEN_FREEZE_FIELD_OPT(dir_entries)
  FROZEN_FREEZE_FIELD_OPT(shared_files_table)
  FROZEN_FREEZE_FIELD_OPT(total_hardlink_size)
  FROZEN_FREEZE_FIELD_OPT(dwarfs_version)
  FROZEN_FREEZE_FIELD_OPT(create_timestamp)
  FROZEN_FREEZE_FIELD_OPT(compact_names)
  FROZEN_FREEZE_FIELD_OPT(compact_symlinks)
  FROZEN_FREEZE_FIELD_OPT(preferred_path_separator)
  FROZEN_FREEZE_FIELD_OPT(features)
  FROZEN_FREEZE_FIELD_OPT(category_names)
  FROZEN_FREEZE_FIELD_OPT(block_categories)
  FROZEN_FREEZE_FIELD_OPT(reg_file_size_cache)
  FROZEN_FREEZE_FIELD_OPT(category_metadata_json)
  FROZEN_FREEZE_FIELD_OPT(block_category_metadata)
  FROZEN_FREEZE_FIELD_OPT(metadata_version_history)
  FROZEN_FREEZE_FIELD_OPT(hole_block_index)
  FROZEN_FREEZE_FIELD_OPT(large_hole_size)
  FROZEN_FREEZE_FIELD_OPT(total_allocated_fs_size))
FROZEN_THAW(::dwarfs::thrift::metadata::metadata,
  FROZEN_THAW_FIELD(chunks)
  FROZEN_THAW_FIELD(directories)
  FROZEN_THAW_FIELD(inodes)
  FROZEN_THAW_FIELD(chunk_table)
  FROZEN_THAW_FIELD(entry_table_v2_2)
  FROZEN_THAW_FIELD(symlink_table)
  FROZEN_THAW_FIELD(uids)
  FROZEN_THAW_FIELD(gids)
  FROZEN_THAW_FIELD(modes)
  FROZEN_THAW_FIELD(names)
  FROZEN_THAW_FIELD(symlinks)
  FROZEN_THAW_FIELD(timestamp_base)
  FROZEN_THAW_FIELD(block_size)
  FROZEN_THAW_FIELD(total_fs_size)
  FROZEN_THAW_FIELD_OPT(devices)
  FROZEN_THAW_FIELD_OPT(options)
  FROZEN_THAW_FIELD_OPT(dir_entries)
  FROZEN_THAW_FIELD_OPT(shared_files_table)
  FROZEN_THAW_FIELD_OPT(total_hardlink_size)
  FROZEN_THAW_FIELD_OPT(dwarfs_version)
  FROZEN_THAW_FIELD_OPT(create_timestamp)
  FROZEN_THAW_FIELD_OPT(compact_names)
  FROZEN_THAW_FIELD_OPT(compact_symlinks)
  FROZEN_THAW_FIELD_OPT(preferred_path_separator)
  FROZEN_THAW_FIELD_OPT(features)
  FROZEN_THAW_FIELD_OPT(category_names)
  FROZEN_THAW_FIELD_OPT(block_categories)
  FROZEN_THAW_FIELD_OPT(reg_file_size_cache)
  FROZEN_THAW_FIELD_OPT(category_metadata_json)
  FROZEN_THAW_FIELD_OPT(block_category_metadata)
  FROZEN_THAW_FIELD_OPT(metadata_version_history)
  FROZEN_THAW_FIELD_OPT(hole_block_index)
  FROZEN_THAW_FIELD_OPT(large_hole_size)
  FROZEN_THAW_FIELD_OPT(total_allocated_fs_size))
FROZEN_DEBUG(::dwarfs::thrift::metadata::metadata,
  FROZEN_DEBUG_FIELD(chunks)
  FROZEN_DEBUG_FIELD(directories)
  FROZEN_DEBUG_FIELD(inodes)
  FROZEN_DEBUG_FIELD(chunk_table)
  FROZEN_DEBUG_FIELD(entry_table_v2_2)
  FROZEN_DEBUG_FIELD(symlink_table)
  FROZEN_DEBUG_FIELD(uids)
  FROZEN_DEBUG_FIELD(gids)
  FROZEN_DEBUG_FIELD(modes)
  FROZEN_DEBUG_FIELD(names)
  FROZEN_DEBUG_FIELD(symlinks)
  FROZEN_DEBUG_FIELD(timestamp_base)
  FROZEN_DEBUG_FIELD(block_size)
  FROZEN_DEBUG_FIELD(total_fs_size)
  FROZEN_DEBUG_FIELD(devices)
  FROZEN_DEBUG_FIELD(options)
  FROZEN_DEBUG_FIELD(dir_entries)
  FROZEN_DEBUG_FIELD(shared_files_table)
  FROZEN_DEBUG_FIELD(total_hardlink_size)
  FROZEN_DEBUG_FIELD(dwarfs_version)
  FROZEN_DEBUG_FIELD(create_timestamp)
  FROZEN_DEBUG_FIELD(compact_names)
  FROZEN_DEBUG_FIELD(compact_symlinks)
  FROZEN_DEBUG_FIELD(preferred_path_separator)
  FROZEN_DEBUG_FIELD(features)
  FROZEN_DEBUG_FIELD(category_names)
  FROZEN_DEBUG_FIELD(block_categories)
  FROZEN_DEBUG_FIELD(reg_file_size_cache)
  FROZEN_DEBUG_FIELD(category_metadata_json)
  FROZEN_DEBUG_FIELD(block_category_metadata)
  FROZEN_DEBUG_FIELD(metadata_version_history)
  FROZEN_DEBUG_FIELD(hole_block_index)
  FROZEN_DEBUG_FIELD(large_hole_size)
  FROZEN_DEBUG_FIELD(total_allocated_fs_size))
FROZEN_CLEAR(::dwarfs::thrift::metadata::metadata,
  FROZEN_CLEAR_FIELD(chunks)
  FROZEN_CLEAR_FIELD(directories)
  FROZEN_CLEAR_FIELD(inodes)
  FROZEN_CLEAR_FIELD(chunk_table)
  FROZEN_CLEAR_FIELD(entry_table_v2_2)
  FROZEN_CLEAR_FIELD(symlink_table)
  FROZEN_CLEAR_FIELD(uids)
  FROZEN_CLEAR_FIELD(gids)
  FROZEN_CLEAR_FIELD(modes)
  FROZEN_CLEAR_FIELD(names)
  FROZEN_CLEAR_FIELD(symlinks)
  FROZEN_CLEAR_FIELD(timestamp_base)
  FROZEN_CLEAR_FIELD(block_size)
  FROZEN_CLEAR_FIELD(total_fs_size)
  FROZEN_CLEAR_FIELD(devices)
  FROZEN_CLEAR_FIELD(options)
  FROZEN_CLEAR_FIELD(dir_entries)
  FROZEN_CLEAR_FIELD(shared_files_table)
  FROZEN_CLEAR_FIELD(total_hardlink_size)
  FROZEN_CLEAR_FIELD(dwarfs_version)
  FROZEN_CLEAR_FIELD(create_timestamp)
  FROZEN_CLEAR_FIELD(compact_names)
  FROZEN_CLEAR_FIELD(compact_symlinks)
  FROZEN_CLEAR_FIELD(preferred_path_separator)
  FROZEN_CLEAR_FIELD(features)
  FROZEN_CLEAR_FIELD(category_names)
  FROZEN_CLEAR_FIELD(block_categories)
  FROZEN_CLEAR_FIELD(reg_file_size_cache)
  FROZEN_CLEAR_FIELD(category_metadata_json)
  FROZEN_CLEAR_FIELD(block_category_metadata)
  FROZEN_CLEAR_FIELD(metadata_version_history)
  FROZEN_CLEAR_FIELD(hole_block_index)
  FROZEN_CLEAR_FIELD(large_hole_size)
  FROZEN_CLEAR_FIELD(total_allocated_fs_size))

} // apache::thrift::frozen
