From 034f556e578790ce0def32d04bc2b05179d0a3eb Mon Sep 17 00:00:00 2001 From: Richa Jain Date: Tue, 24 Oct 2023 13:49:02 +0800 Subject: [PATCH 1/6] Adding a oneshot for oprf It fails if user cap is small which we are investigating. However, this PR can still be reviewed and checked in Sample command to run cargo bench --bench oneshot_ipa --features="enable-benches descriptive-gate" --no-default-features -- --per-user-cap 64 --oprf --max-trigger-value 4 -n 100 --- benches/oneshot/ipa.rs | 24 +++++---- pre-commit | 2 +- src/ff/galois_field.rs | 17 ++++++- src/ff/mod.rs | 2 +- src/protocol/mod.rs | 4 +- src/protocol/prf_sharding/mod.rs | 8 +-- src/report.rs | 14 +++++ src/test_fixture/input/sharing.rs | 32 +++++++++++- src/test_fixture/ipa.rs | 85 ++++++++++++++++++++++++++++++- 9 files changed, 168 insertions(+), 20 deletions(-) diff --git a/benches/oneshot/ipa.rs b/benches/oneshot/ipa.rs index a7102f91b..ab6e723e2 100644 --- a/benches/oneshot/ipa.rs +++ b/benches/oneshot/ipa.rs @@ -9,7 +9,7 @@ use ipa::{ ff::Fp32BitPrime, helpers::{query::IpaQueryConfig, GatewayConfig}, test_fixture::{ - ipa::{ipa_in_the_clear, test_ipa, IpaSecurityModel}, + ipa::{ipa_in_the_clear, test_ipa, test_oprf_ipa, IpaSecurityModel}, EventGenerator, EventGeneratorConfig, TestWorld, TestWorldConfig, }, }; @@ -70,6 +70,8 @@ struct Args { /// Needed for benches. #[arg(long, hide = true)] bench: bool, + #[arg(short = 'o', long)] + oprf: bool, } impl Args { @@ -132,14 +134,18 @@ async fn run(args: Args) -> Result<(), Error> { tracing::trace!("Preparation complete in {:?}", _prep_time.elapsed()); let _protocol_time = Instant::now(); - test_ipa::( - &world, - &raw_data, - &expected_results, - args.config(), - args.mode, - ) - .await; + if args.oprf { + test_oprf_ipa::(&world, raw_data, &expected_results, args.config()).await; + } else { + test_ipa::( + &world, + &raw_data, + &expected_results, + args.config(), + args.mode, + ) + .await; + } tracing::trace!( "{m:?} IPA for {q} records took {t:?}", m = args.mode, diff --git a/pre-commit b/pre-commit index 12d63958b..6cf2be072 100755 --- a/pre-commit +++ b/pre-commit @@ -103,4 +103,4 @@ check "Arithmetic circuit benchmark" \ cargo bench --bench oneshot_arithmetic --no-default-features --features "enable-benches descriptive-gate" check "Sort benchmark" \ - cargo bench --bench oneshot_sort --no-default-features --features="enable-benches descriptive-gate" + cargo bench --bench oneshot_sort --no-default-features --features="enable-benches descriptive-gate" \ No newline at end of file diff --git a/src/ff/galois_field.rs b/src/ff/galois_field.rs index 18b6b58c8..cca6f3936 100644 --- a/src/ff/galois_field.rs +++ b/src/ff/galois_field.rs @@ -5,7 +5,7 @@ use std::{ use bitvec::prelude::{bitarr, BitArr, Lsb0}; use generic_array::GenericArray; -use typenum::{Unsigned, U1, U4, U5}; +use typenum::{Unsigned, U1, U3, U4, U5}; use crate::{ ff::{Field, Serializable}, @@ -25,6 +25,7 @@ pub trait GaloisField: // Bit store type definitions type U8_1 = BitArr!(for 8, in u8, Lsb0); +type U8_3 = BitArr!(for 24, in u8, Lsb0); type U8_4 = BitArr!(for 32, in u8, Lsb0); type U8_5 = BitArr!(for 40, in u8, Lsb0); @@ -32,6 +33,10 @@ impl Block for U8_1 { type Size = U1; } +impl Block for U8_3 { + type Size = U3; +} + impl Block for U8_4 { type Size = U4; } @@ -550,6 +555,16 @@ bit_array_impl!( 0b1_0000_0000_0000_0000_0000_0000_1000_1101_u128 ); +bit_array_impl!( + bit_array_20, + Gf20Bit, + U8_3, + 20, + bitarr!(const u8, Lsb0; 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + // x^20 + x^17 + x^15 + x^14 + x^11 + x^10 + x^9 + x^7 + x^6 + x^5 + 1 + 0b1_0010_1100_1110_1110_0001_u128 +); + bit_array_impl!( bit_array_8, Gf8Bit, diff --git a/src/ff/mod.rs b/src/ff/mod.rs index 5544f2378..e324a4a72 100644 --- a/src/ff/mod.rs +++ b/src/ff/mod.rs @@ -9,7 +9,7 @@ mod prime_field; use std::ops::{Add, AddAssign, Sub, SubAssign}; pub use field::{Field, FieldType}; -pub use galois_field::{GaloisField, Gf2, Gf32Bit, Gf3Bit, Gf40Bit, Gf5Bit, Gf8Bit}; +pub use galois_field::{GaloisField, Gf2, Gf20Bit, Gf32Bit, Gf3Bit, Gf40Bit, Gf5Bit, Gf8Bit}; use generic_array::{ArrayLength, GenericArray}; #[cfg(any(test, feature = "weak-field"))] pub use prime_field::Fp31; diff --git a/src/protocol/mod.rs b/src/protocol/mod.rs index 7931a1e37..03270a1e1 100644 --- a/src/protocol/mod.rs +++ b/src/protocol/mod.rs @@ -22,11 +22,13 @@ pub use basics::BasicProtocols; use crate::{ error::Error, - ff::{Gf40Bit, Gf8Bit}, + ff::{Gf20Bit, Gf3Bit, Gf40Bit, Gf8Bit}, }; pub type MatchKey = Gf40Bit; pub type BreakdownKey = Gf8Bit; +pub type TriggerValue = Gf3Bit; +pub type Timestamp = Gf20Bit; /// Unique identifier of the MPC query requested by report collectors /// TODO(615): Generating this unique id may be tricky as it may involve communication between helpers and diff --git a/src/protocol/prf_sharding/mod.rs b/src/protocol/prf_sharding/mod.rs index 4412d0e0a..b6d334ee0 100644 --- a/src/protocol/prf_sharding/mod.rs +++ b/src/protocol/prf_sharding/mod.rs @@ -30,10 +30,10 @@ pub mod bucket; pub mod feature_label_dot_product; pub struct PrfShardedIpaInputRow { - prf_of_match_key: u64, - is_trigger_bit: Replicated, - breakdown_key: Replicated, - trigger_value: Replicated, + pub prf_of_match_key: u64, + pub is_trigger_bit: Replicated, + pub breakdown_key: Replicated, + pub trigger_value: Replicated, } struct InputsRequiredFromPrevRow { diff --git a/src/report.rs b/src/report.rs index 094a31997..2b9cf1039 100644 --- a/src/report.rs +++ b/src/report.rs @@ -386,6 +386,20 @@ where } } +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct OprfReport +where + TS: GaloisField, + BK: GaloisField, + TV: GaloisField, +{ + pub timestamp: Replicated, + pub mk_oprf: u64, + pub event_type: EventType, + pub breakdown_key: Replicated, + pub trigger_value: Replicated, +} + #[cfg(all(test, unit_test))] mod test { use rand::{distributions::Alphanumeric, rngs::StdRng, Rng}; diff --git a/src/test_fixture/input/sharing.rs b/src/test_fixture/input/sharing.rs index f21dc4920..1287ad8e0 100644 --- a/src/test_fixture/input/sharing.rs +++ b/src/test_fixture/input/sharing.rs @@ -12,7 +12,7 @@ use crate::{ BreakdownKey, MatchKey, }, rand::Rng, - report::{EventType, Report}, + report::{EventType, OprfReport, Report}, secret_sharing::{replicated::semi_honest::AdditiveShare as Replicated, IntoShares}, test_fixture::{ input::{GenericReportShare, GenericReportTestInput}, @@ -354,3 +354,33 @@ where } } } + +impl IntoShares> for TestRawDataRecord +where + TS: GaloisField + IntoShares>, + BK: GaloisField + IntoShares>, + TV: GaloisField + IntoShares>, +{ + fn share_with(self, rng: &mut R) -> [OprfReport; 3] { + let event_type = if self.is_trigger_report { + EventType::Trigger + } else { + EventType::Source + }; + let timestamp = TS::truncate_from(self.timestamp).share_with(rng); + let breakdown_key = BK::truncate_from(self.breakdown_key).share_with(rng); + let trigger_value = TV::truncate_from(self.trigger_value).share_with(rng); + + zip(zip(timestamp, breakdown_key), trigger_value) + .map(|((ts_share, bk_share), tv_share)| OprfReport { + timestamp: ts_share, + mk_oprf: self.user_id, + event_type, + breakdown_key: bk_share, + trigger_value: tv_share, + }) + .collect::>() + .try_into() + .unwrap() + } +} diff --git a/src/test_fixture/ipa.rs b/src/test_fixture/ipa.rs index 37e31b535..d279806c2 100644 --- a/src/test_fixture/ipa.rs +++ b/src/test_fixture/ipa.rs @@ -5,9 +5,13 @@ use crate::{ ff::{PrimeField, Serializable}, helpers::query::IpaQueryConfig, ipa_test_input, - protocol::{ipa::ipa, BreakdownKey, MatchKey}, + protocol::{ipa::ipa, BreakdownKey, MatchKey, Timestamp, TriggerValue}, + report::OprfReport, secret_sharing::{ - replicated::{malicious, malicious::ExtendableField, semi_honest}, + replicated::{ + malicious, malicious::ExtendableField, semi_honest, + semi_honest::AdditiveShare as Replicated, + }, IntoShares, }, test_fixture::{input::GenericReportTestInput, Reconstruct}, @@ -191,3 +195,80 @@ pub async fn test_ipa( .collect::>(); assert_eq!(result, expected_results); } + +/// # Panics +/// If any of the IPA protocol modules panic +#[cfg(feature = "in-memory-infra")] +pub async fn test_oprf_ipa( + world: &super::TestWorld, + mut records: Vec, + expected_results: &[u32], + config: IpaQueryConfig, +) where + F: PrimeField + ExtendableField + IntoShares>, + rand::distributions::Standard: rand::distributions::Distribution, + semi_honest::AdditiveShare: Serializable, +{ + use crate::{ + ff::{Field, Gf2}, + protocol::{ + basics::ShareKnownValue, + prf_sharding::{attribution_and_capping_and_aggregation, PrfShardedIpaInputRow}, + }, + report::EventType, + secret_sharing::SharedValue, + test_fixture::Runner, + }; + + let user_cap: i32 = config.per_user_credit_cap.try_into().unwrap(); + assert!( + user_cap & (user_cap - 1) == 0, + "This code only works for a user cap which is a power of 2" + ); + + //TODO(richaj) This manual sorting will be removed once we have the PRF sharding in place + records.sort_by(|a, b| b.user_id.cmp(&a.user_id)); + + let result: Vec = world + .semi_honest( + records.into_iter(), + |ctx, input_rows: Vec>| async move { + let sharded_input = input_rows + .into_iter() + .map(|single_row| { + let is_trigger_bit_share = if single_row.event_type == EventType::Trigger { + Replicated::share_known_value(&ctx, Gf2::ONE) + } else { + Replicated::share_known_value(&ctx, Gf2::ZERO) + }; + PrfShardedIpaInputRow { + prf_of_match_key: single_row.mk_oprf, + is_trigger_bit: is_trigger_bit_share, + breakdown_key: single_row.breakdown_key, + trigger_value: single_row.trigger_value, + } + }) + .collect::>(); + + attribution_and_capping_and_aggregation::< + _, + BreakdownKey, + TriggerValue, + F, + _, + Replicated, + >(ctx, sharded_input, user_cap.ilog2().try_into().unwrap()) + .await + .unwrap() + }, + ) + .await + .reconstruct(); + + let mut result = result + .into_iter() + .map(|v| u32::try_from(v.as_u128()).unwrap()) + .collect::>(); + let _ = result.split_off(expected_results.len()); + assert_eq!(result, expected_results); +} From 2692af8241a7b5ec13e120286a6fc91ad2167f0f Mon Sep 17 00:00:00 2001 From: Richa Jain Date: Tue, 24 Oct 2023 15:28:13 +0800 Subject: [PATCH 2/6] Now oprf can run for compact-gate as well --- scripts/collect_steps.py | 2 +- src/protocol/mod.rs | 1 - src/protocol/prf_sharding/mod.rs | 1 - src/protocol/step/steps.txt | 427 +++++++++++++++++++++++++++++++ 4 files changed, 428 insertions(+), 3 deletions(-) diff --git a/scripts/collect_steps.py b/scripts/collect_steps.py index 3768fbe07..105cab428 100755 --- a/scripts/collect_steps.py +++ b/scripts/collect_steps.py @@ -175,4 +175,4 @@ def extract_intermediate_steps(steps): sorted_steps = sorted(full_steps) for step in sorted_steps: - print(step) + print(step) \ No newline at end of file diff --git a/src/protocol/mod.rs b/src/protocol/mod.rs index 03270a1e1..cc0ae5ab8 100644 --- a/src/protocol/mod.rs +++ b/src/protocol/mod.rs @@ -6,7 +6,6 @@ pub mod context; pub mod dp; pub mod ipa; pub mod modulus_conversion; -#[cfg(feature = "descriptive-gate")] pub mod prf_sharding; pub mod prss; pub mod sort; diff --git a/src/protocol/prf_sharding/mod.rs b/src/protocol/prf_sharding/mod.rs index b6d334ee0..7feb01f9a 100644 --- a/src/protocol/prf_sharding/mod.rs +++ b/src/protocol/prf_sharding/mod.rs @@ -26,7 +26,6 @@ use crate::{ }; pub mod bucket; -#[cfg(feature = "descriptive-gate")] pub mod feature_label_dot_product; pub struct PrfShardedIpaInputRow { diff --git a/src/protocol/step/steps.txt b/src/protocol/step/steps.txt index d2bc41200..fc5726835 100644 --- a/src/protocol/step/steps.txt +++ b/src/protocol/step/steps.txt @@ -8812,3 +8812,430 @@ ipa::protocol::ipa::Step::gen_sort_permutation_from_match_keys/ipa::protocol::so ipa::protocol::ipa::Step::gen_sort_permutation_from_match_keys/ipa::protocol::sort::SortStep::sort_keys/ipa::protocol::step::IpaProtocolStep::sort9/ipa::protocol::sort::SortStep::shuffle_reveal_permutation/ipa::protocol::sort::ShuffleRevealPermutationStep::shuffle/ipa::protocol::sort::ShuffleStep::shuffle1 ipa::protocol::ipa::Step::gen_sort_permutation_from_match_keys/ipa::protocol::sort::SortStep::sort_keys/ipa::protocol::step::IpaProtocolStep::sort9/ipa::protocol::sort::SortStep::shuffle_reveal_permutation/ipa::protocol::sort::ShuffleRevealPermutationStep::shuffle/ipa::protocol::sort::ShuffleStep::shuffle2 ipa::protocol::ipa::Step::gen_sort_permutation_from_match_keys/ipa::protocol::sort::SortStep::sort_keys/ipa::protocol::step::IpaProtocolStep::sort9/ipa::protocol::sort::SortStep::shuffle_reveal_permutation/ipa::protocol::sort::ShuffleRevealPermutationStep::shuffle/ipa::protocol::sort::ShuffleStep::shuffle3 +ipa::protocol::prf_sharding::Step::binary_validator +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit4/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit5/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit6/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit7/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_breakdown_key_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit0/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit1/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::upgrade/ipa::protocol::context::semi_honest::UpgradeStep::upgrade_semi_honest/ipa::protocol::context::upgrade::UpgradeTripleStep::upgrade_bit_triple2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit2/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::xor2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::modulus_convert_conversion_value_bits/ipa::protocol::modulus_conversion::convert_shares::ConvertSharesStep::convert_bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit100 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit101 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit102 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit103 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit104 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit105 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit106 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit107 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit108 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit109 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit110 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit111 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit112 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit113 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit114 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit115 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit116 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit117 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit118 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit119 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit120 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit121 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit122 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit123 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit124 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit125 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit126 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit127 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit20 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit21 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit22 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit23 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit24 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit25 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit26 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit27 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit28 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit29 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit30 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit31 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit32 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit33 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit34 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit35 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit36 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit37 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit38 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit39 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit40 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit41 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit42 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit43 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit44 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit45 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit46 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit47 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit48 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit49 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit50 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit51 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit52 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit53 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit54 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit55 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit56 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit57 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit58 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit59 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit60 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit61 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit62 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit63 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit64 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit65 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit66 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit67 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit68 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit69 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit70 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit71 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit72 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit73 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit74 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit75 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit76 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit77 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit78 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit79 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit80 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit81 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit82 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit83 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit84 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit85 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit86 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit87 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit88 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit89 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit90 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit91 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit92 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit93 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit94 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit95 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit96 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit97 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit98 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth0/ipa::protocol::prf_sharding::bucket::BucketStep::bit99 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit20 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit21 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit22 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit23 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit24 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit25 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit26 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit27 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit28 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit29 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit30 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit31 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit32 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit33 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit34 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit35 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit36 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit37 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit38 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit39 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit40 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit41 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit42 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit43 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit44 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit45 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit46 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit47 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit48 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit49 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit50 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit51 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit52 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit53 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit54 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit55 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit56 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit57 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit58 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit59 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit60 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit61 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit62 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit63 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth1/ipa::protocol::prf_sharding::bucket::BucketStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit20 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit21 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit22 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit23 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit24 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit25 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit26 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit27 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit28 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit29 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit30 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit31 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth2/ipa::protocol::prf_sharding::bucket::BucketStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth3/ipa::protocol::prf_sharding::bucket::BucketStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth4/ipa::protocol::prf_sharding::bucket::BucketStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth5/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth5/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth5/ipa::protocol::prf_sharding::bucket::BucketStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth5/ipa::protocol::prf_sharding::bucket::BucketStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth6/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth6/ipa::protocol::prf_sharding::bucket::BucketStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::Step::move_value_to_correct_breakdown/ipa::protocol::prf_sharding::BinaryTreeDepthStep::depth7/ipa::protocol::prf_sharding::bucket::BucketStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_difference_to_cap +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::ever_encountered_source_event +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::is_saturated_and_prev_row_not_saturated +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_difference_to_cap +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::ever_encountered_source_event +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::is_saturated_and_prev_row_not_saturated From 2a798a3c90a97bad639fcd9714e509d4a4fc9783 Mon Sep 17 00:00:00 2001 From: Richa Jain Date: Tue, 24 Oct 2023 15:56:11 +0800 Subject: [PATCH 3/6] Adding oprf handling in collect_steps.py --- scripts/collect_steps.py | 26 ++++++++++++++++++++++++++ src/protocol/prf_sharding/mod.rs | 1 + src/protocol/step/steps.txt | 6 ++++++ 3 files changed, 33 insertions(+) diff --git a/scripts/collect_steps.py b/scripts/collect_steps.py index 105cab428..bf47eefbe 100755 --- a/scripts/collect_steps.py +++ b/scripts/collect_steps.py @@ -31,6 +31,9 @@ SECURITY_MODEL = ["malicious", "semi-honest"] ROOT_STEP_PREFIX = "protocol/alloc::string::String::run-0" +OPRF_USER_CAP = [16, 64, 128] +OPRF_SECURITY_MODEL = ["semi-honest"] +OPRF_TRIGGER_VALUE = [4] # TODO(taikiy): #771 allows us to remove this synthetic step generation code # There are protocols in IPA that that will generate log(N) steps where N is the number @@ -171,6 +174,29 @@ def extract_intermediate_steps(steps): print(" ".join(args), file=sys.stderr) steps.update(collect_steps(args)) + for c in OPRF_USER_CAP: + for w in ATTRIBUTION_WINDOW: + for b in BREAKDOWN_KEYS: + for m in OPRF_SECURITY_MODEL: + for tv in OPRF_TRIGGER_VALUE: + args = ARGS + [ + "-n", + str(QUERY_SIZE), + "-c", + str(c), + "-w", + str(w), + "-b", + str(b), + "-m", + m, + "-t", + str(tv), + "-o" + ] + print(" ".join(args), file=sys.stderr) + steps.update(collect_steps(args)) + full_steps = extract_intermediate_steps(steps) sorted_steps = sorted(full_steps) diff --git a/src/protocol/prf_sharding/mod.rs b/src/protocol/prf_sharding/mod.rs index 7feb01f9a..b6d334ee0 100644 --- a/src/protocol/prf_sharding/mod.rs +++ b/src/protocol/prf_sharding/mod.rs @@ -26,6 +26,7 @@ use crate::{ }; pub mod bucket; +#[cfg(feature = "descriptive-gate")] pub mod feature_label_dot_product; pub struct PrfShardedIpaInputRow { diff --git a/src/protocol/step/steps.txt b/src/protocol/step/steps.txt index fc5726835..042e01c6f 100644 --- a/src/protocol/step/steps.txt +++ b/src/protocol/step/steps.txt @@ -9193,6 +9193,9 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit2 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit3 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit7 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit1 @@ -9228,6 +9231,9 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit2 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit3 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit7 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit1 From 8fa67457b91296d4263d780a691f30af91c55942 Mon Sep 17 00:00:00 2001 From: Richa Jain Date: Tue, 24 Oct 2023 16:08:17 +0800 Subject: [PATCH 4/6] refactoring collect_steps --- scripts/collect_steps.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/scripts/collect_steps.py b/scripts/collect_steps.py index bf47eefbe..9664a1c06 100755 --- a/scripts/collect_steps.py +++ b/scripts/collect_steps.py @@ -31,9 +31,6 @@ SECURITY_MODEL = ["malicious", "semi-honest"] ROOT_STEP_PREFIX = "protocol/alloc::string::String::run-0" -OPRF_USER_CAP = [16, 64, 128] -OPRF_SECURITY_MODEL = ["semi-honest"] -OPRF_TRIGGER_VALUE = [4] # TODO(taikiy): #771 allows us to remove this synthetic step generation code # There are protocols in IPA that that will generate log(N) steps where N is the number @@ -152,9 +149,7 @@ def extract_intermediate_steps(steps): return steps - -if __name__ == "__main__": - steps = set() +def ipa_steps(steps): for c in PER_USER_CAP: for w in ATTRIBUTION_WINDOW: for b in BREAKDOWN_KEYS: @@ -174,6 +169,11 @@ def extract_intermediate_steps(steps): print(" ".join(args), file=sys.stderr) steps.update(collect_steps(args)) +OPRF_USER_CAP = [16, 64, 128] +OPRF_SECURITY_MODEL = ["semi-honest"] +OPRF_TRIGGER_VALUE = [4] + +def oprf_steps(steps): for c in OPRF_USER_CAP: for w in ATTRIBUTION_WINDOW: for b in BREAKDOWN_KEYS: @@ -197,6 +197,11 @@ def extract_intermediate_steps(steps): print(" ".join(args), file=sys.stderr) steps.update(collect_steps(args)) +if __name__ == "__main__": + steps = set() + ipa_steps(steps) + oprf_steps(steps) + full_steps = extract_intermediate_steps(steps) sorted_steps = sorted(full_steps) From dd07816234150a9c49b74bdfece59ea14e6009e9 Mon Sep 17 00:00:00 2001 From: Richa Jain Date: Wed, 25 Oct 2023 15:32:31 +0800 Subject: [PATCH 5/6] Peer feedback --- benches/oneshot/ipa.rs | 8 +++++++- pre-commit | 6 +++++- scripts/collect_steps.py | 3 ++- src/bin/report_collector.rs | 1 + src/protocol/ipa/mod.rs | 3 ++- src/protocol/prf_sharding/mod.rs | 10 +++++----- src/test_fixture/ipa.rs | 28 ++++++++++++++++++---------- 7 files changed, 40 insertions(+), 19 deletions(-) diff --git a/benches/oneshot/ipa.rs b/benches/oneshot/ipa.rs index ab6e723e2..ae8826f6a 100644 --- a/benches/oneshot/ipa.rs +++ b/benches/oneshot/ipa.rs @@ -9,7 +9,7 @@ use ipa::{ ff::Fp32BitPrime, helpers::{query::IpaQueryConfig, GatewayConfig}, test_fixture::{ - ipa::{ipa_in_the_clear, test_ipa, test_oprf_ipa, IpaSecurityModel}, + ipa::{ipa_in_the_clear, test_ipa, test_oprf_ipa, CappingOrder, IpaSecurityModel}, EventGenerator, EventGeneratorConfig, TestWorld, TestWorldConfig, }, }; @@ -123,11 +123,17 @@ async fn run(args: Args) -> Result<(), Error> { .take(args.query_size) .collect::>(); + let order = if args.oprf { + CappingOrder::CapOldestFirst + } else { + CappingOrder::CapMostRecentFirst + }; let expected_results = ipa_in_the_clear( &raw_data, args.per_user_cap, args.attribution_window(), args.breakdown_keys, + &order, ); let world = TestWorld::new_with(config.clone()); diff --git a/pre-commit b/pre-commit index 6cf2be072..c60774f4d 100755 --- a/pre-commit +++ b/pre-commit @@ -99,8 +99,12 @@ check "Concurrency tests" \ check "IPA benchmark" \ cargo bench --bench oneshot_ipa --no-default-features --features="enable-benches descriptive-gate" -- -n 62 +check "IPA OPRF benchmark" \ + cargo bench --bench oneshot_ipa --no-default-features --features="enable-benches descriptive-gate" -- -n 62 --oprf + check "Arithmetic circuit benchmark" \ cargo bench --bench oneshot_arithmetic --no-default-features --features "enable-benches descriptive-gate" check "Sort benchmark" \ - cargo bench --bench oneshot_sort --no-default-features --features="enable-benches descriptive-gate" \ No newline at end of file + cargo bench --bench oneshot_sort --no-default-features --features="enable-benches descriptive-gate" + diff --git a/scripts/collect_steps.py b/scripts/collect_steps.py index 9664a1c06..3e87d3a2f 100755 --- a/scripts/collect_steps.py +++ b/scripts/collect_steps.py @@ -206,4 +206,5 @@ def oprf_steps(steps): sorted_steps = sorted(full_steps) for step in sorted_steps: - print(step) \ No newline at end of file + print(step) + \ No newline at end of file diff --git a/src/bin/report_collector.rs b/src/bin/report_collector.rs index bac36b0db..fb55cd2a1 100644 --- a/src/bin/report_collector.rs +++ b/src/bin/report_collector.rs @@ -247,6 +247,7 @@ async fn ipa( ipa_query_config.per_user_credit_cap, ipa_query_config.attribution_window_seconds, ipa_query_config.max_breakdown_key, + CappingOrder::CapOldestFirst, ); // pad the output vector to the max breakdown key, to make sure it is aligned with the MPC results diff --git a/src/protocol/ipa/mod.rs b/src/protocol/ipa/mod.rs index b8f516684..bac3d6e82 100644 --- a/src/protocol/ipa/mod.rs +++ b/src/protocol/ipa/mod.rs @@ -464,7 +464,7 @@ pub mod tests { test_executor::{run, run_with}, test_fixture::{ input::GenericReportTestInput, - ipa::{ipa_in_the_clear, test_ipa, IpaSecurityModel}, + ipa::{ipa_in_the_clear, test_ipa, CappingOrder, IpaSecurityModel}, logging, EventGenerator, EventGeneratorConfig, Reconstruct, Runner, TestWorld, TestWorldConfig, }, @@ -815,6 +815,7 @@ pub mod tests { per_user_cap, ATTRIBUTION_WINDOW_SECONDS, MAX_BREAKDOWN_KEY, + &CappingOrder::CapOldestFirst, ); let config = TestWorldConfig { diff --git a/src/protocol/prf_sharding/mod.rs b/src/protocol/prf_sharding/mod.rs index a0e7909fa..87832f797 100644 --- a/src/protocol/prf_sharding/mod.rs +++ b/src/protocol/prf_sharding/mod.rs @@ -37,11 +37,11 @@ pub mod bucket; pub mod feature_label_dot_product; pub struct PrfShardedIpaInputRow { - prf_of_match_key: u64, - is_trigger_bit: Replicated, - breakdown_key: Replicated, - trigger_value: Replicated, - timestamp: Replicated, + pub prf_of_match_key: u64, + pub is_trigger_bit: Replicated, + pub breakdown_key: Replicated, + pub trigger_value: Replicated, + pub timestamp: Replicated, } impl PrfShardedIpaInputRow { diff --git a/src/test_fixture/ipa.rs b/src/test_fixture/ipa.rs index 153ce77e3..a33b92e5b 100644 --- a/src/test_fixture/ipa.rs +++ b/src/test_fixture/ipa.rs @@ -48,6 +48,7 @@ pub fn ipa_in_the_clear( per_user_cap: u32, attribution_window: Option, max_breakdown: u32, + order: &CappingOrder, ) -> Vec { // build a view that is convenient for attribution. match key -> events sorted by timestamp in reverse // that is more memory intensive, but should be faster to compute. We can always opt-out and @@ -81,14 +82,14 @@ pub fn ipa_in_the_clear( &mut breakdowns, per_user_cap, attribution_window, - CappingOrder::CapOldestFirst, + order, ); } breakdowns } -enum CappingOrder { +pub enum CappingOrder { CapOldestFirst, CapMostRecentFirst, } @@ -101,7 +102,7 @@ fn update_expected_output_for_user<'a, I: IntoIterator, - order: CappingOrder, + order: &CappingOrder, ) { let within_window = |value: u64| -> bool { if let Some(window) = attribution_window_seconds { @@ -119,7 +120,7 @@ fn update_expected_output_for_user<'a, I: IntoIterator update_breakdowns( - attributed_triggers.into_iter(), - expected_results, - per_user_cap, - ), + CappingOrder::CapOldestFirst => { + update_breakdowns(attributed_triggers, expected_results, per_user_cap); + } CappingOrder::CapMostRecentFirst => update_breakdowns( attributed_triggers.into_iter().rev(), expected_results, @@ -272,6 +271,7 @@ pub async fn test_oprf_ipa( is_trigger_bit: is_trigger_bit_share, breakdown_key: single_row.breakdown_key, trigger_value: single_row.trigger_value, + timestamp: single_row.timestamp, } }) .collect::>(); @@ -280,10 +280,16 @@ pub async fn test_oprf_ipa( _, BreakdownKey, TriggerValue, + Timestamp, F, _, Replicated, - >(ctx, sharded_input, user_cap.ilog2().try_into().unwrap()) + >( + ctx, + sharded_input, + user_cap.ilog2().try_into().unwrap(), + config.attribution_window_seconds, + ) .await .unwrap() }, @@ -295,6 +301,8 @@ pub async fn test_oprf_ipa( .into_iter() .map(|v| u32::try_from(v.as_u128()).unwrap()) .collect::>(); + + //TODO(richaj): To be removed once the function supports non power of 2 breakdowns let _ = result.split_off(expected_results.len()); assert_eq!(result, expected_results); } From 51e05fe4c6b6682893b5db65f7c6d84384f538f0 Mon Sep 17 00:00:00 2001 From: Richa Jain Date: Wed, 25 Oct 2023 16:42:39 +0800 Subject: [PATCH 6/6] Some more fixes --- benches/oneshot/ipa.rs | 4 +- pre-commit | 1 - scripts/collect_steps.py | 6 +- src/bin/report_collector.rs | 4 +- src/protocol/step/steps.txt | 238 +++++++++++++++++++++++++++++- src/test_fixture/input/sharing.rs | 11 +- steps1.txt | 1 + 7 files changed, 251 insertions(+), 14 deletions(-) create mode 100644 steps1.txt diff --git a/benches/oneshot/ipa.rs b/benches/oneshot/ipa.rs index ae8826f6a..c597b7e29 100644 --- a/benches/oneshot/ipa.rs +++ b/benches/oneshot/ipa.rs @@ -124,9 +124,9 @@ async fn run(args: Args) -> Result<(), Error> { .collect::>(); let order = if args.oprf { - CappingOrder::CapOldestFirst - } else { CappingOrder::CapMostRecentFirst + } else { + CappingOrder::CapOldestFirst }; let expected_results = ipa_in_the_clear( &raw_data, diff --git a/pre-commit b/pre-commit index c60774f4d..40dcbf745 100755 --- a/pre-commit +++ b/pre-commit @@ -107,4 +107,3 @@ check "Arithmetic circuit benchmark" \ check "Sort benchmark" \ cargo bench --bench oneshot_sort --no-default-features --features="enable-benches descriptive-gate" - diff --git a/scripts/collect_steps.py b/scripts/collect_steps.py index 3e87d3a2f..3e1371ef2 100755 --- a/scripts/collect_steps.py +++ b/scripts/collect_steps.py @@ -169,14 +169,15 @@ def ipa_steps(steps): print(" ".join(args), file=sys.stderr) steps.update(collect_steps(args)) +OPRF_BREAKDOWN_KEYS = [256] OPRF_USER_CAP = [16, 64, 128] OPRF_SECURITY_MODEL = ["semi-honest"] -OPRF_TRIGGER_VALUE = [4] +OPRF_TRIGGER_VALUE = [7] def oprf_steps(steps): for c in OPRF_USER_CAP: for w in ATTRIBUTION_WINDOW: - for b in BREAKDOWN_KEYS: + for b in OPRF_BREAKDOWN_KEYS: for m in OPRF_SECURITY_MODEL: for tv in OPRF_TRIGGER_VALUE: args = ARGS + [ @@ -207,4 +208,3 @@ def oprf_steps(steps): for step in sorted_steps: print(step) - \ No newline at end of file diff --git a/src/bin/report_collector.rs b/src/bin/report_collector.rs index fb55cd2a1..a8ca7ba82 100644 --- a/src/bin/report_collector.rs +++ b/src/bin/report_collector.rs @@ -26,7 +26,7 @@ use ipa::{ protocol::{BreakdownKey, MatchKey}, report::{KeyIdentifier, DEFAULT_KEY_ID}, test_fixture::{ - ipa::{ipa_in_the_clear, IpaSecurityModel, TestRawDataRecord}, + ipa::{ipa_in_the_clear, CappingOrder, IpaSecurityModel, TestRawDataRecord}, EventGenerator, EventGeneratorConfig, }, }; @@ -247,7 +247,7 @@ async fn ipa( ipa_query_config.per_user_credit_cap, ipa_query_config.attribution_window_seconds, ipa_query_config.max_breakdown_key, - CappingOrder::CapOldestFirst, + &CappingOrder::CapOldestFirst, ); // pad the output vector to the max breakdown key, to make sure it is aligned with the MPC results diff --git a/src/protocol/step/steps.txt b/src/protocol/step/steps.txt index 042e01c6f..2079b4ee3 100644 --- a/src/protocol/step/steps.txt +++ b/src/protocol/step/steps.txt @@ -9180,6 +9180,52 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit6 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit7 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::attributed_event_check_flag +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::dot_product +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit1 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit2 @@ -9204,9 +9250,29 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit1 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit2 -ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::ever_encountered_source_event ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::is_saturated_and_prev_row_not_saturated +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row1/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit9 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit0 @@ -9218,6 +9284,52 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit6 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit7 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::attributed_event_check_flag +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::dot_product +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit1 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit2 @@ -9233,7 +9345,6 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit4 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit5 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit6 -ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit7 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit1 @@ -9242,6 +9353,127 @@ ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding: ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit0 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit1 ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit2 -ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::ever_encountered_source_event ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::is_saturated_and_prev_row_not_saturated +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row2/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_breakdown_key/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::attributed_event_check_flag +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::dot_product +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compare_time_delta_to_attribution_window/ipa::protocol::boolean::comparison::Step::prefix_or/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::check_attribution_window/ipa::protocol::prf_sharding::Step::compute_time_delta/ipa::protocol::step::BitOpStep::bit9 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::prf_sharding::Step::did_trigger_get_attributed +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::attributed_trigger_value/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_difference_to_cap +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_difference_to_cap/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_saturating_sum +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::compute_saturating_sum/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_just_saturated_case/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::computed_capped_attributed_trigger_value_not_saturated_case/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::ever_encountered_source_event +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::is_saturated_and_prev_row_not_saturated +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit0 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit1 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit10 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit11 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit12 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit13 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit14 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit15 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit16 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit17 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit18 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit19 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit2 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit3 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit4 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit5 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit6 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit7 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit8 +ipa::protocol::prf_sharding::Step::binary_validator/ipa::protocol::prf_sharding::UserNthRowStep::row3/ipa::protocol::prf_sharding::Step::source_event_timestamp/ipa::protocol::step::BitOpStep::bit9 diff --git a/src/test_fixture/input/sharing.rs b/src/test_fixture/input/sharing.rs index 1287ad8e0..e5e306e7d 100644 --- a/src/test_fixture/input/sharing.rs +++ b/src/test_fixture/input/sharing.rs @@ -367,9 +367,14 @@ where } else { EventType::Source }; - let timestamp = TS::truncate_from(self.timestamp).share_with(rng); - let breakdown_key = BK::truncate_from(self.breakdown_key).share_with(rng); - let trigger_value = TV::truncate_from(self.trigger_value).share_with(rng); + let timestamp: [Replicated; 3] = + TS::try_from(self.timestamp.into()).unwrap().share_with(rng); + let breakdown_key = BK::try_from(self.breakdown_key.into()) + .unwrap() + .share_with(rng); + let trigger_value = TV::try_from(self.trigger_value.into()) + .unwrap() + .share_with(rng); zip(zip(timestamp, breakdown_key), trigger_value) .map(|((ts_share, bk_share), tv_share)| OprfReport { diff --git a/steps1.txt b/steps1.txt new file mode 100644 index 000000000..ff3d9f397 --- /dev/null +++ b/steps1.txt @@ -0,0 +1 @@ +No steps in the output