// @generated by the capnpc-rust plugin to the Cap'n Proto schema compiler.
// DO NOT EDIT.
// source: src/proto.capnp


pub mod task_hashable {
  #[derive(Copy, Clone)]
  pub struct Owned(());
  impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
  impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

  pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
  impl <> ::core::marker::Copy for Reader<'_,>  {}
  impl <> ::core::clone::Clone for Reader<'_,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
    fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
      Self { reader,  }
    }
  }

  impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
    fn from(reader: Reader<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <> ::core::fmt::Debug for Reader<'_,>  {
    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
      core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
    }
  }

  impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
    fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(reader.get_struct(default)?.into())
    }
  }

  impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
    fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
      self.reader
    }
  }

  impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
    fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
      self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
    }
  }

  impl <'a,> Reader<'a,>  {
    pub fn reborrow(&self) -> Reader<'_,> {
      Self { .. *self }
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.reader.total_size()
    }
    #[inline]
    pub fn get_global_hash(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_global_hash(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
    #[inline]
    pub fn get_task_dependency_hashes(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_task_dependency_hashes(&self) -> bool {
      !self.reader.get_pointer_field(1).is_null()
    }
    #[inline]
    pub fn get_package_dir(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_package_dir(&self) -> bool {
      !self.reader.get_pointer_field(2).is_null()
    }
    #[inline]
    pub fn get_hash_of_files(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_hash_of_files(&self) -> bool {
      !self.reader.get_pointer_field(3).is_null()
    }
    #[inline]
    pub fn get_external_deps_hash(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_external_deps_hash(&self) -> bool {
      !self.reader.get_pointer_field(4).is_null()
    }
    #[inline]
    pub fn get_task(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_task(&self) -> bool {
      !self.reader.get_pointer_field(5).is_null()
    }
    #[inline]
    pub fn get_outputs(self) -> ::capnp::Result<crate::proto_capnp::task_outputs::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(6), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_outputs(&self) -> bool {
      !self.reader.get_pointer_field(6).is_null()
    }
    #[inline]
    pub fn get_pass_thru_args(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(7), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_pass_thru_args(&self) -> bool {
      !self.reader.get_pointer_field(7).is_null()
    }
    #[inline]
    pub fn get_env(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(8), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_env(&self) -> bool {
      !self.reader.get_pointer_field(8).is_null()
    }
    #[inline]
    pub fn get_resolved_env_vars(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(9), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_resolved_env_vars(&self) -> bool {
      !self.reader.get_pointer_field(9).is_null()
    }
    #[inline]
    pub fn get_pass_thru_env(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(10), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_pass_thru_env(&self) -> bool {
      !self.reader.get_pointer_field(10).is_null()
    }
    #[inline]
    pub fn get_env_mode(self) -> ::core::result::Result<crate::proto_capnp::task_hashable::EnvMode,::capnp::NotInSchema> {
      ::core::convert::TryInto::try_into(self.reader.get_data_field::<u16>(0))
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 11 };
  }
  impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
    fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
      Self { builder,  }
    }
  }

  impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
    fn from(builder: Builder<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
    fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
      self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
    }
  }

  impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
    fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
      builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
    }
    fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
    }
  }

  impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
    fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
  }

  impl <'a,> Builder<'a,>  {
    pub fn into_reader(self) -> Reader<'a,> {
      self.builder.into_reader().into()
    }
    pub fn reborrow(&mut self) -> Builder<'_,> {
      Builder { builder: self.builder.reborrow() }
    }
    pub fn reborrow_as_reader(&self) -> Reader<'_,> {
      self.builder.as_reader().into()
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.builder.as_reader().total_size()
    }
    #[inline]
    pub fn get_global_hash(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_global_hash(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false).unwrap()
    }
    #[inline]
    pub fn init_global_hash(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(0).init_text(size)
    }
    #[inline]
    pub fn has_global_hash(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
    #[inline]
    pub fn get_task_dependency_hashes(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_task_dependency_hashes(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
    }
    #[inline]
    pub fn init_task_dependency_hashes(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), size)
    }
    #[inline]
    pub fn has_task_dependency_hashes(&self) -> bool {
      !self.builder.is_pointer_field_null(1)
    }
    #[inline]
    pub fn get_package_dir(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_package_dir(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false).unwrap()
    }
    #[inline]
    pub fn init_package_dir(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(2).init_text(size)
    }
    #[inline]
    pub fn has_package_dir(&self) -> bool {
      !self.builder.is_pointer_field_null(2)
    }
    #[inline]
    pub fn get_hash_of_files(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_hash_of_files(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false).unwrap()
    }
    #[inline]
    pub fn init_hash_of_files(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(3).init_text(size)
    }
    #[inline]
    pub fn has_hash_of_files(&self) -> bool {
      !self.builder.is_pointer_field_null(3)
    }
    #[inline]
    pub fn get_external_deps_hash(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_external_deps_hash(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false).unwrap()
    }
    #[inline]
    pub fn init_external_deps_hash(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(4).init_text(size)
    }
    #[inline]
    pub fn has_external_deps_hash(&self) -> bool {
      !self.builder.is_pointer_field_null(4)
    }
    #[inline]
    pub fn get_task(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_task(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false).unwrap()
    }
    #[inline]
    pub fn init_task(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(5).init_text(size)
    }
    #[inline]
    pub fn has_task(&self) -> bool {
      !self.builder.is_pointer_field_null(5)
    }
    #[inline]
    pub fn get_outputs(self) -> ::capnp::Result<crate::proto_capnp::task_outputs::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(6), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_outputs(&mut self, value: crate::proto_capnp::task_outputs::Reader<'_>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(6), value, false)
    }
    #[inline]
    pub fn init_outputs(self, ) -> crate::proto_capnp::task_outputs::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(6), 0)
    }
    #[inline]
    pub fn has_outputs(&self) -> bool {
      !self.builder.is_pointer_field_null(6)
    }
    #[inline]
    pub fn get_pass_thru_args(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(7), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_pass_thru_args(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(7), value, false)
    }
    #[inline]
    pub fn init_pass_thru_args(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(7), size)
    }
    #[inline]
    pub fn has_pass_thru_args(&self) -> bool {
      !self.builder.is_pointer_field_null(7)
    }
    #[inline]
    pub fn get_env(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(8), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_env(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(8), value, false)
    }
    #[inline]
    pub fn init_env(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(8), size)
    }
    #[inline]
    pub fn has_env(&self) -> bool {
      !self.builder.is_pointer_field_null(8)
    }
    #[inline]
    pub fn get_resolved_env_vars(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(9), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_resolved_env_vars(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(9), value, false)
    }
    #[inline]
    pub fn init_resolved_env_vars(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(9), size)
    }
    #[inline]
    pub fn has_resolved_env_vars(&self) -> bool {
      !self.builder.is_pointer_field_null(9)
    }
    #[inline]
    pub fn get_pass_thru_env(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(10), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_pass_thru_env(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(10), value, false)
    }
    #[inline]
    pub fn init_pass_thru_env(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(10), size)
    }
    #[inline]
    pub fn has_pass_thru_env(&self) -> bool {
      !self.builder.is_pointer_field_null(10)
    }
    #[inline]
    pub fn get_env_mode(self) -> ::core::result::Result<crate::proto_capnp::task_hashable::EnvMode,::capnp::NotInSchema> {
      ::core::convert::TryInto::try_into(self.builder.get_data_field::<u16>(0))
    }
    #[inline]
    pub fn set_env_mode(&mut self, value: crate::proto_capnp::task_hashable::EnvMode)  {
      self.builder.set_data_field::<u16>(0, value as u16);
    }
  }

  pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
  impl ::capnp::capability::FromTypelessPipeline for Pipeline {
    fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
      Self { _typeless: typeless,  }
    }
  }
  impl Pipeline  {
    pub fn get_outputs(&self) -> crate::proto_capnp::task_outputs::Pipeline {
      ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(6))
    }
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 232] = [
      ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
      ::capnp::word(121, 228, 245, 78, 235, 156, 240, 225),
      ::capnp::word(16, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(99, 176, 174, 73, 1, 230, 221, 225),
      ::capnp::word(11, 0, 7, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(22, 0, 0, 0, 197, 1, 0, 0),
      ::capnp::word(21, 0, 0, 0, 234, 0, 0, 0),
      ::capnp::word(33, 0, 0, 0, 23, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(41, 0, 0, 0, 167, 2, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
      ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
      ::capnp::word(84, 97, 115, 107, 72, 97, 115, 104),
      ::capnp::word(97, 98, 108, 101, 0, 0, 0, 0),
      ::capnp::word(4, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(22, 155, 246, 41, 29, 138, 192, 141),
      ::capnp::word(1, 0, 0, 0, 66, 0, 0, 0),
      ::capnp::word(69, 110, 118, 77, 111, 100, 101, 0),
      ::capnp::word(48, 0, 0, 0, 3, 0, 4, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(65, 1, 0, 0, 90, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(64, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(76, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(73, 1, 0, 0, 170, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(76, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(104, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 1, 0, 0, 90, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(100, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(112, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(109, 1, 0, 0, 98, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(108, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(120, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(4, 0, 0, 0, 4, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(117, 1, 0, 0, 138, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(120, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(132, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(5, 0, 0, 0, 5, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(129, 1, 0, 0, 42, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(124, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(136, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(6, 0, 0, 0, 6, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(133, 1, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(128, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(140, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(7, 0, 0, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(137, 1, 0, 0, 106, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(136, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(164, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(8, 0, 0, 0, 8, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(161, 1, 0, 0, 34, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(156, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(184, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(9, 0, 0, 0, 9, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(181, 1, 0, 0, 130, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(180, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(208, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(10, 0, 0, 0, 10, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 10, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(205, 1, 0, 0, 98, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(204, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(232, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(11, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 11, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(229, 1, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(224, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(236, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(103, 108, 111, 98, 97, 108, 72, 97),
      ::capnp::word(115, 104, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(116, 97, 115, 107, 68, 101, 112, 101),
      ::capnp::word(110, 100, 101, 110, 99, 121, 72, 97),
      ::capnp::word(115, 104, 101, 115, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(112, 97, 99, 107, 97, 103, 101, 68),
      ::capnp::word(105, 114, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(104, 97, 115, 104, 79, 102, 70, 105),
      ::capnp::word(108, 101, 115, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 120, 116, 101, 114, 110, 97, 108),
      ::capnp::word(68, 101, 112, 115, 72, 97, 115, 104),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(116, 97, 115, 107, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(111, 117, 116, 112, 117, 116, 115, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(103, 162, 171, 232, 252, 0, 131, 213),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(112, 97, 115, 115, 84, 104, 114, 117),
      ::capnp::word(65, 114, 103, 115, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 110, 118, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(114, 101, 115, 111, 108, 118, 101, 100),
      ::capnp::word(69, 110, 118, 86, 97, 114, 115, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(112, 97, 115, 115, 84, 104, 114, 117),
      ::capnp::word(69, 110, 118, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 110, 118, 77, 111, 100, 101, 0),
      ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(22, 155, 246, 41, 29, 138, 192, 141),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ];
    pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        1 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        2 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        3 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        4 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        5 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        6 => <crate::proto_capnp::task_outputs::Owned as ::capnp::introspect::Introspect>::introspect(),
        7 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        8 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        9 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        10 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        11 => <crate::proto_capnp::task_hashable::EnvMode as ::capnp::introspect::Introspect>::introspect(),
        _ => ::capnp::introspect::panic_invalid_field_index(index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
    }
    #[allow(unsafe_code)]
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
      &ENCODED_NODE,
      NONUNION_MEMBERS,
      MEMBERS_BY_DISCRIMINANT,
      MEMBERS_BY_NAME
    )};
    pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8,9,10,11];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[8,11,4,0,3,6,2,7,10,9,5,1];
    pub const TYPE_ID: u64 = 0xe1f0_9ceb_4ef5_e479;
  }

  #[repr(u16)]
  #[derive(Clone, Copy, Debug, PartialEq, Eq)]
  pub enum EnvMode {
    Loose = 0,
    Strict = 1,
  }

  impl ::capnp::introspect::Introspect for EnvMode {
    fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema { encoded_node: &env_mode::ENCODED_NODE, annotation_types: env_mode::get_annotation_types }).into() }
  }
  impl ::core::convert::From<EnvMode> for ::capnp::dynamic_value::Reader<'_> {
    fn from(e: EnvMode) -> Self { ::capnp::dynamic_value::Enum::new(e.into(), ::capnp::introspect::RawEnumSchema { encoded_node: &env_mode::ENCODED_NODE, annotation_types: env_mode::get_annotation_types }.into()).into() }
  }
  impl ::core::convert::TryFrom<u16> for EnvMode {
    type Error = ::capnp::NotInSchema;
    fn try_from(value: u16) -> ::core::result::Result<Self, <EnvMode as ::core::convert::TryFrom<u16>>::Error> {
      match value {
        0 => ::core::result::Result::Ok(Self::Loose),
        1 => ::core::result::Result::Ok(Self::Strict),
        n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
      }
    }
  }
  impl From<EnvMode> for u16 {
    #[inline]
    fn from(x: EnvMode) -> u16 { x as u16 }
  }
  impl ::capnp::traits::HasTypeId for EnvMode {
    const TYPE_ID: u64 = 0x8dc0_8a1d_29f6_9b16u64;
  }
  mod env_mode {
  pub static ENCODED_NODE: [::capnp::Word; 28] = [
    ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
    ::capnp::word(22, 155, 246, 41, 29, 138, 192, 141),
    ::capnp::word(29, 0, 0, 0, 2, 0, 0, 0),
    ::capnp::word(121, 228, 245, 78, 235, 156, 240, 225),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(142, 1, 0, 0, 195, 1, 0, 0),
    ::capnp::word(21, 0, 0, 0, 42, 1, 0, 0),
    ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(33, 0, 0, 0, 55, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
    ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
    ::capnp::word(84, 97, 115, 107, 72, 97, 115, 104),
    ::capnp::word(97, 98, 108, 101, 46, 69, 110, 118),
    ::capnp::word(77, 111, 100, 101, 0, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
    ::capnp::word(8, 0, 0, 0, 1, 0, 2, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(17, 0, 0, 0, 50, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(9, 0, 0, 0, 58, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(108, 111, 111, 115, 101, 0, 0, 0),
    ::capnp::word(115, 116, 114, 105, 99, 116, 0, 0),
  ];
  pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
    ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
  }
  }
}

pub mod task_outputs {
  #[derive(Copy, Clone)]
  pub struct Owned(());
  impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
  impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

  pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
  impl <> ::core::marker::Copy for Reader<'_,>  {}
  impl <> ::core::clone::Clone for Reader<'_,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
    fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
      Self { reader,  }
    }
  }

  impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
    fn from(reader: Reader<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <> ::core::fmt::Debug for Reader<'_,>  {
    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
      core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
    }
  }

  impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
    fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(reader.get_struct(default)?.into())
    }
  }

  impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
    fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
      self.reader
    }
  }

  impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
    fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
      self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
    }
  }

  impl <'a,> Reader<'a,>  {
    pub fn reborrow(&self) -> Reader<'_,> {
      Self { .. *self }
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.reader.total_size()
    }
    #[inline]
    pub fn get_inclusions(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_inclusions(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
    #[inline]
    pub fn get_exclusions(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_exclusions(&self) -> bool {
      !self.reader.get_pointer_field(1).is_null()
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 2 };
  }
  impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
    fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
      Self { builder,  }
    }
  }

  impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
    fn from(builder: Builder<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
    fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
      self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
    }
  }

  impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
    fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
      builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
    }
    fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
    }
  }

  impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
    fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
  }

  impl <'a,> Builder<'a,>  {
    pub fn into_reader(self) -> Reader<'a,> {
      self.builder.into_reader().into()
    }
    pub fn reborrow(&mut self) -> Builder<'_,> {
      Builder { builder: self.builder.reborrow() }
    }
    pub fn reborrow_as_reader(&self) -> Reader<'_,> {
      self.builder.as_reader().into()
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.builder.as_reader().total_size()
    }
    #[inline]
    pub fn get_inclusions(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_inclusions(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
    }
    #[inline]
    pub fn init_inclusions(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), size)
    }
    #[inline]
    pub fn has_inclusions(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
    #[inline]
    pub fn get_exclusions(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_exclusions(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
    }
    #[inline]
    pub fn init_exclusions(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), size)
    }
    #[inline]
    pub fn has_exclusions(&self) -> bool {
      !self.builder.is_pointer_field_null(1)
    }
  }

  pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
  impl ::capnp::capability::FromTypelessPipeline for Pipeline {
    fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
      Self { _typeless: typeless,  }
    }
  }
  impl Pipeline  {
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 59] = [
      ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
      ::capnp::word(103, 162, 171, 232, 252, 0, 131, 213),
      ::capnp::word(16, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(99, 176, 174, 73, 1, 230, 221, 225),
      ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(199, 1, 0, 0, 24, 2, 0, 0),
      ::capnp::word(21, 0, 0, 0, 226, 0, 0, 0),
      ::capnp::word(33, 0, 0, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(29, 0, 0, 0, 119, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
      ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
      ::capnp::word(84, 97, 115, 107, 79, 117, 116, 112),
      ::capnp::word(117, 116, 115, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(41, 0, 0, 0, 90, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(68, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(65, 0, 0, 0, 90, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(64, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(105, 110, 99, 108, 117, 115, 105, 111),
      ::capnp::word(110, 115, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 120, 99, 108, 117, 115, 105, 111),
      ::capnp::word(110, 115, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ];
    pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        1 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        _ => ::capnp::introspect::panic_invalid_field_index(index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
    }
    #[allow(unsafe_code)]
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
      &ENCODED_NODE,
      NONUNION_MEMBERS,
      MEMBERS_BY_DISCRIMINANT,
      MEMBERS_BY_NAME
    )};
    pub static NONUNION_MEMBERS : &[u16] = &[0,1];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[1,0];
    pub const TYPE_ID: u64 = 0xd583_00fc_e8ab_a267;
  }
}

pub mod global_hashable {
  #[derive(Copy, Clone)]
  pub struct Owned(());
  impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
  impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

  pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
  impl <> ::core::marker::Copy for Reader<'_,>  {}
  impl <> ::core::clone::Clone for Reader<'_,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
    fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
      Self { reader,  }
    }
  }

  impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
    fn from(reader: Reader<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <> ::core::fmt::Debug for Reader<'_,>  {
    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
      core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
    }
  }

  impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
    fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(reader.get_struct(default)?.into())
    }
  }

  impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
    fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
      self.reader
    }
  }

  impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
    fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
      self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
    }
  }

  impl <'a,> Reader<'a,>  {
    pub fn reborrow(&self) -> Reader<'_,> {
      Self { .. *self }
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.reader.total_size()
    }
    #[inline]
    pub fn get_global_cache_key(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_global_cache_key(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
    #[inline]
    pub fn get_global_file_hash_map(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::proto_capnp::global_hashable::entry::Owned>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_global_file_hash_map(&self) -> bool {
      !self.reader.get_pointer_field(1).is_null()
    }
    #[inline]
    pub fn get_root_external_deps_hash(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_root_external_deps_hash(&self) -> bool {
      !self.reader.get_pointer_field(2).is_null()
    }
    #[inline]
    pub fn get_root_internal_deps_hash(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_root_internal_deps_hash(&self) -> bool {
      !self.reader.get_pointer_field(3).is_null()
    }
    #[inline]
    pub fn get_env(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_env(&self) -> bool {
      !self.reader.get_pointer_field(4).is_null()
    }
    #[inline]
    pub fn get_resolved_env_vars(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_resolved_env_vars(&self) -> bool {
      !self.reader.get_pointer_field(5).is_null()
    }
    #[inline]
    pub fn get_pass_through_env(self) -> ::capnp::Result<::capnp::text_list::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(6), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_pass_through_env(&self) -> bool {
      !self.reader.get_pointer_field(6).is_null()
    }
    #[inline]
    pub fn get_env_mode(self) -> ::core::result::Result<crate::proto_capnp::global_hashable::EnvMode,::capnp::NotInSchema> {
      ::core::convert::TryInto::try_into(self.reader.get_data_field::<u16>(0))
    }
    #[inline]
    pub fn get_framework_inference(self) -> bool {
      self.reader.get_bool_field(16)
    }
    #[inline]
    pub fn get_engines(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::proto_capnp::global_hashable::entry::Owned>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(7), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_engines(&self) -> bool {
      !self.reader.get_pointer_field(7).is_null()
    }
    #[inline]
    pub fn get_global_configuration(self) -> bool {
      self.reader.get_bool_field(17)
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 8 };
  }
  impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
    fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
      Self { builder,  }
    }
  }

  impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
    fn from(builder: Builder<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
    fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
      self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
    }
  }

  impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
    fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
      builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
    }
    fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
    }
  }

  impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
    fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
  }

  impl <'a,> Builder<'a,>  {
    pub fn into_reader(self) -> Reader<'a,> {
      self.builder.into_reader().into()
    }
    pub fn reborrow(&mut self) -> Builder<'_,> {
      Builder { builder: self.builder.reborrow() }
    }
    pub fn reborrow_as_reader(&self) -> Reader<'_,> {
      self.builder.as_reader().into()
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.builder.as_reader().total_size()
    }
    #[inline]
    pub fn get_global_cache_key(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_global_cache_key(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false).unwrap()
    }
    #[inline]
    pub fn init_global_cache_key(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(0).init_text(size)
    }
    #[inline]
    pub fn has_global_cache_key(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
    #[inline]
    pub fn get_global_file_hash_map(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::proto_capnp::global_hashable::entry::Owned>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_global_file_hash_map(&mut self, value: ::capnp::struct_list::Reader<'_,crate::proto_capnp::global_hashable::entry::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
    }
    #[inline]
    pub fn init_global_file_hash_map(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::proto_capnp::global_hashable::entry::Owned> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), size)
    }
    #[inline]
    pub fn has_global_file_hash_map(&self) -> bool {
      !self.builder.is_pointer_field_null(1)
    }
    #[inline]
    pub fn get_root_external_deps_hash(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_root_external_deps_hash(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false).unwrap()
    }
    #[inline]
    pub fn init_root_external_deps_hash(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(2).init_text(size)
    }
    #[inline]
    pub fn has_root_external_deps_hash(&self) -> bool {
      !self.builder.is_pointer_field_null(2)
    }
    #[inline]
    pub fn get_root_internal_deps_hash(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_root_internal_deps_hash(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false).unwrap()
    }
    #[inline]
    pub fn init_root_internal_deps_hash(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(3).init_text(size)
    }
    #[inline]
    pub fn has_root_internal_deps_hash(&self) -> bool {
      !self.builder.is_pointer_field_null(3)
    }
    #[inline]
    pub fn get_env(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_env(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
    }
    #[inline]
    pub fn init_env(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), size)
    }
    #[inline]
    pub fn has_env(&self) -> bool {
      !self.builder.is_pointer_field_null(4)
    }
    #[inline]
    pub fn get_resolved_env_vars(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_resolved_env_vars(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false)
    }
    #[inline]
    pub fn init_resolved_env_vars(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), size)
    }
    #[inline]
    pub fn has_resolved_env_vars(&self) -> bool {
      !self.builder.is_pointer_field_null(5)
    }
    #[inline]
    pub fn get_pass_through_env(self) -> ::capnp::Result<::capnp::text_list::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(6), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_pass_through_env(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text_list::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(6), value, false)
    }
    #[inline]
    pub fn init_pass_through_env(self, size: u32) -> ::capnp::text_list::Builder<'a> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(6), size)
    }
    #[inline]
    pub fn has_pass_through_env(&self) -> bool {
      !self.builder.is_pointer_field_null(6)
    }
    #[inline]
    pub fn get_env_mode(self) -> ::core::result::Result<crate::proto_capnp::global_hashable::EnvMode,::capnp::NotInSchema> {
      ::core::convert::TryInto::try_into(self.builder.get_data_field::<u16>(0))
    }
    #[inline]
    pub fn set_env_mode(&mut self, value: crate::proto_capnp::global_hashable::EnvMode)  {
      self.builder.set_data_field::<u16>(0, value as u16);
    }
    #[inline]
    pub fn get_framework_inference(self) -> bool {
      self.builder.get_bool_field(16)
    }
    #[inline]
    pub fn set_framework_inference(&mut self, value: bool)  {
      self.builder.set_bool_field(16, value);
    }
    #[inline]
    pub fn get_engines(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::proto_capnp::global_hashable::entry::Owned>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(7), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_engines(&mut self, value: ::capnp::struct_list::Reader<'_,crate::proto_capnp::global_hashable::entry::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(7), value, false)
    }
    #[inline]
    pub fn init_engines(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::proto_capnp::global_hashable::entry::Owned> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(7), size)
    }
    #[inline]
    pub fn has_engines(&self) -> bool {
      !self.builder.is_pointer_field_null(7)
    }
    #[inline]
    pub fn get_global_configuration(self) -> bool {
      self.builder.get_bool_field(17)
    }
    #[inline]
    pub fn set_global_configuration(&mut self, value: bool)  {
      self.builder.set_bool_field(17, value);
    }
  }

  pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
  impl ::capnp::capability::FromTypelessPipeline for Pipeline {
    fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
      Self { _typeless: typeless,  }
    }
  }
  impl Pipeline  {
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 223] = [
      ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
      ::capnp::word(180, 48, 126, 87, 136, 54, 11, 234),
      ::capnp::word(16, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(99, 176, 174, 73, 1, 230, 221, 225),
      ::capnp::word(8, 0, 7, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(26, 2, 0, 0, 240, 3, 0, 0),
      ::capnp::word(21, 0, 0, 0, 250, 0, 0, 0),
      ::capnp::word(33, 0, 0, 0, 39, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(53, 0, 0, 0, 111, 2, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
      ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
      ::capnp::word(71, 108, 111, 98, 97, 108, 72, 97),
      ::capnp::word(115, 104, 97, 98, 108, 101, 0, 0),
      ::capnp::word(8, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(212, 197, 99, 130, 223, 0, 66, 171),
      ::capnp::word(9, 0, 0, 0, 66, 0, 0, 0),
      ::capnp::word(73, 207, 54, 68, 57, 61, 108, 221),
      ::capnp::word(5, 0, 0, 0, 50, 0, 0, 0),
      ::capnp::word(69, 110, 118, 77, 111, 100, 101, 0),
      ::capnp::word(69, 110, 116, 114, 121, 0, 0, 0),
      ::capnp::word(44, 0, 0, 0, 3, 0, 4, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(37, 1, 0, 0, 122, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(36, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(48, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(45, 1, 0, 0, 146, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(48, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(76, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(2, 0, 0, 0, 2, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(73, 1, 0, 0, 170, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(76, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(88, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(3, 0, 0, 0, 3, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 3, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(85, 1, 0, 0, 170, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(88, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(100, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(4, 0, 0, 0, 4, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 4, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(97, 1, 0, 0, 34, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(92, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(120, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(5, 0, 0, 0, 5, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 5, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(117, 1, 0, 0, 130, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(116, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(144, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(6, 0, 0, 0, 6, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 6, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(141, 1, 0, 0, 122, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(140, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(168, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(7, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(165, 1, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(160, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(172, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(8, 0, 0, 0, 16, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 8, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(169, 1, 0, 0, 154, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(172, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(184, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(9, 0, 0, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 9, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(181, 1, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(176, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(204, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(10, 0, 0, 0, 17, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 10, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(201, 1, 0, 0, 162, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(204, 1, 0, 0, 3, 0, 1, 0),
      ::capnp::word(216, 1, 0, 0, 2, 0, 1, 0),
      ::capnp::word(103, 108, 111, 98, 97, 108, 67, 97),
      ::capnp::word(99, 104, 101, 75, 101, 121, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(103, 108, 111, 98, 97, 108, 70, 105),
      ::capnp::word(108, 101, 72, 97, 115, 104, 77, 97),
      ::capnp::word(112, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(73, 207, 54, 68, 57, 61, 108, 221),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(114, 111, 111, 116, 69, 120, 116, 101),
      ::capnp::word(114, 110, 97, 108, 68, 101, 112, 115),
      ::capnp::word(72, 97, 115, 104, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(114, 111, 111, 116, 73, 110, 116, 101),
      ::capnp::word(114, 110, 97, 108, 68, 101, 112, 115),
      ::capnp::word(72, 97, 115, 104, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 110, 118, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(114, 101, 115, 111, 108, 118, 101, 100),
      ::capnp::word(69, 110, 118, 86, 97, 114, 115, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(112, 97, 115, 115, 84, 104, 114, 111),
      ::capnp::word(117, 103, 104, 69, 110, 118, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 110, 118, 77, 111, 100, 101, 0),
      ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(212, 197, 99, 130, 223, 0, 66, 171),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(102, 114, 97, 109, 101, 119, 111, 114),
      ::capnp::word(107, 73, 110, 102, 101, 114, 101, 110),
      ::capnp::word(99, 101, 0, 0, 0, 0, 0, 0),
      ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(101, 110, 103, 105, 110, 101, 115, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(73, 207, 54, 68, 57, 61, 108, 221),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(103, 108, 111, 98, 97, 108, 67, 111),
      ::capnp::word(110, 102, 105, 103, 117, 114, 97, 116),
      ::capnp::word(105, 111, 110, 0, 0, 0, 0, 0),
      ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ];
    pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        1 => <::capnp::struct_list::Owned<crate::proto_capnp::global_hashable::entry::Owned> as ::capnp::introspect::Introspect>::introspect(),
        2 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        3 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        4 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        5 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        6 => <::capnp::text_list::Owned as ::capnp::introspect::Introspect>::introspect(),
        7 => <crate::proto_capnp::global_hashable::EnvMode as ::capnp::introspect::Introspect>::introspect(),
        8 => <bool as ::capnp::introspect::Introspect>::introspect(),
        9 => <::capnp::struct_list::Owned<crate::proto_capnp::global_hashable::entry::Owned> as ::capnp::introspect::Introspect>::introspect(),
        10 => <bool as ::capnp::introspect::Introspect>::introspect(),
        _ => ::capnp::introspect::panic_invalid_field_index(index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
    }
    #[allow(unsafe_code)]
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
      &ENCODED_NODE,
      NONUNION_MEMBERS,
      MEMBERS_BY_DISCRIMINANT,
      MEMBERS_BY_NAME
    )};
    pub static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8,9,10];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[9,4,7,8,0,10,1,6,5,2,3];
    pub const TYPE_ID: u64 = 0xea0b_3688_577e_30b4;
  }

  #[repr(u16)]
  #[derive(Clone, Copy, Debug, PartialEq, Eq)]
  pub enum EnvMode {
    Loose = 0,
    Strict = 1,
  }

  impl ::capnp::introspect::Introspect for EnvMode {
    fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Enum(::capnp::introspect::RawEnumSchema { encoded_node: &env_mode::ENCODED_NODE, annotation_types: env_mode::get_annotation_types }).into() }
  }
  impl ::core::convert::From<EnvMode> for ::capnp::dynamic_value::Reader<'_> {
    fn from(e: EnvMode) -> Self { ::capnp::dynamic_value::Enum::new(e.into(), ::capnp::introspect::RawEnumSchema { encoded_node: &env_mode::ENCODED_NODE, annotation_types: env_mode::get_annotation_types }.into()).into() }
  }
  impl ::core::convert::TryFrom<u16> for EnvMode {
    type Error = ::capnp::NotInSchema;
    fn try_from(value: u16) -> ::core::result::Result<Self, <EnvMode as ::core::convert::TryFrom<u16>>::Error> {
      match value {
        0 => ::core::result::Result::Ok(Self::Loose),
        1 => ::core::result::Result::Ok(Self::Strict),
        n => ::core::result::Result::Err(::capnp::NotInSchema(n)),
      }
    }
  }
  impl From<EnvMode> for u16 {
    #[inline]
    fn from(x: EnvMode) -> u16 { x as u16 }
  }
  impl ::capnp::traits::HasTypeId for EnvMode {
    const TYPE_ID: u64 = 0xab42_00df_8263_c5d4u64;
  }
  mod env_mode {
  pub static ENCODED_NODE: [::capnp::Word; 28] = [
    ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
    ::capnp::word(212, 197, 99, 130, 223, 0, 66, 171),
    ::capnp::word(31, 0, 0, 0, 2, 0, 0, 0),
    ::capnp::word(180, 48, 126, 87, 136, 54, 11, 234),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(131, 3, 0, 0, 178, 3, 0, 0),
    ::capnp::word(21, 0, 0, 0, 58, 1, 0, 0),
    ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(33, 0, 0, 0, 55, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
    ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
    ::capnp::word(71, 108, 111, 98, 97, 108, 72, 97),
    ::capnp::word(115, 104, 97, 98, 108, 101, 46, 69),
    ::capnp::word(110, 118, 77, 111, 100, 101, 0, 0),
    ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
    ::capnp::word(8, 0, 0, 0, 1, 0, 2, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(17, 0, 0, 0, 50, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(9, 0, 0, 0, 58, 0, 0, 0),
    ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ::capnp::word(108, 111, 111, 115, 101, 0, 0, 0),
    ::capnp::word(115, 116, 114, 105, 99, 116, 0, 0),
  ];
  pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
    ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
  }
  }

  pub mod entry {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
    impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
    impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
    impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

    pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
    impl <> ::core::marker::Copy for Reader<'_,>  {}
    impl <> ::core::clone::Clone for Reader<'_,>  {
      fn clone(&self) -> Self { *self }
    }

    impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
      const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
      fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
        Self { reader,  }
      }
    }

    impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
      fn from(reader: Reader<'a,>) -> Self {
        Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
      }
    }

    impl <> ::core::fmt::Debug for Reader<'_,>  {
      fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
        core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
      }
    }

    impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
      fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
        ::core::result::Result::Ok(reader.get_struct(default)?.into())
      }
    }

    impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
      fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
        self.reader
      }
    }

    impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
      fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
        self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
      }
    }

    impl <'a,> Reader<'a,>  {
      pub fn reborrow(&self) -> Reader<'_,> {
        Self { .. *self }
      }

      pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
        self.reader.total_size()
      }
      #[inline]
      pub fn get_key(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_key(&self) -> bool {
        !self.reader.get_pointer_field(0).is_null()
      }
      #[inline]
      pub fn get_value(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_value(&self) -> bool {
        !self.reader.get_pointer_field(1).is_null()
      }
    }

    pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
    impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
      const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 2 };
    }
    impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
      const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
      fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
        Self { builder,  }
      }
    }

    impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
      fn from(builder: Builder<'a,>) -> Self {
        Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
      }
    }

    impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
      fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
        self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
      }
    }

    impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
      fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
        builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
      }
      fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
        ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
      }
    }

    impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
      fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
    }

    impl <'a,> Builder<'a,>  {
      pub fn into_reader(self) -> Reader<'a,> {
        self.builder.into_reader().into()
      }
      pub fn reborrow(&mut self) -> Builder<'_,> {
        Builder { builder: self.builder.reborrow() }
      }
      pub fn reborrow_as_reader(&self) -> Reader<'_,> {
        self.builder.as_reader().into()
      }

      pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
        self.builder.as_reader().total_size()
      }
      #[inline]
      pub fn get_key(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_key(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false).unwrap()
      }
      #[inline]
      pub fn init_key(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(0).init_text(size)
      }
      #[inline]
      pub fn has_key(&self) -> bool {
        !self.builder.is_pointer_field_null(0)
      }
      #[inline]
      pub fn get_value(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_value(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false).unwrap()
      }
      #[inline]
      pub fn init_value(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(1).init_text(size)
      }
      #[inline]
      pub fn has_value(&self) -> bool {
        !self.builder.is_pointer_field_null(1)
      }
    }

    pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
      fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
        Self { _typeless: typeless,  }
      }
    }
    impl Pipeline  {
    }
    mod _private {
      pub static ENCODED_NODE: [::capnp::Word; 50] = [
        ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
        ::capnp::word(73, 207, 54, 68, 57, 61, 108, 221),
        ::capnp::word(31, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(180, 48, 126, 87, 136, 54, 11, 234),
        ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(182, 3, 0, 0, 238, 3, 0, 0),
        ::capnp::word(21, 0, 0, 0, 42, 1, 0, 0),
        ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(33, 0, 0, 0, 119, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
        ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
        ::capnp::word(71, 108, 111, 98, 97, 108, 72, 97),
        ::capnp::word(115, 104, 97, 98, 108, 101, 46, 69),
        ::capnp::word(110, 116, 114, 121, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
        ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(41, 0, 0, 0, 34, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(45, 0, 0, 0, 50, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(107, 101, 121, 0, 0, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(118, 97, 108, 117, 101, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ];
      pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
        match index {
          0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          1 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          _ => ::capnp::introspect::panic_invalid_field_index(index),
        }
      }
      pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
        ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
      }
      #[allow(unsafe_code)]
      pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
        &ENCODED_NODE,
        NONUNION_MEMBERS,
        MEMBERS_BY_DISCRIMINANT,
        MEMBERS_BY_NAME
      )};
      pub static NONUNION_MEMBERS : &[u16] = &[0,1];
      pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
      pub static MEMBERS_BY_NAME : &[u16] = &[0,1];
      pub const TYPE_ID: u64 = 0xdd6c_3d39_4436_cf49;
    }
  }
}

pub mod lock_file_packages {
  #[derive(Copy, Clone)]
  pub struct Owned(());
  impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
  impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

  pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
  impl <> ::core::marker::Copy for Reader<'_,>  {}
  impl <> ::core::clone::Clone for Reader<'_,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
    fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
      Self { reader,  }
    }
  }

  impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
    fn from(reader: Reader<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <> ::core::fmt::Debug for Reader<'_,>  {
    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
      core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
    }
  }

  impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
    fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(reader.get_struct(default)?.into())
    }
  }

  impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
    fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
      self.reader
    }
  }

  impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
    fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
      self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
    }
  }

  impl <'a,> Reader<'a,>  {
    pub fn reborrow(&self) -> Reader<'_,> {
      Self { .. *self }
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.reader.total_size()
    }
    #[inline]
    pub fn get_packages(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::proto_capnp::package::Owned>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_packages(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 1 };
  }
  impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
    fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
      Self { builder,  }
    }
  }

  impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
    fn from(builder: Builder<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
    fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
      self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
    }
  }

  impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
    fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
      builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
    }
    fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
    }
  }

  impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
    fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
  }

  impl <'a,> Builder<'a,>  {
    pub fn into_reader(self) -> Reader<'a,> {
      self.builder.into_reader().into()
    }
    pub fn reborrow(&mut self) -> Builder<'_,> {
      Builder { builder: self.builder.reborrow() }
    }
    pub fn reborrow_as_reader(&self) -> Reader<'_,> {
      self.builder.as_reader().into()
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.builder.as_reader().total_size()
    }
    #[inline]
    pub fn get_packages(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::proto_capnp::package::Owned>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_packages(&mut self, value: ::capnp::struct_list::Reader<'_,crate::proto_capnp::package::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
    }
    #[inline]
    pub fn init_packages(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::proto_capnp::package::Owned> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), size)
    }
    #[inline]
    pub fn has_packages(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
  }

  pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
  impl ::capnp::capability::FromTypelessPipeline for Pipeline {
    fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
      Self { _typeless: typeless,  }
    }
  }
  impl Pipeline  {
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 40] = [
      ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
      ::capnp::word(5, 35, 145, 20, 154, 180, 112, 180),
      ::capnp::word(16, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(99, 176, 174, 73, 1, 230, 221, 225),
      ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(242, 3, 0, 0, 43, 4, 0, 0),
      ::capnp::word(21, 0, 0, 0, 10, 1, 0, 0),
      ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(33, 0, 0, 0, 63, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
      ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
      ::capnp::word(76, 111, 99, 107, 70, 105, 108, 101),
      ::capnp::word(80, 97, 99, 107, 97, 103, 101, 115),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(4, 0, 0, 0, 3, 0, 4, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(13, 0, 0, 0, 74, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(40, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(112, 97, 99, 107, 97, 103, 101, 115),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(120, 27, 143, 105, 53, 137, 208, 194),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ];
    pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::struct_list::Owned<crate::proto_capnp::package::Owned> as ::capnp::introspect::Introspect>::introspect(),
        _ => ::capnp::introspect::panic_invalid_field_index(index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
    }
    #[allow(unsafe_code)]
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
      &ENCODED_NODE,
      NONUNION_MEMBERS,
      MEMBERS_BY_DISCRIMINANT,
      MEMBERS_BY_NAME
    )};
    pub static NONUNION_MEMBERS : &[u16] = &[0];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[0];
    pub const TYPE_ID: u64 = 0xb470_b49a_1491_2305;
  }
}

pub mod package {
  #[derive(Copy, Clone)]
  pub struct Owned(());
  impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
  impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

  pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
  impl <> ::core::marker::Copy for Reader<'_,>  {}
  impl <> ::core::clone::Clone for Reader<'_,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
    fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
      Self { reader,  }
    }
  }

  impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
    fn from(reader: Reader<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <> ::core::fmt::Debug for Reader<'_,>  {
    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
      core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
    }
  }

  impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
    fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(reader.get_struct(default)?.into())
    }
  }

  impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
    fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
      self.reader
    }
  }

  impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
    fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
      self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
    }
  }

  impl <'a,> Reader<'a,>  {
    pub fn reborrow(&self) -> Reader<'_,> {
      Self { .. *self }
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.reader.total_size()
    }
    #[inline]
    pub fn get_key(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_key(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
    #[inline]
    pub fn get_version(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_version(&self) -> bool {
      !self.reader.get_pointer_field(1).is_null()
    }
    #[inline]
    pub fn get_found(self) -> bool {
      self.reader.get_bool_field(0)
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 1, pointers: 2 };
  }
  impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
    fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
      Self { builder,  }
    }
  }

  impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
    fn from(builder: Builder<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
    fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
      self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
    }
  }

  impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
    fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
      builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
    }
    fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
    }
  }

  impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
    fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
  }

  impl <'a,> Builder<'a,>  {
    pub fn into_reader(self) -> Reader<'a,> {
      self.builder.into_reader().into()
    }
    pub fn reborrow(&mut self) -> Builder<'_,> {
      Builder { builder: self.builder.reborrow() }
    }
    pub fn reborrow_as_reader(&self) -> Reader<'_,> {
      self.builder.as_reader().into()
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.builder.as_reader().total_size()
    }
    #[inline]
    pub fn get_key(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_key(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false).unwrap()
    }
    #[inline]
    pub fn init_key(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(0).init_text(size)
    }
    #[inline]
    pub fn has_key(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
    #[inline]
    pub fn get_version(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_version(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false).unwrap()
    }
    #[inline]
    pub fn init_version(self, size: u32) -> ::capnp::text::Builder<'a> {
      self.builder.get_pointer_field(1).init_text(size)
    }
    #[inline]
    pub fn has_version(&self) -> bool {
      !self.builder.is_pointer_field_null(1)
    }
    #[inline]
    pub fn get_found(self) -> bool {
      self.builder.get_bool_field(0)
    }
    #[inline]
    pub fn set_found(&mut self, value: bool)  {
      self.builder.set_bool_field(0, value);
    }
  }

  pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
  impl ::capnp::capability::FromTypelessPipeline for Pipeline {
    fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
      Self { _typeless: typeless,  }
    }
  }
  impl Pipeline  {
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 63] = [
      ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
      ::capnp::word(120, 27, 143, 105, 53, 137, 208, 194),
      ::capnp::word(16, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(99, 176, 174, 73, 1, 230, 221, 225),
      ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(45, 4, 0, 0, 117, 4, 0, 0),
      ::capnp::word(21, 0, 0, 0, 194, 0, 0, 0),
      ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(25, 0, 0, 0, 175, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
      ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
      ::capnp::word(80, 97, 99, 107, 97, 103, 101, 0),
      ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(12, 0, 0, 0, 3, 0, 4, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(69, 0, 0, 0, 34, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(64, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(76, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(73, 0, 0, 0, 66, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(68, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(80, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 2, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(77, 0, 0, 0, 50, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(72, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(84, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(107, 101, 121, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(118, 101, 114, 115, 105, 111, 110, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(102, 111, 117, 110, 100, 0, 0, 0),
      ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ];
    pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        1 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
        2 => <bool as ::capnp::introspect::Introspect>::introspect(),
        _ => ::capnp::introspect::panic_invalid_field_index(index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
    }
    #[allow(unsafe_code)]
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
      &ENCODED_NODE,
      NONUNION_MEMBERS,
      MEMBERS_BY_DISCRIMINANT,
      MEMBERS_BY_NAME
    )};
    pub static NONUNION_MEMBERS : &[u16] = &[0,1,2];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[2,0,1];
    pub const TYPE_ID: u64 = 0xc2d0_8935_698f_1b78;
  }
}

pub mod file_hashes {
  #[derive(Copy, Clone)]
  pub struct Owned(());
  impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
  impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
  impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

  pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
  impl <> ::core::marker::Copy for Reader<'_,>  {}
  impl <> ::core::clone::Clone for Reader<'_,>  {
    fn clone(&self) -> Self { *self }
  }

  impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
    fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
      Self { reader,  }
    }
  }

  impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
    fn from(reader: Reader<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <> ::core::fmt::Debug for Reader<'_,>  {
    fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
      core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
    }
  }

  impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
    fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(reader.get_struct(default)?.into())
    }
  }

  impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
    fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
      self.reader
    }
  }

  impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
    fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
      self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
    }
  }

  impl <'a,> Reader<'a,>  {
    pub fn reborrow(&self) -> Reader<'_,> {
      Self { .. *self }
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.reader.total_size()
    }
    #[inline]
    pub fn get_file_hashes(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::proto_capnp::file_hashes::entry::Owned>> {
      ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn has_file_hashes(&self) -> bool {
      !self.reader.get_pointer_field(0).is_null()
    }
  }

  pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
  impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
    const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 1 };
  }
  impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
    const TYPE_ID: u64 = _private::TYPE_ID;
  }
  impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
    fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
      Self { builder,  }
    }
  }

  impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
    fn from(builder: Builder<'a,>) -> Self {
      Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
    }
  }

  impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
    fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
      self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
    }
  }

  impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
    fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
      builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
    }
    fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
      ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
    }
  }

  impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
    fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
  }

  impl <'a,> Builder<'a,>  {
    pub fn into_reader(self) -> Reader<'a,> {
      self.builder.into_reader().into()
    }
    pub fn reborrow(&mut self) -> Builder<'_,> {
      Builder { builder: self.builder.reborrow() }
    }
    pub fn reborrow_as_reader(&self) -> Reader<'_,> {
      self.builder.as_reader().into()
    }

    pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
      self.builder.as_reader().total_size()
    }
    #[inline]
    pub fn get_file_hashes(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::proto_capnp::file_hashes::entry::Owned>> {
      ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
    }
    #[inline]
    pub fn set_file_hashes(&mut self, value: ::capnp::struct_list::Reader<'_,crate::proto_capnp::file_hashes::entry::Owned>) -> ::capnp::Result<()> {
      ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
    }
    #[inline]
    pub fn init_file_hashes(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::proto_capnp::file_hashes::entry::Owned> {
      ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), size)
    }
    #[inline]
    pub fn has_file_hashes(&self) -> bool {
      !self.builder.is_pointer_field_null(0)
    }
  }

  pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
  impl ::capnp::capability::FromTypelessPipeline for Pipeline {
    fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
      Self { _typeless: typeless,  }
    }
  }
  impl Pipeline  {
  }
  mod _private {
    pub static ENCODED_NODE: [::capnp::Word; 42] = [
      ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
      ::capnp::word(143, 27, 194, 114, 193, 13, 17, 237),
      ::capnp::word(16, 0, 0, 0, 1, 0, 0, 0),
      ::capnp::word(99, 176, 174, 73, 1, 230, 221, 225),
      ::capnp::word(1, 0, 7, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(119, 4, 0, 0, 230, 4, 0, 0),
      ::capnp::word(21, 0, 0, 0, 218, 0, 0, 0),
      ::capnp::word(33, 0, 0, 0, 23, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(41, 0, 0, 0, 63, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
      ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
      ::capnp::word(70, 105, 108, 101, 72, 97, 115, 104),
      ::capnp::word(101, 115, 0, 0, 0, 0, 0, 0),
      ::capnp::word(4, 0, 0, 0, 1, 0, 1, 0),
      ::capnp::word(153, 157, 184, 61, 67, 247, 50, 137),
      ::capnp::word(1, 0, 0, 0, 50, 0, 0, 0),
      ::capnp::word(69, 110, 116, 114, 121, 0, 0, 0),
      ::capnp::word(4, 0, 0, 0, 3, 0, 4, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(13, 0, 0, 0, 90, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(12, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(40, 0, 0, 0, 2, 0, 1, 0),
      ::capnp::word(102, 105, 108, 101, 72, 97, 115, 104),
      ::capnp::word(101, 115, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 3, 0, 1, 0),
      ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(153, 157, 184, 61, 67, 247, 50, 137),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(14, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
    ];
    pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
      match index {
        0 => <::capnp::struct_list::Owned<crate::proto_capnp::file_hashes::entry::Owned> as ::capnp::introspect::Introspect>::introspect(),
        _ => ::capnp::introspect::panic_invalid_field_index(index),
      }
    }
    pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
      ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
    }
    #[allow(unsafe_code)]
    pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
      &ENCODED_NODE,
      NONUNION_MEMBERS,
      MEMBERS_BY_DISCRIMINANT,
      MEMBERS_BY_NAME
    )};
    pub static NONUNION_MEMBERS : &[u16] = &[0];
    pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
    pub static MEMBERS_BY_NAME : &[u16] = &[0];
    pub const TYPE_ID: u64 = 0xed11_0dc1_72c2_1b8f;
  }

  pub mod entry {
    #[derive(Copy, Clone)]
    pub struct Owned(());
    impl ::capnp::introspect::Introspect for Owned { fn introspect() -> ::capnp::introspect::Type { ::capnp::introspect::TypeVariant::Struct(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types, annotation_types: _private::get_annotation_types }).into() } }
    impl ::capnp::traits::Owned for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
    impl ::capnp::traits::OwnedStruct for Owned { type Reader<'a> = Reader<'a>; type Builder<'a> = Builder<'a>; }
    impl ::capnp::traits::Pipelined for Owned { type Pipeline = Pipeline; }

    pub struct Reader<'a> { reader: ::capnp::private::layout::StructReader<'a> }
    impl <> ::core::marker::Copy for Reader<'_,>  {}
    impl <> ::core::clone::Clone for Reader<'_,>  {
      fn clone(&self) -> Self { *self }
    }

    impl <> ::capnp::traits::HasTypeId for Reader<'_,>  {
      const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl <'a,> ::core::convert::From<::capnp::private::layout::StructReader<'a>> for Reader<'a,>  {
      fn from(reader: ::capnp::private::layout::StructReader<'a>) -> Self {
        Self { reader,  }
      }
    }

    impl <'a,> ::core::convert::From<Reader<'a,>> for ::capnp::dynamic_value::Reader<'a>  {
      fn from(reader: Reader<'a,>) -> Self {
        Self::Struct(::capnp::dynamic_struct::Reader::new(reader.reader, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
      }
    }

    impl <> ::core::fmt::Debug for Reader<'_,>  {
      fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::result::Result<(), ::core::fmt::Error> {
        core::fmt::Debug::fmt(&::core::convert::Into::<::capnp::dynamic_value::Reader<'_>>::into(*self), f)
      }
    }

    impl <'a,> ::capnp::traits::FromPointerReader<'a> for Reader<'a,>  {
      fn get_from_pointer(reader: &::capnp::private::layout::PointerReader<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
        ::core::result::Result::Ok(reader.get_struct(default)?.into())
      }
    }

    impl <'a,> ::capnp::traits::IntoInternalStructReader<'a> for Reader<'a,>  {
      fn into_internal_struct_reader(self) -> ::capnp::private::layout::StructReader<'a> {
        self.reader
      }
    }

    impl <'a,> ::capnp::traits::Imbue<'a> for Reader<'a,>  {
      fn imbue(&mut self, cap_table: &'a ::capnp::private::layout::CapTable) {
        self.reader.imbue(::capnp::private::layout::CapTableReader::Plain(cap_table))
      }
    }

    impl <'a,> Reader<'a,>  {
      pub fn reborrow(&self) -> Reader<'_,> {
        Self { .. *self }
      }

      pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
        self.reader.total_size()
      }
      #[inline]
      pub fn get_key(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_key(&self) -> bool {
        !self.reader.get_pointer_field(0).is_null()
      }
      #[inline]
      pub fn get_value(self) -> ::capnp::Result<::capnp::text::Reader<'a>> {
        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn has_value(&self) -> bool {
        !self.reader.get_pointer_field(1).is_null()
      }
    }

    pub struct Builder<'a> { builder: ::capnp::private::layout::StructBuilder<'a> }
    impl <> ::capnp::traits::HasStructSize for Builder<'_,>  {
      const STRUCT_SIZE: ::capnp::private::layout::StructSize = ::capnp::private::layout::StructSize { data: 0, pointers: 2 };
    }
    impl <> ::capnp::traits::HasTypeId for Builder<'_,>  {
      const TYPE_ID: u64 = _private::TYPE_ID;
    }
    impl <'a,> ::core::convert::From<::capnp::private::layout::StructBuilder<'a>> for Builder<'a,>  {
      fn from(builder: ::capnp::private::layout::StructBuilder<'a>) -> Self {
        Self { builder,  }
      }
    }

    impl <'a,> ::core::convert::From<Builder<'a,>> for ::capnp::dynamic_value::Builder<'a>  {
      fn from(builder: Builder<'a,>) -> Self {
        Self::Struct(::capnp::dynamic_struct::Builder::new(builder.builder, ::capnp::schema::StructSchema::new(::capnp::introspect::RawBrandedStructSchema { generic: &_private::RAW_SCHEMA, field_types: _private::get_field_types::<>, annotation_types: _private::get_annotation_types::<>})))
      }
    }

    impl <'a,> ::capnp::traits::ImbueMut<'a> for Builder<'a,>  {
      fn imbue_mut(&mut self, cap_table: &'a mut ::capnp::private::layout::CapTable) {
        self.builder.imbue(::capnp::private::layout::CapTableBuilder::Plain(cap_table))
      }
    }

    impl <'a,> ::capnp::traits::FromPointerBuilder<'a> for Builder<'a,>  {
      fn init_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, _size: u32) -> Self {
        builder.init_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE).into()
      }
      fn get_from_pointer(builder: ::capnp::private::layout::PointerBuilder<'a>, default: ::core::option::Option<&'a [::capnp::Word]>) -> ::capnp::Result<Self> {
        ::core::result::Result::Ok(builder.get_struct(<Self as ::capnp::traits::HasStructSize>::STRUCT_SIZE, default)?.into())
      }
    }

    impl <> ::capnp::traits::SetterInput<Owned<>> for Reader<'_,>  {
      fn set_pointer_builder(mut pointer: ::capnp::private::layout::PointerBuilder<'_>, value: Self, canonicalize: bool) -> ::capnp::Result<()> { pointer.set_struct(&value.reader, canonicalize) }
    }

    impl <'a,> Builder<'a,>  {
      pub fn into_reader(self) -> Reader<'a,> {
        self.builder.into_reader().into()
      }
      pub fn reborrow(&mut self) -> Builder<'_,> {
        Builder { builder: self.builder.reborrow() }
      }
      pub fn reborrow_as_reader(&self) -> Reader<'_,> {
        self.builder.as_reader().into()
      }

      pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
        self.builder.as_reader().total_size()
      }
      #[inline]
      pub fn get_key(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_key(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false).unwrap()
      }
      #[inline]
      pub fn init_key(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(0).init_text(size)
      }
      #[inline]
      pub fn has_key(&self) -> bool {
        !self.builder.is_pointer_field_null(0)
      }
      #[inline]
      pub fn get_value(self) -> ::capnp::Result<::capnp::text::Builder<'a>> {
        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
      }
      #[inline]
      pub fn set_value(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::text::Owned>)  {
        ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false).unwrap()
      }
      #[inline]
      pub fn init_value(self, size: u32) -> ::capnp::text::Builder<'a> {
        self.builder.get_pointer_field(1).init_text(size)
      }
      #[inline]
      pub fn has_value(&self) -> bool {
        !self.builder.is_pointer_field_null(1)
      }
    }

    pub struct Pipeline { _typeless: ::capnp::any_pointer::Pipeline }
    impl ::capnp::capability::FromTypelessPipeline for Pipeline {
      fn new(typeless: ::capnp::any_pointer::Pipeline) -> Self {
        Self { _typeless: typeless,  }
      }
    }
    impl Pipeline  {
    }
    mod _private {
      pub static ENCODED_NODE: [::capnp::Word; 50] = [
        ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
        ::capnp::word(153, 157, 184, 61, 67, 247, 50, 137),
        ::capnp::word(27, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(143, 27, 194, 114, 193, 13, 17, 237),
        ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(172, 4, 0, 0, 228, 4, 0, 0),
        ::capnp::word(21, 0, 0, 0, 10, 1, 0, 0),
        ::capnp::word(37, 0, 0, 0, 7, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(33, 0, 0, 0, 119, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(115, 114, 99, 47, 112, 114, 111, 116),
        ::capnp::word(111, 46, 99, 97, 112, 110, 112, 58),
        ::capnp::word(70, 105, 108, 101, 72, 97, 115, 104),
        ::capnp::word(101, 115, 46, 69, 110, 116, 114, 121),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
        ::capnp::word(8, 0, 0, 0, 3, 0, 4, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 1, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(41, 0, 0, 0, 34, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(36, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(48, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(1, 0, 0, 0, 1, 0, 0, 0),
        ::capnp::word(0, 0, 1, 0, 1, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(45, 0, 0, 0, 50, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(40, 0, 0, 0, 3, 0, 1, 0),
        ::capnp::word(52, 0, 0, 0, 2, 0, 1, 0),
        ::capnp::word(107, 101, 121, 0, 0, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(118, 97, 108, 117, 101, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(12, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
        ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
      ];
      pub fn get_field_types(index: u16) -> ::capnp::introspect::Type {
        match index {
          0 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          1 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
          _ => ::capnp::introspect::panic_invalid_field_index(index),
        }
      }
      pub fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
        ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
      }
      #[allow(unsafe_code)]
      pub static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = unsafe {::capnp::introspect::RawStructSchema::new(
        &ENCODED_NODE,
        NONUNION_MEMBERS,
        MEMBERS_BY_DISCRIMINANT,
        MEMBERS_BY_NAME
      )};
      pub static NONUNION_MEMBERS : &[u16] = &[0,1];
      pub static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
      pub static MEMBERS_BY_NAME : &[u16] = &[0,1];
      pub const TYPE_ID: u64 = 0x8932_f743_3db8_9d99;
    }
  }
}
