// @generated by the capnpc-rust plugin to the Cap'n Proto schema compiler.
// DO NOT EDIT.
// source: data/market.capnp
// capnp binary version: 1.4.0
// capnpc crate version: 0.26.0


pub mod quote_tick {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_bid_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_bid_price(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_ask_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ask_price(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_bid_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_bid_size(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_ask_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ask_size(&self) -> bool {
            !self.reader.get_pointer_field(4).is_null()
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(5).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(6), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(6).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: 7 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_bid_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_bid_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_bid_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_bid_price(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_ask_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ask_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ask_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ask_price(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_bid_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_bid_size(&mut self, value: crate::types_capnp::quantity::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_bid_size(self, ) -> crate::types_capnp::quantity::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_bid_size(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
        #[inline]
        pub fn get_ask_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ask_size(&mut self, value: crate::types_capnp::quantity::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
        }
        #[inline]
        pub fn init_ask_size(self, ) -> crate::types_capnp::quantity::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), 0)
        }
        #[inline]
        pub fn has_ask_size(&self) -> bool {
            !self.builder.is_pointer_field_null(4)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(5)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(6), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(6), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(6), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(6)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_bid_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_ask_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_bid_size(&self) -> crate::types_capnp::quantity::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
        pub fn get_ask_size(&self) -> crate::types_capnp::quantity::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(5))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(6))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 127] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(253, 120, 48, 72, 11, 28, 1, 175),
            ::capnp::word(18, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(7, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(194, 1, 0, 0, 192, 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, 143, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 81, 117, 111, 116, 101, 84),
            ::capnp::word(105, 99, 107, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(28, 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(181, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(180, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(192, 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(189, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(200, 0, 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(197, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(196, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(208, 0, 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(205, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(212, 0, 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(209, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(216, 0, 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(213, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(220, 0, 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(217, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(212, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(224, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(98, 105, 100, 80, 114, 105, 99, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(97, 115, 107, 80, 114, 105, 99, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(98, 105, 100, 83, 105, 122, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 149, 94, 191, 231, 133, 153, 240),
            ::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(97, 115, 107, 83, 105, 122, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 149, 94, 191, 231, 133, 153, 240),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::types_capnp::quantity::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::types_capnp::quantity::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[2,4,1,3,0,5,6];
        pub(crate) const TYPE_ID: u64 = 0xaf01_1c0b_4830_78fd;
    }
}

pub mod trade_tick {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_price(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_size(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_aggressor_side(self) -> ::core::result::Result<crate::enums_capnp::AggressorSide,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn get_trade_id(self) -> ::capnp::Result<crate::identifiers_capnp::trade_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_trade_id(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(4).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(5).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: 1, pointers: 6 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_price(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_size(&mut self, value: crate::types_capnp::quantity::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_size(self, ) -> crate::types_capnp::quantity::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_size(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_aggressor_side(self) -> ::core::result::Result<crate::enums_capnp::AggressorSide,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_aggressor_side(&mut self, value: crate::enums_capnp::AggressorSide)  {
            self.builder.set_data_field::<u16>(0, value as u16);
        }
        #[inline]
        pub fn get_trade_id(self) -> ::capnp::Result<crate::identifiers_capnp::trade_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_trade_id(&mut self, value: crate::identifiers_capnp::trade_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_trade_id(self, ) -> crate::identifiers_capnp::trade_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_trade_id(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(4)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(5)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_size(&self) -> crate::types_capnp::quantity::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_trade_id(&self) -> crate::identifiers_capnp::trade_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(5))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 126] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(146, 248, 214, 107, 210, 218, 226, 128),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(6, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(226, 2, 0, 0, 236, 3, 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, 143, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 84, 114, 97, 100, 101, 84),
            ::capnp::word(105, 99, 107, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(28, 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(181, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(180, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(192, 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(189, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(184, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(196, 0, 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(193, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(200, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 0, 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(197, 0, 0, 0, 114, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(196, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(208, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 3, 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(205, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(212, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 4, 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(209, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(216, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 5, 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(213, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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, 114, 105, 99, 101, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(115, 105, 122, 101, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 149, 94, 191, 231, 133, 153, 240),
            ::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(97, 103, 103, 114, 101, 115, 115, 111),
            ::capnp::word(114, 83, 105, 100, 101, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 42, 173, 84, 249, 25, 1, 242),
            ::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(116, 114, 97, 100, 101, 73, 100, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(188, 153, 221, 80, 22, 185, 226, 246),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::types_capnp::quantity::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::enums_capnp::AggressorSide as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::identifiers_capnp::trade_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[3,0,1,2,4,5,6];
        pub(crate) const TYPE_ID: u64 = 0x80e2_dad2_6bd6_f892;
    }
}

pub mod bar_spec {
    #[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 <> Reader<'_,>  {
        pub fn reborrow(&self) -> Reader<'_,> {
            Self { .. *self }
        }

        pub fn total_size(&self) -> ::capnp::Result<::capnp::MessageSize> {
            self.reader.total_size()
        }
        #[inline]
        pub fn get_step(self) -> u32 {
            self.reader.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn get_aggregation(self) -> ::core::result::Result<crate::enums_capnp::BarAggregation,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(2))
        }
        #[inline]
        pub fn get_price_type(self) -> ::core::result::Result<crate::enums_capnp::PriceType,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(3))
        }
    }

    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: 0 };
    }
    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_step(self) -> u32 {
            self.builder.get_data_field::<u32>(0)
        }
        #[inline]
        pub fn set_step(&mut self, value: u32)  {
            self.builder.set_data_field::<u32>(0, value);
        }
        #[inline]
        pub fn get_aggregation(self) -> ::core::result::Result<crate::enums_capnp::BarAggregation,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(2))
        }
        #[inline]
        pub fn set_aggregation(&mut self, value: crate::enums_capnp::BarAggregation)  {
            self.builder.set_data_field::<u16>(2, value as u16);
        }
        #[inline]
        pub fn get_price_type(self) -> ::core::result::Result<crate::enums_capnp::PriceType,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(3))
        }
        #[inline]
        pub fn set_price_type(&mut self, value: crate::enums_capnp::PriceType)  {
            self.builder.set_data_field::<u16>(3, 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  {
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 66] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(5, 221, 180, 202, 157, 13, 243, 193),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(0, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 4, 0, 0, 118, 4, 0, 0),
            ::capnp::word(21, 0, 0, 0, 210, 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, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 66, 97, 114, 83, 112, 101),
            ::capnp::word(99, 0, 0, 0, 0, 0, 0, 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, 42, 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, 2, 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, 98, 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(2, 0, 0, 0, 3, 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(81, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(80, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(92, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(115, 116, 101, 112, 0, 0, 0, 0),
            ::capnp::word(8, 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(8, 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(97, 103, 103, 114, 101, 103, 97, 116),
            ::capnp::word(105, 111, 110, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(178, 9, 127, 90, 125, 187, 199, 233),
            ::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(112, 114, 105, 99, 101, 84, 121, 112),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 160, 130, 118, 64, 237, 124, 236),
            ::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(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <u32 as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::enums_capnp::BarAggregation as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::enums_capnp::PriceType as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[1,2,0];
        pub(crate) const TYPE_ID: u64 = 0xc1f3_0d9d_cab4_dd05;
    }
}

pub mod bar_type {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_spec(self) -> ::capnp::Result<crate::market_capnp::bar_spec::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_spec(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_aggregation_source(self) -> ::core::result::Result<crate::enums_capnp::AggregationSource,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(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: 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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_spec(self) -> ::capnp::Result<crate::market_capnp::bar_spec::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_spec(&mut self, value: crate::market_capnp::bar_spec::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_spec(self, ) -> crate::market_capnp::bar_spec::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_spec(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_aggregation_source(self) -> ::core::result::Result<crate::enums_capnp::AggregationSource,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_aggregation_source(&mut self, value: crate::enums_capnp::AggregationSource)  {
            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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_spec(&self) -> crate::market_capnp::bar_spec::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 67] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(255, 186, 20, 178, 244, 18, 100, 247),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(131, 4, 0, 0, 13, 5, 0, 0),
            ::capnp::word(21, 0, 0, 0, 210, 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, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 66, 97, 114, 84, 121, 112),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 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, 106, 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(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(77, 0, 0, 0, 42, 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(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(81, 0, 0, 0, 146, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(84, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(96, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(115, 112, 101, 99, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(5, 221, 180, 202, 157, 13, 243, 193),
            ::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(97, 103, 103, 114, 101, 103, 97, 116),
            ::capnp::word(105, 111, 110, 83, 111, 117, 114, 99),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(21, 192, 3, 132, 25, 164, 111, 148),
            ::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(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::market_capnp::bar_spec::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::enums_capnp::AggregationSource as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[2,0,1];
        pub(crate) const TYPE_ID: u64 = 0xf764_12f4_b214_baff;
    }
}

pub mod bar {
    #[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_bar_type(self) -> ::capnp::Result<crate::market_capnp::bar_type::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_bar_type(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_open(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_open(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_high(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_high(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_low(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_low(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_close(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_close(&self) -> bool {
            !self.reader.get_pointer_field(4).is_null()
        }
        #[inline]
        pub fn get_volume(self) -> ::capnp::Result<crate::types_capnp::quantity::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_volume(&self) -> bool {
            !self.reader.get_pointer_field(5).is_null()
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(6), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(6).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(7), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(7).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: 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_bar_type(self) -> ::capnp::Result<crate::market_capnp::bar_type::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_bar_type(&mut self, value: crate::market_capnp::bar_type::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_bar_type(self, ) -> crate::market_capnp::bar_type::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_bar_type(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_open(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_open(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_open(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_open(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_high(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_high(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_high(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_high(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_low(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_low(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_low(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_low(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
        #[inline]
        pub fn get_close(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_close(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
        }
        #[inline]
        pub fn init_close(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), 0)
        }
        #[inline]
        pub fn has_close(&self) -> bool {
            !self.builder.is_pointer_field_null(4)
        }
        #[inline]
        pub fn get_volume(self) -> ::capnp::Result<crate::types_capnp::quantity::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_volume(&mut self, value: crate::types_capnp::quantity::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false)
        }
        #[inline]
        pub fn init_volume(self, ) -> crate::types_capnp::quantity::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), 0)
        }
        #[inline]
        pub fn has_volume(&self) -> bool {
            !self.builder.is_pointer_field_null(5)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(6), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(6), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(6), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(6)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(7), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(7), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(7), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(7)
        }
    }

    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_bar_type(&self) -> crate::market_capnp::bar_type::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_open(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_high(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_low(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
        pub fn get_close(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4))
        }
        pub fn get_volume(&self) -> crate::types_capnp::quantity::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(5))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(6))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(7))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 138] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(200, 94, 173, 132, 53, 210, 7, 245),
            ::capnp::word(18, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(8, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(33, 5, 0, 0, 14, 6, 0, 0),
            ::capnp::word(21, 0, 0, 0, 178, 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, 199, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 66, 97, 114, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(32, 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(209, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(216, 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(213, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(220, 0, 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(217, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(212, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(224, 0, 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(221, 0, 0, 0, 34, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(216, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(228, 0, 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(225, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(220, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(232, 0, 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(229, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(224, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(236, 0, 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(233, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(228, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(240, 0, 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(237, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(244, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(98, 97, 114, 84, 121, 112, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(255, 186, 20, 178, 244, 18, 100, 247),
            ::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(111, 112, 101, 110, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(104, 105, 103, 104, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(108, 111, 119, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(99, 108, 111, 115, 101, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(118, 111, 108, 117, 109, 101, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 149, 94, 191, 231, 133, 153, 240),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::market_capnp::bar_type::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::types_capnp::quantity::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                7 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[0,4,2,3,1,6,7,5];
        pub(crate) const TYPE_ID: u64 = 0xf507_d235_84ad_5ec8;
    }
}

pub mod mark_price_update {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_mark_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_mark_price(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(3).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: 4 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_mark_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_mark_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_mark_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_mark_price(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_mark_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 82] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(210, 54, 139, 56, 243, 181, 44, 143),
            ::capnp::word(18, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 6, 0, 0, 203, 6, 0, 0),
            ::capnp::word(21, 0, 0, 0, 18, 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, 231, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 77, 97, 114, 107, 80, 114),
            ::capnp::word(105, 99, 101, 85, 112, 100, 97, 116),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(16, 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(97, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(96, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(108, 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(105, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(104, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(116, 0, 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(113, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(108, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(120, 0, 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(117, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(124, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(109, 97, 114, 107, 80, 114, 105, 99),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[0,1,2,3];
        pub(crate) const TYPE_ID: u64 = 0x8f2c_b5f3_388b_36d2;
    }
}

pub mod index_price_update {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_index_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_index_price(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(3).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: 4 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_index_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_index_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_index_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_index_price(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_index_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 82] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(153, 214, 131, 123, 67, 83, 39, 146),
            ::capnp::word(18, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(226, 6, 0, 0, 139, 7, 0, 0),
            ::capnp::word(21, 0, 0, 0, 26, 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, 231, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 73, 110, 100, 101, 120, 80),
            ::capnp::word(114, 105, 99, 101, 85, 112, 100, 97),
            ::capnp::word(116, 101, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(16, 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(97, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(96, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(108, 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(105, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(104, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(116, 0, 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(113, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(108, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(120, 0, 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(117, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(124, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(105, 110, 100, 101, 120, 80, 114, 105),
            ::capnp::word(99, 101, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[1,0,2,3];
        pub(crate) const TYPE_ID: u64 = 0x9227_5343_7b83_d699;
    }
}

pub mod instrument_close {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_close_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_close_price(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_close_type(self) -> ::core::result::Result<crate::enums_capnp::InstrumentCloseType,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(3).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: 1, pointers: 4 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_close_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_close_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_close_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_close_price(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_close_type(self) -> ::core::result::Result<crate::enums_capnp::InstrumentCloseType,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_close_type(&mut self, value: crate::enums_capnp::InstrumentCloseType)  {
            self.builder.set_data_field::<u16>(0, value as u16);
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_close_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 98] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(99, 246, 190, 211, 40, 226, 144, 171),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(160, 7, 0, 0, 117, 8, 0, 0),
            ::capnp::word(21, 0, 0, 0, 18, 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, 31, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 73, 110, 115, 116, 114, 117),
            ::capnp::word(109, 101, 110, 116, 67, 108, 111, 115),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(20, 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(125, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(124, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(136, 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(133, 0, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(132, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(144, 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(141, 0, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(140, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(152, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 2, 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(149, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(144, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(156, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 3, 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(153, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(148, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(160, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(99, 108, 111, 115, 101, 80, 114, 105),
            ::capnp::word(99, 101, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(99, 108, 111, 115, 101, 84, 121, 112),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(175, 116, 147, 203, 95, 194, 226, 191),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::enums_capnp::InstrumentCloseType as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[1,2,0,3,4];
        pub(crate) const TYPE_ID: u64 = 0xab90_e228_d3be_f663;
    }
}

pub mod instrument_status {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_action(self) -> ::core::result::Result<crate::enums_capnp::MarketStatusAction,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn get_reason(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_reason(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_trading_event(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_trading_event(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_is_trading(self) -> ::core::result::Result<crate::enums_capnp::OptionalBool,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(1))
        }
        #[inline]
        pub fn get_is_quoting(self) -> ::core::result::Result<crate::enums_capnp::OptionalBool,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(2))
        }
        #[inline]
        pub fn get_is_short_sell_restricted(self) -> ::core::result::Result<crate::enums_capnp::OptionalBool,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(3))
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(4).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: 1, pointers: 5 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_action(self) -> ::core::result::Result<crate::enums_capnp::MarketStatusAction,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_action(&mut self, value: crate::enums_capnp::MarketStatusAction)  {
            self.builder.set_data_field::<u16>(0, value as u16);
        }
        #[inline]
        pub fn get_reason(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_reason(&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_reason(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(1).init_text(size)
        }
        #[inline]
        pub fn has_reason(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_trading_event(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_trading_event(&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_trading_event(self, size: u32) -> ::capnp::text::Builder<'a> {
            self.builder.get_pointer_field(2).init_text(size)
        }
        #[inline]
        pub fn has_trading_event(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_is_trading(self) -> ::core::result::Result<crate::enums_capnp::OptionalBool,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(1))
        }
        #[inline]
        pub fn set_is_trading(&mut self, value: crate::enums_capnp::OptionalBool)  {
            self.builder.set_data_field::<u16>(1, value as u16);
        }
        #[inline]
        pub fn get_is_quoting(self) -> ::core::result::Result<crate::enums_capnp::OptionalBool,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(2))
        }
        #[inline]
        pub fn set_is_quoting(&mut self, value: crate::enums_capnp::OptionalBool)  {
            self.builder.set_data_field::<u16>(2, value as u16);
        }
        #[inline]
        pub fn get_is_short_sell_restricted(self) -> ::core::result::Result<crate::enums_capnp::OptionalBool,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(3))
        }
        #[inline]
        pub fn set_is_short_sell_restricted(&mut self, value: crate::enums_capnp::OptionalBool)  {
            self.builder.set_data_field::<u16>(3, value as u16);
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(4)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 161] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(159, 19, 229, 35, 84, 161, 20, 249),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(5, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(119, 8, 0, 0, 25, 10, 0, 0),
            ::capnp::word(21, 0, 0, 0, 26, 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, 255, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 73, 110, 115, 116, 114, 117),
            ::capnp::word(109, 101, 110, 116, 83, 116, 97, 116),
            ::capnp::word(117, 115, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(36, 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(237, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(236, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(248, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 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(245, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(240, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(252, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 1, 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(249, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(244, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(0, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 2, 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(253, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(252, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(8, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 1, 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(5, 1, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(16, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 2, 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(13, 1, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(12, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(24, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 3, 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(21, 1, 0, 0, 178, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(24, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(36, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(7, 0, 0, 0, 3, 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(33, 1, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(28, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(40, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 4, 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(37, 1, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(32, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(44, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(97, 99, 116, 105, 111, 110, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(118, 179, 137, 27, 255, 48, 6, 160),
            ::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(114, 101, 97, 115, 111, 110, 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, 114, 97, 100, 105, 110, 103, 69),
            ::capnp::word(118, 101, 110, 116, 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(105, 115, 84, 114, 97, 100, 105, 110),
            ::capnp::word(103, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(181, 161, 243, 81, 172, 88, 206, 150),
            ::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(105, 115, 81, 117, 111, 116, 105, 110),
            ::capnp::word(103, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(181, 161, 243, 81, 172, 88, 206, 150),
            ::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(105, 115, 83, 104, 111, 114, 116, 83),
            ::capnp::word(101, 108, 108, 82, 101, 115, 116, 114),
            ::capnp::word(105, 99, 116, 101, 100, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(181, 161, 243, 81, 172, 88, 206, 150),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::enums_capnp::MarketStatusAction as ::capnp::introspect::Introspect>::introspect(),
                2 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <::capnp::text::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::enums_capnp::OptionalBool as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::enums_capnp::OptionalBool as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::enums_capnp::OptionalBool as ::capnp::introspect::Introspect>::introspect(),
                7 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                8 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[1,0,5,6,4,2,3,7,8];
        pub(crate) const TYPE_ID: u64 = 0xf914_a154_23e5_139f;
    }
}

pub mod funding_rate_update {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_rate(self) -> ::capnp::Result<crate::types_capnp::decimal::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_rate(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_interval(self) -> u16 {
            self.reader.get_data_field::<u16>(0)
        }
        #[inline]
        pub fn get_next_funding_time(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_next_funding_time(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(4).is_null()
        }
        #[inline]
        pub fn get_has_interval(self) -> bool {
            self.reader.get_bool_field(16)
        }
    }

    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: 5 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_rate(self) -> ::capnp::Result<crate::types_capnp::decimal::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_rate(&mut self, value: crate::types_capnp::decimal::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_rate(self, ) -> crate::types_capnp::decimal::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_rate(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_interval(self) -> u16 {
            self.builder.get_data_field::<u16>(0)
        }
        #[inline]
        pub fn set_interval(&mut self, value: u16)  {
            self.builder.set_data_field::<u16>(0, value);
        }
        #[inline]
        pub fn get_next_funding_time(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_next_funding_time(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_next_funding_time(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_next_funding_time(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(4)
        }
        #[inline]
        pub fn get_has_interval(self) -> bool {
            self.builder.get_bool_field(16)
        }
        #[inline]
        pub fn set_has_interval(&mut self, value: bool)  {
            self.builder.set_bool_field(16, 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  {
        pub fn get_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_rate(&self) -> crate::types_capnp::decimal::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_next_funding_time(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(4))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 129] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(214, 170, 96, 189, 98, 136, 223, 152),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(5, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(49, 10, 0, 0, 180, 11, 0, 0),
            ::capnp::word(21, 0, 0, 0, 34, 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, 143, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 70, 117, 110, 100, 105, 110),
            ::capnp::word(103, 82, 97, 116, 101, 85, 112, 100),
            ::capnp::word(97, 116, 101, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(28, 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(181, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(180, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(192, 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(189, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(184, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(196, 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(193, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(192, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(204, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 2, 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(201, 0, 0, 0, 130, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(212, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 3, 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(209, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(216, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 4, 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(213, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 16, 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(217, 0, 0, 0, 98, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(216, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(228, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(114, 97, 116, 101, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(116, 218, 20, 176, 247, 158, 26, 163),
            ::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(105, 110, 116, 101, 114, 118, 97, 108),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(7, 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(7, 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(110, 101, 120, 116, 70, 117, 110, 100),
            ::capnp::word(105, 110, 103, 84, 105, 109, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(104, 97, 115, 73, 110, 116, 101, 114),
            ::capnp::word(118, 97, 108, 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(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::decimal::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <u16 as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <bool as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[6,0,2,3,1,4,5];
        pub(crate) const TYPE_ID: u64 = 0x98df_8862_bd60_aad6;
    }
}

pub mod option_greeks {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_convention(self) -> ::core::result::Result<crate::enums_capnp::GreeksConvention,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn get_delta(self) -> f64 {
            self.reader.get_data_field::<f64>(1)
        }
        #[inline]
        pub fn get_gamma(self) -> f64 {
            self.reader.get_data_field::<f64>(2)
        }
        #[inline]
        pub fn get_vega(self) -> f64 {
            self.reader.get_data_field::<f64>(3)
        }
        #[inline]
        pub fn get_theta(self) -> f64 {
            self.reader.get_data_field::<f64>(4)
        }
        #[inline]
        pub fn get_rho(self) -> f64 {
            self.reader.get_data_field::<f64>(5)
        }
        #[inline]
        pub fn get_mark_iv(self) -> f64 {
            self.reader.get_data_field::<f64>(6)
        }
        #[inline]
        pub fn get_bid_iv(self) -> f64 {
            self.reader.get_data_field::<f64>(7)
        }
        #[inline]
        pub fn get_ask_iv(self) -> f64 {
            self.reader.get_data_field::<f64>(8)
        }
        #[inline]
        pub fn get_underlying_price(self) -> f64 {
            self.reader.get_data_field::<f64>(9)
        }
        #[inline]
        pub fn get_open_interest(self) -> f64 {
            self.reader.get_data_field::<f64>(10)
        }
        #[inline]
        pub fn get_has_mark_iv(self) -> bool {
            self.reader.get_bool_field(16)
        }
        #[inline]
        pub fn get_has_bid_iv(self) -> bool {
            self.reader.get_bool_field(17)
        }
        #[inline]
        pub fn get_has_ask_iv(self) -> bool {
            self.reader.get_bool_field(18)
        }
        #[inline]
        pub fn get_has_underlying_price(self) -> bool {
            self.reader.get_bool_field(19)
        }
        #[inline]
        pub fn get_has_open_interest(self) -> bool {
            self.reader.get_bool_field(20)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(2).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: 11, pointers: 3 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_convention(self) -> ::core::result::Result<crate::enums_capnp::GreeksConvention,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_convention(&mut self, value: crate::enums_capnp::GreeksConvention)  {
            self.builder.set_data_field::<u16>(0, value as u16);
        }
        #[inline]
        pub fn get_delta(self) -> f64 {
            self.builder.get_data_field::<f64>(1)
        }
        #[inline]
        pub fn set_delta(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(1, value);
        }
        #[inline]
        pub fn get_gamma(self) -> f64 {
            self.builder.get_data_field::<f64>(2)
        }
        #[inline]
        pub fn set_gamma(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(2, value);
        }
        #[inline]
        pub fn get_vega(self) -> f64 {
            self.builder.get_data_field::<f64>(3)
        }
        #[inline]
        pub fn set_vega(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(3, value);
        }
        #[inline]
        pub fn get_theta(self) -> f64 {
            self.builder.get_data_field::<f64>(4)
        }
        #[inline]
        pub fn set_theta(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(4, value);
        }
        #[inline]
        pub fn get_rho(self) -> f64 {
            self.builder.get_data_field::<f64>(5)
        }
        #[inline]
        pub fn set_rho(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(5, value);
        }
        #[inline]
        pub fn get_mark_iv(self) -> f64 {
            self.builder.get_data_field::<f64>(6)
        }
        #[inline]
        pub fn set_mark_iv(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(6, value);
        }
        #[inline]
        pub fn get_bid_iv(self) -> f64 {
            self.builder.get_data_field::<f64>(7)
        }
        #[inline]
        pub fn set_bid_iv(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(7, value);
        }
        #[inline]
        pub fn get_ask_iv(self) -> f64 {
            self.builder.get_data_field::<f64>(8)
        }
        #[inline]
        pub fn set_ask_iv(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(8, value);
        }
        #[inline]
        pub fn get_underlying_price(self) -> f64 {
            self.builder.get_data_field::<f64>(9)
        }
        #[inline]
        pub fn set_underlying_price(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(9, value);
        }
        #[inline]
        pub fn get_open_interest(self) -> f64 {
            self.builder.get_data_field::<f64>(10)
        }
        #[inline]
        pub fn set_open_interest(&mut self, value: f64)  {
            self.builder.set_data_field::<f64>(10, value);
        }
        #[inline]
        pub fn get_has_mark_iv(self) -> bool {
            self.builder.get_bool_field(16)
        }
        #[inline]
        pub fn set_has_mark_iv(&mut self, value: bool)  {
            self.builder.set_bool_field(16, value);
        }
        #[inline]
        pub fn get_has_bid_iv(self) -> bool {
            self.builder.get_bool_field(17)
        }
        #[inline]
        pub fn set_has_bid_iv(&mut self, value: bool)  {
            self.builder.set_bool_field(17, value);
        }
        #[inline]
        pub fn get_has_ask_iv(self) -> bool {
            self.builder.get_bool_field(18)
        }
        #[inline]
        pub fn set_has_ask_iv(&mut self, value: bool)  {
            self.builder.set_bool_field(18, value);
        }
        #[inline]
        pub fn get_has_underlying_price(self) -> bool {
            self.builder.get_bool_field(19)
        }
        #[inline]
        pub fn set_has_underlying_price(&mut self, value: bool)  {
            self.builder.set_bool_field(19, value);
        }
        #[inline]
        pub fn get_has_open_interest(self) -> bool {
            self.builder.get_bool_field(20)
        }
        #[inline]
        pub fn set_has_open_interest(&mut self, value: bool)  {
            self.builder.set_bool_field(20, value);
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 314] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(179, 9, 248, 254, 224, 35, 240, 172),
            ::capnp::word(18, 0, 0, 0, 1, 0, 11, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(3, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(245, 11, 0, 0, 213, 14, 0, 0),
            ::capnp::word(21, 0, 0, 0, 250, 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, 47, 4, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 79, 112, 116, 105, 111, 110),
            ::capnp::word(71, 114, 101, 101, 107, 115, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(76, 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(5, 2, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(16, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 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(13, 2, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(12, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(24, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 1, 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(21, 2, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(28, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 2, 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(25, 2, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(20, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(32, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 3, 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(29, 2, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(24, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(36, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 4, 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(33, 2, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(28, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(40, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 5, 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(37, 2, 0, 0, 34, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(32, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(44, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(7, 0, 0, 0, 6, 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(41, 2, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(36, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(48, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 7, 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(45, 2, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(40, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(52, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(9, 0, 0, 0, 8, 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(49, 2, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(44, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(56, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(10, 0, 0, 0, 9, 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(53, 2, 0, 0, 130, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(52, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(64, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(11, 0, 0, 0, 10, 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(61, 2, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(60, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(72, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(12, 0, 0, 0, 16, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 12, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(69, 2, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(13, 0, 0, 0, 17, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 13, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(77, 2, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(76, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(88, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(14, 0, 0, 0, 18, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 14, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(85, 2, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(84, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(96, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(15, 0, 0, 0, 19, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 15, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(93, 2, 0, 0, 154, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(96, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(108, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(16, 0, 0, 0, 20, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 16, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(105, 2, 0, 0, 130, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(104, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(116, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(17, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 17, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(113, 2, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(108, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(120, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(18, 0, 0, 0, 2, 0, 0, 0),
            ::capnp::word(0, 0, 1, 0, 18, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(117, 2, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 2, 0, 0, 3, 0, 1, 0),
            ::capnp::word(124, 2, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(99, 111, 110, 118, 101, 110, 116, 105),
            ::capnp::word(111, 110, 0, 0, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(11, 78, 115, 103, 5, 122, 68, 216),
            ::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(100, 101, 108, 116, 97, 0, 0, 0),
            ::capnp::word(11, 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(11, 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, 97, 109, 109, 97, 0, 0, 0),
            ::capnp::word(11, 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(11, 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, 103, 97, 0, 0, 0, 0),
            ::capnp::word(11, 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(11, 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, 104, 101, 116, 97, 0, 0, 0),
            ::capnp::word(11, 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(11, 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, 104, 111, 0, 0, 0, 0, 0),
            ::capnp::word(11, 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(11, 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(109, 97, 114, 107, 73, 118, 0, 0),
            ::capnp::word(11, 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(11, 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(98, 105, 100, 73, 118, 0, 0, 0),
            ::capnp::word(11, 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(11, 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(97, 115, 107, 73, 118, 0, 0, 0),
            ::capnp::word(11, 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(11, 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(117, 110, 100, 101, 114, 108, 121, 105),
            ::capnp::word(110, 103, 80, 114, 105, 99, 101, 0),
            ::capnp::word(11, 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(11, 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, 112, 101, 110, 73, 110, 116, 101),
            ::capnp::word(114, 101, 115, 116, 0, 0, 0, 0),
            ::capnp::word(11, 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(11, 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, 77, 97, 114, 107, 73),
            ::capnp::word(118, 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(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(104, 97, 115, 66, 105, 100, 73, 118),
            ::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(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(104, 97, 115, 65, 115, 107, 73, 118),
            ::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(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(104, 97, 115, 85, 110, 100, 101, 114),
            ::capnp::word(108, 121, 105, 110, 103, 80, 114, 105),
            ::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(104, 97, 115, 79, 112, 101, 110, 73),
            ::capnp::word(110, 116, 101, 114, 101, 115, 116, 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(116, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::enums_capnp::GreeksConvention as ::capnp::introspect::Introspect>::introspect(),
                2 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                3 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                4 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                5 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                6 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                7 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                8 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                9 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                10 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                11 => <f64 as ::capnp::introspect::Introspect>::introspect(),
                12 => <bool as ::capnp::introspect::Introspect>::introspect(),
                13 => <bool as ::capnp::introspect::Introspect>::introspect(),
                14 => <bool as ::capnp::introspect::Introspect>::introspect(),
                15 => <bool as ::capnp::introspect::Introspect>::introspect(),
                16 => <bool as ::capnp::introspect::Introspect>::introspect(),
                17 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                18 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[9,8,1,2,3,14,13,12,16,15,0,7,11,6,5,17,18,10,4];
        pub(crate) const TYPE_ID: u64 = 0xacf0_23e0_fef8_09b3;
    }
}

pub mod data_any {
    pub use self::Which::{Quote,Trade,Bar,MarkPrice,IndexPrice,FundingRate,OptionGreeks,InstrumentStatus,InstrumentClose,OrderBookDelta,OrderBookDeltas,OrderBookDepth10};

    #[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 has_quote(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 0 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_trade(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 1 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_bar(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 2 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_mark_price(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 3 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_index_price(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 4 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_funding_rate(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 5 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_option_greeks(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 6 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_instrument_status(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 7 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_instrument_close(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 8 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_order_book_delta(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 9 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_order_book_deltas(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 10 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn has_order_book_depth10(&self) -> bool {
            if self.reader.get_data_field::<u16>(0) != 11 { return false; }
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichReader<'a,>, ::capnp::NotInSchema> {
            match self.reader.get_data_field::<u16>(0) {
                0 => {
                    ::core::result::Result::Ok(Quote(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                1 => {
                    ::core::result::Result::Ok(Trade(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                2 => {
                    ::core::result::Result::Ok(Bar(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                3 => {
                    ::core::result::Result::Ok(MarkPrice(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                4 => {
                    ::core::result::Result::Ok(IndexPrice(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                5 => {
                    ::core::result::Result::Ok(FundingRate(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                6 => {
                    ::core::result::Result::Ok(OptionGreeks(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                7 => {
                    ::core::result::Result::Ok(InstrumentStatus(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                8 => {
                    ::core::result::Result::Ok(InstrumentClose(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                9 => {
                    ::core::result::Result::Ok(OrderBookDelta(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                10 => {
                    ::core::result::Result::Ok(OrderBookDeltas(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                11 => {
                    ::core::result::Result::Ok(OrderBookDepth10(
                        ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                x => ::core::result::Result::Err(::capnp::NotInSchema(x))
            }
        }
    }

    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: 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 set_quote(&mut self, value: crate::market_capnp::quote_tick::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 0);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_quote(self, ) -> crate::market_capnp::quote_tick::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 0);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_quote(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 0 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_trade(&mut self, value: crate::market_capnp::trade_tick::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 1);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_trade(self, ) -> crate::market_capnp::trade_tick::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 1);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_trade(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 1 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_bar(&mut self, value: crate::market_capnp::bar::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 2);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_bar(self, ) -> crate::market_capnp::bar::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 2);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_bar(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 2 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_mark_price(&mut self, value: crate::market_capnp::mark_price_update::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 3);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_mark_price(self, ) -> crate::market_capnp::mark_price_update::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 3);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_mark_price(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 3 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_index_price(&mut self, value: crate::market_capnp::index_price_update::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 4);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_index_price(self, ) -> crate::market_capnp::index_price_update::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 4);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_index_price(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 4 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_funding_rate(&mut self, value: crate::market_capnp::funding_rate_update::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 5);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_funding_rate(self, ) -> crate::market_capnp::funding_rate_update::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 5);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_funding_rate(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 5 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_option_greeks(&mut self, value: crate::market_capnp::option_greeks::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 6);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_option_greeks(self, ) -> crate::market_capnp::option_greeks::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 6);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_option_greeks(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 6 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_instrument_status(&mut self, value: crate::market_capnp::instrument_status::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 7);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_status(self, ) -> crate::market_capnp::instrument_status::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 7);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_status(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 7 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_instrument_close(&mut self, value: crate::market_capnp::instrument_close::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 8);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_close(self, ) -> crate::market_capnp::instrument_close::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 8);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_close(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 8 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_order_book_delta(&mut self, value: crate::market_capnp::order_book_delta::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 9);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_order_book_delta(self, ) -> crate::market_capnp::order_book_delta::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 9);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_order_book_delta(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 9 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_order_book_deltas(&mut self, value: crate::market_capnp::order_book_deltas::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 10);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_order_book_deltas(self, ) -> crate::market_capnp::order_book_deltas::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 10);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_order_book_deltas(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 10 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn set_order_book_depth10(&mut self, value: crate::market_capnp::order_book_depth10::Reader<'_>) -> ::capnp::Result<()> {
            self.builder.set_data_field::<u16>(0, 11);
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_order_book_depth10(self, ) -> crate::market_capnp::order_book_depth10::Builder<'a> {
            self.builder.set_data_field::<u16>(0, 11);
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_order_book_depth10(&self) -> bool {
            if self.builder.get_data_field::<u16>(0) != 11 { return false; }
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn which(self) -> ::core::result::Result<WhichBuilder<'a,>, ::capnp::NotInSchema> {
            match self.builder.get_data_field::<u16>(0) {
                0 => {
                    ::core::result::Result::Ok(Quote(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                1 => {
                    ::core::result::Result::Ok(Trade(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                2 => {
                    ::core::result::Result::Ok(Bar(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                3 => {
                    ::core::result::Result::Ok(MarkPrice(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                4 => {
                    ::core::result::Result::Ok(IndexPrice(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                5 => {
                    ::core::result::Result::Ok(FundingRate(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                6 => {
                    ::core::result::Result::Ok(OptionGreeks(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                7 => {
                    ::core::result::Result::Ok(InstrumentStatus(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                8 => {
                    ::core::result::Result::Ok(InstrumentClose(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                9 => {
                    ::core::result::Result::Ok(OrderBookDelta(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                10 => {
                    ::core::result::Result::Ok(OrderBookDeltas(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                11 => {
                    ::core::result::Result::Ok(OrderBookDepth10(
                        ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
                    ))
                }
                x => ::core::result::Result::Err(::capnp::NotInSchema(x))
            }
        }
    }

    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(crate) static ENCODED_NODE: [::capnp::Word; 210] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(11, 230, 84, 220, 144, 203, 79, 243),
            ::capnp::word(18, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(1, 0, 7, 0, 0, 0, 12, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(240, 14, 0, 0, 234, 16, 0, 0),
            ::capnp::word(21, 0, 0, 0, 210, 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, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 68, 97, 116, 97, 65, 110),
            ::capnp::word(121, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(48, 0, 0, 0, 3, 0, 4, 0),
            ::capnp::word(0, 0, 255, 255, 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, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(60, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(72, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 254, 255, 0, 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(69, 1, 0, 0, 50, 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(2, 0, 253, 255, 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(73, 1, 0, 0, 34, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(68, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 252, 255, 0, 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(77, 1, 0, 0, 82, 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(4, 0, 251, 255, 0, 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(85, 1, 0, 0, 90, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(84, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(96, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 250, 255, 0, 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(93, 1, 0, 0, 98, 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(104, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 249, 255, 0, 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(101, 1, 0, 0, 106, 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(7, 0, 248, 255, 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(109, 1, 0, 0, 138, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(112, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(124, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 247, 255, 0, 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(121, 1, 0, 0, 130, 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(9, 0, 246, 255, 0, 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(129, 1, 0, 0, 122, 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(10, 0, 245, 255, 0, 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(137, 1, 0, 0, 130, 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(148, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(11, 0, 244, 255, 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(145, 1, 0, 0, 138, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(148, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(160, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(113, 117, 111, 116, 101, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(253, 120, 48, 72, 11, 28, 1, 175),
            ::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(116, 114, 97, 100, 101, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(146, 248, 214, 107, 210, 218, 226, 128),
            ::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(98, 97, 114, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(200, 94, 173, 132, 53, 210, 7, 245),
            ::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(109, 97, 114, 107, 80, 114, 105, 99),
            ::capnp::word(101, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(210, 54, 139, 56, 243, 181, 44, 143),
            ::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(105, 110, 100, 101, 120, 80, 114, 105),
            ::capnp::word(99, 101, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(153, 214, 131, 123, 67, 83, 39, 146),
            ::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(102, 117, 110, 100, 105, 110, 103, 82),
            ::capnp::word(97, 116, 101, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(214, 170, 96, 189, 98, 136, 223, 152),
            ::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(111, 112, 116, 105, 111, 110, 71, 114),
            ::capnp::word(101, 101, 107, 115, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(179, 9, 248, 254, 224, 35, 240, 172),
            ::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(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 83, 116, 97, 116, 117, 115),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(159, 19, 229, 35, 84, 161, 20, 249),
            ::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(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 67, 108, 111, 115, 101, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(99, 246, 190, 211, 40, 226, 144, 171),
            ::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(111, 114, 100, 101, 114, 66, 111, 111),
            ::capnp::word(107, 68, 101, 108, 116, 97, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 47, 209, 168, 158, 222, 4, 192),
            ::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(111, 114, 100, 101, 114, 66, 111, 111),
            ::capnp::word(107, 68, 101, 108, 116, 97, 115, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(125, 163, 6, 191, 90, 237, 158, 222),
            ::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(111, 114, 100, 101, 114, 66, 111, 111),
            ::capnp::word(107, 68, 101, 112, 116, 104, 49, 48),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(221, 11, 99, 228, 43, 103, 20, 163),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::market_capnp::quote_tick::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::market_capnp::trade_tick::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::market_capnp::bar::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <crate::market_capnp::mark_price_update::Owned as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::market_capnp::index_price_update::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::market_capnp::funding_rate_update::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::market_capnp::option_greeks::Owned as ::capnp::introspect::Introspect>::introspect(),
                7 => <crate::market_capnp::instrument_status::Owned as ::capnp::introspect::Introspect>::introspect(),
                8 => <crate::market_capnp::instrument_close::Owned as ::capnp::introspect::Introspect>::introspect(),
                9 => <crate::market_capnp::order_book_delta::Owned as ::capnp::introspect::Introspect>::introspect(),
                10 => <crate::market_capnp::order_book_deltas::Owned as ::capnp::introspect::Introspect>::introspect(),
                11 => <crate::market_capnp::order_book_depth10::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[0,1,2,3,4,5,6,7,8,9,10,11];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[2,5,4,8,7,3,6,9,10,11,0,1];
        pub(crate) const TYPE_ID: u64 = 0xf34f_cb90_dc54_e60b;
    }
    pub enum Which<A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11> {
        Quote(A0),
        Trade(A1),
        Bar(A2),
        MarkPrice(A3),
        IndexPrice(A4),
        FundingRate(A5),
        OptionGreeks(A6),
        InstrumentStatus(A7),
        InstrumentClose(A8),
        OrderBookDelta(A9),
        OrderBookDeltas(A10),
        OrderBookDepth10(A11),
    }
    pub type WhichReader<'a,> = Which<::capnp::Result<crate::market_capnp::quote_tick::Reader<'a>>,::capnp::Result<crate::market_capnp::trade_tick::Reader<'a>>,::capnp::Result<crate::market_capnp::bar::Reader<'a>>,::capnp::Result<crate::market_capnp::mark_price_update::Reader<'a>>,::capnp::Result<crate::market_capnp::index_price_update::Reader<'a>>,::capnp::Result<crate::market_capnp::funding_rate_update::Reader<'a>>,::capnp::Result<crate::market_capnp::option_greeks::Reader<'a>>,::capnp::Result<crate::market_capnp::instrument_status::Reader<'a>>,::capnp::Result<crate::market_capnp::instrument_close::Reader<'a>>,::capnp::Result<crate::market_capnp::order_book_delta::Reader<'a>>,::capnp::Result<crate::market_capnp::order_book_deltas::Reader<'a>>,::capnp::Result<crate::market_capnp::order_book_depth10::Reader<'a>>>;
    pub type WhichBuilder<'a,> = Which<::capnp::Result<crate::market_capnp::quote_tick::Builder<'a>>,::capnp::Result<crate::market_capnp::trade_tick::Builder<'a>>,::capnp::Result<crate::market_capnp::bar::Builder<'a>>,::capnp::Result<crate::market_capnp::mark_price_update::Builder<'a>>,::capnp::Result<crate::market_capnp::index_price_update::Builder<'a>>,::capnp::Result<crate::market_capnp::funding_rate_update::Builder<'a>>,::capnp::Result<crate::market_capnp::option_greeks::Builder<'a>>,::capnp::Result<crate::market_capnp::instrument_status::Builder<'a>>,::capnp::Result<crate::market_capnp::instrument_close::Builder<'a>>,::capnp::Result<crate::market_capnp::order_book_delta::Builder<'a>>,::capnp::Result<crate::market_capnp::order_book_deltas::Builder<'a>>,::capnp::Result<crate::market_capnp::order_book_depth10::Builder<'a>>>;
}

pub mod book_order {
    #[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_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_price(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_size(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_side(self) -> ::core::result::Result<crate::enums_capnp::OrderSide,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn get_order_id(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
    }

    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: 2, 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_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_price(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_size(&mut self, value: crate::types_capnp::quantity::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_size(self, ) -> crate::types_capnp::quantity::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_size(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_side(self) -> ::core::result::Result<crate::enums_capnp::OrderSide,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_side(&mut self, value: crate::enums_capnp::OrderSide)  {
            self.builder.set_data_field::<u16>(0, value as u16);
        }
        #[inline]
        pub fn get_order_id(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_order_id(&mut self, value: u64)  {
            self.builder.set_data_field::<u64>(1, 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  {
        pub fn get_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_size(&self) -> crate::types_capnp::quantity::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 79] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(63, 120, 139, 195, 222, 102, 52, 212),
            ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(249, 16, 0, 0, 123, 17, 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, 231, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 66, 111, 111, 107, 79, 114),
            ::capnp::word(100, 101, 114, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(16, 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(97, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(92, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(104, 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(101, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(96, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(108, 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(105, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(112, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 1, 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, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(104, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(116, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(112, 114, 105, 99, 101, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(115, 105, 122, 101, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 149, 94, 191, 231, 133, 153, 240),
            ::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(115, 105, 100, 101, 0, 0, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(218, 102, 121, 200, 227, 109, 230, 140),
            ::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(111, 114, 100, 101, 114, 73, 100, 0),
            ::capnp::word(9, 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(9, 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(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::quantity::Owned as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::enums_capnp::OrderSide as ::capnp::introspect::Introspect>::introspect(),
                3 => <u64 as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[3,0,2,1];
        pub(crate) const TYPE_ID: u64 = 0xd434_66de_c38b_783f;
    }
}

pub mod order_book_delta {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_action(self) -> ::core::result::Result<crate::enums_capnp::BookAction,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.reader.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn get_order(self) -> ::capnp::Result<crate::market_capnp::book_order::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_order(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_flags(self) -> u8 {
            self.reader.get_data_field::<u8>(2)
        }
        #[inline]
        pub fn get_sequence(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(3).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: 2, pointers: 4 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_action(self) -> ::core::result::Result<crate::enums_capnp::BookAction,::capnp::NotInSchema> {
            ::core::convert::TryFrom::try_from(self.builder.get_data_field::<u16>(0))
        }
        #[inline]
        pub fn set_action(&mut self, value: crate::enums_capnp::BookAction)  {
            self.builder.set_data_field::<u16>(0, value as u16);
        }
        #[inline]
        pub fn get_order(self) -> ::capnp::Result<crate::market_capnp::book_order::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_order(&mut self, value: crate::market_capnp::book_order::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_order(self, ) -> crate::market_capnp::book_order::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_order(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_flags(self) -> u8 {
            self.builder.get_data_field::<u8>(2)
        }
        #[inline]
        pub fn set_flags(&mut self, value: u8)  {
            self.builder.set_data_field::<u8>(2, value);
        }
        #[inline]
        pub fn get_sequence(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_sequence(&mut self, value: u64)  {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_order(&self) -> crate::market_capnp::book_order::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 127] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(204, 47, 209, 168, 158, 222, 4, 192),
            ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(153, 17, 0, 0, 136, 18, 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, 143, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 79, 114, 100, 101, 114, 66),
            ::capnp::word(111, 111, 107, 68, 101, 108, 116, 97),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(28, 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(181, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(180, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(192, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(1, 0, 0, 0, 0, 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(189, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(184, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(196, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(2, 0, 0, 0, 1, 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(193, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(200, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 2, 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(197, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(192, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(204, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 1, 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(201, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(200, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(212, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 2, 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(209, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(204, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(216, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 3, 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(213, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(208, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(220, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(97, 99, 116, 105, 111, 110, 0, 0),
            ::capnp::word(15, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(52, 178, 215, 99, 50, 170, 162, 139),
            ::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(111, 114, 100, 101, 114, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(63, 120, 139, 195, 222, 102, 52, 212),
            ::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(102, 108, 97, 103, 115, 0, 0, 0),
            ::capnp::word(6, 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(6, 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(115, 101, 113, 117, 101, 110, 99, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(9, 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(9, 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, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::enums_capnp::BookAction as ::capnp::introspect::Introspect>::introspect(),
                2 => <crate::market_capnp::book_order::Owned as ::capnp::introspect::Introspect>::introspect(),
                3 => <u8 as ::capnp::introspect::Introspect>::introspect(),
                4 => <u64 as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                6 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[1,3,0,2,4,5,6];
        pub(crate) const TYPE_ID: u64 = 0xc004_de9e_a8d1_2fcc;
    }
}

pub mod order_book_deltas {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_deltas(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::market_capnp::order_book_delta::Owned>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_deltas(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_flags(self) -> u8 {
            self.reader.get_data_field::<u8>(0)
        }
        #[inline]
        pub fn get_sequence(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(3).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: 2, pointers: 4 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_deltas(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::market_capnp::order_book_delta::Owned>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_deltas(&mut self, value: ::capnp::struct_list::Reader<'_,crate::market_capnp::order_book_delta::Owned>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_deltas(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::market_capnp::order_book_delta::Owned> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), size)
        }
        #[inline]
        pub fn has_deltas(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_flags(self) -> u8 {
            self.builder.get_data_field::<u8>(0)
        }
        #[inline]
        pub fn set_flags(&mut self, value: u8)  {
            self.builder.set_data_field::<u8>(0, value);
        }
        #[inline]
        pub fn get_sequence(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_sequence(&mut self, value: u64)  {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(2))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(3))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 116] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(125, 163, 6, 191, 90, 237, 158, 222),
            ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(4, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(166, 18, 0, 0, 129, 19, 0, 0),
            ::capnp::word(21, 0, 0, 0, 18, 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, 87, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 79, 114, 100, 101, 114, 66),
            ::capnp::word(111, 111, 107, 68, 101, 108, 116, 97),
            ::capnp::word(115, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(24, 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(153, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(152, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(164, 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(161, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(156, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(184, 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(181, 0, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(176, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(188, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(3, 0, 0, 0, 1, 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(185, 0, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(184, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(196, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(4, 0, 0, 0, 2, 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(193, 0, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(188, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(200, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 3, 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(197, 0, 0, 0, 58, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(192, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(204, 0, 0, 0, 2, 0, 1, 0),
            ::capnp::word(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(100, 101, 108, 116, 97, 115, 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(204, 47, 209, 168, 158, 222, 4, 192),
            ::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(102, 108, 97, 103, 115, 0, 0, 0),
            ::capnp::word(6, 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(6, 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(115, 101, 113, 117, 101, 110, 99, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(9, 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(9, 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, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <::capnp::struct_list::Owned<crate::market_capnp::order_book_delta::Owned> as ::capnp::introspect::Introspect>::introspect(),
                2 => <u8 as ::capnp::introspect::Introspect>::introspect(),
                3 => <u64 as ::capnp::introspect::Introspect>::introspect(),
                4 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                5 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[1,2,0,3,4,5];
        pub(crate) const TYPE_ID: u64 = 0xde9e_ed5a_bf06_a37d;
    }
}

pub mod book_level {
    #[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_price(self) -> ::capnp::Result<crate::types_capnp::price::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_price(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_size(&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_price(self) -> ::capnp::Result<crate::types_capnp::price::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_price(&mut self, value: crate::types_capnp::price::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_price(self, ) -> crate::types_capnp::price::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_price(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_size(self) -> ::capnp::Result<crate::types_capnp::quantity::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_size(&mut self, value: crate::types_capnp::quantity::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_size(self, ) -> crate::types_capnp::quantity::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), 0)
        }
        #[inline]
        pub fn has_size(&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  {
        pub fn get_price(&self) -> crate::types_capnp::price::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_size(&self) -> crate::types_capnp::quantity::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(1))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 49] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(130, 128, 91, 52, 1, 40, 71, 205),
            ::capnp::word(18, 0, 0, 0, 1, 0, 0, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(2, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(144, 19, 0, 0, 220, 19, 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(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 66, 111, 111, 107, 76, 101),
            ::capnp::word(118, 101, 108, 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, 50, 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, 42, 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(112, 114, 105, 99, 101, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(247, 240, 187, 195, 117, 37, 139, 233),
            ::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(115, 105, 122, 101, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(2, 149, 94, 191, 231, 133, 153, 240),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::types_capnp::price::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <crate::types_capnp::quantity::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[0,1];
        pub(crate) const TYPE_ID: u64 = 0xcd47_2801_345b_8082;
    }
}

pub mod order_book_depth10 {
    #[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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.reader.get_pointer_field(0).is_null()
        }
        #[inline]
        pub fn get_bids(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::market_capnp::book_level::Owned>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_bids(&self) -> bool {
            !self.reader.get_pointer_field(1).is_null()
        }
        #[inline]
        pub fn get_asks(self) -> ::capnp::Result<::capnp::struct_list::Reader<'a,crate::market_capnp::book_level::Owned>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_asks(&self) -> bool {
            !self.reader.get_pointer_field(2).is_null()
        }
        #[inline]
        pub fn get_bid_counts(self) -> ::capnp::Result<::capnp::primitive_list::Reader<'a,u32>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_bid_counts(&self) -> bool {
            !self.reader.get_pointer_field(3).is_null()
        }
        #[inline]
        pub fn get_ask_counts(self) -> ::capnp::Result<::capnp::primitive_list::Reader<'a,u32>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ask_counts(&self) -> bool {
            !self.reader.get_pointer_field(4).is_null()
        }
        #[inline]
        pub fn get_flags(self) -> u8 {
            self.reader.get_data_field::<u8>(0)
        }
        #[inline]
        pub fn get_sequence(self) -> u64 {
            self.reader.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.reader.get_pointer_field(5).is_null()
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Reader<'a>> {
            ::capnp::traits::FromPointerReader::get_from_pointer(&self.reader.get_pointer_field(6), ::core::option::Option::None)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.reader.get_pointer_field(6).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: 2, pointers: 7 };
    }
    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_instrument_id(self) -> ::capnp::Result<crate::identifiers_capnp::instrument_id::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(0), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_instrument_id(&mut self, value: crate::identifiers_capnp::instrument_id::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(0), value, false)
        }
        #[inline]
        pub fn init_instrument_id(self, ) -> crate::identifiers_capnp::instrument_id::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(0), 0)
        }
        #[inline]
        pub fn has_instrument_id(&self) -> bool {
            !self.builder.is_pointer_field_null(0)
        }
        #[inline]
        pub fn get_bids(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::market_capnp::book_level::Owned>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(1), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_bids(&mut self, value: ::capnp::struct_list::Reader<'_,crate::market_capnp::book_level::Owned>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(1), value, false)
        }
        #[inline]
        pub fn init_bids(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::market_capnp::book_level::Owned> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(1), size)
        }
        #[inline]
        pub fn has_bids(&self) -> bool {
            !self.builder.is_pointer_field_null(1)
        }
        #[inline]
        pub fn get_asks(self) -> ::capnp::Result<::capnp::struct_list::Builder<'a,crate::market_capnp::book_level::Owned>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(2), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_asks(&mut self, value: ::capnp::struct_list::Reader<'_,crate::market_capnp::book_level::Owned>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(2), value, false)
        }
        #[inline]
        pub fn init_asks(self, size: u32) -> ::capnp::struct_list::Builder<'a,crate::market_capnp::book_level::Owned> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(2), size)
        }
        #[inline]
        pub fn has_asks(&self) -> bool {
            !self.builder.is_pointer_field_null(2)
        }
        #[inline]
        pub fn get_bid_counts(self) -> ::capnp::Result<::capnp::primitive_list::Builder<'a,u32>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(3), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_bid_counts(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::primitive_list::Owned<u32>>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(3), value, false)
        }
        #[inline]
        pub fn init_bid_counts(self, size: u32) -> ::capnp::primitive_list::Builder<'a,u32> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(3), size)
        }
        #[inline]
        pub fn has_bid_counts(&self) -> bool {
            !self.builder.is_pointer_field_null(3)
        }
        #[inline]
        pub fn get_ask_counts(self) -> ::capnp::Result<::capnp::primitive_list::Builder<'a,u32>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(4), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ask_counts(&mut self, value: impl ::capnp::traits::SetterInput<::capnp::primitive_list::Owned<u32>>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(4), value, false)
        }
        #[inline]
        pub fn init_ask_counts(self, size: u32) -> ::capnp::primitive_list::Builder<'a,u32> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(4), size)
        }
        #[inline]
        pub fn has_ask_counts(&self) -> bool {
            !self.builder.is_pointer_field_null(4)
        }
        #[inline]
        pub fn get_flags(self) -> u8 {
            self.builder.get_data_field::<u8>(0)
        }
        #[inline]
        pub fn set_flags(&mut self, value: u8)  {
            self.builder.set_data_field::<u8>(0, value);
        }
        #[inline]
        pub fn get_sequence(self) -> u64 {
            self.builder.get_data_field::<u64>(1)
        }
        #[inline]
        pub fn set_sequence(&mut self, value: u64)  {
            self.builder.set_data_field::<u64>(1, value);
        }
        #[inline]
        pub fn get_ts_event(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(5), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_event(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(5), value, false)
        }
        #[inline]
        pub fn init_ts_event(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(5), 0)
        }
        #[inline]
        pub fn has_ts_event(&self) -> bool {
            !self.builder.is_pointer_field_null(5)
        }
        #[inline]
        pub fn get_ts_init(self) -> ::capnp::Result<crate::base_capnp::unix_nanos::Builder<'a>> {
            ::capnp::traits::FromPointerBuilder::get_from_pointer(self.builder.get_pointer_field(6), ::core::option::Option::None)
        }
        #[inline]
        pub fn set_ts_init(&mut self, value: crate::base_capnp::unix_nanos::Reader<'_>) -> ::capnp::Result<()> {
            ::capnp::traits::SetterInput::set_pointer_builder(self.builder.reborrow().get_pointer_field(6), value, false)
        }
        #[inline]
        pub fn init_ts_init(self, ) -> crate::base_capnp::unix_nanos::Builder<'a> {
            ::capnp::traits::FromPointerBuilder::init_pointer(self.builder.get_pointer_field(6), 0)
        }
        #[inline]
        pub fn has_ts_init(&self) -> bool {
            !self.builder.is_pointer_field_null(6)
        }
    }

    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_instrument_id(&self) -> crate::identifiers_capnp::instrument_id::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(0))
        }
        pub fn get_ts_event(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(5))
        }
        pub fn get_ts_init(&self) -> crate::base_capnp::unix_nanos::Pipeline {
            ::capnp::capability::FromTypelessPipeline::new(self._typeless.get_pointer_field(6))
        }
    }
    mod _private {
        pub(crate) static ENCODED_NODE: [::capnp::Word; 175] = [
            ::capnp::word(0, 0, 0, 0, 6, 0, 6, 0),
            ::capnp::word(221, 11, 99, 228, 43, 103, 20, 163),
            ::capnp::word(18, 0, 0, 0, 1, 0, 2, 0),
            ::capnp::word(220, 37, 1, 186, 126, 85, 173, 233),
            ::capnp::word(7, 0, 7, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(1, 20, 0, 0, 90, 21, 0, 0),
            ::capnp::word(21, 0, 0, 0, 26, 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, 255, 1, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(100, 97, 116, 97, 47, 109, 97, 114),
            ::capnp::word(107, 101, 116, 46, 99, 97, 112, 110),
            ::capnp::word(112, 58, 79, 114, 100, 101, 114, 66),
            ::capnp::word(111, 111, 107, 68, 101, 112, 116, 104),
            ::capnp::word(49, 48, 0, 0, 0, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0),
            ::capnp::word(36, 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(237, 0, 0, 0, 106, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(236, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(248, 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(245, 0, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(240, 0, 0, 0, 3, 0, 1, 0),
            ::capnp::word(12, 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(9, 1, 0, 0, 42, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(4, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(32, 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(29, 1, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(28, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(56, 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(53, 1, 0, 0, 82, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(52, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(80, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(5, 0, 0, 0, 0, 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(77, 1, 0, 0, 50, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(72, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(84, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(6, 0, 0, 0, 1, 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(81, 1, 0, 0, 74, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(80, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(92, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(7, 0, 0, 0, 5, 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(89, 1, 0, 0, 66, 0, 0, 0),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(84, 1, 0, 0, 3, 0, 1, 0),
            ::capnp::word(96, 1, 0, 0, 2, 0, 1, 0),
            ::capnp::word(8, 0, 0, 0, 6, 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(93, 1, 0, 0, 58, 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(105, 110, 115, 116, 114, 117, 109, 101),
            ::capnp::word(110, 116, 73, 100, 0, 0, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(232, 3, 82, 154, 180, 10, 74, 200),
            ::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(98, 105, 100, 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(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(130, 128, 91, 52, 1, 40, 71, 205),
            ::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(97, 115, 107, 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(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(130, 128, 91, 52, 1, 40, 71, 205),
            ::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(98, 105, 100, 67, 111, 117, 110, 116),
            ::capnp::word(115, 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(8, 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(97, 115, 107, 67, 111, 117, 110, 116),
            ::capnp::word(115, 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(8, 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(102, 108, 97, 103, 115, 0, 0, 0),
            ::capnp::word(6, 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(6, 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(115, 101, 113, 117, 101, 110, 99, 101),
            ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(9, 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(9, 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, 115, 69, 118, 101, 110, 116, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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(116, 115, 73, 110, 105, 116, 0, 0),
            ::capnp::word(16, 0, 0, 0, 0, 0, 0, 0),
            ::capnp::word(242, 7, 132, 185, 153, 20, 12, 207),
            ::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),
        ];
        pub(crate) fn get_field_types(index: u16) -> ::capnp::introspect::Type {
            match index {
                0 => <crate::identifiers_capnp::instrument_id::Owned as ::capnp::introspect::Introspect>::introspect(),
                1 => <::capnp::struct_list::Owned<crate::market_capnp::book_level::Owned> as ::capnp::introspect::Introspect>::introspect(),
                2 => <::capnp::struct_list::Owned<crate::market_capnp::book_level::Owned> as ::capnp::introspect::Introspect>::introspect(),
                3 => <::capnp::primitive_list::Owned<u32> as ::capnp::introspect::Introspect>::introspect(),
                4 => <::capnp::primitive_list::Owned<u32> as ::capnp::introspect::Introspect>::introspect(),
                5 => <u8 as ::capnp::introspect::Introspect>::introspect(),
                6 => <u64 as ::capnp::introspect::Introspect>::introspect(),
                7 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                8 => <crate::base_capnp::unix_nanos::Owned as ::capnp::introspect::Introspect>::introspect(),
                _ => ::capnp::introspect::panic_invalid_field_index(index),
            }
        }
        pub(crate) fn get_annotation_types(child_index: Option<u16>, index: u32) -> ::capnp::introspect::Type {
            ::capnp::introspect::panic_invalid_annotation_indices(child_index, index)
        }
        pub(crate) static ARENA: ::capnp::private::arena::GeneratedCodeArena = ::capnp::private::arena::GeneratedCodeArena::new(&ENCODED_NODE);
        pub(crate) static RAW_SCHEMA: ::capnp::introspect::RawStructSchema = ::capnp::introspect::RawStructSchema::new(
            &ARENA,
            NONUNION_MEMBERS,
            MEMBERS_BY_DISCRIMINANT,
            MEMBERS_BY_NAME
        );
        pub(crate) static NONUNION_MEMBERS : &[u16] = &[0,1,2,3,4,5,6,7,8];
        pub(crate) static MEMBERS_BY_DISCRIMINANT : &[u16] = &[];
        pub(crate) static MEMBERS_BY_NAME : &[u16] = &[4,2,3,1,5,0,6,7,8];
        pub(crate) const TYPE_ID: u64 = 0xa314_672b_e463_0bdd;
    }
}
